Revision 1737
trunk/org.gvsig.app.document.layout2.app/org.gvsig.app.document.layout2.app.mainplugin/src/main/java/org/gvsig/app/extension/LayoutExtension.java | ||
---|---|---|
24 | 24 |
import java.awt.BorderLayout; |
25 | 25 |
import java.awt.Component; |
26 | 26 |
import java.awt.event.ActionEvent; |
27 |
import java.awt.event.ActionListener; |
|
28 | 27 |
import java.io.File; |
29 | 28 |
import java.io.FileOutputStream; |
30 | 29 |
import javax.swing.ImageIcon; |
31 | 30 |
import javax.swing.JButton; |
32 |
|
|
33 | 31 |
import javax.swing.JFileChooser; |
34 | 32 |
import javax.swing.JOptionPane; |
35 | 33 |
import javax.swing.JPanel; |
36 | 34 |
import org.apache.commons.lang3.StringUtils; |
37 |
|
|
38 |
import org.slf4j.Logger; |
|
39 |
import org.slf4j.LoggerFactory; |
|
40 |
|
|
41 | 35 |
import org.gvsig.andami.IconThemeHelper; |
42 | 36 |
import org.gvsig.andami.PluginServices; |
43 | 37 |
import org.gvsig.andami.messages.NotificationManager; |
... | ... | |
56 | 50 |
import org.gvsig.app.project.documents.layout.report.LayoutReportActionFactory; |
57 | 51 |
import org.gvsig.filedialogchooser.FileDialogChooser; |
58 | 52 |
import org.gvsig.filedialogchooser.FileDialogChooserManager; |
59 |
import org.gvsig.i18n.Messages; |
|
60 | 53 |
import org.gvsig.tools.ToolsLocator; |
61 | 54 |
import org.gvsig.tools.i18n.I18nManager; |
62 | 55 |
import org.gvsig.tools.persistence.PersistenceManager; |
63 | 56 |
import org.gvsig.tools.persistence.PersistentState; |
64 | 57 |
import org.gvsig.tools.persistence.text.JavaTextFactory; |
65 | 58 |
import org.gvsig.tools.swing.api.ToolsSwingLocator; |
66 |
import org.gvsig.tools.swing.api.ToolsSwingUtils; |
|
67 | 59 |
import org.gvsig.tools.util.ToolsUtilLocator; |
68 | 60 |
import org.gvsig.utils.GenericFileFilter; |
61 |
import org.slf4j.Logger; |
|
62 |
import org.slf4j.LoggerFactory; |
|
69 | 63 |
|
70 | 64 |
/** |
71 | 65 |
* Extensi?n para controlar las operaciones basicas sobre el Layout. |
... | ... | |
82 | 76 |
/** |
83 | 77 |
* @see org.gvsig.andami.plugins.IExtension#execute(java.lang.String) |
84 | 78 |
*/ |
79 |
@Override |
|
85 | 80 |
public void execute(String s) { |
86 | 81 |
layout = (LayoutPanel) PluginServices.getMDIManager().getActiveWindow(); |
87 | 82 |
|
88 | 83 |
FLayoutZooms zooms = new FLayoutZooms(layout); |
89 | 84 |
logger.debug("Comand : " + s); |
90 | 85 |
|
91 |
if (s.equals("layout-navigation-pan")) { |
|
92 |
layout.getLayoutControl().setTool("layoutpan"); |
|
86 |
switch (s) { |
|
87 |
case "layout-navigation-pan": |
|
88 |
layout.getLayoutControl().setTool("layoutpan"); |
|
89 |
break; |
|
90 |
case "layout-navigation-zoom-in-topoint": |
|
91 |
layout.getLayoutControl().setTool("layoutzoomin"); |
|
92 |
break; |
|
93 |
case "layout-navigation-zoom-out-topoint": |
|
94 |
layout.getLayoutControl().setTool("layoutzoomout"); |
|
95 |
break; |
|
96 |
case "layout-navigation-zoom-all": |
|
97 |
layout.getLayoutControl().fullRect(); |
|
98 |
break; |
|
99 |
case "layout-navigation-zoom-real": |
|
100 |
zooms.realZoom(); |
|
101 |
break; |
|
102 |
case "layout-navigation-zoom-out-center": |
|
103 |
zooms.zoomOut(); |
|
104 |
break; |
|
105 |
case "layout-navigation-zoom-in-center": |
|
106 |
zooms.zoomIn(); |
|
107 |
break; |
|
108 |
case "layout-navigation-zoom-selected": |
|
109 |
zooms.zoomSelect(); |
|
110 |
break; |
|
111 |
case "application-layout-template-save": |
|
112 |
saveLayout(); |
|
113 |
break; |
|
114 |
default: |
|
115 |
break; |
|
93 | 116 |
} |
94 |
else if (s.equals("layout-navigation-zoom-in-topoint")) { |
|
95 |
layout.getLayoutControl().setTool("layoutzoomin"); |
|
96 |
} |
|
97 |
else if (s.equals("layout-navigation-zoom-out-topoint")) { |
|
98 |
layout.getLayoutControl().setTool("layoutzoomout"); |
|
99 |
} |
|
100 |
else if (s.equals("layout-navigation-zoom-all")) { |
|
101 |
layout.getLayoutControl().fullRect(); |
|
102 |
} |
|
103 |
else if (s.equals("layout-navigation-zoom-real")) { |
|
104 |
zooms.realZoom(); |
|
105 |
} |
|
106 |
else if (s.equals("layout-navigation-zoom-out-center")) { |
|
107 |
zooms.zoomOut(); |
|
108 |
} |
|
109 |
else if (s.equals("layout-navigation-zoom-in-center")) { |
|
110 |
zooms.zoomIn(); |
|
111 |
} |
|
112 |
else if (s.equals("layout-navigation-zoom-selected")) { |
|
113 |
zooms.zoomSelect(); |
|
114 |
} |
|
115 |
else if (s.equals("application-layout-template-save")) { |
|
116 |
saveLayout(); |
|
117 |
} |
|
118 | 117 |
} |
119 | 118 |
|
120 | 119 |
private void saveLayout() { |
... | ... | |
132 | 131 |
ApplicationManager application = ApplicationLocator.getApplicationManager(); |
133 | 132 |
PreferencesNode prefs = application.getPreferences("gvsig.foldering"); |
134 | 133 |
|
135 |
File folder = null; |
|
136 |
String path = prefs.get(TEMPLATES_FOLDER_PROPERTY_NAME, null); |
|
137 |
if(StringUtils.isNotBlank(path)){ |
|
138 |
folder = new File(path); |
|
139 |
} |
|
140 |
|
|
141 | 134 |
File projectfile = application.getCurrentProject().getFile(); |
142 | 135 |
if(projectfile != null) { |
143 | 136 |
JPanel accesory = new JPanel(); |
... | ... | |
147 | 140 |
|
148 | 141 |
goToProjectButton.setToolTipText(i18n.getTranslation("_Go_to_folder_project")); |
149 | 142 |
accesory.add(goToProjectButton, BorderLayout.NORTH); |
150 |
goToProjectButton.addActionListener(new ActionListener() { |
|
151 |
@Override |
|
152 |
public void actionPerformed(ActionEvent e) { |
|
153 |
fc.setCurrentDirectory(projectfile.getParentFile()); |
|
154 |
} |
|
143 |
goToProjectButton.addActionListener((ActionEvent e) -> { |
|
144 |
fc.setCurrentDirectory(projectfile.getParentFile()); |
|
155 | 145 |
}); |
156 | 146 |
fc.setAccessory(accesory); |
157 | 147 |
} |
158 |
if(folder == null) { |
|
159 |
// folder = fc.getLastPath(null); //TODO |
|
160 |
folder = manager.getLastPath("_Last_layout_template_folder", null); |
|
161 |
if(folder == null) { |
|
162 |
if(projectfile != null){ |
|
163 |
folder = projectfile.getParentFile(); |
|
164 |
} |
|
165 |
if (folder == null) { |
|
166 |
folder = ToolsLocator.getFoldersManager().getHome(); |
|
167 |
} |
|
148 |
|
|
149 |
File folder = null; |
|
150 |
folder = manager.getLastPath("_Last_layout_template_folder", null); |
|
151 |
if(folder == null) { |
|
152 |
if(projectfile != null){ |
|
153 |
folder = projectfile.getParentFile(); |
|
168 | 154 |
} |
169 |
} |
|
155 |
if (folder == null) { |
|
156 |
folder = ToolsLocator.getFoldersManager().getHome(); |
|
157 |
} |
|
158 |
} |
|
159 |
|
|
160 |
if (folder == null) { |
|
161 |
String path = prefs.get(TEMPLATES_FOLDER_PROPERTY_NAME, null); |
|
162 |
if (StringUtils.isNotBlank(path)) { |
|
163 |
folder = new File(path); |
|
164 |
} |
|
165 |
} |
|
170 | 166 |
|
171 | 167 |
|
172 | 168 |
if (fc.showSaveDialog((Component) PluginServices.getMainFrame(), folder) != JFileChooser.APPROVE_OPTION) { |
... | ... | |
211 | 207 |
/** |
212 | 208 |
* @see com.iver.mdiApp.plugins.IExtension#isVisible() |
213 | 209 |
*/ |
210 |
@Override |
|
214 | 211 |
public boolean isVisible() { |
215 | 212 |
IWindow f = PluginServices.getMDIManager().getActiveWindow(); |
216 | 213 |
|
... | ... | |
227 | 224 |
/** |
228 | 225 |
* @see org.gvsig.andami.plugins.IExtension#initialize() |
229 | 226 |
*/ |
227 |
@Override |
|
230 | 228 |
public void initialize() { |
231 | 229 |
registerPersistence(); |
232 | 230 |
registerIcons(); |
... | ... | |
348 | 346 |
/** |
349 | 347 |
* @see org.gvsig.andami.plugins.IExtension#isEnabled() |
350 | 348 |
*/ |
349 |
@Override |
|
351 | 350 |
public boolean isEnabled() { |
352 | 351 |
return true; |
353 | 352 |
} |
... | ... | |
361 | 360 |
return layout; |
362 | 361 |
} |
363 | 362 |
|
363 |
@Override |
|
364 | 364 |
public IPreference[] getPreferencesPages() { |
365 | 365 |
return new IPreference[] { new LayoutPage() }; |
366 | 366 |
} |
Also available in: Unified diff