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