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 SpreadSheetViewerPanelm_Ownerthe flow editor that the tab manager belongs to.protected static Propertiesm_Propertiesthe properties.protected List<AbstractViewerTab>m_TabListall the available tabs.static StringMENUITEM_TABSthe default menu item text.static StringSESSION_FILEthe file to store the tab setup in.static StringSUFFIX_VISIBLEthe 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 voidaddTabsSubmenu(JMenu menu)Adds all the available tabs.protected StringcreatePropertyKey(Class cls)Creates the key for the property.SpreadSheetViewerPanelgetOwner()Returns the editor panel that owns this tab manager.static PropertiesgetProperties()Returns the properties that define the editor.protected voidinitGUI()Performs further initializations of widgets.protected voidinitialize()Initializes the widget.booleanisVisible(Class cls)Returns whether a tab should be visible or not.voidnotifyTabs(SpreadSheetPanel panel)Notifies all the selection aware tabs that the selection of sheet/rows has changed.voidnotifyTabs(SpreadSheetPanel panel, SpreadSheetTablePopupMenuItemHelper.TableState state)Notifies all the selection aware tabs that the selection of sheet/rows has changed.voidrefresh(SpreadSheetPanel panel)Notifies all the tabs.voidsetAllVisible(boolean value)Sets whether all tabs should be visible or not.voidsetVisible(Class cls, boolean value)Sets whether a tab should be visible or not.protected voidupdateMenu(JMenu menu)Updates the specified menu with the current enabled/disabled state of the tabs.protected booleanupdateProperties()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:
initializein classBaseTabbedPaneWithTabHiding
-
initGUI
protected void initGUI()
Performs further initializations of widgets.- Overrides:
initGUIin 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
-
-