Package adams.flow.sink
Class SpreadSheetRowViewer
-
- All Implemented Interfaces:
AdditionalInformationHandler
,CleanUpHandler
,Destroyable
,GlobalInfoSupporter
,LoggingLevelHandler
,LoggingSupporter
,OptionHandler
,QuickInfoSupporter
,ShallowCopySupporter<Actor>
,SizeOfHandler
,Stoppable
,StoppableWithFeedback
,TextSupporter
,VariablesInspectionHandler
,VariableChangeListener
,Actor
,ClearableDisplay
,DisplayTypeSupporter
,ErrorHandler
,InputConsumer
,ComponentSupplier
,DisplayPanelProvider
,TextSupplier
,MenuBarProvider
,SendToActionSupporter
,ColorProviderHandler
,Serializable
,Comparable
public class SpreadSheetRowViewer extends AbstractGraphicalDisplay implements DisplayPanelProvider, TextSupplier, ColorProviderHandler
Actor for displaying spreadsheet rows in a graphical way, like the 'Spreadsheet Explorer' tool.
Input/output:
- accepts:
adams.data.spreadsheet.Row
adams.gui.visualization.spreadsheet.SpreadSheetRow
-logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel) The logging level for outputting errors and debugging output. default: WARNING
-name <java.lang.String> (property: name) The name of the actor. default: SpreadSheetRowViewer
-annotation <adams.core.base.BaseAnnotation> (property: annotations) The annotations to attach to this actor. default:
-skip <boolean> (property: skip) If set to true, transformation is skipped and the input token is just forwarded as it is. default: false
-stop-flow-on-error <boolean> (property: stopFlowOnError) If set to true, the flow gets stopped in case this actor encounters an error; useful for critical actors. default: false
-silent <boolean> (property: silent) If enabled, then no errors are output in the console; Note: the enclosing actor handler must have this enabled as well. default: false
-short-title <boolean> (property: shortTitle) If enabled uses just the name for the title instead of the actor's full name. default: false
-display-in-editor <boolean> (property: displayInEditor) If enabled displays the panel in a tab in the flow editor rather than in a separate frame. default: false
-width <int> (property: width) The width of the dialog. default: 800 minimum: -1
-height <int> (property: height) The height of the dialog. default: 500 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
-writer <adams.gui.print.JComponentWriter> (property: writer) The writer to use for generating the graphics output. default: adams.gui.print.NullWriter
-color-provider <adams.gui.visualization.core.ColorProvider> (property: colorProvider) The color provider in use for coloring the rows. default: adams.gui.visualization.core.DefaultColorProvider
-paintlet <adams.gui.visualization.spreadsheet.AbstractSpreadSheetRowPaintlet> (property: paintlet) The paintlet to use for drawing the rows. default: adams.gui.visualization.spreadsheet.SpreadSheetRowLinePaintlet
-zoom-overview <boolean> (property: zoomOverview) If enabled, a zoom overview panel gets displayed as well. default: false
-id <java.lang.String> (property: ID) The name of the attribute/field to use as the ID in the display. default:
-updater <adams.gui.visualization.spreadsheet.AbstractSpreadSheetRowPanelUpdater> (property: updater) The updater in use for refreshing the visualization. default: adams.gui.visualization.spreadsheet.SimpleSpreadSheetRowPanelUpdater
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ColorProvider
m_ColorProvider
the color provider to use.protected String
m_ID
the name of the attribute/field to use as ID.protected AbstractSpreadSheetRowPaintlet
m_Paintlet
the paintlet to use.protected SpreadSheetRowPanel
m_SpreadSheetRowPanel
the panel with the rows.protected AbstractSpreadSheetRowPanelUpdater
m_Updater
the updater to use.protected boolean
m_ZoomOverview
whether to display the zoom overview.-
Fields inherited from class adams.flow.sink.AbstractGraphicalDisplay
m_GraphicFileChooser, m_MenuBar, m_MenuItemFileClear, m_MenuItemFileClose, m_MenuItemFileSaveAs, m_MenuItemFileSaveTextAs, m_MenuItemFlowPauseResume, m_MenuItemFlowStop, m_ShowFlowControlSubMenu, m_TextFileChooser, m_Writer
-
Fields inherited from class adams.flow.core.AbstractDisplay
BACKUP_INPUT, m_CreateFrame, m_DisplayType, m_Frame, m_Height, m_InputToken, m_KeepOpen, 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_ExecutionListeningSupporter, m_FullName, m_LoggingPrefix, m_Name, m_Parent, m_ScopeHandler, m_Self, m_Silent, m_Skip, m_StopFlowOnError, m_StopMessage, m_Stopped, m_StorageHandler, m_VariablesUpdated
-
Fields inherited from class adams.core.option.AbstractOptionHandler
m_OptionManager
-
Fields inherited from class adams.core.logging.LoggingObject
m_Logger, m_LoggingIsEnabled, m_LoggingLevel
-
Fields inherited from interface adams.flow.core.Actor
FILE_EXTENSION, FILE_EXTENSION_GZ
-
-
Constructor Summary
Constructors Constructor Description SpreadSheetRowViewer()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Class[]
accepts()
Returns the class that the consumer accepts.protected void
cleanUpGUI()
Removes all graphical components.void
clearPanel()
Clears the content of the panel.String
colorProviderTipText()
Returns the tip text for this property.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.ColorProvider
getColorProvider()
Returns the color provider in use.String
getCustomSupplyTextMenuItemCaption()
Returns the text for the menu 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.String
getID()
Returns the name of the attribute/field to use as ID in the display.AbstractSpreadSheetRowPaintlet
getPaintlet()
Returns the paintlet in use.AbstractSpreadSheetRowPanelUpdater
getUpdater()
Returns the updater in use.boolean
getZoomOverview()
Returns whether the zoom overview gets displayed.String
globalInfo()
Returns a string describing the object.String
IDTipText()
Returns the tip text for this property.protected BasePanel
newPanel()
Creates the panel to display in the dialog.String
paintletTipText()
Returns the tip text for this property.void
setColorProvider(ColorProvider value)
Sets the color provider to use.void
setID(String value)
Sets the name of the attribute/field to use as ID in the display.void
setPaintlet(AbstractSpreadSheetRowPaintlet value)
Sets the paintlet to use.void
setUpdater(AbstractSpreadSheetRowPanelUpdater value)
Sets the updater to use.void
setZoomOverview(boolean value)
Sets whether to display the zoom overview.String
supplyText()
Supplies the text.protected static String
supplyText(SpreadSheetRowPanel panel)
Returns the displayed instances as ARFF.boolean
supportsClear()
Whether "clear" is supported and shows up in the menu.String
updaterTipText()
Returns the tip text for this property.void
wrapUp()
Cleans up after the execution has finished.String
zoomOverviewTipText()
Returns the tip text for this property.-
Methods inherited from class adams.flow.sink.AbstractGraphicalDisplay
canPauseOrResume, clear, close, createMenuBar, getGraphicFileChooser, getMenuBar, getSendToClasses, getSendToItem, getShowFlowControlSubMenu, getTextFileChooser, getWriter, hasPanel, hasSendToItem, isPaused, pauseResumeFlow, saveAs, saveTextAs, setShowFlowControlSubMenu, setWriter, showFlowControlSubMenuTipText, stopFlow, supplyComponent, updateMenu, writerTipText
-
Methods inherited from class adams.flow.sink.AbstractDisplay
newDisplayRunnable, postDisplay, preDisplay
-
Methods inherited from class adams.flow.core.AbstractDisplay
backupState, cleanUp, cleanUpGUIKeepOpen, closeFrame, createFrame, createTitle, currentInput, deregisterInWrapUp, deregisterWindow, deregisterWithEditor, displayTypeTipText, doCreateFrame, doExecute, getCreateFrame, getDefaultDisplayType, getDefaultShortTitle, getDefaultX, getDefaultY, getDisplayType, getFrame, getFrameDefaultCloseOperation, getHeight, getKeepOpen, getPanel, getQuickInfo, getShortTitle, getWidth, getX, getY, hasInput, heightTipText, initialize, input, postCreateFrame, preCreateFrame, registerWindow, registerWithEditor, reset, restoreState, setCreateFrame, setDisplayType, setHeight, setKeepOpen, setShortTitle, setWidth, setX, setY, shortTitleTipText, stopExecution, widthTipText, xTipText, yTipText
-
Methods inherited from class adams.flow.core.AbstractActor
annotationsTipText, canInspectOptions, canPerformSetUpCheck, compareTo, configureLogger, destroy, equals, execute, finalUpdateVariables, findVariables, findVariables, forceVariables, forCommandLine, forName, forName, getAdditionalInformation, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowActors, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, handleException, hasErrorHandler, hasStopMessage, index, isBackedUp, isExecuted, isExecuting, isFinished, isHeadless, isStopped, nameTipText, performSetUpChecks, performVariableChecks, postExecute, preExecute, pruneBackup, pruneBackup, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, silentTipText, sizeOf, skipTipText, stopExecution, stopFlowOnErrorTipText, updateDetectedVariables, updatePrefix, updateVariables, variableChanged
-
Methods inherited from class adams.core.option.AbstractOptionHandler
cleanUpOptions, finishInit, getDefaultLoggingLevel, getOptionManager, loggingLevelTipText, newOptionManager, setLoggingLevel, toCommandLine, toString
-
Methods inherited from class adams.core.logging.LoggingObject
getLogger, getLoggingLevel, initializeLogging, isLoggingEnabled
-
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, destroy, equals, execute, findVariables, getAnnotations, getDefaultName, getDetectedVariables, getErrorHandler, getFlowExecutionListeningSupporter, getFullName, getName, getNextSibling, getParent, getParentComponent, getPreviousSibling, getQuickInfo, getRoot, getScopeHandler, getSilent, getSkip, getStopFlowOnError, getStopMessage, getStorageHandler, getVariables, handleError, hasErrorHandler, hasStopMessage, index, isExecuted, isFinished, isHeadless, isStopped, setAnnotations, setErrorHandler, setName, setParent, setSilent, setSkip, setStopFlowOnError, setUp, setVariables, shallowCopy, shallowCopy, sizeOf, stopExecution, stopExecution, toCommandLine, variableChanged
-
Methods inherited from interface adams.core.AdditionalInformationHandler
getAdditionalInformation
-
Methods inherited from interface adams.flow.core.InputConsumer
currentInput, hasInput, input
-
Methods inherited from interface adams.core.logging.LoggingLevelHandler
getLoggingLevel, setLoggingLevel
-
Methods inherited from interface adams.core.logging.LoggingSupporter
getLogger, isLoggingEnabled
-
Methods inherited from interface adams.core.option.OptionHandler
cleanUpOptions, getOptionManager
-
Methods inherited from interface adams.core.VariablesInspectionHandler
canInspectOptions
-
-
-
-
Field Detail
-
m_SpreadSheetRowPanel
protected SpreadSheetRowPanel m_SpreadSheetRowPanel
the panel with the rows.
-
m_ColorProvider
protected ColorProvider m_ColorProvider
the color provider to use.
-
m_Paintlet
protected AbstractSpreadSheetRowPaintlet m_Paintlet
the paintlet to use.
-
m_ZoomOverview
protected boolean m_ZoomOverview
whether to display the zoom overview.
-
m_ID
protected String m_ID
the name of the attribute/field to use as ID.
-
m_Updater
protected AbstractSpreadSheetRowPanelUpdater m_Updater
the updater to use.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing the object.- Specified by:
globalInfo
in interfaceGlobalInfoSupporter
- Specified by:
globalInfo
in classAbstractOptionHandler
- 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 interfaceOptionHandler
- Overrides:
defineOptions
in classAbstractGraphicalDisplay
-
getDefaultWidth
protected int getDefaultWidth()
Returns the default width for the dialog.- Overrides:
getDefaultWidth
in classAbstractDisplay
- Returns:
- the default width
-
getDefaultHeight
protected int getDefaultHeight()
Returns the default height for the dialog.- Overrides:
getDefaultHeight
in classAbstractDisplay
- Returns:
- the default height
-
setColorProvider
public void setColorProvider(ColorProvider value)
Sets the color provider to use.- Specified by:
setColorProvider
in interfaceColorProviderHandler
- Parameters:
value
- the color provider
-
getColorProvider
public ColorProvider getColorProvider()
Returns the color provider in use.- Specified by:
getColorProvider
in interfaceColorProviderHandler
- Returns:
- the color provider
-
colorProviderTipText
public String colorProviderTipText()
Returns the tip text for this property.- Specified by:
colorProviderTipText
in interfaceColorProviderHandler
- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setPaintlet
public void setPaintlet(AbstractSpreadSheetRowPaintlet value)
Sets the paintlet to use.- Parameters:
value
- the paintlet
-
getPaintlet
public AbstractSpreadSheetRowPaintlet getPaintlet()
Returns the paintlet in use.- Returns:
- the paintlet
-
paintletTipText
public String paintletTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setZoomOverview
public void setZoomOverview(boolean value)
Sets whether to display the zoom overview.- Parameters:
value
- if true then the zoom overview will get displayed
-
getZoomOverview
public boolean getZoomOverview()
Returns whether the zoom overview gets displayed.- Returns:
- true if the zoom overview gets displayed
-
zoomOverviewTipText
public String zoomOverviewTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setID
public void setID(String value)
Sets the name of the attribute/field to use as ID in the display.- Parameters:
value
- the attribute/field name
-
getID
public String getID()
Returns the name of the attribute/field to use as ID in the display.- Returns:
- the attribute/field name
-
IDTipText
public String IDTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
setUpdater
public void setUpdater(AbstractSpreadSheetRowPanelUpdater value)
Sets the updater to use.- Parameters:
value
- the updater
-
getUpdater
public AbstractSpreadSheetRowPanelUpdater getUpdater()
Returns the updater in use.- Returns:
- the updater
-
updaterTipText
public String updaterTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the GUI or for listing the options.
-
supportsClear
public boolean supportsClear()
Whether "clear" is supported and shows up in the menu.- Specified by:
supportsClear
in interfaceClearableDisplay
- Overrides:
supportsClear
in classAbstractGraphicalDisplay
- Returns:
- true if supported
-
clearPanel
public void clearPanel()
Clears the content of the panel.- Specified by:
clearPanel
in classAbstractDisplay
-
newPanel
protected BasePanel newPanel()
Creates the panel to display in the dialog.- Specified by:
newPanel
in classAbstractDisplay
- Returns:
- the panel
-
accepts
public Class[] accepts()
Returns the class that the consumer accepts.- Specified by:
accepts
in interfaceInputConsumer
- Returns:
- adams.data.spreadsheet.Row.class, adams.gui.visualization.spreadsheet.SpreadSheetRow.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 classAbstractDisplay
- Parameters:
token
- the token to display
-
cleanUpGUI
protected void cleanUpGUI()
Removes all graphical components.- Overrides:
cleanUpGUI
in classAbstractGraphicalDisplay
-
createDisplayPanel
public AbstractDisplayPanel createDisplayPanel(Token token)
Creates a new panel for the token.- Specified by:
createDisplayPanel
in interfaceDisplayPanelProvider
- Parameters:
token
- the token to display in a new panel, can be null- Returns:
- the generated panel
-
getCustomSupplyTextMenuItemCaption
public String getCustomSupplyTextMenuItemCaption()
Returns the text for the menu item.- Specified by:
getCustomSupplyTextMenuItemCaption
in interfaceTextSupplier
- Returns:
- the menu item text, null for default
-
getCustomTextFileFilter
public ExtensionFileFilter getCustomTextFileFilter()
Returns a custom file filter for the file chooser.- Specified by:
getCustomTextFileFilter
in interfaceTextSupplier
- Returns:
- the file filter, null if to use default one
-
supplyText
public String supplyText()
Supplies the text.- Specified by:
supplyText
in interfaceTextSupplier
- Specified by:
supplyText
in interfaceTextSupporter
- Returns:
- the text, null if none available
-
supplyText
protected static String supplyText(SpreadSheetRowPanel panel)
Returns the displayed instances as ARFF.- Parameters:
panel
- the panel to obtain the data form- Returns:
- the generated ARFF content or null if no data available
-
displayPanelRequiresScrollPane
public boolean displayPanelRequiresScrollPane()
Returns whether the created display panel requires a scroll pane or not.- Specified by:
displayPanelRequiresScrollPane
in interfaceDisplayPanelProvider
- Returns:
- true if the display panel requires a scroll pane
-
wrapUp
public void wrapUp()
Cleans up after the execution has finished.- Specified by:
wrapUp
in interfaceActor
- Overrides:
wrapUp
in classAbstractGraphicalDisplay
-
-