Remove non-working Scalar property get.
[scilab.git] / scilab / modules / graphic_objects / src / java / org / scilab / modules / graphic_objects / CallGraphicController.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2010 - DIGITEO - Bruno JOFRET
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.1-en.txt
10  *
11  */
12
13 package org.scilab.modules.graphic_objects;
14
15 import org.scilab.modules.graphic_objects.console.Console;
16 import org.scilab.modules.graphic_objects.graphicController.GraphicController;
17 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject;
18 import org.scilab.modules.graphic_objects.graphicView.ScilabView;
19 import org.scilab.modules.graphic_objects.utils.MenuBarBuilder;
20
21 /**
22  * This is a static class to access all controller capabilities
23  * from C/C++ code through JNI
24  * See SCI/modules/graphic_objects/src/jni/graphic_objects.giws.xml for other details.
25  **/
26 public final class CallGraphicController {
27
28     public static void setGraphicObjectRelationship(String parentId, String childId) {
29         GraphicController.getController().setGraphicObjectRelationship(parentId, childId);
30     }
31
32     public static void removeRelationShipAndDelete(String parentId) {
33         GraphicController.getController().removeRelationShipAndDelete(parentId);
34     }
35
36     public static String cloneGraphicObject(String id) {
37         return GraphicController.getController().cloneObject(id);
38     }
39
40     public static String askGraphicObject(int typeName) {
41         return GraphicController.getController().askObject(GraphicObject.getTypeFromName(typeName));
42     }
43
44     public static void deleteGraphicObject(String id) {
45         GraphicController.getController().deleteObject(id);
46     }
47
48     private static boolean setGraphicObjectProperty(String id, int propertyName, Object value) {
49         return GraphicController.getController().setProperty(id, propertyName, value);
50     }
51
52     private static Object getGraphicObjectProperty(String id, int propertyName) {
53         return GraphicController.getController().getProperty(id, propertyName);
54     }
55
56     public static boolean setGraphicObjectProperty(String id, int propertyName, String value) {
57         return setGraphicObjectProperty(id, propertyName, (Object) value);
58     }
59
60     public static boolean setGraphicObjectProperty(String id, int propertyName, String[] value) {
61         return setGraphicObjectProperty(id, propertyName, (Object) value);
62     }
63
64     public static boolean setGraphicObjectProperty(String id, int propertyName, double value) {
65         return setGraphicObjectProperty(id, propertyName, (Object) new Double(value));
66     }
67
68     public static boolean setGraphicObjectProperty(String id, int propertyName, double[] value) {
69         Double[] array = new Double[value.length];
70
71         for (int i = 0; i < value.length; i++) {
72             array[i] = value[i];
73         }
74
75         return setGraphicObjectProperty(id, propertyName, (Object) array);
76     }
77
78
79     public static boolean setGraphicObjectProperty(String id, int propertyName, int value) {
80         return setGraphicObjectProperty(id, propertyName, (Object) new Integer(value));
81     }
82
83     public static boolean setGraphicObjectProperty(String id, int propertyName, int[] value) {
84         Integer[] array = new Integer[value.length];
85
86         for (int i = 0; i < value.length; i++) {
87             array[i] = value[i];
88         }
89
90         return setGraphicObjectProperty(id, propertyName, (Object) array);
91     }
92
93     public static boolean setGraphicObjectProperty(String id, int propertyName, boolean value) {
94         return setGraphicObjectProperty(id, propertyName, (Object) new Boolean(value));
95     }
96
97     public static boolean setGraphicObjectProperty(String id, int propertyName, boolean[] value) {
98         Boolean[] array = new Boolean[value.length];
99
100         for (int i = 0; i < value.length; i++) {
101             array[i] = value[i];
102         }
103
104         return setGraphicObjectProperty(id, propertyName, (Object) array);
105     }
106
107     public static String getGraphicObjectPropertyAsString(String id, int propertyName) {
108         return (String) getGraphicObjectProperty(id, propertyName);
109     }
110
111     public static String[] getGraphicObjectPropertyAsStringVector(String id, int propertyName) {
112         return (String[]) getGraphicObjectProperty(id, propertyName);
113     }
114
115     public static double[] getGraphicObjectPropertyAsDoubleVector(String id, int propertyName) {
116         Object ret = getGraphicObjectProperty(id, propertyName);
117         double[] result = null;
118
119         if (ret == null) {
120             return null;
121         }
122
123         if (ret instanceof Double[]) {
124             Double[] tmp = (Double[]) ret;
125             result = new double[tmp.length];
126
127             for (int i = 0; i < result.length; i++) {
128                 result[i] = tmp[i];
129             }
130         } else if (ret instanceof Double) {
131             result = new double[] { (Double) ret};
132         }
133
134         return result;
135     }
136
137     public static int[] getGraphicObjectPropertyAsIntegerVector(String id, int propertyName) {
138         Object ret = getGraphicObjectProperty(id, propertyName);
139         int[] result = null;
140
141         if (ret == null) {
142             return null;
143         }
144
145         if (ret instanceof Integer[]) {
146             Integer[] tmp = (Integer[]) ret;
147             result = new int[tmp.length];
148
149             for (int i = 0; i < result.length; i++) {
150                 result[i] = tmp[i];
151             }
152         } else if (ret instanceof Integer) {
153             result = new int[] { (Integer) ret};
154         }
155
156         return result;
157     }
158
159     public static int[] getGraphicObjectPropertyAsBooleanVector(String id, int propertyName) {
160         Object ret = getGraphicObjectProperty(id, propertyName);
161         int[] result = null;
162
163         if (ret == null) {
164             return null;
165         }
166
167         if (ret instanceof Boolean[]) {
168             Boolean[] tmp = (Boolean[]) getGraphicObjectProperty(id, propertyName);
169             result = new int[tmp.length];
170             for (int i = 0; i < result.length; i++) {
171                 result[i] = tmp[i] ? 1 : 0;
172             }
173         } else if (ret instanceof Boolean) {
174             result = new int[] { ((Boolean) ret) ? 1 : 0};
175         }
176
177         return result;
178     }
179
180     public static void registerScilabView() {
181         GraphicController.getController().register(ScilabView.getScilabView());
182     }
183
184     public static void unregisterScilabView() {
185         GraphicController.getController().unregister(ScilabView.getScilabView());
186     }
187
188     public static String getConsoleIdentifier() {
189         return Console.getConsole().getIdentifier();
190     }
191
192     public static void buildFigureMenuBar(String figureId) {
193         MenuBarBuilder.buildFigureMenuBar(figureId);
194     }
195 }