ur_rna.Utilities.swing

## Class MergeMenu

- java.lang.Object
- - java.awt.Component
  - - java.awt.Container
    - - javax.swing.JComponent
      - - javax.swing.AbstractButton
        - - javax.swing.JMenuItem
          - - javax.swing.JMenu
            - - ur_rna.Utilities.swing.MergeMenu

- All Implemented Interfaces:
    java.awt.image.ImageObserver, java.awt.ItemSelectable, java.awt.MenuContainer, java.io.Serializable, java.lang.Cloneable, javax.accessibility.Accessible, javax.swing.MenuElement, javax.swing.SwingConstants, IMenuItem, IMergeItem
  Direct Known Subclasses:
    DrawingEditMenu, DrawingFileMenu, DrawingFormatMenu, DrawingViewMenu, MainMenu, MainMenu

      public class MergeMenu
      extends javax.swing.JMenu
      implements IMergeItem, IMenuItem

  A class that creates a menu.
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.JMenu

      `javax.swing.JMenu.AccessibleJMenu, javax.swing.JMenu.WinListener`

    - ### Nested classes/interfaces inherited from class javax.swing.JMenuItem

      `javax.swing.JMenuItem.AccessibleJMenuItem`

    - ### Nested classes/interfaces inherited from class javax.swing.AbstractButton

      `javax.swing.AbstractButton.AccessibleAbstractButton, javax.swing.AbstractButton.ButtonChangeListener`

    - ### 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`

    - ### Nested classes/interfaces inherited from interface ur_rna.Utilities.swing.IMergeItem

      `IMergeItem.Proxy`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private int` | `mergePos`
    `int` | `subItemMergePos`

    - ### Fields inherited from class javax.swing.JMenu

      `popupListener`

    - ### Fields inherited from class javax.swing.AbstractButton

      `actionListener, BORDER_PAINTED_CHANGED_PROPERTY, changeEvent, changeListener, CONTENT_AREA_FILLED_CHANGED_PROPERTY, DISABLED_ICON_CHANGED_PROPERTY, DISABLED_SELECTED_ICON_CHANGED_PROPERTY, FOCUS_PAINTED_CHANGED_PROPERTY, HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY, HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY, ICON_CHANGED_PROPERTY, itemListener, MARGIN_CHANGED_PROPERTY, MNEMONIC_CHANGED_PROPERTY, model, MODEL_CHANGED_PROPERTY, PRESSED_ICON_CHANGED_PROPERTY, ROLLOVER_ENABLED_CHANGED_PROPERTY, ROLLOVER_ICON_CHANGED_PROPERTY, ROLLOVER_SELECTED_ICON_CHANGED_PROPERTY, SELECTED_ICON_CHANGED_PROPERTY, TEXT_CHANGED_PROPERTY, VERTICAL_ALIGNMENT_CHANGED_PROPERTY, VERTICAL_TEXT_POSITION_CHANGED_PROPERTY`

    - ### 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 ur_rna.Utilities.swing.IMergeItem

      `MergePosDefault, MergePosInitial, MergePosInvalid, MergePosMax, MergePosMin`

    - ### 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`

    - ### Fields inherited from interface java.awt.image.ImageObserver

      `ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MergeMenu(javax.swing.Action a, int mergePos)`
    `MergeMenu(javax.swing.Action a, java.lang.String text, int mergePos)`
    `MergeMenu(javax.swing.JMenu oldMenu)` MergeMenu Conversion Constructor.
    `MergeMenu(java.lang.String text)`
    `MergeMenu(java.lang.String text, int mergePos)`
    `MergeMenu(java.lang.String text, java.lang.String name)`
    `MergeMenu(java.lang.String text, java.lang.String name, int mergePos)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `MergeItem` | `add(javax.swing.Action a)` Creates a new menu item attached to the specified `Action` object and appends it to the end of this menu.
    `MergeItem` | `add(javax.swing.Action a, int mergePos)`
    `javax.swing.JMenuItem` | `add(javax.swing.JMenuItem mi)`
    `MergeItem` | `add(MergeItem mi, int mergePos)`
    `void` | `addAll(java.awt.Component... components)`
    `CheckMergeItem` | `addCheck(javax.swing.Action a)`
    `void` | `addSeparator()` Add a menu separator
    `void` | `addSeparator(int mergePos)` Add a menu separator with the specified mergePos
    `private int` | `checkMergePos(int mergePos)`
    `int` | `getMergePos()`
    `int` | `getSubItemMergePos()` Gets the current mergePos at which sub-items will be added by default.
    `void` | `insertMergeGap()` Increments by 10 the current mergePos at which sub-items will be added by default.
    `void` | `insertMergeGap(int gap)` Increments (by gap) the current mergePos at which sub-items will be added by default.
    `MergeMenu` | `setMergePos(int value)`
    `void` | `setSubItemMergePos(int subItemMergePos)` Sets the current mergePos at which sub-items will be added by default.
    `void` | `setSubItemsEnabled(boolean enabled)` Enable or Disable the menus in this list.
    `void` | `setSubItemsVisible(boolean visible)` Set visibility for all sub-items
    `void` | `setText(java.lang.String text)`

    - ### Methods inherited from class javax.swing.JMenu

      `add, add, add, addMenuListener, applyComponentOrientation, createActionChangeListener, createActionComponent, createWinListener, doClick, fireMenuCanceled, fireMenuDeselected, fireMenuSelected, getAccessibleContext, getComponent, getDelay, getItem, getItemCount, getMenuComponent, getMenuComponentCount, getMenuComponents, getMenuListeners, getPopupMenu, getPopupMenuOrigin, getSubElements, getUIClassID, insert, insert, insert, insertSeparator, isMenuComponent, isPopupMenuVisible, isSelected, isTearOff, isTopLevelMenu, menuSelectionChanged, paramString, processKeyEvent, remove, remove, remove, removeAll, removeMenuListener, setAccelerator, setComponentOrientation, setDelay, setMenuLocation, setModel, setPopupMenuVisible, setSelected, updateUI`

    - ### Methods inherited from class javax.swing.JMenuItem

      `actionPropertyChanged, addMenuDragMouseListener, addMenuKeyListener, configurePropertiesFromAction, fireMenuDragMouseDragged, fireMenuDragMouseEntered, fireMenuDragMouseExited, fireMenuDragMouseReleased, fireMenuKeyPressed, fireMenuKeyReleased, fireMenuKeyTyped, getAccelerator, getMenuDragMouseListeners, getMenuKeyListeners, init, isArmed, processKeyEvent, processMenuDragMouseEvent, processMenuKeyEvent, processMouseEvent, removeMenuDragMouseListener, removeMenuKeyListener, setArmed, setEnabled, setUI`

    - ### Methods inherited from class javax.swing.AbstractButton

      `addActionListener, addChangeListener, addImpl, addItemListener, checkHorizontalKey, checkVerticalKey, createActionListener, createActionPropertyChangeListener, createChangeListener, createItemListener, doClick, fireActionPerformed, fireItemStateChanged, fireStateChanged, getAction, getActionCommand, getActionListeners, getChangeListeners, getDisabledIcon, getDisabledSelectedIcon, getDisplayedMnemonicIndex, getHideActionText, getHorizontalAlignment, getHorizontalTextPosition, getIcon, getIconTextGap, getItemListeners, getLabel, getMargin, getMnemonic, getModel, getMultiClickThreshhold, getPressedIcon, getRolloverIcon, getRolloverSelectedIcon, getSelectedIcon, getSelectedObjects, getText, getUI, getVerticalAlignment, getVerticalTextPosition, imageUpdate, isBorderPainted, isContentAreaFilled, isFocusPainted, isRolloverEnabled, paintBorder, removeActionListener, removeChangeListener, removeItemListener, removeNotify, setAction, setActionCommand, setBorderPainted, setContentAreaFilled, setDisabledIcon, setDisabledSelectedIcon, setDisplayedMnemonicIndex, setFocusPainted, setHideActionText, setHorizontalAlignment, setHorizontalTextPosition, setIcon, setIconTextGap, setLabel, setLayout, setMargin, setMnemonic, setMnemonic, setMultiClickThreshhold, setPressedIcon, setRolloverEnabled, setRolloverIcon, setRolloverSelectedIcon, setSelectedIcon, setUI, setVerticalAlignment, setVerticalTextPosition`

    - ### 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, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, 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, addContainerListener, addPropertyChangeListener, addPropertyChangeListener, 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, 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, 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, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface ur_rna.Utilities.swing.IMergeItem

      `asMergeItem, asMergeItems, compareByMergePos, compareByMergePos, fixInvalid, getComponent, getMergeName, getMergeName, getMergePos, getValidMergePos, mergeEnd, mergeStart, setInitialMergePos, setMergePos`

    - ### Methods inherited from interface ur_rna.Utilities.swing.IMenuItem

      `findByAction, findByName, findByTreePath, from, getComponent, getContainer, getItemName, getMenuItem, getMenuItems, getMenus, hasSubItems`

    - ### Methods inherited from interface javax.swing.MenuElement

      `processKeyEvent, processMouseEvent`

- - ### Field Detail

    - #### mergePos

          private int mergePos

    - #### subItemMergePos

          public int subItemMergePos

  - ### Constructor Detail

    - #### MergeMenu

          public MergeMenu(javax.swing.Action a,
                           int mergePos)

    - #### MergeMenu

          public MergeMenu(javax.swing.Action a,
                           java.lang.String text,
                           int mergePos)

    - #### MergeMenu

          public MergeMenu(javax.swing.JMenu oldMenu)

      MergeMenu Conversion Constructor.
      Parameters:
        `oldMenu` - The menu to convert.

    - #### MergeMenu

          public MergeMenu(java.lang.String text)

    - #### MergeMenu

          public MergeMenu(java.lang.String text,
                           int mergePos)

    - #### MergeMenu

          public MergeMenu(java.lang.String text,
                           java.lang.String name)

    - #### MergeMenu

          public MergeMenu(java.lang.String text,
                           java.lang.String name,
                           int mergePos)

  - ### Method Detail

    - #### add

          public MergeItem add(javax.swing.Action a)

      Creates a new menu item attached to the specified `Action` object and appends it to the end of this menu.
      Overrides:
        `add` in class `javax.swing.JMenu`
      Parameters:
        `a` - the `Action` for the menu item to be added
      See Also:
        `Action`

    - #### add

          public MergeItem add(javax.swing.Action a,
                               int mergePos)

    - #### add

          public javax.swing.JMenuItem add(javax.swing.JMenuItem mi)

      Overrides:
        `add` in class `javax.swing.JMenu`

    - #### add

          public MergeItem add(MergeItem mi,
                               int mergePos)

    - #### addAll

          public void addAll(java.awt.Component... components)

    - #### addCheck

          public CheckMergeItem addCheck(javax.swing.Action a)

    - #### addSeparator

          public void addSeparator()

      Add a menu separator
      Overrides:
        `addSeparator` in class `javax.swing.JMenu`

    - #### addSeparator

          public void addSeparator(int mergePos)

      Add a menu separator with the specified mergePos

    - #### checkMergePos

          private int checkMergePos(int mergePos)

    - #### getMergePos

          public int getMergePos()

      Specified by:
        `getMergePos` in interface `IMergeItem`

    - #### getSubItemMergePos

          public int getSubItemMergePos()

      Gets the current mergePos at which sub-items will be added by default.
      Returns:
        An integer representing the current merge position at which sub-items will be added by default.

    - #### insertMergeGap

          public void insertMergeGap()

      Increments by 10 the current mergePos at which sub-items will be added by default.

    - #### insertMergeGap

          public void insertMergeGap(int gap)

      Increments (by gap) the current mergePos at which sub-items will be added by default.

    - #### setMergePos

          public MergeMenu setMergePos(int value)

      Specified by:
        `setMergePos` in interface `IMergeItem`

    - #### setSubItemMergePos

          public void setSubItemMergePos(int subItemMergePos)

      Sets the current mergePos at which sub-items will be added by default.

    - #### setSubItemsEnabled

          public void setSubItemsEnabled(boolean enabled)

      Enable or Disable the menus in this list.

    - #### setSubItemsVisible

          public void setSubItemsVisible(boolean visible)

      Set visibility for all sub-items

    - #### setText

          public void setText(java.lang.String text)

      Overrides:
        `setText` in class `javax.swing.AbstractButton`