|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
simtools.ui.SplitTabPane
public class SplitTabPane
A split tab pane is a JPanel in charge of the layout of several sub panel elements 3 kind of layouts are available TAB mode : a JTabbedPane is used to display the elements and a card with the element name allows to select it SPLIT mode : the element is displayed under the JTabbedPane (it one element uses this mode) and JSplitPane are used to separate the elements using this mode and thus the user can define the split location DETACHED mode : the element is not displayed in this panel but in a "detached" dialog. When the user closes the dialog the element comes back in this panel with its previous mode (TAB or SPLIT) layout All the layout parameters are saved and restore in/from the UserProperties
Nested Class Summary | |
---|---|
protected class |
SplitTabPane.Element
Element is the internal structure describing the managed components |
class |
SplitTabPane.PopupMenu
The default popup used to provide control on the layout mode |
protected class |
SplitTabPane.SplitBorder
The default wrapper for the components when in SPLIT mode A JPanel with a TitledBorder containing the element name This panel has also a mouse listener for the popup menu |
Nested classes/interfaces inherited from class javax.swing.JPanel |
---|
javax.swing.JPanel.AccessibleJPanel |
Nested classes/interfaces inherited from class javax.swing.JComponent |
---|
javax.swing.JComponent.AccessibleJComponent |
Nested classes/interfaces inherited from class java.awt.Container |
---|
java.awt.Container.AccessibleAWTContainer |
Nested classes/interfaces inherited from class java.awt.Component |
---|
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy |
Field Summary | |
---|---|
protected boolean |
allowDetached
allow to detach components |
protected boolean |
allowSplit
allow to split/unsplit if not allowed then components stay in their intial mode or can be detached |
static int |
DETACHED
The DETACHED mode id |
protected java.util.ArrayList |
elements
The elements list |
protected SplitTabPane.SplitBorder |
firstSplitBorder
The wrapper for the first element in SPLIT mode |
protected int |
orientation
define the panel orientation, i.e. |
protected java.awt.Frame |
owner
the Frame owner used as the owner of the created dialogs in detached mode |
static MenuResourceBundle |
resources
The resources used for the popup menu |
static int |
SPLIT
The SPLIT mode id |
protected SplitTabPane.PopupMenu |
splitPopup
the popup to "split" a "tab" element |
static int |
TAB
The TAB mode id |
protected javax.swing.JTabbedPane |
tabPane
The tab pane, null if no element currently in this mode |
protected javax.swing.JSplitPane |
tabSplit
The split used between the elements in SPLIT mode and the element in TAB mode |
protected SplitTabPane.PopupMenu |
unsplitPopup
the popup to "tab" a "split" element |
Fields inherited from class javax.swing.JComponent |
---|
accessibleContext, 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 |
---|
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 | |
---|---|
SplitTabPane(java.awt.Frame owner,
int orientation,
boolean allowSplit,
boolean allowDetached)
Creates a new panel without elements |
Method Summary | |
---|---|
void |
addElement(java.awt.Component comp,
java.lang.String name)
Add a component into this container and provide its name |
void |
addElement(java.awt.Component c,
java.lang.String name,
int mode)
Add a new element at the last index |
protected void |
addElement(java.awt.Component c,
java.lang.String name,
int mode,
int index)
Add a new element at the given index |
void |
changeElement(java.awt.Component c,
int newMode)
Change the display mode of one element |
protected javax.swing.JDialog |
createDialog(java.awt.Component c,
java.lang.String name)
Create the dialog used in DETACHED mode To be oveverridden if needed ! |
protected SplitTabPane.Element |
createElement(java.awt.Component c,
java.lang.String n,
java.awt.Container o,
SplitTabPane.SplitBorder b)
Create the Element, the internal structure describing the managed components To be oveverridden if needed ! |
protected void |
createPopups()
Create the popups that allows the user to change elements layout mode To be oveverridden if needed ! |
protected SplitTabPane.SplitBorder |
createSplitBorder(java.awt.Component c,
java.lang.String name)
Create the panel used in SPLIT mode to display the component inside JSplitPane. |
SplitTabPane.Element |
getElement(java.awt.Component c)
Gets the element knowing the displayed component |
int |
getElementIndex(java.awt.Component c)
Gets the element index knowing the displayed component |
boolean |
isVisible(java.lang.String name)
Checks if an element is visible |
void |
load(UserProperties up,
java.lang.String suffix)
|
void |
mouseClicked(java.awt.event.MouseEvent e)
|
void |
mouseEntered(java.awt.event.MouseEvent e)
|
void |
mouseExited(java.awt.event.MouseEvent e)
|
void |
mousePressed(java.awt.event.MouseEvent e)
|
void |
mouseReleased(java.awt.event.MouseEvent e)
|
protected void |
removeElement(SplitTabPane.Element e)
Remove an element from the list The removed element is not foreseen to be reused |
void |
save(UserProperties up,
java.lang.String suffix)
|
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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 |
---|
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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static MenuResourceBundle resources
public static final int SPLIT
public static final int TAB
public static final int DETACHED
protected java.util.ArrayList elements
protected javax.swing.JTabbedPane tabPane
protected SplitTabPane.SplitBorder firstSplitBorder
protected javax.swing.JSplitPane tabSplit
protected int orientation
protected SplitTabPane.PopupMenu splitPopup
protected SplitTabPane.PopupMenu unsplitPopup
protected boolean allowSplit
protected boolean allowDetached
protected java.awt.Frame owner
Constructor Detail |
---|
public SplitTabPane(java.awt.Frame owner, int orientation, boolean allowSplit, boolean allowDetached)
owner
- used as the owner of the created dialogs in detached modeorientation
- JSplitPane.HORIZONTAL_SPLIT or JSplitPane.VERICAL_SPLITallowSplit
- allowDetached
- Method Detail |
---|
public boolean isVisible(java.lang.String name)
name
- the element name
public SplitTabPane.Element getElement(java.awt.Component c)
c
- the component
public int getElementIndex(java.awt.Component c)
c
- the component
public void changeElement(java.awt.Component c, int newMode)
c
- the component to changenewMode
- the new modepublic void addElement(java.awt.Component comp, java.lang.String name)
NamedElementContainer
addElement
in interface NamedElementContainer
comp
- the componentname
- the component namepublic void addElement(java.awt.Component c, java.lang.String name, int mode)
c
- the component to be displayedname
- its namemode
- the mode to be usedprotected void addElement(java.awt.Component c, java.lang.String name, int mode, int index)
c
- the component to be displayedname
- its namemode
- the mode to be usedindex
- the index in the list of exisiting elementsprotected void removeElement(SplitTabPane.Element e)
e
- the element to be removedprotected void createPopups()
protected javax.swing.JDialog createDialog(java.awt.Component c, java.lang.String name)
c
- the component to be displayedname
- the name used as a dialog title
public void save(UserProperties up, java.lang.String suffix)
public void load(UserProperties up, java.lang.String suffix)
public void mouseClicked(java.awt.event.MouseEvent e)
mouseClicked
in interface java.awt.event.MouseListener
public void mouseEntered(java.awt.event.MouseEvent e)
mouseEntered
in interface java.awt.event.MouseListener
public void mouseExited(java.awt.event.MouseEvent e)
mouseExited
in interface java.awt.event.MouseListener
public void mouseReleased(java.awt.event.MouseEvent e)
mouseReleased
in interface java.awt.event.MouseListener
public void mousePressed(java.awt.event.MouseEvent e)
mousePressed
in interface java.awt.event.MouseListener
protected SplitTabPane.SplitBorder createSplitBorder(java.awt.Component c, java.lang.String name)
c
- the component to be displayedname
- the name used as a dialog title
protected SplitTabPane.Element createElement(java.awt.Component c, java.lang.String n, java.awt.Container o, SplitTabPane.SplitBorder b)
c
- the component to be displayedn
- the name of the componento
- the container owner of this component (a JSplitPane, a JDialog, a JTabbedPane or this)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |