Revision 402 trunk/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/app/extension/LayoutExtension.java
LayoutExtension.java | ||
---|---|---|
30 | 30 |
|
31 | 31 |
import org.slf4j.Logger; |
32 | 32 |
import org.slf4j.LoggerFactory; |
33 |
|
|
33 | 34 |
import org.gvsig.andami.IconThemeHelper; |
34 | 35 |
import org.gvsig.andami.PluginServices; |
35 | 36 |
import org.gvsig.andami.messages.NotificationManager; |
... | ... | |
41 | 42 |
import org.gvsig.app.project.documents.layout.FLayoutZooms; |
42 | 43 |
import org.gvsig.app.project.documents.layout.LayoutManager; |
43 | 44 |
import org.gvsig.app.project.documents.layout.gui.LayoutPanel; |
45 |
import org.gvsig.i18n.Messages; |
|
44 | 46 |
import org.gvsig.tools.ToolsLocator; |
45 | 47 |
import org.gvsig.tools.persistence.PersistenceManager; |
46 | 48 |
import org.gvsig.tools.persistence.PersistentState; |
... | ... | |
55 | 57 |
public class LayoutExtension extends Extension implements IPreferenceExtension { |
56 | 58 |
|
57 | 59 |
private static final Logger logger = LoggerFactory |
58 |
.getLogger(LayoutExtension.class); |
|
60 |
.getLogger(LayoutExtension.class);
|
|
59 | 61 |
|
60 | 62 |
private LayoutPanel layout = null; |
61 | 63 |
|
... | ... | |
70 | 72 |
|
71 | 73 |
if (s.equals("layout-navigation-pan")) { |
72 | 74 |
layout.getLayoutControl().setTool("layoutpan"); |
73 |
} else
|
|
74 |
if (s.equals("layout-navigation-zoom-in-topoint")) {
|
|
75 |
layout.getLayoutControl().setTool("layoutzoomin");
|
|
76 |
} else
|
|
77 |
if (s.equals("layout-navigation-zoom-out-topoint")) {
|
|
78 |
layout.getLayoutControl().setTool("layoutzoomout");
|
|
79 |
} else
|
|
80 |
if (s.equals("layout-navigation-zoom-all")) {
|
|
81 |
layout.getLayoutControl().fullRect();
|
|
82 |
} else
|
|
83 |
if (s.equals("layout-navigation-zoom-real")) {
|
|
84 |
zooms.realZoom();
|
|
85 |
} else
|
|
86 |
if (s.equals("layout-navigation-zoom-out-center")) {
|
|
87 |
zooms.zoomOut();
|
|
88 |
} else
|
|
89 |
if (s.equals("layout-navigation-zoom-in-center")) {
|
|
90 |
zooms.zoomIn();
|
|
91 |
} else
|
|
92 |
if (s.equals("layout-navigation-zoom-selected")) {
|
|
93 |
zooms.zoomSelect();
|
|
94 |
} else
|
|
95 |
if (s.equals("application-layout-template-save")) {
|
|
96 |
saveLayout();
|
|
97 |
}
|
|
75 |
} |
|
76 |
else if (s.equals("layout-navigation-zoom-in-topoint")) {
|
|
77 |
layout.getLayoutControl().setTool("layoutzoomin"); |
|
78 |
}
|
|
79 |
else if (s.equals("layout-navigation-zoom-out-topoint")) {
|
|
80 |
layout.getLayoutControl().setTool("layoutzoomout"); |
|
81 |
}
|
|
82 |
else if (s.equals("layout-navigation-zoom-all")) {
|
|
83 |
layout.getLayoutControl().fullRect(); |
|
84 |
}
|
|
85 |
else if (s.equals("layout-navigation-zoom-real")) {
|
|
86 |
zooms.realZoom(); |
|
87 |
}
|
|
88 |
else if (s.equals("layout-navigation-zoom-out-center")) {
|
|
89 |
zooms.zoomOut(); |
|
90 |
}
|
|
91 |
else if (s.equals("layout-navigation-zoom-in-center")) {
|
|
92 |
zooms.zoomIn(); |
|
93 |
}
|
|
94 |
else if (s.equals("layout-navigation-zoom-selected")) {
|
|
95 |
zooms.zoomSelect(); |
|
96 |
}
|
|
97 |
else if (s.equals("application-layout-template-save")) {
|
|
98 |
saveLayout(); |
|
99 |
} |
|
98 | 100 |
} |
99 | 101 |
|
100 | 102 |
private void saveLayout() { |
101 | 103 |
layout = (LayoutPanel) PluginServices.getMDIManager().getActiveWindow(); |
102 | 104 |
JFileChooser jfc = new JFileChooser(); |
103 |
jfc.addChoosableFileFilter(new GenericFileFilter( |
|
104 |
LayoutManager.TEMPLATE_FILE_POINTEXT, |
|
105 |
PluginServices.getText(this, "plantilla"))); |
|
105 |
GenericFileFilter layoutMainFilter = new GenericFileFilter( |
|
106 |
LayoutManager.TEMPLATE_FILE_POINTEXT, |
|
107 |
Messages.getText("_Layout_template") + " (*" |
|
108 |
+ LayoutManager.TEMPLATE_FILE_POINTEXT + ")"); |
|
109 |
jfc.addChoosableFileFilter(layoutMainFilter); |
|
110 |
jfc.setFileFilter(layoutMainFilter); |
|
106 | 111 |
|
107 | 112 |
if (jfc.showSaveDialog((Component) PluginServices.getMainFrame()) == JFileChooser.APPROVE_OPTION) { |
108 | 113 |
File file = jfc.getSelectedFile(); |
109 | 114 |
if (!(file.getPath().endsWith( |
110 |
LayoutManager.TEMPLATE_FILE_POINTEXT.toLowerCase()) |
|
111 |
|| file.getPath().endsWith( |
|
112 |
LayoutManager.TEMPLATE_FILE_POINTEXT))) { |
|
113 |
file = new File(file.getPath() + |
|
114 |
LayoutManager.TEMPLATE_FILE_POINTEXT); |
|
115 |
LayoutManager.TEMPLATE_FILE_POINTEXT.toLowerCase()) || file |
|
116 |
.getPath().endsWith(LayoutManager.TEMPLATE_FILE_POINTEXT))) { |
|
117 |
file = new File(file.getPath() |
|
118 |
+ LayoutManager.TEMPLATE_FILE_POINTEXT); |
|
115 | 119 |
} |
116 | 120 |
if (file.exists()) { |
117 |
int resp = |
|
118 |
JOptionPane.showConfirmDialog((Component) PluginServices
|
|
119 |
.getMainFrame(), PluginServices.getText(this,
|
|
120 |
"fichero_ya_existe_seguro_desea_guardarlo"), |
|
121 |
int resp = JOptionPane.showConfirmDialog(
|
|
122 |
(Component) PluginServices.getMainFrame(),
|
|
123 |
PluginServices.getText(this, |
|
124 |
"fichero_ya_existe_seguro_desea_guardarlo"),
|
|
121 | 125 |
PluginServices.getText(this, "guardar"), |
122 | 126 |
JOptionPane.YES_NO_OPTION); |
123 | 127 |
if (resp != JOptionPane.YES_OPTION) { |
... | ... | |
126 | 130 |
} |
127 | 131 |
|
128 | 132 |
try { |
129 |
FileOutputStream fos = |
|
130 |
new FileOutputStream(file.getAbsolutePath());
|
|
131 |
PersistenceManager persistenceManager = |
|
132 |
ToolsLocator.getPersistenceManager();
|
|
133 |
PersistentState persistentState = |
|
134 |
persistenceManager.getState(layout);
|
|
133 |
FileOutputStream fos = new FileOutputStream(
|
|
134 |
file.getAbsolutePath());
|
|
135 |
PersistenceManager persistenceManager = ToolsLocator
|
|
136 |
.getPersistenceManager();
|
|
137 |
PersistentState persistentState = persistenceManager
|
|
138 |
.getState(layout);
|
|
135 | 139 |
persistenceManager.saveState(persistentState, fos); |
136 |
} catch (Exception e) { |
|
140 |
} |
|
141 |
catch (Exception e) { |
|
137 | 142 |
NotificationManager.addError(PluginServices.getText(this, |
138 |
"Error_guardando_la_plantilla"), e); |
|
143 |
"Error_guardando_la_plantilla"), e);
|
|
139 | 144 |
} |
140 | 145 |
} |
141 | 146 |
} |
... | ... | |
160 | 165 |
* @see org.gvsig.andami.plugins.IExtension#initialize() |
161 | 166 |
*/ |
162 | 167 |
public void initialize() { |
163 |
registerPersistence();
|
|
168 |
registerPersistence();
|
|
164 | 169 |
registerIcons(); |
165 | 170 |
} |
166 | 171 |
|
... | ... | |
169 | 174 |
JavaTextFactory factory = new JavaTextFactory(); |
170 | 175 |
manager.registerFactory(factory); |
171 | 176 |
} |
172 |
|
|
177 |
|
|
173 | 178 |
private void registerIcons() { |
174 |
|
|
175 |
IconThemeHelper.registerIcon("action", "application-layout-template-save", this); |
|
176 |
|
|
177 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-in-center", this); |
|
178 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-out-center", this); |
|
179 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-in-topoint", this); |
|
180 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-out-topoint", this); |
|
181 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-all", this); |
|
182 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-real", this); |
|
183 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-selected", this); |
|
179 |
|
|
180 |
IconThemeHelper.registerIcon("action", |
|
181 |
"application-layout-template-save", this); |
|
182 |
|
|
183 |
IconThemeHelper.registerIcon("action", |
|
184 |
"layout-navigation-zoom-in-center", this); |
|
185 |
IconThemeHelper.registerIcon("action", |
|
186 |
"layout-navigation-zoom-out-center", this); |
|
187 |
IconThemeHelper.registerIcon("action", |
|
188 |
"layout-navigation-zoom-in-topoint", this); |
|
189 |
IconThemeHelper.registerIcon("action", |
|
190 |
"layout-navigation-zoom-out-topoint", this); |
|
191 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-all", |
|
192 |
this); |
|
193 |
IconThemeHelper.registerIcon("action", "layout-navigation-zoom-real", |
|
194 |
this); |
|
195 |
IconThemeHelper.registerIcon("action", |
|
196 |
"layout-navigation-zoom-selected", this); |
|
184 | 197 |
IconThemeHelper.registerIcon("action", "layout-navigation-pan", this); |
185 | 198 |
|
186 |
IconThemeHelper.registerIcon("action", "layout-view-navigation-zoom-in-topoint", this); |
|
187 |
IconThemeHelper.registerIcon("action", "layout-view-navigation-zoom-out-topoint", this); |
|
188 |
IconThemeHelper.registerIcon("action", "layout-view-navigation-zoom-all", this); |
|
189 |
IconThemeHelper.registerIcon("action", "layout-view-navigation-pan", this); |
|
199 |
IconThemeHelper.registerIcon("action", |
|
200 |
"layout-view-navigation-zoom-in-topoint", this); |
|
201 |
IconThemeHelper.registerIcon("action", |
|
202 |
"layout-view-navigation-zoom-out-topoint", this); |
|
203 |
IconThemeHelper.registerIcon("action", |
|
204 |
"layout-view-navigation-zoom-all", this); |
|
205 |
IconThemeHelper.registerIcon("action", "layout-view-navigation-pan", |
|
206 |
this); |
|
190 | 207 |
// ================================================ |
191 | 208 |
// Cursors |
192 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-navigation-zoom-in-topoint", this); |
|
193 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-navigation-zoom-out-topoint", this); |
|
194 |
IconThemeHelper.registerIcon("cursor", "cursor-selection-by-rectangle", this); |
|
209 |
IconThemeHelper.registerIcon("cursor", |
|
210 |
"cursor-layout-navigation-zoom-in-topoint", this); |
|
211 |
IconThemeHelper.registerIcon("cursor", |
|
212 |
"cursor-layout-navigation-zoom-out-topoint", this); |
|
213 |
IconThemeHelper.registerIcon("cursor", "cursor-selection-by-rectangle", |
|
214 |
this); |
|
195 | 215 |
IconThemeHelper.registerIcon("cursor", "cursor-selection-simple", this); |
196 |
IconThemeHelper.registerIcon("cursor", "cursor-selection-complex", this); |
|
197 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-graphic-edit-vertex", this); |
|
198 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-circle", this); |
|
199 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-polyline", this); |
|
200 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-point", this); |
|
201 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-polygon", this); |
|
202 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-rectangle", this); |
|
203 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-view-navigation-zoom-in-topoint", this); |
|
204 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-view-navigation-zoom-out-topoint", this); |
|
216 |
IconThemeHelper |
|
217 |
.registerIcon("cursor", "cursor-selection-complex", this); |
|
218 |
IconThemeHelper.registerIcon("cursor", |
|
219 |
"cursor-layout-graphic-edit-vertex", this); |
|
220 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-circle", |
|
221 |
this); |
|
222 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-polyline", |
|
223 |
this); |
|
224 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-point", |
|
225 |
this); |
|
226 |
IconThemeHelper.registerIcon("cursor", "cursor-layout-insert-polygon", |
|
227 |
this); |
|
228 |
IconThemeHelper.registerIcon("cursor", |
|
229 |
"cursor-layout-insert-rectangle", this); |
|
230 |
IconThemeHelper.registerIcon("cursor", |
|
231 |
"cursor-layout-view-navigation-zoom-in-topoint", this); |
|
232 |
IconThemeHelper.registerIcon("cursor", |
|
233 |
"cursor-layout-view-navigation-zoom-out-topoint", this); |
|
205 | 234 |
// End cursors |
206 | 235 |
// ================================================ |
207 | 236 |
|
208 | 237 |
IconThemeHelper.registerIcon("document", "document-map-icon", this); |
209 | 238 |
IconThemeHelper.registerIcon("document", "document-map-icon-sel", this); |
210 |
|
|
239 |
|
|
211 | 240 |
IconThemeHelper.registerIcon("layout", "neresize-icon", this); |
212 | 241 |
IconThemeHelper.registerIcon("layout", "eresize-icon", this); |
213 | 242 |
IconThemeHelper.registerIcon("layout", "nresize-icon", this); |
214 | 243 |
IconThemeHelper.registerIcon("layout", "graphic-move-icon", this); |
215 |
|
|
244 |
|
|
216 | 245 |
IconThemeHelper.registerIcon("layout", "sereresize-icon", this); |
217 | 246 |
IconThemeHelper.registerIcon("layout", "symboltag-icon", this); |
218 | 247 |
IconThemeHelper.registerIcon("layout", "numero-icon", this); |
Also available in: Unified diff