Interface TableLoadDialog
-
- All Known Implementing Classes:
AbstractTableLoadDialog
,FileChooserTableLoadDialog
,FilestoreTableLoadDialog
,LocationTableLoadDialog
,SQLTableLoadDialog
public interface TableLoadDialog
Interface for an object which can handle the user interaction for selecting a table or tables to load.- Since:
- 13 Sept 2010
- Author:
- Mark Taylor
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
configure(StarTableFactory tfact, javax.swing.Action submitAct)
Provides some configuration which must be performed before use.TableLoader
createTableLoader()
Returns a new object which specifies how table loading is to be performed.java.lang.String
getDescription()
Returns a short description of this dialogue.javax.swing.Icon
getIcon()
Returns an icon associated with this dialogue.javax.swing.JMenu[]
getMenus()
Returns an array of menus which may be presented in the window alongside the query component.java.lang.String
getName()
Returns the name of this dialogue.java.awt.Component
getQueryComponent()
Returns the GUI component which allows the user to select how tables are to be loaded.javax.swing.Action
getSubmitAction()
Returns the action set byconfigure(uk.ac.starlink.table.StarTableFactory, javax.swing.Action)
.javax.swing.Action[]
getToolbarActions()
Returns an array of actions suitable for presentation as toolbar buttons alongside the query component.boolean
isAvailable()
Indicates whether this dialogue may be used.
-
-
-
Method Detail
-
getName
java.lang.String getName()
Returns the name of this dialogue. This may be used as the text of a button (Action.NAME
).- Returns:
- dialogue name
-
getDescription
java.lang.String getDescription()
Returns a short description of this dialogue. This may be used as the tooltip text of a button (Action.SHORT_DESCRIPTION
).- Returns:
- dialogue description
-
getIcon
javax.swing.Icon getIcon()
Returns an icon associated with this dialogue. A size of 24x24 pixels is preferred. Null may be returned if no icon is available.- Returns:
- dialogue icon
-
getQueryComponent
java.awt.Component getQueryComponent()
Returns the GUI component which allows the user to select how tables are to be loaded.- Returns:
- component for user interaction
-
getMenus
javax.swing.JMenu[] getMenus()
Returns an array of menus which may be presented in the window alongside the query component.- Returns:
- menu array; may be empty
-
getToolbarActions
javax.swing.Action[] getToolbarActions()
Returns an array of actions suitable for presentation as toolbar buttons alongside the query component.- Returns:
- toolbar action array; may be empty
-
isAvailable
boolean isAvailable()
Indicates whether this dialogue may be used. Normally it will return true, but in the case that classes or other resources required for its use are missing, it should return false. In this case most of the other methods will not be called.- Returns:
- true iff this dialogue may be able to do something useful
-
configure
void configure(StarTableFactory tfact, javax.swing.Action submitAct)
Provides some configuration which must be performed before use. This method should be called beforegetQueryComponent()
is called.The
tfact
argument provides a table factory which resembles the one to be used for generating tables. Although this factory should not in general be used or retained, since the one presented later to the TableLoader should be used instead, it can be interrogated for known table formats etc.The
submitAct
argument sets the action which when invoked will causecreateTableLoader()
to be called. Its setEnabled method can be called to reflect readiness, and it can be added as a listener to dialogue-specific events which indicate that a selection has been made.- Parameters:
tfact
- representative table factorysubmitAct
- action for load submission
-
getSubmitAction
javax.swing.Action getSubmitAction()
Returns the action set byconfigure(uk.ac.starlink.table.StarTableFactory, javax.swing.Action)
.- Returns:
- action which initiates a table load attempt
-
createTableLoader
TableLoader createTableLoader()
Returns a new object which specifies how table loading is to be performed. The actions performed by the returned object will presumably be determined by the state at call time of this dialogues GUI component.If the dialogue is not in a suitable state, either return null, or, if you want to provide more detailed information about what's wrong, throw a RuntimeException with an informative message.
- Returns:
- new table loader object
-
-