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