Revision 33639
branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/LayoutExtension.java | ||
---|---|---|
49 | 49 |
import java.awt.Component; |
50 | 50 |
import java.io.File; |
51 | 51 |
import java.io.FileOutputStream; |
52 |
import java.io.OutputStreamWriter; |
|
53 | 52 |
|
54 | 53 |
import javax.swing.JFileChooser; |
55 | 54 |
import javax.swing.JOptionPane; |
56 | 55 |
|
57 | 56 |
import org.slf4j.Logger; |
58 | 57 |
import org.slf4j.LoggerFactory; |
59 |
import org.exolab.castor.xml.Marshaller; |
|
58 |
|
|
60 | 59 |
import org.gvsig.andami.PluginServices; |
61 | 60 |
import org.gvsig.andami.messages.NotificationManager; |
62 | 61 |
import org.gvsig.andami.plugins.Extension; |
... | ... | |
65 | 64 |
import org.gvsig.andami.ui.mdiManager.IWindow; |
66 | 65 |
import org.gvsig.app.gui.preferencespage.LayoutPage; |
67 | 66 |
import org.gvsig.app.project.documents.layout.FLayoutZooms; |
68 |
import org.gvsig.app.project.documents.layout.fframes.FFrameBasicFactory; |
|
69 |
import org.gvsig.app.project.documents.layout.fframes.FFrameGraphicsFactory; |
|
70 |
import org.gvsig.app.project.documents.layout.fframes.FFrameGridFactory; |
|
71 |
import org.gvsig.app.project.documents.layout.fframes.FFrameGroupFactory; |
|
72 |
import org.gvsig.app.project.documents.layout.fframes.FFrameLegendFactory; |
|
73 |
import org.gvsig.app.project.documents.layout.fframes.FFrameNorthFactory; |
|
74 |
import org.gvsig.app.project.documents.layout.fframes.FFrameOverViewFactory; |
|
75 |
import org.gvsig.app.project.documents.layout.fframes.FFramePictureFactory; |
|
76 |
import org.gvsig.app.project.documents.layout.fframes.FFrameScaleBarFactory; |
|
77 |
import org.gvsig.app.project.documents.layout.fframes.FFrameSymbolFactory; |
|
78 |
import org.gvsig.app.project.documents.layout.fframes.FFrameTableFactory; |
|
79 |
import org.gvsig.app.project.documents.layout.fframes.FFrameTextFactory; |
|
80 |
import org.gvsig.app.project.documents.layout.fframes.FFrameViewFactory; |
|
81 | 67 |
import org.gvsig.app.project.documents.layout.gui.LayoutPanel; |
68 |
import org.gvsig.tools.ToolsLocator; |
|
69 |
import org.gvsig.tools.persistence.PersistenceManager; |
|
70 |
import org.gvsig.tools.persistence.PersistentState; |
|
82 | 71 |
import org.gvsig.utils.GenericFileFilter; |
83 |
import org.gvsig.utils.XMLEntity; |
|
84 | 72 |
|
85 | 73 |
|
86 | 74 |
|
... | ... | |
147 | 135 |
|
148 | 136 |
try { |
149 | 137 |
FileOutputStream fos = new FileOutputStream(file.getAbsolutePath()); |
150 |
OutputStreamWriter writer = new OutputStreamWriter(fos, ProjectExtension.PROJECTENCODING); |
|
151 |
Marshaller m = new Marshaller(writer); |
|
152 |
m.setEncoding(ProjectExtension.PROJECTENCODING); |
|
153 |
XMLEntity xml=layout.getXMLEntity(); |
|
154 |
xml.putProperty("followHeaderEncoding", true); |
|
155 |
m.marshal(xml.getXmlTag()); |
|
138 |
// OutputStreamWriter writer = new OutputStreamWriter(fos, ProjectExtension.PROJECTENCODING); |
|
139 |
// Marshaller m = new Marshaller(writer); |
|
140 |
// m.setEncoding(ProjectExtension.PROJECTENCODING); |
|
141 |
// XMLEntity xml=layout.getXMLEntity(); |
|
142 |
// xml.putProperty("followHeaderEncoding", true); |
|
143 |
// m.marshal(xml.getXmlTag()); |
|
144 |
|
|
145 |
PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager(); |
|
146 |
PersistentState persistentState = persistenceManager.getState(layout); |
|
147 |
persistenceManager.saveState(persistentState, fos); |
|
156 | 148 |
} catch (Exception e) { |
157 | 149 |
NotificationManager.addError(PluginServices.getText(this, "Error_guardando_la_plantilla"), e); |
158 | 150 |
} |
... | ... | |
177 | 169 |
/** |
178 | 170 |
* @see org.gvsig.andami.plugins.IExtension#initialize() |
179 | 171 |
*/ |
180 |
public void initialize() { |
|
181 |
registerFFrames(); |
|
172 |
public void initialize() { |
|
182 | 173 |
registerIcons(); |
183 | 174 |
} |
184 |
private void registerFFrames() { |
|
185 |
FFrameBasicFactory.register(); |
|
186 |
FFrameGraphicsFactory.register(); |
|
187 |
FFrameGroupFactory.register(); |
|
188 |
FFrameLegendFactory.register(); |
|
189 |
FFrameNorthFactory.register(); |
|
190 |
FFrameOverViewFactory.register(); |
|
191 |
FFramePictureFactory.register(); |
|
192 |
FFrameScaleBarFactory.register(); |
|
193 |
FFrameSymbolFactory.register(); |
|
194 |
FFrameTableFactory.register(); |
|
195 |
FFrameTextFactory.register(); |
|
196 |
FFrameViewFactory.register(); |
|
197 |
FFrameGridFactory.register(); |
|
198 |
} |
|
199 | 175 |
|
200 | 176 |
private void registerIcons(){ |
201 | 177 |
PluginServices.getIconTheme().registerDefault( |
branches/v2_0_0_prep/applications/appgvSIG/src/org/gvsig/app/extension/ProjectExtension.java | ||
---|---|---|
44 | 44 |
import java.io.File; |
45 | 45 |
import java.io.FileInputStream; |
46 | 46 |
import java.io.FileNotFoundException; |
47 |
import java.io.FileReader; |
|
48 |
import java.io.Reader; |
|
49 | 47 |
import java.util.ArrayList; |
50 | 48 |
import java.util.Iterator; |
51 | 49 |
import java.util.List; |
... | ... | |
53 | 51 |
|
54 | 52 |
import javax.swing.JOptionPane; |
55 | 53 |
|
56 |
import org.exolab.castor.xml.MarshalException; |
|
57 |
import org.exolab.castor.xml.ValidationException; |
|
58 | 54 |
import org.gvsig.andami.Launcher; |
59 |
import org.gvsig.andami.Launcher.TerminationProcess; |
|
60 | 55 |
import org.gvsig.andami.PluginServices; |
56 |
import org.gvsig.andami.Launcher.TerminationProcess; |
|
61 | 57 |
import org.gvsig.andami.messages.NotificationManager; |
62 | 58 |
import org.gvsig.andami.plugins.Extension; |
63 | 59 |
import org.gvsig.andami.plugins.IExtension; |
... | ... | |
69 | 65 |
import org.gvsig.andami.ui.wizard.UnsavedDataPanel; |
70 | 66 |
import org.gvsig.app.project.Project; |
71 | 67 |
import org.gvsig.app.project.ProjectManager; |
72 |
import org.gvsig.app.project.documents.exceptions.OpenException; |
|
73 | 68 |
import org.gvsig.app.project.documents.gui.ProjectWindow; |
74 | 69 |
import org.gvsig.app.project.documents.layout.LayoutDocument; |
75 | 70 |
import org.gvsig.app.project.documents.layout.LayoutManager; |
76 |
import org.gvsig.app.project.documents.layout.gui.DefaultLayoutPanel; |
|
77 | 71 |
import org.gvsig.app.project.documents.layout.gui.LayoutPanel; |
78 | 72 |
import org.gvsig.app.project.documents.table.TableManager; |
79 | 73 |
import org.gvsig.app.project.documents.view.ViewManager; |
80 | 74 |
import org.gvsig.gui.beans.swing.JFileChooser; |
81 | 75 |
import org.gvsig.tools.ToolsLocator; |
82 | 76 |
import org.gvsig.tools.extensionpoint.ExtensionPointManager; |
77 |
import org.gvsig.tools.persistence.PersistenceManager; |
|
78 |
import org.gvsig.tools.persistence.PersistentState; |
|
83 | 79 |
import org.gvsig.tools.persistence.exception.PersistenceException; |
84 | 80 |
import org.gvsig.utils.GenericFileFilter; |
85 |
import org.gvsig.utils.XMLEntity; |
|
86 | 81 |
import org.gvsig.utils.save.AfterSavingListener; |
87 | 82 |
import org.gvsig.utils.save.BeforeSavingListener; |
88 | 83 |
import org.gvsig.utils.save.SaveEvent; |
89 | 84 |
import org.gvsig.utils.swing.threads.IMonitorableTask; |
90 |
import org.gvsig.utils.xml.XMLEncodingUtils; |
|
91 |
import org.gvsig.utils.xmlEntity.generate.XmlTag; |
|
92 | 85 |
|
93 | 86 |
|
94 | 87 |
|
... | ... | |
395 | 388 |
try { |
396 | 389 |
File xmlFile = new File(file.getAbsolutePath()); |
397 | 390 |
FileInputStream is = new FileInputStream(xmlFile); |
398 |
Reader reader = XMLEncodingUtils.getReader(is); |
|
391 |
|
|
392 |
PersistenceManager persistenceManager = ToolsLocator.getPersistenceManager(); |
|
393 |
PersistentState persistentState = persistenceManager.loadState(is); |
|
394 |
layout = (LayoutPanel)persistenceManager.create(persistentState); |
|
399 | 395 |
|
400 |
XmlTag tag = (XmlTag) XmlTag.unmarshal(reader); |
|
401 |
try { |
|
402 |
XMLEntity xml=new XMLEntity(tag); |
|
403 |
if (xml.contains("followHeaderEncoding")) { |
|
404 |
layout = DefaultLayoutPanel.createLayout(xml,p); |
|
405 |
} |
|
406 |
else { |
|
407 |
reader = new FileReader(xmlFile); |
|
408 |
tag = (XmlTag) XmlTag.unmarshal(reader); |
|
409 |
xml=new XMLEntity(tag); |
|
410 |
layout = DefaultLayoutPanel.createLayout(xml,p); |
|
411 |
} |
|
412 |
|
|
413 |
} catch (OpenException e) { |
|
414 |
e.showError(); |
|
415 |
} |
|
416 |
//fPanelLegendManager.setRenderer(LegendFactory.createFromXML(new XMLEntity(tag))); |
|
417 | 396 |
} catch (FileNotFoundException e) { |
418 | 397 |
NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e); |
419 |
} catch (MarshalException e) { |
|
420 |
NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e); |
|
421 |
} catch (ValidationException e) { |
|
422 |
NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e); |
|
423 |
} |
|
398 |
} catch (PersistenceException e) { |
|
399 |
NotificationManager.addError(PluginServices.getText(this, "Al_leer_la_leyenda"), e); |
|
400 |
} |
|
401 |
|
|
424 | 402 |
LayoutDocument layoutDocument = (LayoutDocument) ProjectManager.getInstance().createDocument(LayoutManager.TYPENAME, file.getName()); |
425 | 403 |
p.add(layoutDocument); |
426 | 404 |
PluginServices.getMDIManager().addWindow(layout); |
Also available in: Unified diff