Update Copyright + Do not generate files if propertiesMap not changed
[scilab.git] / scilab / modules / graphic_objects / src / java / org / scilab / modules / graphic_objects / graphicObject / CallBack.java
1 /*
2  *  Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  *  Copyright (C) 2008-2008 - INRIA - Bruno JOFRET
4  *  Copyright (C) 2011 - DIGITEO - Vincent COUVERT
5  *
6  *  This file must be used under the terms of the CeCILL.
7  *  This source file is licensed as described in the file COPYING, which
8  *  you should have received as part of this distribution.  The terms
9  *  are also available at
10  *  http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
11  *
12  */
13 package org.scilab.modules.graphic_objects.graphicObject;
14
15 import org.scilab.modules.graphic_objects.graphicObject.GraphicObject.UpdateStatus;
16
17 /**
18  * Abstract class to manage all callbacks.
19  *
20  * @author Bruno JOFRET
21  */
22 public class CallBack {
23
24     /**
25      * Unmanaged command type constant
26      */
27     public static final int UNTYPED = -1;
28     /**
29      * Scilab instruction command type constant
30      */
31     public static final int SCILAB_INSTRUCTION = 0;
32     /**
33      * C or Fortran function type constant
34      */
35     public static final int C_FORTRAN = 1;
36     /**
37      * Scilab function type constant
38      */
39     public static final int SCILAB_FUNCTION = 2;
40     /**
41      * Scilab function type constant (not trapped by scilab event listeners)
42      */
43     public static final int SCILAB_OUT_OF_XCLICK_AND_XGETMOUSE = -2;
44     /**
45      * Java function type constant
46      */
47     public static final int JAVA = 3;
48     /**
49      * Java function type constant (not trapped by scilab event listeners)
50      */
51     public static final int JAVA_OUT_OF_XCLICK_AND_XGETMOUSE = -3;
52
53     /**
54      * Scilab instruction without GCBO setting (old addmenu compatibility)
55      */
56     public static final int SCILAB_INSTRUCTION_WITHOUT_GCBO = 4;
57
58     /**
59      * The Command to Store and remember.
60      */
61     private String command;
62
63     /**
64      * The command type
65      */
66     private int commandType;
67
68     /**
69      * Constructor to be seen by specifics CallBack.
70      * @param command the command associated to the ccallback
71      */
72     public CallBack(String command) {
73         this(command, UNTYPED);
74     }
75
76     /**
77      * Constructor to be seen by specifics CallBack.
78      * @param command the command associated to the ccallback
79      * @param commandType the command type
80      */
81     public CallBack(String command, int commandType) {
82         this.command = command;
83         this.commandType =  commandType;
84     }
85
86     /**
87      * @param command sets the command
88      */
89     public UpdateStatus setCommand(String command) {
90         this.command = command;
91         return UpdateStatus.Success;
92     }
93
94     /**
95      * @return the command if it's a Scilab instruction.
96      */
97     public String getCommand() {
98         return command;
99     }
100
101     /**
102      * @param commandType sets the command
103      */
104     public UpdateStatus setCommandType(int commandType) {
105         this.commandType = commandType;
106         return UpdateStatus.Success;
107     }
108
109     /**
110      * @return the command type
111      */
112     public int getCommandType() {
113         return commandType;
114     }
115 }