adams.flow.sink
Class SpreadSheetDisplay

java.lang.Object
  extended by adams.core.ConsoleObject
      extended by adams.core.option.AbstractOptionHandler
          extended by adams.flow.core.AbstractActor
              extended by adams.flow.core.AbstractDisplay
                  extended by adams.flow.sink.AbstractDisplay
                      extended by adams.flow.sink.AbstractTextualDisplay
                          extended by adams.flow.sink.SpreadSheetDisplay
All Implemented Interfaces:
AdditionalInformationHandler, CleanUpHandler, Debuggable, DebugOutputHandler, Destroyable, OptionHandler, QuickInfoSupporter, ShallowCopySupporter<AbstractActor>, SizeOfHandler, Stoppable, VariableChangeListener, Actor, ErrorHandler, InputConsumer, DisplayPanelProvider, TextSupplier, MenuBarProvider, SendToActionSupporter, Serializable, Comparable

public class SpreadSheetDisplay
extends AbstractTextualDisplay
implements DisplayPanelProvider

Actor for displaying a spreadsheet.
Custom background for negative/positive values can be specified as well.

Input/output:
- accepts:
   adams.data.spreadsheet.SpreadSheet

Valid options are:

-D <int> (property: debugLevel)
    The greater the number the more additional info the scheme may output to 
    the console (0 = off).
    default: 0
    minimum: 0
 
-name <java.lang.String> (property: name)
    The name of the actor.
    default: SpreadSheetDisplay
 
-annotation <adams.core.base.BaseText> (property: annotations)
    The annotations to attach to this actor.
    default: 
 
-skip (property: skip)
    If set to true, transformation is skipped and the input token is just forwarded 
    as it is.
 
-stop-flow-on-error (property: stopFlowOnError)
    If set to true, the flow gets stopped in case this actor encounters an error;
     useful for critical actors.
 
-short-title (property: shortTitle)
    If enabled uses just the name for the title instead of the actor's full 
    name.
 
-width <int> (property: width)
    The width of the dialog.
    default: 640
    minimum: -1
 
-height <int> (property: height)
    The height of the dialog.
    default: 480
    minimum: -1
 
-x <int> (property: x)
    The X position of the dialog (>=0: absolute, -1: left, -2: center, -3: right
    ).
    default: -1
    minimum: -3
 
-y <int> (property: y)
    The Y position of the dialog (>=0: absolute, -1: top, -2: center, -3: bottom
    ).
    default: -1
    minimum: -3
 
-font <java.awt.Font> (property: font)
    The font of the dialog.
    default: Monospaced-PLAIN-12
 
-num-decimals <int> (property: numDecimals)
    The number of decimals for numeric values.
    default: 3
    minimum: -1
 
-use-custom-negative-background (property: useCustomNegativeBackground)
    Whether to use a custom background color for negative values.
 
-negative-background <java.awt.Color> (property: negativeBackground)
    The custom background for negative values (must be enabled).
    default: #ffffff
 
-use-custom-positive-background (property: useCustomPositiveBackground)
    Whether to use a custom background color for positive values.
 
-positive-background <java.awt.Color> (property: positiveBackground)
    The custom background for positive values (must be enabled).
    default: #ffffff
 

Version:
$Revision: 6228 $
Author:
fracpete (fracpete at waikato dot ac dot nz)
See Also:
Serialized Form

Field Summary
protected  Color m_NegativeBackground
          the custom background color for negative values.
protected  int m_NumDecimals
          the number of decimals for numeric values.
protected  Color m_PositiveBackground
          the custom background color for positive values.
protected  SpreadSheetTable m_Table
          the table.
protected  SpreadSheetTableModel m_TableModel
          the table model.
protected  boolean m_UseCustomNegativeBackground
          whether to use custom background color for negative values.
protected  boolean m_UseCustomPositiveBackground
          whether to use custom background color for positive values.
 
Fields inherited from class adams.flow.sink.AbstractTextualDisplay
m_AlwaysClear, m_FileChooser, m_Font, m_MenuBar, m_MenuItemFileClear, m_MenuItemFileClose, m_MenuItemFileSaveAs
 
Fields inherited from class adams.flow.core.AbstractDisplay
BACKUP_INPUT, m_CreateFrame, m_Frame, m_Height, m_InputToken, m_Panel, m_ShortTitle, m_Updating, m_Width, m_X, m_Y
 
Fields inherited from class adams.flow.core.AbstractActor
m_Annotations, m_BackupState, m_DetectedObjectVariables, m_DetectedVariables, m_ErrorHandler, m_Executed, m_Executing, m_FullName, m_Headless, m_Name, m_Parent, m_Root, m_Self, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
 
Fields inherited from class adams.core.option.AbstractOptionHandler
m_DebugLevel, m_OptionManager
 
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
 
Constructor Summary
SpreadSheetDisplay()
           
 
Method Summary
 Class[] accepts()
          Returns the class that the consumer accepts.
 void clearPanel()
          Clears the content of the panel.
 AbstractDisplayPanel createDisplayPanel(Token token)
          Creates a new panel for the token.
 void defineOptions()
          Adds options to the internal list of options.
