Class AbstractParamDialog

  • All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants
    Direct Known Subclasses:
    OptionsDialog, PolicyDialog, SessionDialog

    public class AbstractParamDialog
    extends AbstractDialog
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JDialog

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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

      • Fields inherited from class javax.swing.JDialog

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Dialog

        DEFAULT_MODALITY_TYPE
      • 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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractParamDialog()
      Constructs an AbstractParamDialog with no parent and not modal.
      AbstractParamDialog​(java.awt.Window parent, boolean modal, java.lang.String title, java.lang.String rootName)
      Constructs an AbstractParamDialog with the given parent, title and root node's name and whether or not it's modal.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addParamPanel​(java.lang.String[] parentParams, java.lang.String name, AbstractParamPanel panel, boolean sort)
      Adds the given panel with the given name positioned under the given parents (or root node if none given).
      void addParamPanel​(java.lang.String[] parentParams, AbstractParamPanel panel, boolean sort)
      Adds the given panel, with its own name, positioned under the given parents (or root node if none given).
      protected void expandParamPanelNode​(java.lang.String panelName)
      Expands the node of the param panel with the given name.
      protected void expandRoot()
      Expands the root node.
      protected javax.swing.JButton getBtnCancel()
      This method initializes btnCancel
      javax.swing.JButton[] getExtraButtons()  
      protected java.util.Collection<AbstractParamPanel> getPanels()
      Gets the panels shown on this dialog.
      void initParam​(java.lang.Object obj)
      Initialises all panels with the given object.
      protected boolean isParamPanelOrChildSelected​(java.lang.String panelName)
      Tells whether or not the given param panel, or one of its child panels, is selected.
      protected boolean isParamPanelSelected​(java.lang.String panelName)
      Tells whether or not the given param panel is selected.
      void printTree()  
      void removeParamPanel​(AbstractParamPanel panel)
      Removes the given panel.
      void renamePanel​(AbstractParamPanel panel, java.lang.String newPanelName)  
      void saveParam()
      Saves the data of all panels, throwing an exception if there's any error.
      void setFooter​(java.lang.String text)
      Sets the text to be shown in the footer of the dialogue (along with the OK and Cancel buttons).
      int showDialog​(boolean showRoot)  
      int showDialog​(boolean showRoot, java.lang.String panel)  
      void showParamPanel​(java.lang.String name)
      Shows the panel with the given name.
      void showParamPanel​(java.lang.String parent, java.lang.String child)  
      void showParamPanel​(AbstractParamPanel panel, java.lang.String name)
      Shows the panel with the given name.
      void validateParam()
      Validates all panels, throwing an exception if there's any validation error.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • AbstractParamDialog

        public AbstractParamDialog()
        Constructs an AbstractParamDialog with no parent and not modal.
        Throws:
        java.awt.HeadlessException - when GraphicsEnvironment.isHeadless() returns true
      • AbstractParamDialog

        public AbstractParamDialog​(java.awt.Window parent,
                                   boolean modal,
                                   java.lang.String title,
                                   java.lang.String rootName)
        Constructs an AbstractParamDialog with the given parent, title and root node's name and whether or not it's modal.
        Parameters:
        parent - the Window from which the dialog is displayed or null if this dialog has no parent
        modal - true if the dialogue should be modal, false otherwise
        title - the title of the dialogue
        rootName - the name of the root node
        Throws:
        java.awt.HeadlessException - when GraphicsEnvironment.isHeadless() returns true
    • Method Detail

      • setFooter

        public void setFooter​(java.lang.String text)
        Sets the text to be shown in the footer of the dialogue (along with the OK and Cancel buttons).
        Parameters:
        text - the text to be shown in the footer, might be null in which case no text is shown.
      • getExtraButtons

        public javax.swing.JButton[] getExtraButtons()
      • getBtnCancel

        protected javax.swing.JButton getBtnCancel()
        This method initializes btnCancel
        Returns:
        javax.swing.JButton
      • addParamPanel

        public void addParamPanel​(java.lang.String[] parentParams,
                                  java.lang.String name,
                                  AbstractParamPanel panel,
                                  boolean sort)
        Adds the given panel with the given name positioned under the given parents (or root node if none given).

        If not sorted the panel is appended to existing panels.

        Parameters:
        parentParams - the name of the parent nodes of the panel, might be null.
        name - the name of the panel, must not be null.
        panel - the panel, must not be null.
        sort - true if the panel should be added in alphabetic order, false otherwise
      • addParamPanel

        public void addParamPanel​(java.lang.String[] parentParams,
                                  AbstractParamPanel panel,
                                  boolean sort)
        Adds the given panel, with its own name, positioned under the given parents (or root node if none given).

        If not sorted the panel is appended to existing panels.

        Parameters:
        parentParams - the name of the parent nodes of the panel, might be null.
        panel - the panel, must not be null.
        sort - true if the panel should be added in alphabetic order, false otherwise
      • removeParamPanel

        public void removeParamPanel​(AbstractParamPanel panel)
        Removes the given panel.
        Parameters:
        panel - the panel that will be removed
      • showParamPanel

        public void showParamPanel​(java.lang.String parent,
                                   java.lang.String child)
      • showParamPanel

        public void showParamPanel​(java.lang.String name)
        Shows the panel with the given name.

        Nothing happens if there's no panel with the given name (or the given name is empty or null).

        The previously shown panel (if any) is notified that it will be hidden.

        Parameters:
        name - the name of the panel to be shown
      • showParamPanel

        public void showParamPanel​(AbstractParamPanel panel,
                                   java.lang.String name)
        Shows the panel with the given name.

        The previously shown panel (if any) is notified that it will be hidden.

        Parameters:
        panel - the panel that will be notified that is now shown, must not be null.
        name - the name of the panel that will be shown, must not be null.
      • initParam

        public void initParam​(java.lang.Object obj)
        Initialises all panels with the given object.
        Parameters:
        obj - the object that contains the data to be shown in the panels and save them
        See Also:
        validateParam(), saveParam()
      • validateParam

        public void validateParam()
                           throws java.lang.Exception
        Validates all panels, throwing an exception if there's any validation error.

        The message of the exception can be shown in GUI components (for example, an error dialogue) callers can expect an internationalised message.

        Throws:
        java.lang.Exception - if there's any validation error.
        See Also:
        initParam(Object), saveParam()
      • saveParam

        public void saveParam()
                       throws java.lang.Exception
        Saves the data of all panels, throwing an exception if there's any error.

        The message of the exception can be shown in GUI components (for example, an error dialogue) callers can expect an internationalised message.

        Throws:
        java.lang.Exception - if there's any error while saving the data.
        See Also:
        initParam(Object), validateParam()
      • expandParamPanelNode

        protected void expandParamPanelNode​(java.lang.String panelName)
        Expands the node of the param panel with the given name.
        Parameters:
        panelName - the name of the panel whose node should be expanded, should not be null.
        Since:
        2.8.0
        See Also:
        expandRoot()
      • isParamPanelSelected

        protected boolean isParamPanelSelected​(java.lang.String panelName)
        Tells whether or not the given param panel is selected.
        Parameters:
        panelName - the name of the panel to check if it is selected, should not be null.
        Returns:
        true if the panel is selected, false otherwise.
        Since:
        2.8.0
        See Also:
        isParamPanelOrChildSelected(String)
      • isParamPanelOrChildSelected

        protected boolean isParamPanelOrChildSelected​(java.lang.String panelName)
        Tells whether or not the given param panel, or one of its child panels, is selected.
        Parameters:
        panelName - the name of the panel to check, should not be null.
        Returns:
        true if the panel or one of its child panels is selected, false otherwise.
        Since:
        2.8.0
        See Also:
        isParamPanelSelected(String)
      • showDialog

        public int showDialog​(boolean showRoot)
      • showDialog

        public int showDialog​(boolean showRoot,
                              java.lang.String panel)
      • getPanels

        protected java.util.Collection<AbstractParamPanel> getPanels()
        Gets the panels shown on this dialog.
        Returns:
        the panels
      • printTree

        public void printTree()
      • renamePanel

        public void renamePanel​(AbstractParamPanel panel,
                                java.lang.String newPanelName)