Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.plugin / org.gvsig.geodb.app / org.gvsig.geodb.app.mainplugin / src / main / java / org / gvsig / geodb / databaseworkspace / WorkspaceExtension.java @ 45635

History | View | Annotate | Download (2.47 KB)

1
package org.gvsig.geodb.databaseworkspace;
2

    
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
import org.apache.commons.lang3.StringUtils;
6
import org.gvsig.andami.IconThemeHelper;
7
import org.gvsig.andami.plugins.Extension;
8
import org.gvsig.tools.swing.api.ToolsSwingLocator;
9
import org.gvsig.tools.swing.api.windowmanager.Dialog;
10
import org.gvsig.tools.swing.api.windowmanager.WindowManager;
11
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
12

    
13
/**
14
 *
15
 * @author jjdelcerro
16
 */
17
public class WorkspaceExtension extends Extension {
18

    
19
    @Override
20
    public void initialize() {
21
        IconThemeHelper.registerIcon("action", "database-workspace-connect", this);
22
    }
23

    
24
    @Override
25
    public void execute(String actionCommand) {
26
        if( StringUtils.equalsIgnoreCase(actionCommand, "database-workspace-manage") ) {
27
            WindowManager winManager = ToolsSwingLocator.getWindowManager();
28
            WorkspaceConfigurationPanel panel = new WorkspaceConfigurationPanel();
29
            winManager.showWindow(
30
                    panel.asJComponent(), 
31
                    "Manage Dabatase workspace", 
32
                    WindowManager.MODE.WINDOW
33
            );
34
        } else if( StringUtils.equalsIgnoreCase(actionCommand, "database-workspace-connect") ) {
35
            WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
36
            final ConnectToDatabaseWorkspacePanel panel = new ConnectToDatabaseWorkspacePanel();
37
            final Dialog dialog = winManager.createDialog(
38
                    panel.asJComponent(),
39
                    "Connect",
40
                    "Connect to database workspapce", 
41
                    WindowManager_v2.BUTTONS_APPLY_OK_CANCEL
42
            );
43
            panel.setDialog(dialog);
44
            dialog.setButtonLabel(WindowManager_v2.BUTTON_OK, "Connect");
45
            dialog.setButtonLabel(WindowManager_v2.BUTTON_APPLY, "Disonnect");
46
            dialog.addActionListener((ActionEvent e) -> {
47
              switch( dialog.getAction() ) {
48
                case WindowManager_v2.BUTTON_OK:
49
                  panel.connect();
50
                  break;
51
                case WindowManager_v2.BUTTON_APPLY:
52
                  panel.disconnect();
53
                  break;
54
              }
55
            });
56
            dialog.show(WindowManager.MODE.WINDOW);
57
        }
58
    }
59

    
60
    @Override
61
    public boolean isEnabled() {
62
        return true;
63
    }
64

    
65
    @Override
66
    public boolean isVisible() {
67
        return true;
68
    }
69
    
70
}