svn-gvsig-desktop / trunk / extensions / extCAD / src / com / iver / cit / gvsig / ExpresionFieldExtension.java @ 10254
History | View | Annotate | Download (8.99 KB)
1 |
package com.iver.cit.gvsig; |
---|---|
2 |
|
3 |
import java.util.BitSet; |
4 |
|
5 |
import org.apache.bsf.BSFManager; |
6 |
|
7 |
import com.iver.andami.PluginServices; |
8 |
import com.iver.andami.plugins.Extension; |
9 |
import com.iver.cit.gvsig.gui.preferences.FieldExpresionPage; |
10 |
import com.iver.cit.gvsig.project.documents.table.gui.EvalExpresionDialog; |
11 |
import com.iver.cit.gvsig.project.documents.table.gui.Table; |
12 |
import com.iver.cit.gvsig.project.documents.table.operators.Abs; |
13 |
import com.iver.cit.gvsig.project.documents.table.operators.Acos; |
14 |
import com.iver.cit.gvsig.project.documents.table.operators.Area; |
15 |
import com.iver.cit.gvsig.project.documents.table.operators.Asin; |
16 |
import com.iver.cit.gvsig.project.documents.table.operators.Atan; |
17 |
import com.iver.cit.gvsig.project.documents.table.operators.Ceil; |
18 |
import com.iver.cit.gvsig.project.documents.table.operators.Cos; |
19 |
import com.iver.cit.gvsig.project.documents.table.operators.Distinct; |
20 |
import com.iver.cit.gvsig.project.documents.table.operators.Division; |
21 |
import com.iver.cit.gvsig.project.documents.table.operators.E; |
22 |
import com.iver.cit.gvsig.project.documents.table.operators.EndsWith; |
23 |
import com.iver.cit.gvsig.project.documents.table.operators.Equal; |
24 |
import com.iver.cit.gvsig.project.documents.table.operators.Equals; |
25 |
import com.iver.cit.gvsig.project.documents.table.operators.Exp; |
26 |
import com.iver.cit.gvsig.project.documents.table.operators.IndexOf; |
27 |
import com.iver.cit.gvsig.project.documents.table.operators.IsNumber; |
28 |
import com.iver.cit.gvsig.project.documents.table.operators.LastIndexOf; |
29 |
import com.iver.cit.gvsig.project.documents.table.operators.Length; |
30 |
import com.iver.cit.gvsig.project.documents.table.operators.LessEquals; |
31 |
import com.iver.cit.gvsig.project.documents.table.operators.LessThan; |
32 |
import com.iver.cit.gvsig.project.documents.table.operators.Log; |
33 |
import com.iver.cit.gvsig.project.documents.table.operators.Minus; |
34 |
import com.iver.cit.gvsig.project.documents.table.operators.MoreEquals; |
35 |
import com.iver.cit.gvsig.project.documents.table.operators.MoreThan; |
36 |
import com.iver.cit.gvsig.project.documents.table.operators.Perimeter; |
37 |
import com.iver.cit.gvsig.project.documents.table.operators.Pi; |
38 |
import com.iver.cit.gvsig.project.documents.table.operators.Plus; |
39 |
import com.iver.cit.gvsig.project.documents.table.operators.PointX; |
40 |
import com.iver.cit.gvsig.project.documents.table.operators.PointY; |
41 |
import com.iver.cit.gvsig.project.documents.table.operators.Pow; |
42 |
import com.iver.cit.gvsig.project.documents.table.operators.Random; |
43 |
import com.iver.cit.gvsig.project.documents.table.operators.Replace; |
44 |
import com.iver.cit.gvsig.project.documents.table.operators.Round; |
45 |
import com.iver.cit.gvsig.project.documents.table.operators.Sin; |
46 |
import com.iver.cit.gvsig.project.documents.table.operators.Sqrt; |
47 |
import com.iver.cit.gvsig.project.documents.table.operators.StartsWith; |
48 |
import com.iver.cit.gvsig.project.documents.table.operators.SubString; |
49 |
import com.iver.cit.gvsig.project.documents.table.operators.Tan; |
50 |
import com.iver.cit.gvsig.project.documents.table.operators.Times; |
51 |
import com.iver.cit.gvsig.project.documents.table.operators.ToDate; |
52 |
import com.iver.cit.gvsig.project.documents.table.operators.ToDegrees; |
53 |
import com.iver.cit.gvsig.project.documents.table.operators.ToLowerCase; |
54 |
import com.iver.cit.gvsig.project.documents.table.operators.ToNumber; |
55 |
import com.iver.cit.gvsig.project.documents.table.operators.ToRadians; |
56 |
import com.iver.cit.gvsig.project.documents.table.operators.ToString; |
57 |
import com.iver.cit.gvsig.project.documents.table.operators.ToUpperCase; |
58 |
import com.iver.cit.gvsig.project.documents.table.operators.Trim; |
59 |
import com.iver.utiles.extensionPoints.ExtensionPoints; |
60 |
import com.iver.utiles.extensionPoints.ExtensionPointsSingleton; |
61 |
/**
|
62 |
*
|
63 |
* @author Vicente Caballero Navarro
|
64 |
*
|
65 |
*/
|
66 |
public class ExpresionFieldExtension extends Extension{ |
67 |
//private static Interpreter interpreter=new Interpreter();
|
68 |
public static final String BEANSHELL="beanshell"; |
69 |
private static BSFManager interpreter=new BSFManager(); |
70 |
private Table table=null; |
71 |
public void initialize() { |
72 |
ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance(); |
73 |
extensionPoints.add("cad_editing_properties_pages","fieldExpresion",FieldExpresionPage.class); |
74 |
registerOperations(); |
75 |
} |
76 |
|
77 |
public void execute(String actionCommand) { |
78 |
com.iver.andami.ui.mdiManager.IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
79 |
table=(Table)window; |
80 |
EvalExpresionDialog eed=new EvalExpresionDialog(table,interpreter);
|
81 |
PluginServices.getMDIManager().addWindow(eed); |
82 |
} |
83 |
public void postInitialize() { |
84 |
|
85 |
} |
86 |
|
87 |
public boolean isEnabled() { |
88 |
com.iver.andami.ui.mdiManager.IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
89 |
if (window instanceof Table) { |
90 |
Table table=(Table)window; |
91 |
BitSet columnSelected = table.getSelectedFieldIndices();
|
92 |
if (!columnSelected.isEmpty() && table.isEditing()) {
|
93 |
return true; |
94 |
} |
95 |
} |
96 |
return false; |
97 |
} |
98 |
|
99 |
public boolean isVisible() { |
100 |
com.iver.andami.ui.mdiManager.IWindow window = PluginServices.getMDIManager().getActiveWindow(); |
101 |
if (window instanceof Table) { |
102 |
return true; |
103 |
} |
104 |
return false; |
105 |
} |
106 |
private void registerOperations() { |
107 |
ExtensionPoints extensionPoints = ExtensionPointsSingleton.getInstance(); |
108 |
extensionPoints.add("ColumnOperators",Abs.class.toString(),Abs.class);
|
109 |
extensionPoints.add("ColumnOperators",Acos.class.toString(),Acos.class);
|
110 |
extensionPoints.add("ColumnOperators",Area.class.toString(),Area.class); |
111 |
extensionPoints.add("ColumnOperators",Asin.class.toString(),Asin.class);
|
112 |
extensionPoints.add("ColumnOperators",Atan.class.toString(),Atan.class);
|
113 |
extensionPoints.add("ColumnOperators",Ceil.class.toString(),Ceil.class);
|
114 |
extensionPoints.add("ColumnOperators",Cos.class.toString(),Cos.class);
|
115 |
extensionPoints.add("ColumnOperators",Distinct.class.toString(),Distinct.class);
|
116 |
extensionPoints.add("ColumnOperators",Division.class.toString(),Division.class);
|
117 |
extensionPoints.add("ColumnOperators",E.class.toString(),E.class);
|
118 |
extensionPoints.add("ColumnOperators",EndsWith.class.toString(),EndsWith.class);
|
119 |
extensionPoints.add("ColumnOperators",Equal.class.toString(),Equal.class);
|
120 |
extensionPoints.add("ColumnOperators",Equals.class.toString(),Equals.class);
|
121 |
extensionPoints.add("ColumnOperators",Exp.class.toString(),Exp.class);
|
122 |
extensionPoints.add("ColumnOperators",IndexOf.class.toString(),IndexOf.class);
|
123 |
extensionPoints.add("ColumnOperators",IsNumber.class.toString(),IsNumber.class);
|
124 |
extensionPoints.add("ColumnOperators",LastIndexOf.class.toString(),LastIndexOf.class);
|
125 |
extensionPoints.add("ColumnOperators",Length.class.toString(),Length.class);
|
126 |
extensionPoints.add("ColumnOperators",LessEquals.class.toString(),LessEquals.class);
|
127 |
extensionPoints.add("ColumnOperators",LessThan.class.toString(),LessThan.class);
|
128 |
extensionPoints.add("ColumnOperators",Log.class.toString(),Log.class);
|
129 |
extensionPoints.add("ColumnOperators",Minus.class.toString(),Minus.class);
|
130 |
extensionPoints.add("ColumnOperators",MoreEquals.class.toString(),MoreEquals.class);
|
131 |
extensionPoints.add("ColumnOperators",MoreThan.class.toString(),MoreThan.class);
|
132 |
extensionPoints.add("ColumnOperators",Perimeter.class.toString(),Perimeter.class);
|
133 |
extensionPoints.add("ColumnOperators",Pi.class.toString(),Pi.class);
|
134 |
extensionPoints.add("ColumnOperators",Plus.class.toString(),Plus.class);
|
135 |
extensionPoints.add("ColumnOperators",PointX.class.toString(),PointX.class);
|
136 |
extensionPoints.add("ColumnOperators",PointY.class.toString(),PointY.class);
|
137 |
extensionPoints.add("ColumnOperators",Pow.class.toString(),Pow.class);
|
138 |
extensionPoints.add("ColumnOperators",Random.class.toString(),Random.class); |
139 |
extensionPoints.add("ColumnOperators",Replace.class.toString(),Replace.class);
|
140 |
extensionPoints.add("ColumnOperators",Round.class.toString(),Round.class);
|
141 |
extensionPoints.add("ColumnOperators",Sin.class.toString(),Sin.class);
|
142 |
extensionPoints.add("ColumnOperators",Sqrt.class.toString(),Sqrt.class);
|
143 |
extensionPoints.add("ColumnOperators",StartsWith.class.toString(),StartsWith.class);
|
144 |
extensionPoints.add("ColumnOperators",SubString.class.toString(),SubString.class);
|
145 |
extensionPoints.add("ColumnOperators",Tan.class.toString(),Tan.class);
|
146 |
extensionPoints.add("ColumnOperators",Times.class.toString(),Times.class);
|
147 |
extensionPoints.add("ColumnOperators",ToDate.class.toString(),ToDate.class);
|
148 |
extensionPoints.add("ColumnOperators",ToDegrees.class.toString(),ToDegrees.class);
|
149 |
extensionPoints.add("ColumnOperators",ToLowerCase.class.toString(),ToLowerCase.class);
|
150 |
extensionPoints.add("ColumnOperators",ToNumber.class.toString(),ToNumber.class);
|
151 |
extensionPoints.add("ColumnOperators",ToRadians.class.toString(),ToRadians.class);
|
152 |
extensionPoints.add("ColumnOperators",ToString.class.toString(),ToString.class);
|
153 |
extensionPoints.add("ColumnOperators",ToUpperCase.class.toString(),ToUpperCase.class);
|
154 |
extensionPoints.add("ColumnOperators",Trim.class.toString(),Trim.class);
|
155 |
} |
156 |
|
157 |
} |