Package adams.gui.flow
Class FlowMultiPagePane
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.core.MultiPagePane
-
- adams.gui.flow.FlowMultiPagePane
-
- All Implemented Interfaces:
CleanUpHandler,UISettingsSupporter,ImageObserver,MenuContainer,Serializable,Accessible
public class FlowMultiPagePane extends MultiPagePane
Specialized tabbed pane for Flow panels.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFlowMultiPagePane.FlowPanelFilterFor filtering panels.static classFlowMultiPagePane.FlowTitleRendererThe cell renderer.-
Nested classes/interfaces inherited from class adams.gui.core.MultiPagePane
MultiPagePane.DetachablePage, MultiPagePane.PageCloseApprover, MultiPagePane.PageContainer, MultiPagePane.PageUndo, MultiPagePane.PopupCustomizer, MultiPagePane.TitleRenderer, MultiPagePane.ToolTipCustomizer
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
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 FlowPanelm_ActiveFlowthe active flow.protected Classm_FlowPanelClassthe flowpanel class to use.protected List<AbstractMultiPageMenuItem>m_MenuItemsthe menu items.protected FlowEditorPanelm_Ownerthe owning editor.-
Fields inherited from class adams.gui.core.MultiPagePane
m_ButtonAction, m_ButtonDown, m_ButtonRemove, m_ButtonRemoveAll, m_ButtonUndo, m_ButtonUp, m_ChangeListeners, m_IgnoreUpdates, m_LeftPanel, m_MaxPageCloseUndo, m_PageCloseApprover, m_PageList, m_PageListModel, m_PageUndoList, m_PanelContent, m_PanelListButtons, m_PopupCustomizer, m_ReadOnly, m_SkipPageUndo, m_SplitPane, m_ToolTipCustomizer
-
Fields inherited from class adams.gui.core.BasePanel
m_FileChooser
-
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
-
-
Constructor Summary
Constructors Constructor Description FlowMultiPagePane(FlowEditorPanel owner)Initializes the tabbed pane.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleancheckForModified()Returns whether we can proceed with the operation or not, depending on whether the user saved the flow or discarded the changes.protected booleancheckForModified(FlowPanel panel)Returns whether we can proceed with the operation or not, depending on whether the user saved the flow or discarded the changes.protected BasePopupMenucreatePopup(MouseEvent e)Generates the right-click menu for the JList.FlowPanelgetActiveFlow()Returns the active flow panel (if any).FlowPanelgetCurrentPanel()Returns the currently selected panel.TreegetCurrentTree()Returns the currently selected tree.int[]getIndices(Map<FlowMultiPagePane.FlowPanelFilter,Boolean> filters)Returns the indices of the flow panels that match the filter.FlowEditorPanelgetOwner()Returns the owning editor.FlowPanelgetPanelAt(int index)Returns the panel at the specified position.intgetPanelCount()Returns the number of panels in the tabbed pane.int[]getSelectedIndices(Map<FlowMultiPagePane.FlowPanelFilter,Boolean> filters)Returns the indices of the selected flow panels that match the filter.TreegetTreeAt(int index)Returns the tree at the specified position.booleanhasActiveFlow()Checks whether an active flow is set.booleanhasCurrentPanel()Returns if a panel is available.booleanhasCurrentTree()Returns whether a tree is currently selected.booleanhasPanel(String title)Returns whether a panel with the specified title exists.intindexOfPanel(String title)Returns the index of the panel with the specified title.protected voidinitialize()For initializing members.booleanisActiveFlowAt(int index)Checks whether the flow at the given position is the active one.FlowPanelnewPanel()Adds a new tab with an empty panel.protected MultiPagePane.TitleRenderernewRenderer()Returns the renderer to use.protected voidpageSelected(ChangeEvent e)Gets called when a tab gets selected.MultiPagePane.PageContainerremovePageAt(int index)Removes the tab atindex.voidsetActiveFlowAt(int index)Sets the flow at the given position as the new active one.voidunsetActiveFlow()Unsets the active flow.voidupdateCurrentDirectory()Updates the current working directory of the owner's file chooser to the one represented by this flow.protected voidupdateOwnerTitle()Updates the owner's title.voidupdateTitle(FlowPanel panel, String title)Updates the title.-
Methods inherited from class adams.gui.core.MultiPagePane
addAction, addAction, addChangeListener, addPage, addPage, addPage, addPage, addPageUndo, addRemoveItemsListener, canMoveDown, canMoveUp, canRemovePageAt, canRemoveSelectedPages, canUndoPageClose, checkedRemoveAllPages, checkedRemovePageAt, checkedRemoveSelectedPage, checkedRemoveSelectedPages, cleanUp, clearPageUndo, clearUISettingsParameters, finishInit, generateToolTip, getDetachablePageAt, getDividerLocation, getIconAt, getMaxPageCloseUndo, getPageAt, getPageCloseApprover, getPageContainerAt, getPageCount, getPageUndoList, getPopupCustomizer, getSelectedDetachablePage, getSelectedIcon, getSelectedIndex, getSelectedIndices, getSelectedPage, getSelectedPageContainer, getSelectedTitle, getTitleAt, getTitleRenderer, getToolTipCustomizer, indexOfPage, indexOfPage, initGUI, isPageClosingApproved, isPageClosingApproved, isReadOnly, moveBottom, moveDown, moveTop, moveUp, notifyChangeListeners, processListKey, removeAllPages, removeChangeListener, removeRemoveItemsListener, removeSelectedPage, removeSelectedPages, setDividerLocation, setIconAt, setMaxPageCloseUndo, setPageAt, setPageAt, setPageCloseApprover, setPopupCustomizer, setReadOnly, setSelectedIndex, setSelectedIndices, setSelectedPage, setTitleAt, setTitleRenderer, setToolTipCustomizer, setUISettingsParameters, showPopup, undoPageClose, update, updateButtons, updateTitle
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, 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, 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, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, 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, remove, remove, removeAll, 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
-
m_Owner
protected FlowEditorPanel m_Owner
the owning editor.
-
m_FlowPanelClass
protected Class m_FlowPanelClass
the flowpanel class to use.
-
m_MenuItems
protected List<AbstractMultiPageMenuItem> m_MenuItems
the menu items.
-
m_ActiveFlow
protected FlowPanel m_ActiveFlow
the active flow.
-
-
Constructor Detail
-
FlowMultiPagePane
public FlowMultiPagePane(FlowEditorPanel owner)
Initializes the tabbed pane.- Parameters:
owner- the owning editor
-
-
Method Detail
-
initialize
protected void initialize()
For initializing members.- Overrides:
initializein classMultiPagePane
-
getOwner
public FlowEditorPanel getOwner()
Returns the owning editor.- Returns:
- the owning editor
-
newRenderer
protected MultiPagePane.TitleRenderer newRenderer()
Returns the renderer to use.- Overrides:
newRendererin classMultiPagePane- Returns:
- the renderer
-
newPanel
public FlowPanel newPanel()
Adds a new tab with an empty panel.- Returns:
- the new flow panel
-
getPanelCount
public int getPanelCount()
Returns the number of panels in the tabbed pane.- Returns:
- the number of panels
-
getIndices
public int[] getIndices(Map<FlowMultiPagePane.FlowPanelFilter,Boolean> filters)
Returns the indices of the flow panels that match the filter.- Parameters:
filters- the filters to apply- Returns:
- the indices of the panels that matched
-
getSelectedIndices
public int[] getSelectedIndices(Map<FlowMultiPagePane.FlowPanelFilter,Boolean> filters)
Returns the indices of the selected flow panels that match the filter.- Parameters:
filters- the filters to apply- Returns:
- the indices of the panels that matched
-
getPanelAt
public FlowPanel getPanelAt(int index)
Returns the panel at the specified position.- Parameters:
index- the tab index- Returns:
- the requested panel
-
indexOfPanel
public int indexOfPanel(String title)
Returns the index of the panel with the specified title.- Parameters:
title- the title to check- Returns:
- the panel, -1 if not found
-
hasPanel
public boolean hasPanel(String title)
Returns whether a panel with the specified title exists.- Parameters:
title- the title to look for- Returns:
- true if it exists
-
hasCurrentPanel
public boolean hasCurrentPanel()
Returns if a panel is available.- Returns:
- true if a panel available
-
getCurrentPanel
public FlowPanel getCurrentPanel()
Returns the currently selected panel.- Returns:
- the current panel, null if not available
-
getTreeAt
public Tree getTreeAt(int index)
Returns the tree at the specified position.- Parameters:
index- the tab index- Returns:
- the requested tree
-
hasCurrentTree
public boolean hasCurrentTree()
Returns whether a tree is currently selected.- Returns:
- true if a tree available
-
getCurrentTree
public Tree getCurrentTree()
Returns the currently selected tree.- Returns:
- the currently selected tree, null if not available
-
checkForModified
protected boolean checkForModified()
Returns whether we can proceed with the operation or not, depending on whether the user saved the flow or discarded the changes.- Returns:
- true if safe to proceed
-
checkForModified
protected boolean checkForModified(FlowPanel panel)
Returns whether we can proceed with the operation or not, depending on whether the user saved the flow or discarded the changes.- Parameters:
panel- the panel to check- Returns:
- true if safe to proceed
-
pageSelected
protected void pageSelected(ChangeEvent e)
Gets called when a tab gets selected.- Parameters:
e- the event that triggered the action
-
updateOwnerTitle
protected void updateOwnerTitle()
Updates the owner's title.
-
updateTitle
public void updateTitle(FlowPanel panel, String title)
Updates the title.- Parameters:
panel- the panel to update the title fortitle- the new title
-
updateCurrentDirectory
public void updateCurrentDirectory()
Updates the current working directory of the owner's file chooser to the one represented by this flow.
-
removePageAt
public MultiPagePane.PageContainer removePageAt(int index)
Removes the tab atindex. After the component associated withindexis removed, its visibility is reset to true to ensure it will be visible if added to other containers.- Overrides:
removePageAtin classMultiPagePane- Parameters:
index- the index of the tab to be removed- Returns:
- the removed container
-
hasActiveFlow
public boolean hasActiveFlow()
Checks whether an active flow is set.- Returns:
- true if active flow set
-
unsetActiveFlow
public void unsetActiveFlow()
Unsets the active flow.
-
getActiveFlow
public FlowPanel getActiveFlow()
Returns the active flow panel (if any).- Returns:
- the panel, null if no active one set
-
isActiveFlowAt
public boolean isActiveFlowAt(int index)
Checks whether the flow at the given position is the active one.- Parameters:
index- the page index- Returns:
- true if it is the active one
-
setActiveFlowAt
public void setActiveFlowAt(int index)
Sets the flow at the given position as the new active one.- Parameters:
index- the flow to use as active one
-
createPopup
protected BasePopupMenu createPopup(MouseEvent e)
Generates the right-click menu for the JList.- Overrides:
createPopupin classMultiPagePane- Parameters:
e- the event that triggered the popup- Returns:
- the generated menu
- See Also:
MultiPagePane.showPopup(MouseEvent)
-
-