root / library / trunk / org.gvsig.chart / org.gvsig.chart.lib / org.gvsig.chart.lib.base / src / main / java / org / gvsig / chart / base / pie / PieChartProperties.java @ 24
History | View | Annotate | Download (5.89 KB)
1 |
package org.gvsig.chart.base.pie; |
---|---|
2 |
|
3 |
import org.gvsig.chart.ChartLocator; |
4 |
import org.gvsig.chart.ChartManager; |
5 |
import org.gvsig.chart.base.pie.renderers.PieChartRendererBasic; |
6 |
import org.gvsig.chart.impl.AbstractChartProperties; |
7 |
import org.gvsig.chart.impl.model.variables.DefaultRequiredField; |
8 |
import org.gvsig.chart.model.variables.RequiredField; |
9 |
import org.gvsig.chart.renderer.ChartRenderer; |
10 |
import org.gvsig.tools.ToolsLocator; |
11 |
import org.gvsig.tools.dynobject.DynClass; |
12 |
import org.gvsig.tools.dynobject.DynObjectManager; |
13 |
import org.gvsig.tools.dynobject.DynStruct; |
14 |
import org.gvsig.tools.persistence.PersistenceManager; |
15 |
import org.gvsig.tools.persistence.PersistentState; |
16 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
17 |
import org.gvsig.tools.util.Callable; |
18 |
|
19 |
public class PieChartProperties extends AbstractChartProperties{ |
20 |
|
21 |
public PieChartProperties(){
|
22 |
super("PieChart"); |
23 |
ChartManager manager = ChartLocator.getServiceManager().getChartManager(); |
24 |
|
25 |
setChartType("PieChart");
|
26 |
setChartName(manager.getTranslation("PieChart"));
|
27 |
|
28 |
ChartRenderer renderer = new PieChartRendererBasic();
|
29 |
setChartRenderer(renderer.getChartRendererName()); |
30 |
|
31 |
RequiredField field1 = new DefaultRequiredField();
|
32 |
field1.setName("series");
|
33 |
field1.setDescription(manager.getTranslation("labels"));
|
34 |
field1.setType((ToolsLocator.getDataTypesManager().getDataType(String.class)).getName());
|
35 |
|
36 |
RequiredField field2 = new DefaultRequiredField();
|
37 |
field2.setName("categories");
|
38 |
field2.setDescription(manager.getTranslation("values"));
|
39 |
field2.setType((ToolsLocator.getDataTypesManager().getDataType(Double.class)).getName());
|
40 |
|
41 |
RequiredField field3 = new DefaultRequiredField();
|
42 |
field3.setName("groupby");
|
43 |
field3.setDescription(manager.getTranslation("groupedBy"));
|
44 |
field3.setType((ToolsLocator.getDataTypesManager().getDataType(String.class)).getName());
|
45 |
field3.setIsOptional(true);
|
46 |
|
47 |
addRequiredField(field1); |
48 |
addRequiredField(field2); |
49 |
addRequiredField(field3); |
50 |
|
51 |
} |
52 |
|
53 |
public static void registerDefinition(){ |
54 |
DynObjectManager manager = ToolsLocator.getDynObjectManager(); |
55 |
DynClass definition = manager.get("Chart","PieChartProperties"); |
56 |
if(definition == null){ |
57 |
definition = manager.createDynClass("Chart", "PieChartProperties", "aqu? va la descripci?n"); |
58 |
definition.addDynFieldFloat("radius").setMandatory(false).setDefaultFieldValue(0.0f); |
59 |
|
60 |
definition.addDynFieldBoolean("isBasic").setMandatory(false).setDefaultFieldValue(true); |
61 |
definition.addDynFieldBoolean("hasExplotedSections").setMandatory(false).setDefaultFieldValue(false); |
62 |
definition.addDynFieldBoolean("is3D").setMandatory(false).setDefaultFieldValue(false); |
63 |
|
64 |
definition.extend("Chart", "ChartProperties"); |
65 |
manager.add(definition); |
66 |
} |
67 |
} |
68 |
|
69 |
// public static void registerPersistentDefinition(){
|
70 |
// PersistenceManager manager = ToolsLocator.getPersistenceManager();
|
71 |
// DynStruct definition = manager.getDefinition("PieChartProperties");
|
72 |
// if(definition == null){
|
73 |
// definition = manager.addDefinition(PieChartProperties.class, "PieChartProperties", "aqu? va la descripci?n", null, null);
|
74 |
// definition.addDynFieldFloat("radius").setMandatory(false);
|
75 |
//
|
76 |
//
|
77 |
// definition.addDynFieldBoolean("isBasic").setMandatory(true).setDefaultFieldValue(true);
|
78 |
// definition.addDynFieldBoolean("hasExplotedSections").setMandatory(true).setDefaultFieldValue(false);
|
79 |
// definition.addDynFieldBoolean("is3D").setMandatory(true).setDefaultFieldValue(false);
|
80 |
//
|
81 |
// definition.extend(PersistenceManager.PERSISTENCE_NAMESPACE,"ChartProperties");
|
82 |
// }
|
83 |
// }
|
84 |
|
85 |
public void setPieChartRadius(Float radius) { |
86 |
data.setDynValue("radius", radius);
|
87 |
} |
88 |
|
89 |
public Float getPieChartRadius() { |
90 |
return (Float) data.getDynValue("radius"); |
91 |
} |
92 |
|
93 |
public void setIs3D(boolean is3d) { |
94 |
data.setDynValue("is3d", is3d);
|
95 |
} |
96 |
|
97 |
public boolean getIs3D() { |
98 |
return (Boolean) data.getDynValue("is3D"); |
99 |
} |
100 |
|
101 |
public void setIsBasicChart(boolean isBasic) { |
102 |
data.setDynValue("isBasic", isBasic);
|
103 |
} |
104 |
|
105 |
public boolean getIsBasicChart() { |
106 |
return (Boolean) data.getDynValue("isBasic"); |
107 |
} |
108 |
|
109 |
public void setHasExploitedSections(boolean hasExplotedSections) { |
110 |
data.setDynValue("hasExplotedSections", hasExplotedSections);
|
111 |
} |
112 |
|
113 |
public boolean getHasExploitedSections() { |
114 |
return (Boolean) data.getDynValue("hasExplotedSections"); |
115 |
} |
116 |
|
117 |
public void saveToState(PersistentState state) throws PersistenceException { |
118 |
// Save parent properties
|
119 |
super.saveToState(state);
|
120 |
// Save own properties
|
121 |
state.set("is3D", this.getIs3D()); |
122 |
state.set("isBasic", this.getIsBasicChart()); |
123 |
state.set("radius", this.getPieChartRadius()); |
124 |
state.set("hasExplotedSections", this.getHasExploitedSections()); |
125 |
} |
126 |
|
127 |
|
128 |
public void loadFromState(PersistentState state) |
129 |
throws PersistenceException {
|
130 |
// Set parent properties
|
131 |
super.loadFromState(state);
|
132 |
// Set own properties
|
133 |
this.setIs3D(state.getBoolean("is3D")); |
134 |
this.setIsBasicChart(state.getBoolean("isBasic")); |
135 |
this.setPieChartRadius(state.getFloat("radius")); |
136 |
this.setHasExploitedSections(state.getBoolean("hasExplotedSections")); |
137 |
} |
138 |
|
139 |
public static class RegisterPersistence implements Callable { |
140 |
|
141 |
public Object call() throws Exception { |
142 |
PersistenceManager manager = ToolsLocator.getPersistenceManager(); |
143 |
if(manager.getDefinition("PieChartProperties")==null ) { |
144 |
DynStruct definition = manager.addDefinition( |
145 |
PieChartProperties.class, |
146 |
"PieChartProperties",
|
147 |
"PieChartProperties"+" Persistence definition (FIXME check keys type)", |
148 |
null,
|
149 |
null
|
150 |
); |
151 |
// // Extend the Classified Vector Legend base definition
|
152 |
definition.extend(manager.getDefinition("ChartProperties"));
|
153 |
|
154 |
// Values
|
155 |
definition.addDynFieldFloat("radius");
|
156 |
|
157 |
definition.addDynFieldBoolean("isBasic").setDefaultFieldValue(true); |
158 |
definition.addDynFieldBoolean("hasExplotedSections").setDefaultFieldValue(false); |
159 |
definition.addDynFieldBoolean("is3D").setDefaultFieldValue(false); |
160 |
|
161 |
} |
162 |
return Boolean.TRUE; |
163 |
} |
164 |
|
165 |
} |
166 |
} |