fc71db6fca2c90c7b28f114eae7b790cfd6bc5b2
[scilab.git] / scilab / modules / gui / src / java / org / scilab / modules / gui / menubar / ScilabMenuBar.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007 - INRIA - Marouane BEN JELLOUL
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 package org.scilab.modules.gui.menubar;
14
15 import org.scilab.modules.gui.bridge.ScilabBridge;
16 import org.scilab.modules.gui.menu.Menu;
17 import org.scilab.modules.gui.uielement.ScilabUIElement;
18 import org.scilab.modules.gui.utils.Position;
19 import org.scilab.modules.gui.utils.Size;
20 import org.scilab.modules.gui.utils.UIElementMapper;
21
22 /**
23  * Class for Scilab MenuBars in GUIs
24  * @author Marouane BEN JELLOUL
25  */
26 public class ScilabMenuBar extends ScilabUIElement implements MenuBar {
27
28     private SimpleMenuBar component;
29
30     /**
31      * Constructor
32      */
33     protected ScilabMenuBar() {
34         component = ScilabBridge.createMenuBar();
35         component.setElementId(UIElementMapper.add(this));
36     }
37
38     /**
39      * Creates a Scilab MenuBar object
40      * @return the created MenuBar
41      */
42     public static MenuBar createMenuBar() {
43         return new ScilabMenuBar();
44     }
45
46     /**
47      * Gets this Bridge component object
48      * @return this Bridge component object
49      */
50     public SimpleMenuBar getAsSimpleMenuBar() {
51         return component;
52     }
53
54     /**
55      * Add a Menu to a MenuBar
56      * @param newMenu the Menu to add to the MenuBar
57      * @see org.scilab.modules.gui.widget.MenuBar#add(org.scilab.modules.gui.widget.ContextMenu)
58      */
59     public void add(Menu newMenu) {
60         ScilabBridge.add(this, newMenu);
61     }
62
63     /**
64      * Should not be used, just here to implement org.scilab.modules.gui.UIElement#draw()
65      */
66     public void draw() {
67         throw new UnsupportedOperationException();
68     }
69
70     /**
71      * Should not be used, just here to implement org.scilab.modules.gui.UIElement#draw()
72      * @return nothing
73      */
74     public Size getDims() {
75         throw new UnsupportedOperationException();
76     }
77
78     /**
79      * Should not be used, just here to implement org.scilab.modules.gui.UIElement#draw()
80      * @return nothing
81      */
82     public Position getPosition() {
83         throw new UnsupportedOperationException();
84     }
85
86     /**
87      * Should not be used, just here to implement org.scilab.modules.gui.UIElement#draw()
88      * @return nothing
89      */
90     public boolean isVisible() {
91         throw new UnsupportedOperationException();
92     }
93
94     /**
95      * Should not be used, just here to implement org.scilab.modules.gui.UIElement#draw()
96      * @param newSize is not used
97      */
98     public void setDims(Size newSize) {
99         throw new UnsupportedOperationException();
100     }
101
102     /**
103      * Should not be used, just here to implement org.scilab.modules.gui.UIElement#draw()
104      * @param newPosition is not used
105      */
106     public void setPosition(Position newPosition) {
107         throw new UnsupportedOperationException();
108     }
109
110     /**
111      * Should not be used, just here to implement org.scilab.modules.gui.UIElement#draw()
112      * @param newVisibleState is not used
113      */
114     public void setVisible(boolean newVisibleState) {
115         component.setVisible(newVisibleState);
116     }
117 }