weka.gui.visualize
Class PrintableComponent

java.lang.Object
  extended by weka.gui.visualize.PrintableComponent
All Implemented Interfaces:
PrintableHandler

public class PrintableComponent
extends java.lang.Object
implements PrintableHandler

This class extends the component which is handed over in the constructor by a print dialog. The Print dialog is accessible via Ctrl-Shft-Left Mouse Click.

The individual JComponentWriter-descendants can be accessed by the getWriter(String) method, if the parameters need to be changed.

Version:
$Revision: 1.1.2.4 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
getWriters(), getWriter(String)

Constructor Summary
PrintableComponent(javax.swing.JComponent component)
          initializes the panel
 
Method Summary
 javax.swing.JComponent getComponent()
          returns the GUI component this print dialog is part of
 java.lang.String getSaveDialogTitle()
          returns the title for the save dialog
static java.lang.String getToolTipText(PrintableComponent component)
          Returns a tooltip only if the user wants it.
 JComponentWriter getWriter(java.lang.String name)
          returns the JComponentWriter associated with the given name, is null if not found
 java.util.Hashtable getWriters()
          returns a Hashtable with the current available JComponentWriters in the save dialog.
 double getXScale()
          returns the scale factor for the x-axis
 double getYScale()
          returns the scale factor for the y-axis
 void saveComponent()
          displays a save dialog for saving the panel to a file.
 void setSaveDialogTitle(java.lang.String title)
          sets the title for the save dialog
 void setScale(double x, double y)
          sets the scale factor
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrintableComponent

public PrintableComponent(javax.swing.JComponent component)
initializes the panel

Parameters:
component - the component to enhance with printing functionality
Method Detail

getComponent

public javax.swing.JComponent getComponent()
returns the GUI component this print dialog is part of


getToolTipText

public static java.lang.String getToolTipText(PrintableComponent component)
Returns a tooltip only if the user wants it. If retrieved for the first, a dialog pops up and asks the user whether the tooltip should always appear or not. The weka/gui/visualize/Visualize.props is then written in the user's home directory.

Parameters:
component - the PrintableComponent to ask for
Returns:
null if the user doesn't want the tooltip, otherwise the text

getWriters

public java.util.Hashtable getWriters()
returns a Hashtable with the current available JComponentWriters in the save dialog. the key of the Hashtable is the description of the writer.

Specified by:
getWriters in interface PrintableHandler
Returns:
all currently available JComponentWriters
See Also:
JComponentWriter.getDescription()

getWriter

public JComponentWriter getWriter(java.lang.String name)
returns the JComponentWriter associated with the given name, is null if not found

Specified by:
getWriter in interface PrintableHandler
Returns:
the writer associated with the given name
See Also:
JComponentWriter.getDescription()

setSaveDialogTitle

public void setSaveDialogTitle(java.lang.String title)
sets the title for the save dialog

Specified by:
setSaveDialogTitle in interface PrintableHandler

getSaveDialogTitle

public java.lang.String getSaveDialogTitle()
returns the title for the save dialog

Specified by:
getSaveDialogTitle in interface PrintableHandler

setScale

public void setScale(double x,
                     double y)
sets the scale factor

Specified by:
setScale in interface PrintableHandler
Parameters:
x - the scale factor for the x-axis
y - the scale factor for the y-axis

getXScale

public double getXScale()
returns the scale factor for the x-axis

Specified by:
getXScale in interface PrintableHandler

getYScale

public double getYScale()
returns the scale factor for the y-axis

Specified by:
getYScale in interface PrintableHandler

saveComponent

public void saveComponent()
displays a save dialog for saving the panel to a file. Fixes a bug with the Swing JFileChooser: if you entered a new filename in the save dialog and press Enter the getSelectedFile method returns null instead of the filename.
To solve this annoying behavior we call the save dialog once again s.t. the filename is set. Might look a little bit strange to the user, but no NullPointerException! ;-)

Specified by:
saveComponent in interface PrintableHandler