protected  void display(Token token)
          Displays the token (the panel and dialog have already been created at this stage).
 boolean displayPanelRequiresScrollPane()
          Returns whether the created display panel requires a scroll pane or not.
protected  String doExecute()
          Executes the flow item.
 ExtensionFileFilter getCustomTextFileFilter()
          Returns a custom file filter for the file chooser.
protected  int getDefaultHeight()
          Returns the default height for the dialog.
protected  int getDefaultWidth()
          Returns the default width for the dialog.
 Color getNegativeBackground()
          Returns the custom background color for negative values.
 int getNumDecimals()
          Returns the currently set number of decimals to display.
 Color getPositiveBackground()
          Returns the custom background color for positive values.
 String getQuickInfo()
          Returns a quick info about the actor, which will be displayed in the GUI.
 Class[] getSendToClasses()
          Returns the classes that the supporter generates.
 Object getSendToItem(Class[] cls)
          Returns the object to send.
 boolean getUseCustomNegativeBackground()
          Returns whether to use a custom background for negative values.
 boolean getUseCustomPositiveBackground()
          Returns whether to use a custom background for positive values.
 String globalInfo()
          Returns a string describing the object.
 String negativeBackgroundTipText()
          Returns the tip text for this property.
 BasePanel newPanel()
          Creates the panel to display in the dialog.
 String numDecimalsTipText()
          Returns the tip text for this property.
 String positiveBackgroundTipText()
          Returns the tip text for this property.
 void setNegativeBackground(Color value)
          Sets the custom background color for negative values.
 void setNumDecimals(int value)
          Sets the number of decimals to display.
 void setPositiveBackground(Color value)
          Sets the custom background color for positive values.
 void setUseCustomNegativeBackground(boolean value)
          Sets whether to use a custom background for negative values.
 void setUseCustomPositiveBackground(boolean value)
          Sets whether to use a custom background for positive values.
 String supplyText()
          Returns the text to save.
 String useCustomNegativeBackgroundTipText()
          Returns the tip text for this property.
 String useCustomPositiveBackgroundTipText()
          Returns the tip text for this property.
 
Methods inherited from class adams.flow.sink.AbstractTextualDisplay
alwaysClearTipText, cleanUp, cleanUpGUI, clear, close, createFileMenu, createMenuBar, fontTipText, getAlwaysClear, getDefaultFont, getFileChooser, getFont, getMenuBar, hasSendToItem, indexOfMenuItem, preDisplay, saveAs, setAlwaysClear, setFont, supportsClear, updateMenu
 
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay
 
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, createFrame, createTitle, doCreateFrame, getCreateFrame, getDefaultX, getDefaultY, getFrame, getHeight, getPanel, getShortTitle, getWidth, getX, getY, heightTipText, initialize, input, postCreateFrame, preCreateFrame, reset, restoreState, setCreateFrame, setHeight, setShortTitle, setWidth, setX, setY, shortTitleTipText, stopExecution, widthTipText, wrapUp, xTipText, yTipText
 
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, debug, destroy, equals, execute, findVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, postExecute, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
 
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, debug, debugLevelTipText, finishInit, getDebugLevel, getOptionManager, isDebugOn, newOptionManager, setDebugLevel, toCommandLine, toString
 
Methods inherited from class adams.core.ConsoleObject
getDebugging, getSystemErr, getSystemOut
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface adams.flow.core.Actor
cleanUp, compareTo, debug, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFullName, getName, getNextSibling, getParent, getPreviousSibling, getRoot, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setHeadless, setName, setParent, setSkip, setStopFlowOnError, setUp, setVariables, sizeOf, stopExecution, stopExecution, variableChanged, wrapUp
 
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
 
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
 
Methods inherited from interface adams.flow.core.InputConsumer
input
 

Field Detail

m_Table

protected SpreadSheetTable m_Table
the table.


m_TableModel

protected SpreadSheetTableModel m_TableModel
the table model.


m_NumDecimals

protected int m_NumDecimals
the number of decimals for numeric values.


m_UseCustomNegativeBackground

protected boolean m_UseCustomNegativeBackground
whether to use custom background color for negative values.


m_NegativeBackground

protected Color m_NegativeBackground
the custom background color for negative values.


m_UseCustomPositiveBackground

protected boolean m_UseCustomPositiveBackground
whether to use custom background color for positive values.


m_PositiveBackground

protected Color m_PositiveBackground
the custom background color for positive values.

Constructor Detail

SpreadSheetDisplay

public SpreadSheetDisplay()
Method Detail

globalInfo

public String globalInfo()
Returns a string describing the object.

Specified by:
globalInfo in class AbstractOptionHandler
Returns:
a description suitable for displaying in the gui

defineOptions

public void defineOptions()
Adds options to the internal list of options.

Specified by:
defineOptions in interface OptionHandler
Overrides:
defineOptions in class AbstractTextualDisplay

getQuickInfo

