Package mgui.interfaces
Class InterfaceTabbedDisplayPanel
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
mgui.interfaces.InterfacePanel
mgui.interfaces.InterfaceDisplayPanel
mgui.interfaces.InterfaceTabbedDisplayPanel
- All Implemented Interfaces:
java.awt.event.ActionListener,java.awt.event.ComponentListener,java.awt.event.KeyListener,java.awt.event.MouseListener,java.awt.event.MouseMotionListener,java.awt.image.ImageObserver,java.awt.MenuContainer,java.beans.PropertyChangeListener,java.io.Serializable,java.util.EventListener,javax.accessibility.Accessible,AttributeListener,AttributeObject,DisplayListener,DisplayPanelListener,WindowContainer,WindowListener,InterfaceObject,CategoryObject,PopupMenuObject,NamedObject,ShapeModel3DListener,ShapeListener,SplitPanelListener,Toolable<Tool>,TreeObject,CleanableObject,XMLObject,IconObject
public class InterfaceTabbedDisplayPanel extends InterfaceDisplayPanel implements java.beans.PropertyChangeListener, DisplayPanelListener
This class extends
InterfaceDisplayPanel in order to provide a tabbed window
pane, similar to a typical web browser. It extends all the functionality necessary
to do this.- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanelNested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponentNested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainerNested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategyNested classes/interfaces inherited from interface mgui.interfaces.xml.XMLObject
XMLObject.XMLEncoding, XMLObject.XMLType -
Field Summary
Fields inherited from class mgui.interfaces.InterfaceDisplayPanel
currentModel, currentSelection, currentTool, displayPanelListeners, excludeToSelection, last_added_panel, last_removed_panel, last_split_orientation, mouse_listeners, objectTree, parent_panel, parentFrame, selectionIndex, titles, toolLock, window, workspaceFields inherited from class mgui.interfaces.InterfacePanel
attributes, displayListeners, last_click_point, statusBar, tree_nodes, treeNode, typeFields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOWFields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENTFields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH -
Constructor Summary
Constructors Constructor Description InterfaceTabbedDisplayPanel(SessionFrame frame) -
Method Summary
Modifier and Type Method Description voidaddGraphicMouseListener(GraphicMouseListener s)voidaddPanel(java.lang.String tab, InterfaceGraphicWindow graphic_panel, java.lang.String title)InterfaceDisplayPaneladdTab(java.lang.String name)voidaddTabbedDisplayListener(TabbedDisplayListener l)booleanaddWindow(InterfaceGraphicWindow graphic_panel, java.lang.String title)Adds a panel to this display panel, using the default split position, which depends on the previous addition.booleancontainsTab(java.lang.String name)voiddisplayPanelChanged(DisplayPanelEvent e)protected voidfireTabChanged()java.util.ArrayList<InterfaceGraphicWindow>getAllWindows()Returns all graphics panels from all tabs in this display panel.InterfaceDisplayPanelgetCurrentPanel()InterfaceGraphicgetLastAddedPanel()Retrieves the last added panelInterfaceGraphicgetLastRemovedPanel()Retrieves the last removed paneljavax.swing.IcongetObjectIcon()Returns theIconassociated with this object.java.util.ArrayList<InterfaceGraphicWindow>getPanels()InterfacePopupMenugetPopupMenu()Produces and returns a popup menu for this object.InterfaceDisplayPanelgetTab(java.lang.String name)protected intgetTabIndex(java.lang.String name)java.lang.StringgetTreeLabel()Returns the label text to appear in a tree node.java.util.ArrayList<InterfaceGraphicWindow>getWindows()Returns a list of the windows contained in this display panel.java.util.ArrayList<InterfaceGraphicWindow>getWindowsDepthFirst()Returns a list of the windows contained in this display panel.voidhandlePopupEvent(java.awt.event.ActionEvent e)Handles an event on this object's popup menu.voidpropertyChange(java.beans.PropertyChangeEvent e)voidremoveGraphicMouseListener(GraphicMouseListener s)voidremoveTab(java.lang.String name)voidremoveTabbedDisplayListener(TabbedDisplayListener l)voidresetPanels()Removes all panels from this display panel, and removes all mouse listeners registered on them.booleansetCurrentTool(Tool tool)voidsetStatusBar(InterfaceStatusBarPanel p)voidsetTitle(InterfaceDisplayPanel panel, java.lang.String name)voidsetTreeNode(InterfaceTreeNode treeNode)Sets the children for this node'sInterfaceTreeNode.voidshowPopupMenu(java.awt.event.MouseEvent e)Popup MenuvoidupdateDisplays()voidupdatePanels()Instructs this display panel to regenerate based on its current state.voidwriteXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progressBar)Writes the XML representation of this object to file.Methods inherited from class mgui.interfaces.InterfaceDisplayPanel
actionPerformed, addColourMap, addDisplayPanelListener, addSelectionSet, addSelectionSet, addShape2D, addShapeInt, addShapeListener, addWindow, close, deregisterProgressBar, destroy, fireDisplayPanelChanged, getColourMaps, getCurrentSectionSet, getCurrentSelection, getCurrentShapeModel, getCurrentShapeSet, getCurrentTool, getCurrentTool2D, getCurrentTool3D, getCurrentToolGraph, getDTD, getLocalName, getNameMaps, getNextSplitPanel, getPanelNodes, getParentFrame, getShapeSet2D, getShortXML, getToolLock, getValidTitle, getWorkspace, getXML, getXML, getXMLSchema, handleXMLElementEnd, handleXMLElementStart, handleXMLString, init, isDestroyed, isToolable, isValidTitle, paintComponent, registerProgressBar, removeAllPanels, removeDisplayPanelListener, removeWindow, removeWindow, removeWindow, resetSelectionIndex, setCurrentSection, setCurrentSectionSet, setCurrentSelection, setCurrentShapeModel, setDefaultTool, setObjectTree, setShapeSet2D, setToolLock, shapeModelChanged, shapeUpdated, splitPanelChanged, splitWindow, toggleExpandedWindow, toString, updateDisplay, windowSourceChanged, windowUpdated, writeXML, writeXMLMethods inherited from class mgui.interfaces.InterfacePanel
_init, addDisplayListener, attributeUpdated, clean, cleanUpPanel, collapseAllCategories, collapseCategory, collapseOtherCategories, componentHidden, componentMoved, componentResized, componentShown, expandAllCategories, expandCategory, fireDisplayListeners, getAttribute, getAttributes, getAttributeValue, getLocalAttributes, getPopupMenu, getSource, getTitle, getType, issueTreeNode, keyPressed, keyReleased, keyTyped, mouseClicked, mouseDragged, mouseEntered, mouseExited, mouseMoved, mousePressed, mouseReleased, removeDisplayListener, setAttribute, setAttributes, setSource, setType, showPanel, updateFromDialog, updateTreeNodesMethods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUIMethods 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, 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, updateMethods 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, validateTreeMethods 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, transferFocus, transferFocusBackward, transferFocusUpCycleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface mgui.interfaces.NamedObject
getName, setName
-
Constructor Details
-
InterfaceTabbedDisplayPanel
-
-
Method Details
-
getObjectIcon
public javax.swing.Icon getObjectIcon()Description copied from interface:IconObjectReturns theIconassociated with this object.- Specified by:
getObjectIconin interfaceIconObject- Overrides:
getObjectIconin classInterfaceDisplayPanel- Returns:
-
fireTabChanged
protected void fireTabChanged() -
addTabbedDisplayListener
-
removeTabbedDisplayListener
-
addPanel
public void addPanel(java.lang.String tab, InterfaceGraphicWindow graphic_panel, java.lang.String title) -
addWindow
Description copied from class:InterfaceDisplayPanelAdds a panel to this display panel, using the default split position, which depends on the previous addition. The convention for this is horizontal, then vertical, etc.- Overrides:
addWindowin classInterfaceDisplayPanel
-
displayPanelChanged
- Specified by:
displayPanelChangedin interfaceDisplayPanelListener
-
getLastAddedPanel
Retrieves the last added panel- Overrides:
getLastAddedPanelin classInterfaceDisplayPanel- Returns:
-
getLastRemovedPanel
Retrieves the last removed panel- Overrides:
getLastRemovedPanelin classInterfaceDisplayPanel- Returns:
-
addTab
-
getTreeLabel
public java.lang.String getTreeLabel()Description copied from interface:TreeObjectReturns the label text to appear in a tree node.- Specified by:
getTreeLabelin interfaceTreeObject- Overrides:
getTreeLabelin classInterfaceDisplayPanel- Returns:
-
getTabIndex
protected int getTabIndex(java.lang.String name) -
removeTab
public void removeTab(java.lang.String name) -
getTab
-
setTitle
-
getCurrentPanel
-
containsTab
public boolean containsTab(java.lang.String name) -
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)- Specified by:
propertyChangein interfacejava.beans.PropertyChangeListener
-
getWindows
Description copied from class:InterfaceDisplayPanelReturns a list of the windows contained in this display panel. Breadth-first, if this panel contains split panels.- Overrides:
getWindowsin classInterfaceDisplayPanel- Returns:
-
getWindowsDepthFirst
Description copied from class:InterfaceDisplayPanelReturns a list of the windows contained in this display panel. Depth-first, if this panel contains split panels.- Overrides:
getWindowsDepthFirstin classInterfaceDisplayPanel- Returns:
-
getPanels
- Overrides:
getPanelsin classInterfaceDisplayPanel- Returns:
-
getAllWindows
Returns all graphics panels from all tabs in this display panel.- Overrides:
getAllWindowsin classInterfaceDisplayPanel- Returns:
- a list of all panels in this set
-
updatePanels
public void updatePanels()Description copied from class:InterfaceDisplayPanelInstructs this display panel to regenerate based on its current state.- Overrides:
updatePanelsin classInterfaceDisplayPanel
-
resetPanels
public void resetPanels()Description copied from class:InterfaceDisplayPanelRemoves all panels from this display panel, and removes all mouse listeners registered on them.- Overrides:
resetPanelsin classInterfaceDisplayPanel
-
updateDisplays
public void updateDisplays()- Overrides:
updateDisplaysin classInterfaceDisplayPanel
-
setCurrentTool
- Specified by:
setCurrentToolin interfaceToolable<Tool>- Overrides:
setCurrentToolin classInterfaceDisplayPanel
-
setStatusBar
- Overrides:
setStatusBarin classInterfaceDisplayPanel
-
setTreeNode
Description copied from interface:TreeObjectSets the children for this node'sInterfaceTreeNode.- Specified by:
setTreeNodein interfaceTreeObject- Overrides:
setTreeNodein classInterfaceDisplayPanel
-
addGraphicMouseListener
- Overrides:
addGraphicMouseListenerin classInterfaceDisplayPanel
-
removeGraphicMouseListener
- Overrides:
removeGraphicMouseListenerin classInterfaceDisplayPanel
-
showPopupMenu
public void showPopupMenu(java.awt.event.MouseEvent e)Popup Menu- Specified by:
showPopupMenuin interfacePopupMenuObject- Overrides:
showPopupMenuin classInterfacePanel
-
getPopupMenu
Description copied from interface:PopupMenuObjectProduces and returns a popup menu for this object.- Specified by:
getPopupMenuin interfacePopupMenuObject- Overrides:
getPopupMenuin classInterfaceDisplayPanel- Returns:
-
handlePopupEvent
public void handlePopupEvent(java.awt.event.ActionEvent e)Description copied from interface:PopupMenuObjectHandles an event on this object's popup menu.- Specified by:
handlePopupEventin interfacePopupMenuObject- Overrides:
handlePopupEventin classInterfaceDisplayPanel
-
writeXML
public void writeXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progressBar) throws java.io.IOExceptionDescription copied from interface:XMLObjectWrites the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format ofXMLFormat.Asciiwill be used.- Specified by:
writeXMLin interfaceXMLObject- Overrides:
writeXMLin classInterfaceDisplayPanel- Parameters:
tab- The number of tabs to place before the XML textwriter- The writeroptions- XMLOutputOptions defining the write parametersprogressBar- Optional progress updater (may benull)- Throws:
java.io.IOException
-