d1d2117034978cc86a892dec05548b0bab898ebf
[scilab.git] / scilab / modules / gui / src / java / org / scilab / modules / gui / tab / ScilabTabBridge.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2007 - INRIA - Vincent Couvert
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-en.txt
10  *
11  */
12
13 package org.scilab.modules.gui.tab;
14
15 import org.scilab.modules.gui.checkbox.CheckBox;
16 import org.scilab.modules.gui.console.Console;
17 import org.scilab.modules.gui.bridge.tab.SwingScilabTab;
18 import org.scilab.modules.gui.canvas.Canvas;
19 import org.scilab.modules.gui.editbox.EditBox;
20 import org.scilab.modules.gui.events.callback.CallBack;
21 import org.scilab.modules.gui.frame.Frame;
22 import org.scilab.modules.gui.label.Label;
23 import org.scilab.modules.gui.listbox.ListBox;
24 import org.scilab.modules.gui.menubar.MenuBar;
25 import org.scilab.modules.gui.popupmenu.PopupMenu;
26 import org.scilab.modules.gui.pushbutton.PushButton;
27 import org.scilab.modules.gui.radiobutton.RadioButton;
28 import org.scilab.modules.gui.slider.Slider;
29 import org.scilab.modules.gui.utils.Position;
30 import org.scilab.modules.gui.utils.Size;
31
32 /**
33  * Bridge for Scilab tabs in GUIs
34  * @author Vincent COUVERT
35  */
36 public class ScilabTabBridge {
37         
38         /**
39          * Constructor
40          */
41         protected ScilabTabBridge() {
42                 throw new UnsupportedOperationException(); /* Prevents calls from subclass */
43         };
44
45         /**
46          * Creates a Scilab tab
47          * @param name the name of the tab (used to identify it)
48          * @return the created tab
49          */
50         public static SimpleTab createTab(String name) {
51                 return new SwingScilabTab(name);
52         }
53
54         /**
55          * Draws a Scilab tab
56          * @param tab the tab to draw
57          */
58         public static void draw(Tab tab) {
59                 tab.getAsSimpleTab().draw();
60         }
61
62         /**
63          * Gets the dimensions (width and height) of a Scilab tab
64          * @param tab the tab we want to get the dimensions of
65          * @return the dimensions of the tab
66          */
67         public static Size getDims(Tab tab) {
68                 return tab.getAsSimpleTab().getDims();
69         }
70
71         /**
72          * Sets the dimensions (width and height) of a Scilab tab
73          * @param tab the tab we want to set the dimensions of
74          * @param newTabSize the dimensions we want to set to the tab
75          */
76         public static void setDims(Tab tab, Size newTabSize) {
77                 tab.getAsSimpleTab().setDims(newTabSize);
78         }
79
80         /**
81          * Gets the position (X-coordinate and Y-coordinate) of a Scilab tab
82          * @param tab the tab we want to get the position of
83          * @return the position of the tab
84          */
85         public static Position getPosition(Tab tab) {
86                 return tab.getAsSimpleTab().getPosition();
87         }
88
89         /**
90          * Sets the position (X-coordinate and Y-coordinate) of a Scilab tab
91          * @param tab the tab we want to set the position of
92          * @param newTabPosition the position we want to set to the tab
93          */
94         public static void setPosition(Tab tab, Position newTabPosition) {
95                 tab.getAsSimpleTab().setPosition(newTabPosition);
96         }
97
98         /**
99          * Gets the Name of a Scilab tab
100          * @param tab the tab we want to get the title of
101          * @return the title of the tab
102          */
103         public static String getName(Tab tab) {
104                 return tab.getAsSimpleTab().getName();
105         }
106
107         /**
108          * Sets the name of a Scilab tab
109          * @param tab the tab we want to set the name of
110          * @param newTabName the name to set to the tab
111          */
112         public static void setName(Tab tab, String newTabName) {
113                 tab.getAsSimpleTab().setName(newTabName);
114         }
115
116         /**
117          * Gets the visibility status of a Siclab tab
118          * @param tab the tab we want to get the visibility status of
119          * @return the visibility status of the tab (true if the tab is visible, false if not)
120          */
121         public static boolean isVisible(Tab tab) {
122                 return tab.getAsSimpleTab().isVisible();
123         }
124
125         /**
126          * Sets the visibility status of a Siclab tab
127          * @param tab the tab we want to set the visibility status of
128          * @param newVisibleState the visibility status to set to the tab (true to set the tab visible, false else)
129          */
130         public static void setVisible(Tab tab, boolean newVisibleState) {
131                 tab.getAsSimpleTab().setVisible(newVisibleState);
132         }
133
134         /**
135          * Add a member (dockable element) to a tab and returns the index of this member
136          * @param tab the tab where we want to add the member
137          * @param member the member to add
138          * @return index of member
139          */
140         public static int addMember(Tab tab, Frame member) {
141                 return tab.getAsSimpleTab().addMember(member);
142         }
143
144         /**
145          * Add a member (dockable element) to a tab and returns the index of this member
146          * @param tab the tab where we want to add the member
147          * @param member the member to add
148          * @return index of member
149          */
150         public static int addMember(Tab tab, Console member) {
151                 return tab.getAsSimpleTab().addMember(member);
152         }
153
154         /**
155          * Add a member (dockable element) to a tab and returns the index of this member
156          * @param tab the tab where we want to add the member
157          * @param member the member to add
158          * @return index of member
159          */
160         public static int addMember(Tab tab, Canvas member) {
161                 return (tab.getAsSimpleTab().addMember(member));
162         }
163
164         /**
165          * Add a member (dockable element) to a tab and returns the index of this member
166          * @param tab the tab which we want to add the pushbutton to
167          * @param member the pushbutton to add
168          * @return the position of the pushbutton in the member list.
169          */
170         public static int addMember(Tab tab, PushButton member) {
171                 return (tab.getAsSimpleTab().addMember(member));
172         }
173
174         /**
175          * Add a member (dockable element) to a tab and returns the index of this member
176          * @param tab the tab which we want to add the EditBox to
177          * @param member the EditBox to add
178          * @return the position of the EditBox in the member list.
179          */
180         public static int addMember(Tab tab, EditBox member) {
181                 return (tab.getAsSimpleTab().addMember(member));
182         }
183
184         /**
185          * Add a member (dockable element) to a tab and returns the index of this member
186          * @param tab the tab which we want to add the Label to
187          * @param member the Label to add
188          * @return the position of the Label in the member list.
189          */
190         public static int addMember(Tab tab, Label member) {
191                 return (tab.getAsSimpleTab().addMember(member));
192         }
193
194         /**
195          * Add a member (dockable element) to a tab and returns the index of this member
196          * @param tab the tab which we want to add the CheckBox to
197          * @param member the CheckBox to add
198          * @return the position of the CheckBox in the member list.
199          */
200         public static int addMember(Tab tab, CheckBox member) {
201                 return (tab.getAsSimpleTab().addMember(member));
202         }
203
204         /**
205          * Add a member (dockable element) to a tab and returns the index of this member
206          * @param tab the tab which we want to add the RadioButton to
207          * @param member the RadioButton to add
208          * @return the position of the RadioButton in the member list.
209          */
210         public static int addMember(Tab tab, RadioButton member) {
211                 return (tab.getAsSimpleTab().addMember(member));
212         }
213
214         /**
215          * Add a member (dockable element) to a tab and returns the index of this member
216          * @param tab the tab which we want to add the Slider to
217          * @param member the Slider to add
218          * @return the position of the Slider in the member list.
219          */
220         public static int addMember(Tab tab, Slider member) {
221                 return (tab.getAsSimpleTab().addMember(member));
222         }
223
224         /**
225          * Add a member (dockable element) to a tab and returns the index of this member
226          * @param tab the tab which we want to add the ListBox to
227          * @param member the ListBox to add
228          * @return the position of the ListBox in the member list.
229          */
230         public static int addMember(Tab tab, ListBox member) {
231                 return (tab.getAsSimpleTab().addMember(member));
232         }
233
234         /**
235          * Add a member (dockable element) to a tab and returns the index of this member
236          * @param tab the tab which we want to add the PopupMenu to
237          * @param member the PopupMenu to add
238          * @return the position of the PopupMenu in the member list.
239          */
240         public static int addMember(Tab tab, PopupMenu member) {
241                 return (tab.getAsSimpleTab().addMember(member));
242         }
243
244         /**
245          * Sets a MenuBar to a Scilab tab
246          * @param tab the tab which we want to add the MenuBar to
247          * @param newMenuBar the MenuBar to add to the tab
248          */
249         public static void addMenuBar(Tab tab, MenuBar newMenuBar) {
250                 tab.addMenuBar(newMenuBar);
251         }
252         
253         /**
254          * We want to be able to remove directly a Canvas from a Tab.
255          * @param tab the tab from which we want to remove the Canvas from
256          * @param member canvas to remove 
257          */
258         public static void removeMember(Tab tab, Canvas member) {
259                 tab.getAsSimpleTab().removeMember(member);
260         }
261
262         /**
263          * Get the current status of the Tab in its parent
264          * @param tab the tab which we want to add the MenuBar to
265          * @return true is the tab is the tab currently "on top" in its parent
266          */
267         public static boolean isCurrentTab(Tab tab) {
268                 return (tab.getAsSimpleTab().isCurrentTab());
269         }
270
271         /**
272          * Set the parent window id for this tab
273          * @param tab the tab which we want to set the parent window id
274          * @param id the id of the parent window
275          */
276         public static void setParentWindowId(Tab tab, int id) {
277                 tab.getAsSimpleTab().setParentWindowId(id);
278         }
279         
280         /**
281          * Get the parent window id for this tab
282          * @param tab the tab which we want to get the parent window id
283          * @return the id of the parent window
284          */
285         public static int getParentWindowId(Tab tab) {
286                 return tab.getAsSimpleTab().getParentWindowId();
287         }
288         
289         /**
290          * Set the callback of the tab
291          * @param tab the tab which we want to set the callback of
292          * @param callback the CallBack to set
293          */
294         public static void setCallback(Tab tab, CallBack callback) {
295                 tab.getAsSimpleTab().setCallback(callback);
296         }
297
298 }