Package Express.windows

Source Code of Express.windows.MenuSetDesc

/*
Copyright (c) 2003-2009 ITerative Consulting Pty Ltd. All Rights Reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:

o Redistributions of source code must retain the above copyright notice, this list of conditions and
the following disclaimer.
 
o Redistributions in binary form must reproduce the above copyright notice, this list of conditions
and the following disclaimer in the documentation and/or other materials provided with the distribution.
   
o This jcTOOL Helper Class software, whether in binary or source form may not be used within,
or to derive, any other product without the specific prior written permission of the copyright holder

 
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


*/
package Express.windows;

import java.awt.Component;
import java.io.Serializable;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.MenuElement;

import DisplayProject.Array_Of_MenuElement;
import DisplayProject.Constants;
import DisplayProject.GridField;
import DisplayProject.actions.IntegerValue;
import DisplayProject.actions.Parent;
import DisplayProject.actions.WidgetState;
import DisplayProject.binding.beans.Observable;
import DisplayProject.controls.MenuList;
import DisplayProject.controls.MenuSeparator;
import Framework.RuntimeProperties;

/**
* The MenuSetDesc class defines the common features of the menu commands for generated windows that use the menu command interface. The MenuSetDesc class is always used in the context of a CommandMgr. The window calls the CommandMgr to request actions on commands. The CommandMgr uses the MenuSetDesc to carry out the requests if the window uses the menu command interface.
* <p>
* @author ITerative Consulting
* @since  26-Feb-2008
*/
@RuntimeProperties(isDistributed=false, isAnchored=false, isShared=false, isTransactional=false)
@SuppressWarnings("serial")
public class MenuSetDesc
        extends CommandSetDesc
        implements Serializable, Observable
{

    // ----------
    // Attributes
    // ----------
    private JMenuItem cancelCMD;
    private JMenuItem clearCMD;
    private MenuSeparator clearSP;
    private JMenuItem closeCMD;
    private MenuSeparator closeSP;
    private JMenuItem deleteCMD;
    private JMenuItem editCopyCMD;
    private JMenuItem editCutCMD;
    private JMenuItem editDeleteCMD;
    private JMenu editMenu;
    private JMenuItem editPasteCMD;
    private JMenuItem editSelectAllCMD;
    private JMenuItem exitAllCMD;
    private JMenu fileMenu;
    private JMenuItem firstCMD;
    private JMenuItem insertCMD;
    private JMenuItem lastCMD;
    private MenuList modeCMD;
    private MenuSeparator modeSP;
    private JMenuItem nextCMD;
    private JMenuItem preferencesCMD;
    private MenuSeparator preferencesSP;
    private JMenuItem prevCMD;
    private JMenuItem printCMD;
    private JMenuItem printSetupCMD;
    private MenuSeparator printSP;
    private JMenu resultSetMenu;
    private JMenuItem revertCMD;
    private MenuSeparator revertSP;
    private JMenuItem saveCMD;
    private MenuSeparator saveSP;
    private JMenu scrollMenu;
    private MenuSeparator scrollSP;
    private MenuSeparator scrollToSP;
    private JMenuItem searchCMD;
    private JFrame window;

    // ------------
    // Constructors
    // ------------
    public MenuSetDesc() {
        // Explicitly call the superclass constructor to prevent the implicit call
        super();
        this.cancelCMD = null;
        this.clearCMD = null;
        this.clearSP = null;
        this.closeCMD = null;
        this.closeSP = null;
        this.deleteCMD = null;
        this.editCopyCMD = null;
        this.editCutCMD = null;
        this.editDeleteCMD = null;
        this.editMenu = null;
        this.editPasteCMD = null;
        this.editSelectAllCMD = null;
        this.exitAllCMD = null;
        this.fileMenu = null;
        this.firstCMD = null;
        this.insertCMD = null;
        this.lastCMD = null;
        this.modeCMD = null;
        this.modeSP = null;
        this.nextCMD = null;
        this.preferencesCMD = null;
        this.preferencesSP = null;
        this.prevCMD = null;
        this.printCMD = null;
        this.printSetupCMD = null;
        this.printSP = null;
        this.resultSetMenu = null;
        this.revertCMD = null;
        this.revertSP = null;
        this.saveCMD = null;
        this.saveSP = null;
        this.scrollMenu = null;
        this.scrollSP = null;
        this.scrollToSP = null;
        this.searchCMD = null;
        this.window = null;
    }

    // ----------------------
    // Accessors and Mutators
    // ----------------------
    public void setCancelCMD(JMenuItem cancelCMD) {
        JMenuItem oldValue = this.cancelCMD;
        this.cancelCMD = cancelCMD;
        this.qq_Listeners.firePropertyChange("cancelCMD", oldValue, this.cancelCMD);
    }

    public JMenuItem getCancelCMD() {
        return this.cancelCMD;
    }

    public void setClearCMD(JMenuItem clearCMD) {
        JMenuItem oldValue = this.clearCMD;
        this.clearCMD = clearCMD;
        this.qq_Listeners.firePropertyChange("clearCMD", oldValue, this.clearCMD);
    }

    public JMenuItem getClearCMD() {
        return this.clearCMD;
    }

    public void setClearSP(MenuSeparator clearSP) {
        MenuSeparator oldValue = this.clearSP;
        this.clearSP = clearSP;
        this.qq_Listeners.firePropertyChange("clearSP", oldValue, this.clearSP);
    }

    public MenuSeparator getClearSP() {
        return this.clearSP;
    }

    public void setCloseCMD(JMenuItem closeCMD) {
        JMenuItem oldValue = this.closeCMD;
        this.closeCMD = closeCMD;
        this.qq_Listeners.firePropertyChange("closeCMD", oldValue, this.closeCMD);
    }

    public JMenuItem getCloseCMD() {
        return this.closeCMD;
    }

    public void setCloseSP(MenuSeparator closeSP) {
        MenuSeparator oldValue = this.closeSP;
        this.closeSP = closeSP;
        this.qq_Listeners.firePropertyChange("closeSP", oldValue, this.closeSP);
    }

    public MenuSeparator getCloseSP() {
        return this.closeSP;
    }

    public void setDeleteCMD(JMenuItem deleteCMD) {
        JMenuItem oldValue = this.deleteCMD;
        this.deleteCMD = deleteCMD;
        this.qq_Listeners.firePropertyChange("deleteCMD", oldValue, this.deleteCMD);
    }

    public JMenuItem getDeleteCMD() {
        return this.deleteCMD;
    }

    public void setEditCopyCMD(JMenuItem editCopyCMD) {
        JMenuItem oldValue = this.editCopyCMD;
        this.editCopyCMD = editCopyCMD;
        this.qq_Listeners.firePropertyChange("editCopyCMD", oldValue, this.editCopyCMD);
    }

    public JMenuItem getEditCopyCMD() {
        return this.editCopyCMD;
    }

    public void setEditCutCMD(JMenuItem editCutCMD) {
        JMenuItem oldValue = this.editCutCMD;
        this.editCutCMD = editCutCMD;
        this.qq_Listeners.firePropertyChange("editCutCMD", oldValue, this.editCutCMD);
    }

    public JMenuItem getEditCutCMD() {
        return this.editCutCMD;
    }

    public void setEditDeleteCMD(JMenuItem editDeleteCMD) {
        JMenuItem oldValue = this.editDeleteCMD;
        this.editDeleteCMD = editDeleteCMD;
        this.qq_Listeners.firePropertyChange("editDeleteCMD", oldValue, this.editDeleteCMD);
    }

    public JMenuItem getEditDeleteCMD() {
        return this.editDeleteCMD;
    }

    public void setEditMenu(JMenu editMenu) {
        JMenu oldValue = this.editMenu;
        this.editMenu = editMenu;
        this.qq_Listeners.firePropertyChange("editMenu", oldValue, this.editMenu);
    }

    public JMenu getEditMenu() {
        return this.editMenu;
    }

    public void setEditPasteCMD(JMenuItem editPasteCMD) {
        JMenuItem oldValue = this.editPasteCMD;
        this.editPasteCMD = editPasteCMD;
        this.qq_Listeners.firePropertyChange("editPasteCMD", oldValue, this.editPasteCMD);
    }

    public JMenuItem getEditPasteCMD() {
        return this.editPasteCMD;
    }

    public void setEditSelectAllCMD(JMenuItem editSelectAllCMD) {
        JMenuItem oldValue = this.editSelectAllCMD;
        this.editSelectAllCMD = editSelectAllCMD;
        this.qq_Listeners.firePropertyChange("editSelectAllCMD", oldValue, this.editSelectAllCMD);
    }

    public JMenuItem getEditSelectAllCMD() {
        return this.editSelectAllCMD;
    }

    public void setExitAllCMD(JMenuItem exitAllCMD) {
        JMenuItem oldValue = this.exitAllCMD;
        this.exitAllCMD = exitAllCMD;
        this.qq_Listeners.firePropertyChange("exitAllCMD", oldValue, this.exitAllCMD);
    }

    public JMenuItem getExitAllCMD() {
        return this.exitAllCMD;
    }

    public void setFileMenu(JMenu fileMenu) {
        JMenu oldValue = this.fileMenu;
        this.fileMenu = fileMenu;
        this.qq_Listeners.firePropertyChange("fileMenu", oldValue, this.fileMenu);
    }

    public JMenu getFileMenu() {
        return this.fileMenu;
    }

    public void setFirstCMD(JMenuItem firstCMD) {
        JMenuItem oldValue = this.firstCMD;
        this.firstCMD = firstCMD;
        this.qq_Listeners.firePropertyChange("firstCMD", oldValue, this.firstCMD);
    }

    public JMenuItem getFirstCMD() {
        return this.firstCMD;
    }

    public void setInsertCMD(JMenuItem insertCMD) {
        JMenuItem oldValue = this.insertCMD;
        this.insertCMD = insertCMD;
        this.qq_Listeners.firePropertyChange("insertCMD", oldValue, this.insertCMD);
    }

    public JMenuItem getInsertCMD() {
        return this.insertCMD;
    }

    public void setLastCMD(JMenuItem lastCMD) {
        JMenuItem oldValue = this.lastCMD;
        this.lastCMD = lastCMD;
        this.qq_Listeners.firePropertyChange("lastCMD", oldValue, this.lastCMD);
    }

    public JMenuItem getLastCMD() {
        return this.lastCMD;
    }

    public void setModeCMD(MenuList modeCMD) {
        MenuList oldValue = this.modeCMD;
        this.modeCMD = modeCMD;
        this.qq_Listeners.firePropertyChange("modeCMD", oldValue, this.modeCMD);
    }

    public MenuList getModeCMD() {
        return this.modeCMD;
    }

    public void setModeSP(MenuSeparator modeSP) {
        MenuSeparator oldValue = this.modeSP;
        this.modeSP = modeSP;
        this.qq_Listeners.firePropertyChange("modeSP", oldValue, this.modeSP);
    }

    public MenuSeparator getModeSP() {
        return this.modeSP;
    }

    public void setNextCMD(JMenuItem nextCMD) {
        JMenuItem oldValue = this.nextCMD;
        this.nextCMD = nextCMD;
        this.qq_Listeners.firePropertyChange("nextCMD", oldValue, this.nextCMD);
    }

    public JMenuItem getNextCMD() {
        return this.nextCMD;
    }

    public void setPreferencesCMD(JMenuItem preferencesCMD) {
        JMenuItem oldValue = this.preferencesCMD;
        this.preferencesCMD = preferencesCMD;
        this.qq_Listeners.firePropertyChange("preferencesCMD", oldValue, this.preferencesCMD);
    }

    public JMenuItem getPreferencesCMD() {
        return this.preferencesCMD;
    }

    public void setPreferencesSP(MenuSeparator preferencesSP) {
        MenuSeparator oldValue = this.preferencesSP;
        this.preferencesSP = preferencesSP;
        this.qq_Listeners.firePropertyChange("preferencesSP", oldValue, this.preferencesSP);
    }

    public MenuSeparator getPreferencesSP() {
        return this.preferencesSP;
    }

    public void setPrevCMD(JMenuItem prevCMD) {
        JMenuItem oldValue = this.prevCMD;
        this.prevCMD = prevCMD;
        this.qq_Listeners.firePropertyChange("prevCMD", oldValue, this.prevCMD);
    }

    public JMenuItem getPrevCMD() {
        return this.prevCMD;
    }

    public void setPrintCMD(JMenuItem printCMD) {
        JMenuItem oldValue = this.printCMD;
        this.printCMD = printCMD;
        this.qq_Listeners.firePropertyChange("printCMD", oldValue, this.printCMD);
    }

    public JMenuItem getPrintCMD() {
        return this.printCMD;
    }

    public void setPrintSetupCMD(JMenuItem printSetupCMD) {
        JMenuItem oldValue = this.printSetupCMD;
        this.printSetupCMD = printSetupCMD;
        this.qq_Listeners.firePropertyChange("printSetupCMD", oldValue, this.printSetupCMD);
    }

    public JMenuItem getPrintSetupCMD() {
        return this.printSetupCMD;
    }

    public void setPrintSP(MenuSeparator printSP) {
        MenuSeparator oldValue = this.printSP;
        this.printSP = printSP;
        this.qq_Listeners.firePropertyChange("printSP", oldValue, this.printSP);
    }

    public MenuSeparator getPrintSP() {
        return this.printSP;
    }

    public void setResultSetMenu(JMenu resultSetMenu) {
        JMenu oldValue = this.resultSetMenu;
        this.resultSetMenu = resultSetMenu;
        this.qq_Listeners.firePropertyChange("resultSetMenu", oldValue, this.resultSetMenu);
    }

    public JMenu getResultSetMenu() {
        return this.resultSetMenu;
    }

    public void setRevertCMD(JMenuItem revertCMD) {
        JMenuItem oldValue = this.revertCMD;
        this.revertCMD = revertCMD;
        this.qq_Listeners.firePropertyChange("revertCMD", oldValue, this.revertCMD);
    }

    public JMenuItem getRevertCMD() {
        return this.revertCMD;
    }

    public void setRevertSP(MenuSeparator revertSP) {
        MenuSeparator oldValue = this.revertSP;
        this.revertSP = revertSP;
        this.qq_Listeners.firePropertyChange("revertSP", oldValue, this.revertSP);
    }

    public MenuSeparator getRevertSP() {
        return this.revertSP;
    }

    public void setSaveCMD(JMenuItem saveCMD) {
        JMenuItem oldValue = this.saveCMD;
        this.saveCMD = saveCMD;
        this.qq_Listeners.firePropertyChange("saveCMD", oldValue, this.saveCMD);
    }

    public JMenuItem getSaveCMD() {
        return this.saveCMD;
    }

    public void setSaveSP(MenuSeparator saveSP) {
        MenuSeparator oldValue = this.saveSP;
        this.saveSP = saveSP;
        this.qq_Listeners.firePropertyChange("saveSP", oldValue, this.saveSP);
    }

    public MenuSeparator getSaveSP() {
        return this.saveSP;
    }

    public void setScrollMenu(JMenu scrollMenu) {
        JMenu oldValue = this.scrollMenu;
        this.scrollMenu = scrollMenu;
        this.qq_Listeners.firePropertyChange("scrollMenu", oldValue, this.scrollMenu);
    }

    public JMenu getScrollMenu() {
        return this.scrollMenu;
    }

    public void setScrollSP(MenuSeparator scrollSP) {
        MenuSeparator oldValue = this.scrollSP;
        this.scrollSP = scrollSP;
        this.qq_Listeners.firePropertyChange("scrollSP", oldValue, this.scrollSP);
    }

    public MenuSeparator getScrollSP() {
        return this.scrollSP;
    }

    public void setScrollToSP(MenuSeparator scrollToSP) {
        MenuSeparator oldValue = this.scrollToSP;
        this.scrollToSP = scrollToSP;
        this.qq_Listeners.firePropertyChange("scrollToSP", oldValue, this.scrollToSP);
    }

    public MenuSeparator getScrollToSP() {
        return this.scrollToSP;
    }

    public void setSearchCMD(JMenuItem searchCMD) {
        JMenuItem oldValue = this.searchCMD;
        this.searchCMD = searchCMD;
        this.qq_Listeners.firePropertyChange("searchCMD", oldValue, this.searchCMD);
    }

    public JMenuItem getSearchCMD() {
        return this.searchCMD;
    }

    public void setWindow(JFrame window) {
        JFrame oldValue = this.window;
        this.window = window;
        this.qq_Listeners.firePropertyChange("window", oldValue, this.window);
    }

    public JFrame getWindow() {
        return this.window;
    }

    // -------
    // Methods
    // -------
    /**
     * getState<p>
     * GetState<br>
     *      GetState returns the state of the given command.<br>
     * <p>
     *     Returns TRUE if the command is enabled, FALSE otherwise.<br>
     * <p>
     * @param command Type: int
     * @return boolean
     */
    public boolean getState(int command) {
        switch (command) {
            case CommandMgr.C_WC_CANCEL: {
                if (this.getCancelCMD() != null && (WidgetState.get(this.getCancelCMD()) == Constants.MS_ENABLED || WidgetState.get(this.getCancelCMD()) == Constants.FS_USAGESTATE)) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_CLEAR: {
                if (this.getClearCMD() != null && (WidgetState.get(this.getClearCMD()) == Constants.MS_ENABLED || WidgetState.get(this.getClearCMD()) == Constants.FS_USAGESTATE)) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_WC_CLOSE: {
                if (this.getCloseCMD() != null && (WidgetState.get(this.getCloseCMD()) == Constants.MS_ENABLED || WidgetState.get(this.getCloseCMD()) == Constants.FS_USAGESTATE)) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_SAVE: {
                if (this.getSaveCMD() != null && WidgetState.get(this.getSaveCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_INSERT: {
                if (this.getInsertCMD() != null && (WidgetState.get(this.getInsertCMD()) == Constants.MS_ENABLED || WidgetState.get(this.getInsertCMD()) == Constants.FS_USAGESTATE)) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_DELETE: {
                if (this.getDeleteCMD() != null && WidgetState.get(this.getDeleteCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_FIRST: {
                if (this.getFirstCMD() != null && WidgetState.get(this.getFirstCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_LAST: {
                if (this.getLastCMD() != null && WidgetState.get(this.getLastCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_NEXT: {
                if (this.getNextCMD() != null && WidgetState.get(this.getNextCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_WC_PREFERENCES: {
                if (this.getPreferencesCMD() != null && WidgetState.get(this.getPreferencesCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_WC_PRINT: {
                if (this.getPrintCMD() != null && WidgetState.get(this.getPrintCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_WC_PRINTSETUP: {
                if (this.getPrintSetupCMD() != null && WidgetState.get(this.getPrintSetupCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_PREV: {
                if (this.getPrevCMD() != null && WidgetState.get(this.getPrevCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_RS_SEARCH: {
                if (this.getSearchCMD() != null && WidgetState.get(this.getSearchCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
            case CommandMgr.C_WC_MODE: {
                if (this.getModeCMD() != null) {
                    if (IntegerValue.get(this.getModeCMD()) == 1) {
                        return false;
                    }
                    else {
                        return true;
                    }
                }

                break;
            }
            case CommandMgr.C_RS_REVERT: {
                if (this.getRevertCMD() != null && WidgetState.get(this.getRevertCMD()) == Constants.MS_ENABLED) {
                    return true;
                }
                else {
                    return false;
                }

            }
        }

        //
        // Should never get here, but if we do, return FALSE
        //
        return false;
    }

    /**
     * hideCommand<p>
     * HideCommand<br>
     *      HideCommand makes the command invisible to the user.<br>
     * <p>
     * @param command Type: int
     */
    public void hideCommand(int command) {
        switch (command) {
            case CommandMgr.C_WC_CANCEL: {
                if (this.getCancelCMD() != null) {
                    this.hideCommand(this.getCancelCMD());
                }

                break;
            }
            case CommandMgr.C_RS_CLEAR: {
                if (this.getClearCMD() != null) {
                    this.hideCommand(this.getClearCMD());
                    this.hideCommand(this.getClearSP());
                }

                break;
            }
            case CommandMgr.C_WC_CLOSE: {
                if (this.getCloseCMD() != null) {
                    this.hideCommand(this.getCloseCMD());
                }

                break;
            }
            case CommandMgr.C_RS_SAVE: {
                if (this.getSaveCMD() != null) {
                    this.hideCommand(this.getSaveCMD());
                    this.hideCommand(this.getSaveSP());
                }

                break;
            }
            case CommandMgr.C_RS_INSERT: {
                if (this.getInsertCMD() != null) {
                    this.hideCommand(this.getInsertCMD());
                }

                break;
            }
            case CommandMgr.C_RS_DELETE: {
                if (this.getDeleteCMD() != null) {
                    this.hideCommand(this.getDeleteCMD());
                }

                break;
            }
            case CommandMgr.C_WC_EXITALL: {
                if (this.getExitAllCMD() != null) {
                    this.hideCommand(this.getExitAllCMD());
                    this.hideCommand(this.getCloseSP());
                }

                break;
            }
            case CommandMgr.C_RS_FIRST: {
                if (this.getFirstCMD() != null) {
                    this.hideCommand(this.getFirstCMD());
                }

                break;
            }
            case CommandMgr.C_RS_LAST: {
                if (this.getLastCMD() != null) {
                    this.hideCommand(this.getLastCMD());
                }

                break;
            }
            case CommandMgr.C_RS_NEXT: {
                if (this.getNextCMD() != null) {
                    this.hideCommand(this.getNextCMD());
                }

                break;
            }
            case CommandMgr.C_WC_PREFERENCES: {
                if (this.getPreferencesCMD() != null) {
                    this.hideCommand(this.getPreferencesCMD());
                    this.hideCommand(this.getPreferencesSP());
                }

                break;
            }
            case CommandMgr.C_WC_PRINT: {
                if (this.getPrintCMD() != null) {
                    this.hideCommand(this.getPrintCMD());
                }

                break;
            }
            case CommandMgr.C_WC_PRINTSETUP: {
                if (this.getPrintSetupCMD() != null) {
                    this.hideCommand(this.getPrintSetupCMD());
                }

                break;
            }
            case CommandMgr.C_RS_PREV: {
                if (this.getPrevCMD() != null) {
                    this.hideCommand(this.getPrevCMD());
                    this.hideCommand(this.getScrollSP());
                    this.hideCommand(this.getScrollToSP());
                }

                break;
            }
            case CommandMgr.C_RS_SEARCH: {
                if (this.getSearchCMD() != null) {
                    this.hideCommand(this.getSearchCMD());
                }

                break;
            }
            case CommandMgr.C_WC_MODE: {
                if (this.getModeCMD() != null) {
                    this.hideCommand(this.getModeCMD());
                    this.hideCommand(this.getModeSP());
                }

                break;
            }
            case CommandMgr.C_RS_REVERT: {
                if (this.getRevertCMD() != null) {
                    this.hideCommand(this.getRevertCMD());
                    this.hideCommand(this.getRevertSP());
                }

                break;
            }
        }
    }

    /**
     * hideCommand<p>
     * HideCommand<br>
     *     HideCommand makes a command invisible and<br>
     *     makes it's parent CompoundMenus invisible if<br>
     *     they have no visible children.<br>
     * <p>
     * @param command Type: MenuElement
     */
    @SuppressWarnings("unchecked")
  public void hideCommand(MenuElement command) {
        boolean foundVisible = false;
        JMenu parent = null;

        //
        // make this command invisible
        //
        if (command != null) {
            WidgetState.set(command, Constants.MS_INVISIBLE);
        }

        //
        // if the command is in a grid field, we may want to
        // make the parent invisible too (if it has no visible
        // children.  Get a pointer to the parent.
        //
        if (command != null && Parent.get(command) != null && Parent.get(command) instanceof JMenu) {
            parent = (JMenu)Parent.get(command);
        }

        //
        // loop through successive parents, making each invisible
        // until we find a visible child.
        //
        //
        // look for a visible child in this parent.
        //
        while (foundVisible == false && parent != null) {
            Array_Of_MenuElement<MenuElement> qq_localVector = new Array_Of_MenuElement(MenuElement.class, parent.getComponents());
            if (qq_localVector != null) {
                for (MenuElement c : qq_localVector) {
                    if (WidgetState.get(c) != Constants.MS_INVISIBLE) {
                        foundVisible = true;
                        break;
                    }
                }
            }

            //
            // if we find none visible, make this parent invisible
            // and look at it's parent (but only if it's a CompoundMenu).
            //
            if (foundVisible == false) {
                WidgetState.set(parent, Constants.MS_INVISIBLE);
                if (Parent.get((MenuElement)parent) != null && Parent.get((MenuElement)parent) instanceof JMenu) {
                    parent = (JMenu)Parent.get((MenuElement)parent);
                }
                else {
                    parent = null;
                }
            }
        }
    }

    /**
     * removeCommand<p>
     * RemoveCommand<br>
     *      RemoveCommand makes the command invisible to the user.<br>
     * <p>
     * @param command Type: int
     */
    public void removeCommand(int command) {
        switch (command) {
            case CommandMgr.C_WC_CANCEL: {
                if (this.getCancelCMD() != null) {
                    this.removeCommand(this.getCancelCMD());
                }

                break;
            }
            case CommandMgr.C_RS_CLEAR: {
                if (this.getClearCMD() != null) {
                    this.removeCommand(this.getClearCMD());
                    this.removeCommand(this.getClearSP());
                }

                break;
            }
            case CommandMgr.C_WC_CLOSE: {
                if (this.getCloseCMD() != null) {
                    this.removeCommand(this.getCloseCMD());
                }

                break;
            }
            case CommandMgr.C_RS_SAVE: {
                if (this.getSaveCMD() != null) {
                    this.removeCommand(this.getSaveCMD());
                    this.removeCommand(this.getSaveSP());
                }

                break;
            }
            case CommandMgr.C_RS_INSERT: {
                if (this.getInsertCMD() != null) {
                    this.removeCommand(this.getInsertCMD());
                }

                break;
            }
            case CommandMgr.C_RS_DELETE: {
                if (this.getDeleteCMD() != null) {
                    this.removeCommand(this.getDeleteCMD());
                }

                break;
            }
            case CommandMgr.C_WC_EDITMENU: {
                if (this.getEditMenu() != null) {
                    Parent.set(this.getEditMenu(), (Component)null);
                }

                break;
            }
            case CommandMgr.C_WC_EXITALL: {
                if (this.getExitAllCMD() != null) {
                    this.removeCommand(this.getExitAllCMD());
                    this.removeCommand(this.getCloseSP());
                }

                break;
            }
            case CommandMgr.C_RS_FIRST: {
                if (this.getFirstCMD() != null) {
                    this.removeCommand(this.getFirstCMD());
                }

                break;
            }
            case CommandMgr.C_RS_LAST: {
                if (this.getLastCMD() != null) {
                    this.removeCommand(this.getLastCMD());
                }

                break;
            }
            case CommandMgr.C_RS_NEXT: {
                if (this.getNextCMD() != null) {
                    this.removeCommand(this.getNextCMD());
                }

                break;
            }
            case CommandMgr.C_WC_PREFERENCES: {
                if (this.getPreferencesCMD() != null) {
                    this.removeCommand(this.getPreferencesCMD());
                    this.removeCommand(this.getPreferencesSP());
                }

                break;
            }
            case CommandMgr.C_WC_PRINT: {
                if (this.getPrintCMD() != null) {
                    this.removeCommand(this.getPrintCMD());
                }

                break;
            }
            case CommandMgr.C_WC_PRINTSETUP: {
                if (this.getPrintSetupCMD() != null) {
                    this.removeCommand(this.getPrintSetupCMD());
                }

                break;
            }
            case CommandMgr.C_RS_PREV: {
                if (this.getPrevCMD() != null) {
                    this.removeCommand(this.getPrevCMD());
                    this.removeCommand(this.getScrollSP());
                    this.removeCommand(this.getScrollToSP());
                }

                break;
            }
            case CommandMgr.C_RS_SEARCH: {
                if (this.getSearchCMD() != null) {
                    this.removeCommand(this.getSearchCMD());
                }

                break;
            }
            case CommandMgr.C_WC_MODE: {
                if (this.getModeCMD() != null) {
                    this.removeCommand(this.getModeCMD());
                    this.removeCommand(this.getModeSP());
                }

                break;
            }
            case CommandMgr.C_RS_REVERT: {
                if (this.getRevertCMD() != null) {
                    this.removeCommand(this.getRevertCMD());
                    this.removeCommand(this.getRevertSP());
                }

                break;
            }
            case CommandMgr.C_RS_SCROLL: {
                if (this.getScrollMenu() != null) {
                    Parent.set(this.getScrollMenu(), (Component)null);
                }
                break;
            }
        }
    }

    /**
     * removeCommand<p>
     * RemoveCommand<br>
     *     RemoveCommand removes a command from the menu which<br>
     *     contains it and removes its parent CompoundMenu(s)<br>
     *     if it has no visible children.<br>
     * <p>
     * @param command Type: MenuElement
     */
    public void removeCommand(MenuElement command) {
        JMenu parent = null;

        //
        // if the command is in a sub menu, we may want to
        // make the parent invisible too (if it has no visible
        // children).  Get a pointer to the parent.
        //
        if (command != null && Parent.get(command) != null && Parent.get(command) instanceof GridField) {
            parent = (JMenu)Parent.get(command);
        }

        //
        // deparent this command
        //
        if (command != null) {
            Parent.set(command, null);
        }

        //
        // loop through successive parents, removing each
        // until we find one with children.
        //
        //
        // if the parent has any children, then exit the loop
        //
        while (parent != null) {
            if (parent.getItemCount() > 0) {
                parent = null;
                break;

            }
            else {
                //
                // keep a temporary pointer to the current parent
                //
                JMenu temp = parent;

                //
                // find a pointer to the parent's parent
                //
                if (Parent.get((MenuElement)parent) != null && Parent.get((MenuElement)parent) instanceof JMenu) {
                    parent = (JMenu)Parent.get((MenuElement)parent);
                }
                else {
                    parent = null;
                }

                //
                // deparent the current parent
                //
                Parent.set(temp, (Component)null);
            }
        }
    }

    /**
     * removeExtraSeparators<p>
     * RemoveExtraSeparators<br>
     *     RemoveExtraSeparators traverses the menu tree and<br>
     *     removes separators at the start of a menu, when there<br>
     *     are two separators in a row, and at the end of a menu<br>
     * <p>
     */
    @SuppressWarnings("unchecked")
  public void removeExtraSeparators() {
        Array_Of_MenuElement<MenuElement> qq_localVector = new Array_Of_MenuElement(MenuElement.class, this.getWindow().getJMenuBar().getComponents());
        if (qq_localVector != null) {
            for (MenuElement m : qq_localVector) {
                this.removeExtraSeparators((JMenu)m);
            }
        }
    }

    /**
     * removeExtraSeparators<p>
     * RemoveExtraSeparators<br>
     *     RemoveExtraSeparators traverses the given menu tree and<br>
     *     removes separators at the start of a menu, when there<br>
     *     are two separators in a row, and at the end of a menu.<br>
     *     Also, remove empty menus and submenus.<br>
     * <p>
     * @param menu Type: JMenu
     */
    public void removeExtraSeparators(JMenu menu) {
        for (int i = menu.getItemCount(); i >= 1; i--) {
            //
            // if this is a separator and it is the first item,
            // the last item, or a separator that follows another
            // separator, remove it.
            //
            if (menu.getMenuComponent(i-1) instanceof MenuSeparator && (i == 1 || i == menu.getItemCount() || (i > 1 && menu.getMenuComponent(i-1-1) instanceof MenuSeparator))) {
                Parent.set((JComponent)menu.getMenuComponent(i-1), (Component)null);

                //
                // if this is a menu itself, remove it's extra separators
                //
            }
            else if (menu.getMenuComponent(i-1) instanceof JMenu) {
                this.removeExtraSeparators((JMenu)(menu.getMenuComponent(i-1)));
            }
        }

        if (menu.getItemCount() == 0) {
            Parent.set(menu, (Component)null);
        }
    }

    /**
     * removeSet<p>
     * RemoveSet<br>
     *      RemoveSet makes the entire command set invisible<br>
     *     to the user.<br>
     * <p>
     */
    public void removeSet() {
        this.getWindow().setJMenuBar(null);
    }

    /**
     * setState<p>
     * SetState<br>
     *      SetState enables or disables the given command.<br>
     * <p>
     * @param command Type: int
     * @param state Type: boolean
     */
    public void setState(int command, boolean state) {
        switch (command) {
            case CommandMgr.C_WC_CANCEL: {
                if (this.getCancelCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getCancelCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getCancelCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_CLEAR: {
                if (this.getClearCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getClearCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getClearCMD(), Constants.MS_DISABLED);
                    }
                    if (this.getClearSP() != null) {
                        WidgetState.set((JComponent)this.getClearSP(), Constants.MS_ENABLE);
                    }
                }

                break;
            }
            case CommandMgr.C_WC_CLOSE: {
                if (this.getCloseCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getCloseCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getCloseCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_SAVE: {
                if (this.getSaveCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getSaveCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getSaveCMD(), Constants.MS_DISABLED);
                    }
                    if (this.getSaveSP() != null) {
                        WidgetState.set((JComponent)this.getSaveSP(), Constants.MS_ENABLE);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_INSERT: {
                if (this.getInsertCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getInsertCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getInsertCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_DELETE: {
                if (this.getDeleteCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getDeleteCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getDeleteCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_FIRST: {
                if (this.getFirstCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getFirstCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getFirstCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_LAST: {
                if (this.getLastCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getLastCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getLastCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_NEXT: {
                if (this.getNextCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getNextCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getNextCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_WC_PREFERENCES: {
                if (this.getPreferencesCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getPreferencesCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getPreferencesCMD(), Constants.MS_DISABLED);
                    }
                    if (this.getPreferencesSP() != null) {
                        WidgetState.set((JComponent)this.getPreferencesSP(), Constants.MS_ENABLE);
                    }
                }

                break;
            }
            case CommandMgr.C_WC_PRINT: {
                if (this.getPrintCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getPrintCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getPrintCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_WC_PRINTSETUP: {
                if (this.getPrintSetupCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getPrintSetupCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getPrintSetupCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_PREV: {
                if (this.getPrevCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getPrevCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getPrevCMD(), Constants.MS_DISABLED);
                    }
                    if (this.getScrollSP() != null) {
                        WidgetState.set((JComponent)this.getScrollSP(), Constants.MS_ENABLE);
                    }
                    if (this.getScrollToSP() != null) {
                        WidgetState.set((JComponent)this.getScrollToSP(), Constants.MS_ENABLE);
                    }
                    if (this.getScrollMenu() != null) {
                        WidgetState.set(this.getScrollMenu(), Constants.MS_ENABLE);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_SEARCH: {
                if (this.getSearchCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getSearchCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getSearchCMD(), Constants.MS_DISABLED);
                    }
                }

                break;
            }
            case CommandMgr.C_WC_MODE: {
                if (this.getModeCMD() != null) {
                    if (state == true) {
                        IntegerValue.set(this.getModeCMD(), 2);
                    }
                    else {
                        IntegerValue.set(this.getModeCMD(), 1);
                    }
                    if (this.getModeSP() != null) {
                        WidgetState.set((JComponent)this.getModeSP(), Constants.MS_ENABLE);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_REVERT: {
                if (this.getRevertCMD() != null) {
                    if (state == true) {
                        WidgetState.set(this.getRevertCMD(), Constants.MS_ENABLE);
                    }
                    else {
                        WidgetState.set(this.getRevertCMD(), Constants.MS_DISABLED);
                    }
                    if (this.getRevertSP() != null) {
                        WidgetState.set((JComponent)this.getRevertSP(), Constants.MS_ENABLE);
                    }
                }
                break;
            }
        }
    }

    /**
     * showCommand<p>
     * ShowCommand<br>
     *      ShowCommand makes the command visible to the user.<br>
     * <p>
     * @param command Type: int
     */
    public void showCommand(int command) {
        switch (command) {
            case CommandMgr.C_WC_CANCEL: {
                if (this.getCancelCMD() != null) {
                    WidgetState.set(this.getCancelCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_CLEAR: {
                if (this.getClearCMD() != null) {
                    WidgetState.set(this.getClearCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_WC_CLOSE: {
                if (this.getCloseCMD() != null) {
                    WidgetState.set(this.getCloseCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_SAVE: {
                if (this.getSaveCMD() != null) {
                    WidgetState.set(this.getSaveCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_INSERT: {
                if (this.getInsertCMD() != null) {
                    WidgetState.set(this.getInsertCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_DELETE: {
                if (this.getDeleteCMD() != null) {
                    WidgetState.set(this.getDeleteCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_WC_EXITALL: {
                if (this.getCloseCMD() != null) {
                    WidgetState.set(this.getExitAllCMD(), Constants.MS_ENABLED);
                    if (this.getState(CommandMgr.C_WC_CLOSE) == true || this.getState(CommandMgr.C_WC_CANCEL) == true) {
                        WidgetState.set((JComponent)this.getCloseSP(), Constants.MS_ENABLED);
                    }
                    else {
                        WidgetState.set((JComponent)this.getCloseSP(), Constants.MS_INVISIBLE);
                    }
                }

                break;
            }
            case CommandMgr.C_RS_FIRST: {
                if (this.getFirstCMD() != null) {
                    WidgetState.set(this.getFirstCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_LAST: {
                if (this.getLastCMD() != null) {
                    WidgetState.set(this.getLastCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_NEXT: {
                if (this.getNextCMD() != null) {
                    WidgetState.set(this.getNextCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_WC_PREFERENCES: {
                if (this.getPreferencesCMD() != null) {
                    WidgetState.set(this.getPreferencesCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_WC_PRINT: {
                if (this.getPrintCMD() != null) {
                    WidgetState.set(this.getPrintCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_WC_PRINTSETUP: {
                if (this.getPrintSetupCMD() != null) {
                    WidgetState.set(this.getPrintSetupCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_PREV: {
                if (this.getPrevCMD() != null) {
                    WidgetState.set(this.getPrevCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_SEARCH: {
                if (this.getSearchCMD() != null) {
                    WidgetState.set(this.getSearchCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_WC_MODE: {
                if (this.getModeCMD() != null) {
                    WidgetState.set(this.getModeCMD(), Constants.MS_ENABLED);
                }

                break;
            }
            case CommandMgr.C_RS_REVERT: {
                if (this.getRevertCMD() != null) {
                    WidgetState.set(this.getRevertCMD(), Constants.MS_ENABLED);
                }

                break;
            }
        }
    }
// end class MenuSetDesc
// c Pass 2 Conversion Time: 3250 milliseconds
TOP

Related Classes of Express.windows.MenuSetDesc

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.