Class ViewerTabManager
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JTabbedPane
-
- adams.gui.core.BaseTabbedPane
-
- adams.gui.core.BaseTabbedPaneWithTabHiding
-
- adams.gui.tools.spreadsheetviewer.tab.ViewerTabManager
-
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,SwingConstants
public class ViewerTabManager extends BaseTabbedPaneWithTabHiding
Specialized JTabbedPane for managing tabs in the spreadsheet file viewer.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.core.BaseTabbedPaneWithTabHiding
BaseTabbedPaneWithTabHiding.PageBackup<T>
-
Nested classes/interfaces inherited from class adams.gui.core.BaseTabbedPane
BaseTabbedPane.MiddleMouseButtonCloseApprover, BaseTabbedPane.TabUndo, BaseTabbedPane.TabUndoList
-
Nested classes/interfaces inherited from class javax.swing.JTabbedPane
JTabbedPane.AccessibleJTabbedPane, JTabbedPane.ModelListener
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected SpreadSheetViewerPanel
m_Owner
the flow editor that the tab manager belongs to.protected static Properties
m_Properties
the properties.protected List<AbstractViewerTab>
m_TabList
all the available tabs.static String
MENUITEM_TABS
the default menu item text.static String
SESSION_FILE
the file to store the tab setup in.static String
SUFFIX_VISIBLE
the sufix for the session file.-
Fields inherited from class adams.gui.core.BaseTabbedPaneWithTabHiding
m_HiddenPages, m_TabVisibilityChangeListeners
-
Fields inherited from class adams.gui.core.BaseTabbedPane
m_CloseTabsWithMiddleMouseButton, m_DetachableTabs, m_MaxTabCloseUndo, m_MaxTitleLength, m_MiddleMouseButtonCloseApprover, m_PromptUserWhenClosingTab, m_ShowCloseTabButton, m_SkipTabUndo, m_TabChangeListeners, m_TabClosedListeners, m_TabUndoList
-
Fields inherited from class javax.swing.JTabbedPane
changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Fields inherited from interface javax.swing.SwingConstants
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
-
-
Constructor Summary
Constructors Constructor Description ViewerTabManager(SpreadSheetViewerPanel owner)
Initializes the tab manager.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTabsSubmenu(JMenu menu)
Adds all the available tabs.protected String
createPropertyKey(Class cls)
Creates the key for the property.SpreadSheetViewerPanel
getOwner()
Returns the editor panel that owns this tab manager.static Properties
getProperties()
Returns the properties that define the editor.protected void
initGUI()
Performs further initializations of widgets.protected void
initialize()
Initializes the widget.boolean
isVisible(Class cls)
Returns whether a tab should be visible or not.void
notifyTabs(SpreadSheetPanel panel)
Notifies all the selection aware tabs that the selection of sheet/rows has changed.void
notifyTabs(SpreadSheetPanel panel, SpreadSheetTablePopupMenuItemHelper.TableState state)
Notifies all the selection aware tabs that the selection of sheet/rows has changed.void
refresh(SpreadSheetPanel panel)
Notifies all the tabs.void
setAllVisible(boolean value)
Sets whether all tabs should be visible or not.void
setVisible(Class cls, boolean value)
Sets whether a tab should be visible or not.protected void
updateMenu(JMenu menu)
Updates the specified menu with the current enabled/disabled state of the tabs.protected boolean
updateProperties()
Saves the current properties.-
Methods inherited from class adams.gui.core.BaseTabbedPaneWithTabHiding
addHiddenTab, addHiddenTab, addHiddenTab, addTabVisibilityChangeListener, displayTab, displayTab, getHiddenComponent, hideTab, hideTab, hideTab, isHidden, isHidden, notifyTabVisibiltiyChangeListeners, removeAll, removeHidden, removeHidden, remvoeTabVisibilityChangeListener
-
Methods inherited from class adams.gui.core.BaseTabbedPane
addTabChangeListener, addTabClosedListeners, addTabUndo, afterTabClosedWithMiddleMouseButton, canCloseTab, canCloseTabWithMiddleMouseButton, canMoveTabTo, canMoveTabToEnd, canMoveTabToLeft, canMoveTabToRight, canMoveTabToStart, canUndoTabClose, clearTabChangeListeners, clearTabClosedListeners, finishInit, generateTabUndo, getCloseTabsWithMiddelMouseButton, getDetachableTabs, getMaxTabCloseUndo, getMaxTitleLength, getMiddleMouseButtonCloseApprover, getPromptUserWhenClosingTab, getShowCloseTabButton, getTabMoveSubMenu, getTabUndoList, insertTab, moveTabTo, moveTabToEnd, moveTabToLeft, moveTabToRight, moveTabToStart, notifyTabChangeListeners, notifyTabClosedListeners, removeSelectedTab, removeTabAt, removeTabChangeListener, removeTabClosedListeners, setCloseTabsWithMiddleMouseButton, setDetachableTabs, setMaxTabCloseUndo, setMaxTitleLength, setMiddleMouseButtonCloseApprover, setPromptUserWhenClosingTab, setShortenedTitleAt, setShowCloseTabButton, setTitleAt, tabClicked, undoTabClose, updateTabComponents
-
Methods inherited from class javax.swing.JTabbedPane
add, add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, fireStateChanged, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabComponentAt, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, getUI, getUIClassID, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, indexOfTabComponent, isEnabledAt, paramString, remove, remove, removeChangeListener, setBackgroundAt, setComponentAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setSelectedIndex, setTabComponentAt, setTabLayoutPolicy, setTabPlacement, setToolTipTextAt, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
SESSION_FILE
public static final String SESSION_FILE
the file to store the tab setup in.- See Also:
- Constant Field Values
-
MENUITEM_TABS
public static final String MENUITEM_TABS
the default menu item text.- See Also:
- Constant Field Values
-
SUFFIX_VISIBLE
public static final String SUFFIX_VISIBLE
the sufix for the session file.- See Also:
- Constant Field Values
-
m_Owner
protected SpreadSheetViewerPanel m_Owner
the flow editor that the tab manager belongs to.
-
m_Properties
protected static Properties m_Properties
the properties.
-
m_TabList
protected List<AbstractViewerTab> m_TabList
all the available tabs.
-
-
Constructor Detail
-
ViewerTabManager
public ViewerTabManager(SpreadSheetViewerPanel owner)
Initializes the tab manager.- Parameters:
owner
- the editor panel tha the manager belongs to
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the widget.- Overrides:
initialize
in classBaseTabbedPaneWithTabHiding
-
initGUI
protected void initGUI()
Performs further initializations of widgets.- Overrides:
initGUI
in classBaseTabbedPane
-
getOwner
public SpreadSheetViewerPanel getOwner()
Returns the editor panel that owns this tab manager.- Returns:
- the owner
-
notifyTabs
public void notifyTabs(SpreadSheetPanel panel)
Notifies all the selection aware tabs that the selection of sheet/rows has changed.- Parameters:
panel
- the panel that triggered the notification
-
notifyTabs
public void notifyTabs(SpreadSheetPanel panel, SpreadSheetTablePopupMenuItemHelper.TableState state)
Notifies all the selection aware tabs that the selection of sheet/rows has changed.- Parameters:
panel
- the panel that triggered the notificationstate
- the table state
-
refresh
public void refresh(SpreadSheetPanel panel)
Notifies all the tabs.- Parameters:
panel
- the panel
-
addTabsSubmenu
public void addTabsSubmenu(JMenu menu)
Adds all the available tabs.- Parameters:
menu
- the menu to add the "Send to" submenu to if available
-
updateMenu
protected void updateMenu(JMenu menu)
Updates the specified menu with the current enabled/disabled state of the tabs.- Parameters:
menu
- the menu to update
-
createPropertyKey
protected String createPropertyKey(Class cls)
Creates the key for the property.- Parameters:
cls
- the tab class- Returns:
- the property key
- See Also:
SUFFIX_VISIBLE
-
isVisible
public boolean isVisible(Class cls)
Returns whether a tab should be visible or not.- Parameters:
cls
- the tab class- Returns:
- true if the tab is visible by default
-
setVisible
public void setVisible(Class cls, boolean value)
Sets whether a tab should be visible or not.- Parameters:
cls
- the tab classvalue
- if true then the tab is made visible by default
-
setAllVisible
public void setAllVisible(boolean value)
Sets whether all tabs should be visible or not.- Parameters:
value
- if true then the tab is made visible by default
-
updateProperties
protected boolean updateProperties()
Saves the current properties.- Returns:
- true if successfully updated
-
getProperties
public static Properties getProperties()
Returns the properties that define the editor.- Returns:
- the properties
-
-