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

View differences:

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