3ec7b96b70880201ce927273e59d4bbe7e537ca3
[scilab.git] / scilab / modules / graphic_objects / src / java / org / scilab / modules / graphic_objects / imageplot / Imageplot.java
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2010 - DIGITEO - Manuel JULIACHS
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.imageplot;
14
15 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MATPLOT_SCALE__;
16 import static org.scilab.modules.graphic_objects.graphicObject.GraphicObjectProperties.__GO_MATPLOT_TRANSLATE__;
17
18 import org.scilab.modules.graphic_objects.contouredObject.ClippableContouredObject;
19
20 /**
21  * ImagePlot class
22  * @author Manuel JULIACHS
23  */
24 public abstract class Imageplot extends ClippableContouredObject {
25     // TBD
26     // Data -> Data Model
27     /** Grayplot properties names */
28     private enum ImageplotProperty { SCALE, TRANSLATE };
29     // Methods: to be done
30
31     private Double[] scale = {1.0, 1.0};
32     private Double[] translate = {0.5, 0.5};
33
34     /** Constructor */
35     public Imageplot() {
36         super();
37     }
38
39     /**
40      * Returns the enum associated to a property name
41      * @param propertyName the property name
42      * @return the property enum
43      */
44     public Object getPropertyFromName(int propertyName) {
45         switch (propertyName) {
46             case __GO_MATPLOT_SCALE__ :
47                 return ImageplotProperty.SCALE;
48             case __GO_MATPLOT_TRANSLATE__ :
49                 return ImageplotProperty.TRANSLATE;
50             default :
51                 return super.getPropertyFromName(propertyName);
52         }
53     }
54
55     /**
56      * Fast property get method
57      * @param property the property to get
58      * @return the property value
59      */
60     public Object getProperty(Object property) {
61         if (property == ImageplotProperty.TRANSLATE) {
62             return getTranslate();
63         } else if (property == ImageplotProperty.SCALE) {
64             return getScale();
65         } else {
66             return super.getProperty(property);
67         }
68     }
69
70     /**
71      * Fast property set method
72      * @param property the property to set
73      * @param value the property value
74      * @return true if the property has been set, false otherwise
75      */
76     public UpdateStatus setProperty(Object property, Object value) {
77         if (property == ImageplotProperty.TRANSLATE) {
78             setTranslate((Double[]) value);
79         } else if (property == ImageplotProperty.SCALE) {
80             setScale((Double[]) value);
81         } else {
82             return super.setProperty(property, value);
83         }
84
85         return UpdateStatus.Success;
86     }
87
88     public Double[] getScale() {
89         return scale;
90     }
91
92     public void setScale(Double[] scale) {
93         this.scale = scale;
94     }
95
96     public Double[] getTranslate() {
97         return translate;
98     }
99
100     public void setTranslate(Double[] translate) {
101         this.translate = translate;
102     }
103 }