2 * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3 * Copyright (C) 2012 - Marcos CARDINOT
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
12 package org.scilab.modules.gui.ged.actions;
14 import javax.swing.ImageIcon;
15 import org.scilab.modules.gui.bridge.pushbutton.SwingScilabPushButton;
16 import org.scilab.modules.gui.events.callback.CommonCallBack;
17 import org.scilab.modules.gui.ged.MessagesGED;
18 import org.scilab.modules.gui.ged.SwingInspector;
19 import org.scilab.modules.gui.pushbutton.PushButton;
20 import org.scilab.modules.gui.pushbutton.ScilabPushButton;
23 * Show/Hide button class.
25 * @author Marcos CARDINOT <mcardinot@gmail.com>
27 public class ShowHide extends CommonCallBack {
28 private static boolean click = true;
29 private static PushButton button;
34 * @param name the name of the action.
36 public ShowHide(String name) {
44 public void callBack() {
49 * Create a button for a tool bar.
51 * @param title tooltip for the button.
54 public static PushButton createButton(String title) {
55 button = ScilabPushButton.createPushButton();
56 ((SwingScilabPushButton) button.getAsSimplePushButton()).addActionListener(new ShowHide(title));
57 button.setToolTipText(title);
64 * Implements a toggle button.
66 public static void toggleButton() {
70 //Update the icon and tooltip.
72 button.setToolTipText(MessagesGED.show);
78 //Update the icon and tooltip.
80 button.setToolTipText(MessagesGED.hide);
87 * Set the Status of Button.
88 * @return true = clicked
90 public static void setStatus(boolean clicked) {
96 * Get the Status of Button.
97 * @return true = clicked
99 public static boolean getStatus() {
106 * @param hide Boolean.
108 public static void action(boolean hide) {
124 public static void arc(boolean hide) {
126 org.scilab.modules.gui.ged.graphic_objects.axes.BaseProperties.getInstance().setVisibility(!hide);
127 org.scilab.modules.gui.ged.graphic_objects.axes.Box.getInstance().setVisibility(!hide);
128 org.scilab.modules.gui.ged.graphic_objects.axes.Camera.getInstance().setVisibility(!hide);
129 org.scilab.modules.gui.ged.graphic_objects.axes.Tick.getInstance().setVisibility(!hide);
130 org.scilab.modules.gui.ged.graphic_objects.axes.Label.getInstance().setVisibility(!hide);
131 org.scilab.modules.gui.ged.graphic_objects.axes.Position.getInstance().setVisibility(!hide);
132 org.scilab.modules.gui.ged.graphic_objects.axes.Style.getInstance().setVisibility(!hide);
133 } catch (NullPointerException e1) {
134 } catch (NoSuchMethodError e2) { }
137 public static void axes(boolean hide) {
139 org.scilab.modules.gui.ged.graphic_objects.axes.BaseProperties.getInstance().setVisibility(!hide);
140 org.scilab.modules.gui.ged.graphic_objects.axes.Box.getInstance().setVisibility(!hide);
141 org.scilab.modules.gui.ged.graphic_objects.axes.Camera.getInstance().setVisibility(!hide);
142 org.scilab.modules.gui.ged.graphic_objects.axes.Tick.getInstance().setVisibility(!hide);
143 org.scilab.modules.gui.ged.graphic_objects.axes.Label.getInstance().setVisibility(!hide);
144 org.scilab.modules.gui.ged.graphic_objects.axes.Position.getInstance().setVisibility(!hide);
145 org.scilab.modules.gui.ged.graphic_objects.axes.Style.getInstance().setVisibility(!hide);
146 } catch (NullPointerException e1) {
147 } catch (NoSuchMethodError e2) { }
150 public static void champ(boolean hide) {
152 org.scilab.modules.gui.ged.graphic_objects.champ.DataProperties.getInstance().setVisibility(!hide);
153 org.scilab.modules.gui.ged.graphic_objects.champ.Style.getInstance().setVisibility(!hide);
154 } catch (NullPointerException e1) {
155 } catch (NoSuchMethodError e2) { }
158 public static void datatip(boolean hide) {
160 org.scilab.modules.gui.ged.graphic_objects.datatip.BaseProperties.getInstance().setVisibility(!hide);
161 org.scilab.modules.gui.ged.graphic_objects.datatip.DataProperties.getInstance().setVisibility(!hide);
162 org.scilab.modules.gui.ged.graphic_objects.datatip.Label.getInstance().setVisibility(!hide);
163 org.scilab.modules.gui.ged.graphic_objects.datatip.Mark.getInstance().setVisibility(!hide);
164 } catch (NullPointerException e1) {
165 } catch (NoSuchMethodError e2) { }
168 public static void fec(boolean hide) {
170 org.scilab.modules.gui.ged.graphic_objects.fec.DataProperties.getInstance().setVisibility(!hide);
171 org.scilab.modules.gui.ged.graphic_objects.fec.Style.getInstance().setVisibility(!hide);
172 } catch (NullPointerException e1) {
173 } catch (NoSuchMethodError e2) { }
176 public static void figure(boolean hide) {
178 org.scilab.modules.gui.ged.graphic_objects.figure.BaseProperties.getInstance().setVisibility(!hide);
179 org.scilab.modules.gui.ged.graphic_objects.figure.DataProperties.getInstance().setVisibility(!hide);
180 org.scilab.modules.gui.ged.graphic_objects.figure.Control.getInstance().setVisibility(!hide);
181 org.scilab.modules.gui.ged.graphic_objects.figure.Style.getInstance().setVisibility(!hide);
182 } catch (NullPointerException e1) {
183 } catch (NoSuchMethodError e2) { }
186 public static void imageplot(boolean hide) {
188 org.scilab.modules.gui.ged.graphic_objects.imageplot.BaseProperties.getInstance().setVisibility(!hide);
189 org.scilab.modules.gui.ged.graphic_objects.imageplot.DataProperties.getInstance().setVisibility(!hide);
190 } catch (NullPointerException e1) {
191 } catch (NoSuchMethodError e2) { }
194 public static void label(boolean hide) {
196 org.scilab.modules.gui.ged.graphic_objects.label.BaseProperties.getInstance().setVisibility(!hide);
197 org.scilab.modules.gui.ged.graphic_objects.label.Font.getInstance().setVisibility(!hide);
198 org.scilab.modules.gui.ged.graphic_objects.label.Position.getInstance().setVisibility(!hide);
199 org.scilab.modules.gui.ged.graphic_objects.label.Style.getInstance().setVisibility(!hide);
200 } catch (NullPointerException e1) {
201 } catch (NoSuchMethodError e2) { }
204 public static void legend(boolean hide) {
206 org.scilab.modules.gui.ged.graphic_objects.legend.BaseProperties.getInstance().setVisibility(!hide);
207 org.scilab.modules.gui.ged.graphic_objects.legend.DataProperties.getInstance().setVisibility(!hide);
208 org.scilab.modules.gui.ged.graphic_objects.legend.Font.getInstance().setVisibility(!hide);
209 org.scilab.modules.gui.ged.graphic_objects.legend.Position.getInstance().setVisibility(!hide);
210 org.scilab.modules.gui.ged.graphic_objects.legend.Style.getInstance().setVisibility(!hide);
211 } catch (NullPointerException e1) {
212 } catch (NoSuchMethodError e2) { }
215 public static void polyline(boolean hide) {
217 org.scilab.modules.gui.ged.graphic_objects.polyline.BaseProperties.getInstance().setVisibility(!hide);
218 org.scilab.modules.gui.ged.graphic_objects.polyline.DataProperties.getInstance().setVisibility(!hide);
219 org.scilab.modules.gui.ged.graphic_objects.polyline.Mark.getInstance().setVisibility(!hide);
220 org.scilab.modules.gui.ged.graphic_objects.polyline.Shift.getInstance().setVisibility(!hide);
221 org.scilab.modules.gui.ged.graphic_objects.polyline.Style.getInstance().setVisibility(!hide);
222 } catch (NullPointerException e1) {
223 } catch (NoSuchMethodError e2) { }
226 public static void rectangle(boolean hide) {
228 org.scilab.modules.gui.ged.graphic_objects.rectangle.DataProperties.getInstance().setVisibility(!hide);
229 org.scilab.modules.gui.ged.graphic_objects.rectangle.Mark.getInstance().setVisibility(!hide);
230 org.scilab.modules.gui.ged.graphic_objects.rectangle.Style.getInstance().setVisibility(!hide);
231 } catch (NullPointerException e1) {
232 } catch (NoSuchMethodError e2) { }
235 public static void segs(boolean hide) {
237 org.scilab.modules.gui.ged.graphic_objects.segs.DataProperties.getInstance().setVisibility(!hide);
238 org.scilab.modules.gui.ged.graphic_objects.segs.Mark.getInstance().setVisibility(!hide);
239 org.scilab.modules.gui.ged.graphic_objects.segs.Style.getInstance().setVisibility(!hide);
240 } catch (NullPointerException e1) {
241 } catch (NoSuchMethodError e2) { }
244 public static void surface(boolean hide) {
246 org.scilab.modules.gui.ged.graphic_objects.surface.BaseProperties.getInstance().setVisibility(!hide);
247 org.scilab.modules.gui.ged.graphic_objects.surface.DataProperties.getInstance().setVisibility(!hide);
248 org.scilab.modules.gui.ged.graphic_objects.surface.Mark.getInstance().setVisibility(!hide);
249 org.scilab.modules.gui.ged.graphic_objects.surface.Style.getInstance().setVisibility(!hide);
250 } catch (NullPointerException e1) {
251 } catch (NoSuchMethodError e2) { }
255 * Check the status of the buttons of all sections.
256 * Updates the button's icon in the toolbar
258 public static void checkAllButtons(String type) {
260 if("axes".equals(type)) {
261 boolean A = org.scilab.modules.gui.ged.graphic_objects.axes.BaseProperties.getInstance().getStatus();
262 boolean B = org.scilab.modules.gui.ged.graphic_objects.axes.Box.getInstance().getStatus();
263 boolean C = org.scilab.modules.gui.ged.graphic_objects.axes.Camera.getInstance().getStatus();
264 boolean D = org.scilab.modules.gui.ged.graphic_objects.axes.Tick.getInstance().getStatus();
265 boolean E = org.scilab.modules.gui.ged.graphic_objects.axes.Label.getInstance().getStatus();
266 boolean F = org.scilab.modules.gui.ged.graphic_objects.axes.Position.getInstance().getStatus();
267 boolean G = org.scilab.modules.gui.ged.graphic_objects.axes.Style.getInstance().getStatus();
268 if (A && B && C && D && E && F && G)
270 else if (!A && !B && !C && !D && !E && !F && !G)
272 } else if("champ".equals(type)) {
273 boolean A = org.scilab.modules.gui.ged.graphic_objects.champ.DataProperties.getInstance().getStatus();
274 boolean B = org.scilab.modules.gui.ged.graphic_objects.champ.Style.getInstance().getStatus();
279 } else if("datatip".equals(type)) {
280 boolean BP = org.scilab.modules.gui.ged.graphic_objects.datatip.BaseProperties.getInstance().getStatus();
281 boolean DP = org.scilab.modules.gui.ged.graphic_objects.datatip.DataProperties.getInstance().getStatus();
282 boolean LA = org.scilab.modules.gui.ged.graphic_objects.datatip.Label.getInstance().getStatus();
283 boolean MK = org.scilab.modules.gui.ged.graphic_objects.datatip.Mark.getInstance().getStatus();
284 if (BP && DP && LA && MK)
286 else if (!BP && !DP && !LA && !MK)
288 } else if("fec".equals(type)) {
289 boolean A = org.scilab.modules.gui.ged.graphic_objects.fec.DataProperties.getInstance().getStatus();
290 boolean B = org.scilab.modules.gui.ged.graphic_objects.fec.Style.getInstance().getStatus();
295 } else if("figure".equals(type)) {
296 boolean BP = org.scilab.modules.gui.ged.graphic_objects.figure.BaseProperties.getInstance().getStatus();
297 boolean DP = org.scilab.modules.gui.ged.graphic_objects.figure.DataProperties.getInstance().getStatus();
298 boolean CT = org.scilab.modules.gui.ged.graphic_objects.figure.Control.getInstance().getStatus();
299 boolean ST = org.scilab.modules.gui.ged.graphic_objects.figure.Style.getInstance().getStatus();
300 if (BP && DP && CT && ST)
302 else if (!BP && !DP && !CT && !ST)
304 } else if("imageplot".equals(type)) {
305 boolean BP = org.scilab.modules.gui.ged.graphic_objects.imageplot.BaseProperties.getInstance().getStatus();
306 boolean DP = org.scilab.modules.gui.ged.graphic_objects.imageplot.DataProperties.getInstance().getStatus();
311 } else if("label".equals(type)) {
312 boolean BP = org.scilab.modules.gui.ged.graphic_objects.label.BaseProperties.getInstance().getStatus();
313 boolean FT = org.scilab.modules.gui.ged.graphic_objects.label.Font.getInstance().getStatus();
314 boolean PO = org.scilab.modules.gui.ged.graphic_objects.label.Position.getInstance().getStatus();
315 boolean ST = org.scilab.modules.gui.ged.graphic_objects.label.Style.getInstance().getStatus();
316 if (BP && FT && PO && ST)
318 else if (!BP && !FT && !PO && !ST)
320 } else if("legend".equals(type)) {
321 boolean BP = org.scilab.modules.gui.ged.graphic_objects.legend.BaseProperties.getInstance().getStatus();
322 boolean DP = org.scilab.modules.gui.ged.graphic_objects.legend.DataProperties.getInstance().getStatus();
323 boolean FT = org.scilab.modules.gui.ged.graphic_objects.legend.Font.getInstance().getStatus();
324 boolean PO = org.scilab.modules.gui.ged.graphic_objects.legend.Position.getInstance().getStatus();
325 boolean ST = org.scilab.modules.gui.ged.graphic_objects.legend.Style.getInstance().getStatus();
326 if (BP && DP && FT && PO && ST)
328 else if (!BP && !DP && !FT && !PO && !ST)
330 } else if("polyline".equals(type)) {
331 boolean BP = org.scilab.modules.gui.ged.graphic_objects.polyline.BaseProperties.getInstance().getStatus();
332 boolean DP = org.scilab.modules.gui.ged.graphic_objects.polyline.DataProperties.getInstance().getStatus();
333 boolean MK = org.scilab.modules.gui.ged.graphic_objects.polyline.Mark.getInstance().getStatus();
334 boolean SH = org.scilab.modules.gui.ged.graphic_objects.polyline.Shift.getInstance().getStatus();
335 boolean ST = org.scilab.modules.gui.ged.graphic_objects.polyline.Style.getInstance().getStatus();
336 if (BP && DP && MK && SH && ST)
338 else if (!BP && !DP && !MK && !SH && !ST)
340 } else if("rectangle".equals(type)) {
341 boolean DP = org.scilab.modules.gui.ged.graphic_objects.rectangle.DataProperties.getInstance().getStatus();
342 boolean MK = org.scilab.modules.gui.ged.graphic_objects.rectangle.Mark.getInstance().getStatus();
343 boolean ST = org.scilab.modules.gui.ged.graphic_objects.rectangle.Style.getInstance().getStatus();
346 else if (!DP && !MK && !ST)
348 } else if("segs".equals(type)) {
349 boolean DP = org.scilab.modules.gui.ged.graphic_objects.surface.DataProperties.getInstance().getStatus();
350 boolean MK = org.scilab.modules.gui.ged.graphic_objects.surface.Mark.getInstance().getStatus();
351 boolean ST = org.scilab.modules.gui.ged.graphic_objects.surface.Style.getInstance().getStatus();
354 else if (!DP && !MK && !ST)
356 } else if("surface".equals(type)) {
357 boolean BP = org.scilab.modules.gui.ged.graphic_objects.surface.BaseProperties.getInstance().getStatus();
358 boolean DP = org.scilab.modules.gui.ged.graphic_objects.surface.DataProperties.getInstance().getStatus();
359 boolean MK = org.scilab.modules.gui.ged.graphic_objects.surface.Mark.getInstance().getStatus();
360 boolean ST = org.scilab.modules.gui.ged.graphic_objects.surface.Style.getInstance().getStatus();
361 if (BP && DP && MK && ST)
363 else if (!BP && !DP && !MK && !ST)
366 } catch (NoSuchMethodError e2) { }
370 * Change the icons on buttons.
372 * @param intValue Integer value.
374 public static void setIcon(int intValue) {
377 ((SwingScilabPushButton) button.getAsSimplePushButton())
378 .setIcon(new ImageIcon(SwingInspector.icon_expand_all));
381 ((SwingScilabPushButton) button.getAsSimplePushButton())
382 .setIcon(new ImageIcon(SwingInspector.icon_collapse_all));
385 ((SwingScilabPushButton) button.getAsSimplePushButton())
386 .setIcon(new ImageIcon(SwingInspector.icon_expand_all));