Waitbar now has minimum size and is relative to Console.
[scilab.git] / scilab / modules / gui / src / java / org / scilab / modules / gui / waitbar / ScilabWaitBar.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2008 - 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.waitbar;
14
15 import org.scilab.modules.gui.bridge.ScilabBridge;
16 import org.scilab.modules.gui.uielement.ScilabUIElement;
17 import org.scilab.modules.gui.utils.Position;
18 import org.scilab.modules.gui.utils.Size;
19 import org.scilab.modules.gui.utils.UIElementMapper;
20
21 /**
22  * WaitBars/ProgressBars used by Scilab
23  * @author Vincent COUVERT
24  */
25 public class ScilabWaitBar extends ScilabUIElement implements WaitBar {
26         
27         private SimpleWaitBar component;
28         
29         /**
30          * Constructor
31          */
32         protected ScilabWaitBar() {
33                 component = ScilabBridge.createWaitBar();
34                 component.setElementId(UIElementMapper.add(this));
35         }
36
37         /**
38          * Creates a Scilab WaitBar
39          * @return the created WaitBar
40          */
41         public static WaitBar createWaitBar() {
42                 return new ScilabWaitBar();
43         }
44         
45         /**
46          * Gets this Bridge component object
47          * @return this Bridge component object
48          */
49         public SimpleWaitBar getAsSimpleWaitBar() {
50                 return component;
51         }
52         
53         /**
54          * Set the title of the WaitBar
55          * @param title the title to set
56          */
57         public void setTitle(String title) {
58                 ScilabBridge.setTitle(this, title);
59         }
60         
61         /**
62          * Set the message of the WaitBar
63          * @param message the message to set
64          */
65         public void setMessage(String[] message) {
66                 ScilabBridge.setMessage(this, message);
67         }
68         
69         /**
70          * Set the current value of the WaitBar
71          * @param value the value to set
72          */
73         public void setValue(int value) {
74                 ScilabBridge.setValue(this, value);
75         };
76         
77         /**
78          * Close the WaitBar
79          */
80         public void close() {
81                 ScilabBridge.close(this);
82         }
83         
84         /**
85          * Indicates if the total execution time is known
86          * @param status true if the total progress time in unknown
87          */
88         public void setIndeterminateMode(boolean status) {
89                 ScilabBridge.setIndeterminateMode(this, status);
90         }
91
92         /**
93          * Should not be used, just here to implemeent org.scilab.modules.gui.UIElement#draw()
94          */
95         public void draw() {
96                 throw new UnsupportedOperationException();
97         }
98
99         /**
100          * Should not be used, just here to implemeent org.scilab.modules.gui.UIElement#getDims()
101          * @return nothing
102          */
103         public Size getDims() {
104                 throw new UnsupportedOperationException();
105         }
106
107         /**
108          * Should not be used, just here to implemeent org.scilab.modules.gui.UIElement#draw()
109          * @return nothing
110          */
111         public Position getPosition() {
112                 throw new UnsupportedOperationException();
113         }
114
115         /**
116          * Should not be used, just here to implemeent org.scilab.modules.gui.UIElement#draw()
117          * @return nothing
118          */
119         public boolean isVisible() {
120                 throw new UnsupportedOperationException();
121         }
122
123         /**
124          * Should not be used, just here to implemeent org.scilab.modules.gui.UIElement#draw()
125          * @param newSize is never used
126          */
127         public void setDims(Size newSize) {
128                 throw new UnsupportedOperationException();
129         }
130
131         /**
132          * Should not be used, just here to implemeent org.scilab.modules.gui.UIElement#draw()
133          * @param newPosition is never used
134          */
135         public void setPosition(Position newPosition) {
136                 throw new UnsupportedOperationException();
137         }
138
139         /**
140          * Should not be used, just here to implemeent org.scilab.modules.gui.UIElement#draw()
141          * @param newVisibleState is never used
142          */
143         public void setVisible(boolean newVisibleState) {
144                 throw new UnsupportedOperationException();
145         }
146 }