Xcos: add tooltips on the standard view
[scilab.git] / scilab / modules / xcos / src / java / org / scilab / modules / xcos / utils / XcosMessages.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2009 - DIGITEO - Vincent COUVERT
4  * Copyright (C) 2009 - DIGITEO - Clement DAVID
5  * Copyright (C) 2011-2015 - Scilab Enterprises - Clement DAVID
6  *
7  * Copyright (C) 2012 - 2016 - Scilab Enterprises
8  *
9  * This file is hereby licensed under the terms of the GNU GPL v2.0,
10  * pursuant to article 5.3.4 of the CeCILL v.2.1.
11  * This file was originally licensed under the terms of the CeCILL v2.1,
12  * and continues to be available under such terms.
13  * For more information, see the COPYING file which you should have received
14  * along with this program.
15  *
16  */
17 package org.scilab.modules.xcos.utils;
18
19 import java.awt.event.MouseEvent;
20
21 import javax.swing.SwingUtilities;
22
23 import org.scilab.modules.localization.Messages;
24
25 /**
26  * All localized messages/menus labels used in Xcos
27  */
28 // CSOFF: JavadocVariable
29 // CSOFF: LineLength
30 // CSOFF: MultipleStringLiterals
31 public final class XcosMessages {
32
33     public static final String XCOS = Messages.gettext("Xcos");
34
35     public static final String DOTS = "...";
36
37     public static final String UNTITLED = Messages.gettext("Untitled");
38
39     /* File menu */
40     public static final String FILE = Messages.gettext("File");
41     public static final String NEW = Messages.gettext("New");
42     public static final String NEW_DIAGRAM = Messages.gettext("New diagram") + DOTS;
43     public static final String NEW_PALETTE = Messages.gettext("New palette") + DOTS;
44     public static final String OPEN = Messages.gettext("Open") + DOTS;
45     public static final String OPEN_IN = Messages.gettext("Open file in Scilab current directory");
46     public static final String SAVE = Messages.gettext("Save");
47     public static final String SAVE_AS = Messages.gettext("Save as") + DOTS;
48     public static final String EXPORT = Messages.gettext("Export") + DOTS;
49     public static final String EXPORT_ALL = Messages.gettext("Export all diagrams");
50     public static final String SAVE_AS_INTERFACE_FUNCTION = Messages.gettext("Save as interface function") + DOTS;
51     public static final String PRINT = Messages.gettext("Print") + DOTS;
52     public static final String CLOSE = Messages.gettext("Close");
53     public static final String QUIT = Messages.gettext("Quit Xcos");
54     public static final String RECENT_FILES = Messages.gettext("Recent files");
55
56     /* Edit Menu */
57     public static final String EDIT = Messages.gettext("Edit");
58     public static final String BLOCK_PARAMETERS = Messages.gettext("Block Parameters") + DOTS;
59     public static final String REGION_TO_SUPERBLOCK = Messages.gettext("Selection to superblock");
60     public static final String SUPERBLOCK_MASK = Messages.gettext("Superblock mask");
61     public static final String CREATE = Messages.gettext("Create");
62     public static final String RENAME = Messages.gettext("Rename");
63     public static final String REMOVE = Messages.gettext("Remove");
64     public static final String CUSTOMIZE = Messages.gettext("Customize") + DOTS;
65     public static final String SAVE_BLOCK_GUI = Messages.gettext("Save block GUI");
66
67     /* Palette menu in palette browser */
68     public static final String LOAD_AS_PAL = Messages.gettext("Load as palette") + DOTS;
69     public static final String USER_DEFINED = Messages.gettext("User-Defined");
70     public static final String REMOVE_USER_DEFINED = REMOVE;
71     public static final String CREATE_CATEGORY = Messages.gettext("Create a category");
72     public static final String ADDTO_CATEGORY = Messages.gettext("Add to a new category");
73     public static final String DEFAULT_CATEGORY_NAME = Messages.gettext("Category");
74     public static final String ASK_FOR_A_NAME = Messages.gettext("Enter a name");
75
76     public static final String DUMP = Messages.gettext("Dump");
77     public static final String VIEW_IN_SCICOS = Messages.gettext("View in Scicos");
78
79     /* View Menu */
80     public static final String VIEW = Messages.gettext("View");
81     public static final String FIT_DIAGRAM_TO_VIEW = Messages.gettext("Fit diagram or blocks to view");
82     public static final String NORMAL_100 = Messages.gettext("Normal 100%");
83     public static final String PALETTE_BROWSER = Messages.gettext("Palette browser");
84     public static final String OLD_DIAGRAM_BROWSER = Messages.gettext("tree_show(scs_m)");
85     public static final String DIAGRAM_BROWSER = Messages.gettext("Diagram browser");
86     public static final String VIEWPORT = Messages.gettext("Viewport");
87     public static final String GET_INFOS = Messages.gettext("Get infos");
88     public static final String DETAILS = Messages.gettext("Details");
89     public static final String SHOW_PARENT = Messages.gettext("Show parent diagram");
90
91     /* Simulation menu */
92     public static final String SIMULATION = Messages.gettext("Simulation");
93     public static final String SETUP = Messages.gettext("Setup");
94     public static final String COMPILE = Messages.gettext("Compile");
95     public static final String START = Messages.gettext("Start");
96     public static final String STOP = Messages.gettext("Stop");
97     public static final String SET_CONTEXT = Messages.gettext("Set Context");
98
99     /* Format menu */
100     public static final String FORMAT = Messages.gettext("Format");
101     public static final String RESIZE = Messages.gettext("Resize");
102     public static final String ROTATE = Messages.gettext("Rotate");
103     public static final String FLIP = Messages.gettext("Flip");
104     public static final String MIRROR = Messages.gettext("Mirror");
105     public static final String SHOWHIDE_SHADOW = Messages.gettext("Show/Hide shadow");
106     public static final String GRID = Messages.gettext("Grid");
107     public static final String DIAGRAM_BACKGROUND = Messages.gettext("Diagram background") + DOTS;
108
109     /* Format - Edit dialog */
110     public static final String BOLD = Messages.gettext("Bold");
111     public static final String ITALIC = Messages.gettext("Italic");
112     public static final String FONT_SIZE = Messages.gettext("Font size");
113     public static final String FONT_NAME = Messages.gettext("Font name");
114     public static final String FONT_STYLE = Messages.gettext("Font style");
115     public static final String TEXT_SETTINGS = Messages.gettext("Text settings");
116     public static final String IMAGE_PATH = Messages.gettext("Image path");
117
118     /* Tools menu */
119     public static final String TOOLS = Messages.gettext("Tools");
120     public static final String CODE_GENERATION = Messages.gettext("Code generation");
121
122     /* Help menu */
123     public static final String HELP = Messages.gettext("?");
124     public static final String XCOS_DOCUMENTATION = Messages.gettext("Xcos Help");
125     public static final String BLOCK_DOCUMENTATION = Messages.gettext("Block Help");
126     public static final String XCOS_DEMONSTRATIONS = Messages.gettext("Xcos Demonstrations");
127     // For the moment, "About Xcos" points to "About Scilab", we may update this when we get a nice splash image
128     public static final String ABOUT_XCOS = Messages.gettext("About Scilab") + DOTS;
129
130     /* PALETTES */
131     public static final String PALETTES = Messages.gettext("Palettes");
132     public static final String SOURCES_PAL = Messages.gettext("Sources");
133     public static final String CONTINUOUS_PAL = Messages.gettext("Continuous time systems");
134     public static final String IMPLICIT_PAL = Messages.gettext("Implicit");
135     public static final String DISCONTINUOUS_PAL = Messages.gettext("Discontinuities");
136     public static final String LOOKUPTABLES_PAL = Messages.gettext("Lookup Tables");
137     public static final String SIGNALPROCESSING_PAL = Messages.gettext("Signal Processing");
138     public static final String THRESHOLD_PAL = Messages.gettext("Zero crossing detection");
139     public static final String MATHSOPS_PAL = Messages.gettext("Mathematical Operations");
140     public static final String INTEGER_PAL = Messages.gettext("Integer");
141     public static final String MATRIX_PAL = Messages.gettext("Matrix");
142     public static final String SINKS_PAL = Messages.gettext("Sinks");
143     public static final String PORTACTION_PAL = Messages.gettext("Port & Subsystem");
144     public static final String ANNOTATIONS_PAL = Messages.gettext("Annotations");
145     public static final String DISCRETE_PAL = Messages.gettext("Discrete time systems");
146     public static final String EVENTS_PAL = Messages.gettext("Event handling");
147     public static final String SIGNALROUTING_PAL = Messages.gettext("Signal Routing");
148     public static final String COMMONUSED_PAL = Messages.gettext("Commonly Used Blocks");
149     public static final String USERDEFINEDFUNCTIONS_PAL = Messages.gettext("User-Defined Functions");
150     public static final String DEMOBLOCKS_PAL = Messages.gettext("Demonstrations Blocks");
151     public static final String ELECTRICAL_PAL = Messages.gettext("Electrical");
152     public static final String THERMOHYDRAULICS_PAL = Messages.gettext("Thermo-Hydraulics");
153
154     public static final String ENABLE = Messages.gettext("Enable");
155     public static final String PAL_NAME = Messages.gettext("Palette name");
156
157     public static final String DIAGRAM_MODIFIED = Messages.gettext("Diagram has been modified since last save.<br/> Do you want to save it?");
158     public static final String FILE_DOESNT_EXIST = Messages.gettext("The file %s doesn't exist\n Do you want to create it?");
159
160     public static final String IMAGE_URL_DOESNT_EXIST = Messages.gettext("Unable to decode the URI : %s .");
161
162     public static final String OK = Messages.gettext("Ok");
163     public static final String CANCEL = Messages.gettext("Cancel");
164     public static final String RESET = Messages.gettext("Reset to default");
165
166     public static final String SET_CONTEXT_LABEL_TEXT = "<html>"
167             + Messages
168             .gettext("You may enter here scilab instructions to define symbolic parameters used in block definitions using Scilab instructions.<br/>These instructions are evaluated once confirmed (i.e. you click on OK and every time the diagram is loaded).")
169             + "</html>";
170
171     public static final String FAIL_LOADING_DIAGRAM = Messages.gettext("Failed to load Diagram");
172     public static final String FAIL_SAVING_DIAGRAM = Messages.gettext("Could not save diagram.");
173     public static final String OVERWRITE_EXISTING_FILE = Messages.gettext("Do you want to overwrite existing file?");
174     public static final String TRANSPARENT_BACKGROUND = Messages.gettext("Do you want a transparent background image?");
175     public static final String NO_IMAGE_DATA = Messages.gettext("Image contains no data.");
176     public static final String UNKNOW_VERSION = Messages.gettext("Unknown Diagram Version : ");
177     public static final String TRY_TO_CONTINUE = Messages.gettext("Will try to continue...");
178
179     public static final String XCOS_ERROR = Messages.gettext("Xcos error");
180     public static final String UNABLE_TO_DELETE = Messages.gettext("Unable to delete ");
181     public static final String NO_BLOCK_SELECTED = Messages.gettext("No block selected");
182
183     public static final String EXPORT_TO_XML = Messages.gettext("Export to XML") + DOTS;
184     public static final String IMPORT_FROM_XML = Messages.gettext("Import from XML") + DOTS;
185
186     public static final String ADDTO = Messages.gettext("Add to");
187     public static final String ADDTO_NEW_DIAGRAM = Messages.gettext("Add to new diagram");
188
189     public static final String LINK_ERROR_EXPLICIT_IN = Messages.gettext("Explicit data input port must be connected to explicit data output port");
190     public static final String LINK_ERROR_IMPLICIT_IN = Messages.gettext("Implicit data input port must be connected to implicit data output port");
191     public static final String LINK_ERROR_EXPLICIT_OUT = Messages.gettext("Explicit data output port must be connected to explicit data input port");
192     public static final String LINK_ERROR_IMPLICIT_OUT = Messages.gettext("Implicit data output port must be connected to implicit data input port");
193     public static final String LINK_ERROR_EVENT_IN = Messages.gettext("Command port must be connected to control port");
194     public static final String LINK_ERROR_EVENT_OUT = Messages.gettext("control port must be connected to command port");
195     public static final String LINK_ERROR_ALREADY_CONNECTED = Messages.gettext("Port is already connected, please select an unconnected port or a valid link.");
196
197     public static final String ALIGN_BLOCKS = Messages.gettext("Align Blocks");
198     public static final String ALIGN_LEFT = Messages.gettext("Left");
199     public static final String ALIGN_RIGHT = Messages.gettext("Right");
200     public static final String ALIGN_CENTER = Messages.gettext("Center");
201     public static final String ALIGN_TOP = Messages.gettext("Top");
202     public static final String ALIGN_BOTTOM = Messages.gettext("Bottom");
203     public static final String ALIGN_MIDDLE = Messages.gettext("Middle");
204
205     public static final String BORDER_COLOR = Messages.gettext("Border Color");
206     public static final String FILL_COLOR = Messages.gettext("Fill Color");
207     public static final String TEXT_COLOR = Messages.gettext("Text Color");
208
209     public static final String LINK_STYLE = Messages.gettext("Link Style");
210     public static final String LINK_STYLE_STRAIGHT = Messages.gettext("Straight");
211     public static final String LINK_STYLE_HORIZONTAL = Messages.gettext("Horizontal");
212     public static final String LINK_STYLE_VERTICAL = Messages.gettext("Vertical");
213
214     public static final String DEBUG_LEVEL_LABEL = "<html>" + Messages.gettext("Set debugging level (0,1,2,3) <br/> it performs scicos_debug(n)") + "</html>";
215     public static final String SET_DEBUG = Messages.gettext("Execution trace and Debug");
216
217     /* Setup box */
218     public static final String FINAL_INTEGRATION_TIME = Messages.gettext("Final integration time");
219     public static final String REAL_TIME_SCALING = Messages.gettext("Real time scaling");
220     public static final String INTEGRATOR_ABSOLUTE_TOLERANCE = Messages.gettext("Integrator absolute tolerance");
221     public static final String INTEGRATOR_RELATIVE_TOLERANCE = Messages.gettext("Integrator relative tolerance");
222     public static final String TOLERANCE_ON_TIME = Messages.gettext("Tolerance on time");
223     public static final String MAX_INTEGRATION_TIME_INTERVAL = Messages.gettext("Max integration time interval");
224     public static final String SOLVER_CHOICE = Messages.gettext("Solver kind");
225     public static final String MAXIMUN_STEP_SIZE = Messages.gettext("Maximum step size (0 means no limit)");
226     public static final String DEFAULT = Messages.gettext("Default");
227     public static final String SETUP_TITLE = Messages.gettext("Set Parameters");
228
229     /* About box */
230     public static final String COPYRIGHT_INRIA = "Copyright (c) 1989-2009 (INRIA)";
231     public static final String SCICOS_BASED = Messages.gettext("Based on Scicos");
232
233     /* InfoBar messages */
234     public static final String EMPTY_INFO = "";
235     public static final String SAVING_DIAGRAM = Messages.gettext("Saving diagram") + DOTS;
236     public static final String LOADING_DIAGRAM = Messages.gettext("Loading diagram");
237     public static final String LOADING_PALETTES = Messages.gettext("Loading palettes") + DOTS;
238     public static final String LOADING_USER_DEFINE = Messages.gettext("Loading user defined palettes") + DOTS;
239     public static final String GENERATING_C_CODE = Messages.gettext("Generating C Code for SuperBlock") + DOTS;
240     public static final String ERROR_GENERATING_C_CODE = Messages.gettext("A SuperBlock must be selected to generate code");
241     public static final String SIMULATION_IN_PROGRESS = Messages.gettext("Simulation in progress");
242     public static final String COMPILATION_IN_PROGRESS = Messages.gettext("Compilation in progress, results will be stored in the \'cpr\' variable");
243     public static final String GENERATE_SUPERBLOCK = Messages.gettext("Generate SuperBlock, please wait") + DOTS;
244     public static final String DRAW_LINK = Messages.gettext("Click on diagram to add link point or on a compatible target to finish");
245
246     /* Debug level messages */
247     public static final String DEBUGLEVEL_0 = Messages.gettext("No trace nor debug printing");
248     public static final String DEBUGLEVEL_1 = Messages.gettext("Light Simulation trace (Discrete and Continuous part switches)");
249     public static final String DEBUGLEVEL_2 = Messages.gettext("Per block execution trace and Debug block calls");
250     public static final String DEBUGLEVEL_3 = Messages.gettext("Debug block calls without trace");
251
252     /* File description */
253     public static final String ALL_SUPPORTED_FORMATS = Messages.gettext("All supported formats");
254     public static final String FILE_COSF = Messages.gettext("Scicos file");
255     public static final String FILE_COS = FILE_COSF;
256     public static final String FILE_XCOS = Messages.gettext("Xcos file");
257     public static final String FILE_ZCOS = Messages.gettext("Xcos (zip) file");
258     public static final String FILE_SOD = Messages.gettext("Scilab Open Data file");
259
260     /* Superblock mask editor */
261     public static final String MASK_TITLE = Messages.gettext("Masked SuperBlock editor");
262     public static final String MASK_INSERT = Messages.gettext("Insert");
263     public static final String MASK_DELETE = Messages.gettext("Delete");
264     public static final String MASK_MOVEUP = Messages.gettext("Move Up");
265     public static final String MASK_MOVEDOWN = Messages.gettext("Move Down");
266     public static final String MASK_ROWS = Messages.gettext("Rows");
267     public static final String MASK_VARSETTINGS = Messages.gettext("Variable settings");
268     public static final String MASK_DEFAULTVALUES = Messages.gettext("Default values");
269     public static final String MASK_WINTITLEVAR = Messages.gettext("WinTitle");
270     public static final String MASK_WINTITLE = Messages.gettext("Window title");
271     public static final String MASK_VARNAME = Messages.gettext("Variable names");
272     public static final String MASK_VARDESC = Messages.gettext("Variable descriptions");
273     public static final String MASK_EDITABLE = Messages.gettext("Editable");
274     public static final String MASK_VARVALUES = Messages.gettext("Values");
275     public static final String MASK_DEFAULTWINDOWNAME = Messages.gettext("Set block parameters");
276
277     /* Configuration Error */
278     public static final String ERR_CONFIG_PALETTE_INVALID = Messages
279             .gettext("The user palette configuration file (palettes.xml) is invalid.<BR> Switching to the default one.");
280     public static final String ERR_CONFIG_INVALID = Messages.gettext("The user configuration file (xcos.xml) is invalid.<BR> Switching to the default one.");
281
282     /* Modelica Compiler */
283     public static final String INITIALIZING_MODELICA_COMPILER = Messages.gettext("Setting up Modelica Compiler.");
284     public static final String INIT_MODELICA = Messages.gettext("Modelica initialize");
285
286     /* Blocks values */
287     public static final String BLOCK_FROM = "From %s";
288     public static final String BLOCK_GOTO = "Goto %s";
289
290     /* Errors */
291     public static final String ERROR_UNABLE_TO_COMPILE_THIS_SUPER_BLOCK = Messages.gettext("Error: unable to compile this SuperBlock");
292     public static final String WRONG_PORT_NUMBER = Messages.gettext("Evaluation problem: wrong port number.");
293     public static final String EXPECTING_NUMBER = Messages.gettext("Expecting '%d'.");
294     public static final String LINK_NOT_CONNECTED = Messages
295             .gettext("<html><body>Compilation error: link ignored because it is not connected. <br/>Please reconnect it.</body></html>");
296
297     /* Tooltips */
298     public static final String TOOLTIP_BLOCK = Messages.gettext("Block name: ");
299     public static final String TOOLTIP_BLOCK_SIMULATION = Messages.gettext("Simulation: ");
300     public static final String TOOLTIP_BLOCK_UID = Messages.gettext("UID: ");
301     public static final String TOOLTIP_BLOCK_STYLE = Messages.gettext("Style: ");
302     public static final String TOOLTIP_BLOCK_RPAR = Messages.gettext("Rpar: ");
303     public static final String TOOLTIP_BLOCK_IPAR = Messages.gettext("Ipar: ");
304     public static final String TOOLTIP_BLOCK_OPAR = Messages.gettext("Opar: ");
305     public static final String TOOLTIP_PORT_DATATYPE = Messages.gettext("Datatype: ");
306     public static final String TOOLTIP_PORT_IMPLICIT = Messages.gettext("Implicit: ");
307     public static final String TOOLTIP_PORT_STYLE = Messages.gettext("Style: ");
308     public static final String TOOLTIP_LINK_SRC_DATATYPE = Messages.gettext("Source datatype: ");
309     public static final String TOOLTIP_LINK_TRG_DATATYPE = Messages.gettext("Target datatype: ");
310     public static final String TOOLTIP_LINK_LABEL = Messages.gettext("Label: ");
311     public static final String TOOLTIP_LINK_STYLE = Messages.gettext("Style: ");
312
313     // CSON: JavadocVariable
314     // CSON: LineLength
315     // CSON: MultipleStringLiterals
316
317     /** This class is a static singleton, thus it must not be instantiated */
318     private XcosMessages() {
319     }
320
321     /**
322      * This function checks for the popup menu activation under MacOS with Java
323      * version 1.5 Related to Scilab bug #5190
324      *
325      * @param e
326      *            Click event
327      * @return true if Java 1.5 and MacOS and mouse clic and ctrl activated
328      */
329     public static boolean isMacOsPopupTrigger(MouseEvent e) {
330         return (SwingUtilities.isLeftMouseButton(e) && e.isControlDown() && (System.getProperty("os.name").toLowerCase().indexOf("mac") != -1) && (System
331                 .getProperty("java.specification.version").equals("1.5")));
332     }
333 }