public String getQuickInfo()
Returns a quick info about the actor, which will be displayed in the GUI.

Specified by:
getQuickInfo in interface QuickInfoSupporter
Specified by:
getQuickInfo in interface Actor
Overrides:
getQuickInfo in class AbstractTextualDisplay
Returns:
null if no info available, otherwise short string

setNumDecimals

public void setNumDecimals(int value)
Sets the number of decimals to display.

Parameters:
value - the number of decimals

getNumDecimals

public int getNumDecimals()
Returns the currently set number of decimals to display.

Returns:
the number of decimals

numDecimalsTipText

public String numDecimalsTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setUseCustomNegativeBackground

public void setUseCustomNegativeBackground(boolean value)
Sets whether to use a custom background for negative values.

Parameters:
value - true if to use custom color

getUseCustomNegativeBackground

public boolean getUseCustomNegativeBackground()
Returns whether to use a custom background for negative values.

Returns:
true if custom color

useCustomNegativeBackgroundTipText

public String useCustomNegativeBackgroundTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setNegativeBackground

public void setNegativeBackground(Color value)
Sets the custom background color for negative values.

Parameters:
value - the color

getNegativeBackground

public Color getNegativeBackground()
Returns the custom background color for negative values.

Returns:
the number of decimals

negativeBackgroundTipText

public String negativeBackgroundTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setUseCustomPositiveBackground

public void setUseCustomPositiveBackground(boolean value)
Sets whether to use a custom background for positive values.

Parameters:
value - true if to use custom color

getUseCustomPositiveBackground

public boolean getUseCustomPositiveBackground()
Returns whether to use a custom background for positive values.

Returns:
true if custom color

useCustomPositiveBackgroundTipText

public String useCustomPositiveBackgroundTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

setPositiveBackground

public void setPositiveBackground(Color value)
Sets the custom background color for positive values.

Parameters:
value - the color

getPositiveBackground

public Color getPositiveBackground()
Returns the custom background color for positive values.

Returns:
the number of decimals

positiveBackgroundTipText

public String positiveBackgroundTipText()
Returns the tip text for this property.

Returns:
tip text for this property suitable for displaying in the GUI or for listing the options.

getDefaultWidth

protected int getDefaultWidth()
Returns the default width for the dialog.

Overrides:
getDefaultWidth in class AbstractDisplay
Returns:
the default width

getDefaultHeight

protected int getDefaultHeight()
Returns the default height for the dialog.

Overrides:
getDefaultHeight in class AbstractDisplay
Returns:
the default height

clearPanel

public void clearPanel()
Clears the content of the panel.

Specified by:
clearPanel in class AbstractDisplay

newPanel

public BasePanel newPanel()
Creates the panel to display in the dialog.

Specified by:
newPanel in class AbstractDisplay
Returns:
the panel

accepts

public Class[] accepts()
Returns the class that the consumer accepts.

Specified by:
accepts in interface InputConsumer
Returns:
adams.data.spreadsheet.SpreadSheet.class

display

protected void display(Token token)
Displays the token (the panel and dialog have already been created at this stage).

Specified by:
display in class AbstractDisplay
Parameters:
token - the token to display

createDisplayPanel

public AbstractDisplayPanel createDisplayPanel(Token token)
Creates a new panel for the token.

Specified by:
createDisplayPanel in interface DisplayPanelProvider
Parameters:
token - the token to display in a new panel
Returns:
the generated panel

displayPanelRequiresScrollPane

public boolean displayPanelRequiresScrollPane()
Returns whether the created display panel requires a scroll pane or not.

Specified by:
displayPanelRequiresScrollPane in interface DisplayPanelProvider
Returns:
true if the display panel requires a scroll pane

doExecute

protected String doExecute()
Executes the flow item.

Outputs the token on the command-line in headless mode.

Overrides:
doExecute in class AbstractTextualDisplay
Returns:
null if everything is fine, otherwise error message

getCustomTextFileFilter

public ExtensionFileFilter getCustomTextFileFilter()
Returns a custom file filter for the file chooser.

Specified by:
getCustomTextFileFilter in interface TextSupplier
Overrides:
getCustomTextFileFilter in class AbstractTextualDisplay
Returns:
the file filter, null if to use default one

supplyText

public String supplyText()
Returns the text to save.

Specified by:
supplyText in interface TextSupplier
Specified by:
supplyText in class AbstractTextualDisplay
Returns:
the text, null if no text available

getSendToClasses

public Class[] getSendToClasses()
Returns the classes that the supporter generates.

Specified by:
getSendToClasses in interface SendToActionSupporter
Overrides:
getSendToClasses in class AbstractTextualDisplay
Returns:
the classes

getSendToItem

public Object getSendToItem(Class[] cls)
Returns the object to send.

Specified by:
getSendToItem in interface SendToActionSupporter
Overrides:
getSendToItem in class AbstractTextualDisplay
Parameters:
cls - the classes to retrieve the item for
Returns:
the item to send


Copyright © 2012 University of Waikato, Hamilton, NZ. All Rights Reserved.