1a8e7f69a097597b0260ff2f335b453663a06253
[scilab.git] / scilab / modules / gui / src / java / org / scilab / modules / gui / tab / Tab.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.canvas.Canvas;
18 import org.scilab.modules.gui.container.Container;
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.popupmenu.PopupMenu;
25 import org.scilab.modules.gui.pushbutton.PushButton;
26 import org.scilab.modules.gui.radiobutton.RadioButton;
27 import org.scilab.modules.gui.slider.Slider;
28 import org.scilab.modules.gui.window.Window;
29
30 /**
31  * Interface for tabs in Scilab GUIs
32  * @author Vincent COUVERT
33  */
34 public interface Tab extends Container {
35
36         /**
37          * Gets a much more dummy Objects.
38          * @return the component.
39          */
40         SimpleTab getAsSimpleTab();
41         
42         /**
43          * Gets the Name of a tab
44          * @return the Name of the tab
45          */
46         String getName();
47
48         /**
49          * Sets the Name of a tab
50          * @param newTabName the Name we want to set to the tab
51          */
52         void setName(String newTabName);
53
54         /**
55          * We want to be able to add directly a Canvas in a Tab.
56          * @param member the member to add
57          * @return the position of the canvas in the member list.
58          */
59         int addMember(Canvas member);
60
61         /**
62          * We want to be able to add directly a Console in a Tab.
63          * @param member the member to add
64          * @return the position of the canvas in the member list.
65          */
66         int addMember(Console member);
67         
68         /**
69          * We want to be able to add a Frame in a Tab.
70          * @param member the member to add
71          * @return the position of the Frame in the member list.
72          */
73         int addMember(Frame member);
74         
75         /**
76          * We want to be able to add directly a pushbutton in a Tab.
77          * @param member the pushbutton to add
78          * @return the position of the pushbutton in the member list.
79          */
80         int addMember(PushButton member);
81
82         /**
83          * We want to be able to add directly a editbox in a Tab.
84          * @param member the editbox to add
85          * @return the position of the editbox in the member list.
86          */
87         int addMember(EditBox member);
88
89         /**
90          * We want to be able to add directly a label in a Tab.
91          * @param member the label to add
92          * @return the position of the label in the member list.
93          */
94         int addMember(Label member);
95
96         /**
97          * We want to be able to add directly a checkbox in a Tab.
98          * @param member the checkbox to add
99          * @return the position of the checkbox in the member list.
100          */
101         int addMember(CheckBox member);
102
103         /**
104          * We want to be able to add directly a RadioButton in a Tab.
105          * @param member the RadioButton to add
106          * @return the position of the RadioButton in the member list.
107          */
108         int addMember(RadioButton member);
109
110         /**
111          * We want to be able to add directly a Slider in a Tab.
112          * @param member the Slider to add
113          * @return the position of the Slider in the member list.
114          */
115         int addMember(Slider member);
116
117         /**
118          * We want to be able to add directly a ListBox in a Tab.
119          * @param member the ListBox to add
120          * @return the position of the ListBox in the member list.
121          */
122         int addMember(ListBox member);
123
124         /**
125          * We want to be able to add directly a PopupMenu in a Tab.
126          * @param member the PopupMenu to add
127          * @return the position of the PopupMenu in the member list.
128          */
129         int addMember(PopupMenu member);
130         
131         /**
132          * We want to be able to remove directly a Canvas from a Tab.
133          * @param member canvas to remove 
134          */
135         void removeMember(Canvas member);
136         
137         /**
138          * Destroy the tab.
139          */
140         void close();
141
142         /**
143          * Get the current status of the Tab in its parent
144          * @return true is the tab is the tab currently "on top" in its parent
145          */
146         boolean isCurrentTab();
147         
148         /**
149          * Set the parent window id for this tab
150          * @param id the id of the parent window
151          */
152         void setParentWindowId(int id);
153         
154         /**
155          * Get the parent window id for this tab
156          * @return the id of the parent window
157          */
158         int getParentWindowId();
159         
160         /**
161          * Set the callback of the tab
162          * @param callback the CallBack to set
163          */
164         void setCallback(CallBack callback);
165         
166         /**
167          * @return parent window of the tab object
168          */
169         Window getParentWindow();
170
171 }