Revision 2943

View differences:

org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.topology.swing.api.TopologySwingLibrary
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/JTopologyPlanProperties.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.topology.swing.api;
25

  
26
import org.gvsig.tools.swing.api.Component;
27
import org.gvsig.topology.lib.api.TopologyPlan;
28

  
29
/**
30
 *
31
 * @author jjdelcerro
32
 */
33
public interface JTopologyPlanProperties extends Component {
34
    
35
    public void put(TopologyPlan plan);
36
    
37
    public TopologyPlan fetch(TopologyPlan plan);
38
    
39
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/TopologySwingManager.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.topology.swing.api;
25

  
26
import org.gvsig.topology.lib.api.TopologyPlan;
27

  
28
/**
29
 *
30
 * @author jjdelcerro
31
 */
32
public interface TopologySwingManager {
33
    
34
    public void setDefaultServices(TopologySwingServices services);
35

  
36
    public TopologySwingServices getDefaultServices();
37
    
38
    public JTopologyPlanProperties createJTopologyPlan();
39
    
40
    public JTopologyReport createJTopologyReport(TopologyPlan plan);
41
    
42
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/JTopologyReport.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.topology.swing.api;
25

  
26
import org.gvsig.tools.swing.api.Component;
27
import org.gvsig.topology.lib.api.TopologyPlan;
28

  
29
/**
30
 *
31
 * @author jjdelcerro
32
 */
33
public interface JTopologyReport extends Component {
34

  
35
    public void put(TopologyPlan plan);
36
    
37
    
38
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/TopologySwingLocator.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.topology.swing.api;
25

  
26
import org.gvsig.tools.locator.AbstractLocator;
27
import org.gvsig.tools.locator.Locator;
28
import org.gvsig.tools.locator.LocatorException;
29

  
30
@SuppressWarnings("rawtypes")
31
public class TopologySwingLocator extends AbstractLocator {
32

  
33
	private static final String LOCATOR_NAME = "TopologySwingLocator";
34
	
35
	public static final String TOPOLOGY_SWING_MANAGER_NAME =
36
			"org.gvsig.topology.swing.manager";
37

  
38
	private static final String TOPOLOGY_SWING_MANAGER_DESCRIPTION =
39
			"Topology Swing Manager of gvSIG";
40
	
41
	private static final TopologySwingLocator instance = new TopologySwingLocator();
42

  
43
	private TopologySwingLocator() {
44

  
45
	}
46

  
47
	/**
48
	 * Return the singleton instance.
49
	 * 
50
	 * @return the singleton instance
51
	 */
52
	public static TopologySwingLocator getInstance() {
53
		return instance;
54
	}
55

  
56
        @Override
57
	public String getLocatorName() {
58
		return LOCATOR_NAME;
59
	}
60

  
61
	/**
62
	 * Return a reference to TopologyManager.
63
	 * 
64
	 * @return a reference to TopologyManager
65
	 * @throws LocatorException
66
	 *             if there is no access to the class or the class cannot be
67
	 *             instantiated
68
	 * @see Locator#get(String)
69
	 */
70
	public static TopologySwingManager getTopologySwingManager()
71
			throws LocatorException {
72
		return (TopologySwingManager) getInstance().get(TOPOLOGY_SWING_MANAGER_NAME);
73
	}
74

  
75
	/**
76
	 * Registers the Class implementing the TopologyManager interface.
77
	 * 
78
	 * @param clazz
79
	 *            implementing the TopologyManager interface
80
	 */
81
	public static void registerTopologySwingManager(Class clazz) {
82
		getInstance().register(TOPOLOGY_SWING_MANAGER_NAME,
83
				TOPOLOGY_SWING_MANAGER_DESCRIPTION, clazz);
84
	}
85

  
86
	public static void registerDefaultTopologySwingManager(Class clazz) {
87
		getInstance().registerDefault(TOPOLOGY_SWING_MANAGER_NAME,
88
				TOPOLOGY_SWING_MANAGER_DESCRIPTION, clazz);
89
	}
90

  
91

  
92
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/TopologySwingServices.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.topology.swing.api;
25

  
26
import javax.swing.ImageIcon;
27
import javax.swing.ListModel;
28
import javax.swing.tree.TreeModel;
29
import javax.swing.tree.TreePath;
30
import org.gvsig.fmap.geom.Geometry;
31
import org.gvsig.fmap.geom.primitive.Envelope;
32
import org.gvsig.fmap.geom.primitive.Point;
33
import org.gvsig.topology.lib.api.TopologyServices;
34

  
35
/**
36
 *
37
 * @author jjdelcerro
38
 */
39
public interface TopologySwingServices extends TopologyServices {
40

  
41
    public ListModel getTablesListModel();
42

  
43
    public interface WorkingAreaChangedListener {
44

  
45
        public void workingAreaChanged(Envelope workingArea);
46
    }
47

  
48
    public TreeModel getDataSetTreeModel();
49

  
50
    public void zoomTo(Envelope envelope);
51

  
52
    public void centerTo(Point point);
53

  
54
    public Envelope getWorkingArea();
55

  
56
    public void addWorkingAreaChangedListener(WorkingAreaChangedListener listener);
57

  
58
    public void removeWorkingAreaChangedListener(WorkingAreaChangedListener listener);
59

  
60
    public void refreshView();
61
    
62
    public void addError(Geometry geom);
63
    
64
    public void setShowFormWhenEdit(boolean showFormWhenEdit);
65
    
66
    public ImageIcon getTreeIcon(TreeModel model, Object item);
67
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/src/main/java/org/gvsig/topology/swing/api/TopologySwingLibrary.java
1
/**
2
 * gvSIG. Desktop Geographic Information System.
3
 *
4
 * Copyright (C) 2007-2013 gvSIG Association.
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 3
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 * For any additional information, do not hesitate to contact us
22
 * at info AT gvsig.com, or visit our website www.gvsig.com.
23
 */
24
package org.gvsig.topology.swing.api;
25

  
26
import org.gvsig.tools.ToolsLibrary;
27
import org.gvsig.tools.library.AbstractLibrary;
28
import org.gvsig.tools.library.LibraryException;
29
import org.gvsig.topology.lib.api.TopologyLibrary;
30

  
31
/**
32
 *
33
 * @author jjdelcerro
34
 */
35
public class TopologySwingLibrary extends AbstractLibrary {
36

  
37
    @Override
38
    public void doRegistration() {
39
        super.doRegistration();
40
        registerAsAPI(TopologySwingLibrary.class);
41
        this.require(ToolsLibrary.class);
42
        this.require(TopologyLibrary.class);
43
    }
44

  
45
    @Override
46
    protected void doInitialize() throws LibraryException {
47
    }
48

  
49
    @Override
50
    protected void doPostInitialize() throws LibraryException {
51
    }
52

  
53
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.api/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
  <modelVersion>4.0.0</modelVersion>
3
  <parent>
4
    <groupId>org.gvsig</groupId>
5
    <artifactId>org.gvsig.topology.swing</artifactId>
6
    <version>1.0.48</version>
7
  </parent>
8
  <artifactId>org.gvsig.topology.swing.api</artifactId>
9
  <name>${project.artifactId}</name>
10
  <dependencies>
11
    <dependency>
12
      <groupId>org.gvsig</groupId>
13
      <artifactId>org.gvsig.topology.lib.api</artifactId>
14
    </dependency>
15
    <dependency>
16
      <groupId>org.gvsig</groupId>
17
      <artifactId>org.gvsig.tools.swing.api</artifactId>
18
    </dependency>
19
  </dependencies>
20
</project>
0 21

  
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/pom.xml
1
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
2
    <modelVersion>4.0.0</modelVersion>
3
    <parent>
4
        <groupId>org.gvsig</groupId>
5
        <artifactId>org.gvsig.topology.swing</artifactId>
6
        <version>1.0.48</version>
7
    </parent>
8
    <artifactId>org.gvsig.topology.swing.impl</artifactId>
9
    <name>${project.artifactId}</name>
10
    <dependencies>
11
        <dependency>
12
            <groupId>org.gvsig</groupId>
13
            <artifactId>org.gvsig.topology.lib.api</artifactId>
14
            <scope>compile</scope>
15
        </dependency>
16
        <dependency>
17
            <groupId>org.gvsig</groupId>
18
            <artifactId>org.gvsig.topology.swing.api</artifactId>
19
            <scope>compile</scope>
20
        </dependency>
21
        <dependency>
22
            <groupId>com.jeta</groupId>
23
            <artifactId>formsrt</artifactId>
24
            <scope>compile</scope>
25
        </dependency>
26
        <dependency>
27
            <groupId>com.jgoodies</groupId>
28
            <artifactId>jgoodies-forms</artifactId>
29
            <scope>compile</scope>
30
        </dependency>
31
        <dependency>
32
            <groupId>org.gvsig</groupId>
33
            <artifactId>org.gvsig.tools.dynform.api</artifactId>
34
            <scope>compile</scope>
35
        </dependency>
36
        <dependency>
37
            <groupId>org.gvsig</groupId>
38
            <artifactId>org.gvsig.fmap.dal.swing.api</artifactId>
39
            <scope>compile</scope>
40
        </dependency>
41
    </dependencies>
42
</project>
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/org/gvsig/topology/swing/impl/images/.directory
1
[Dolphin]
2
PreviewsShown=true
3
Timestamp=2019,1,14,12,10,24
4
Version=4
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/resources/META-INF/services/org.gvsig.tools.library.Library
1
org.gvsig.topology.swing.impl.TopologySwingImplLibrary
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultJTopologyPlanProperties.java
1
package org.gvsig.topology.swing.impl;
2

  
3
import java.awt.Dimension;
4
import java.awt.event.ActionEvent;
5
import java.awt.event.ActionListener;
6
import java.net.URL;
7
import java.util.List;
8
import javax.swing.DefaultListModel;
9
import javax.swing.ImageIcon;
10
import javax.swing.JComponent;
11
import javax.swing.event.ListSelectionEvent;
12
import javax.swing.event.ListSelectionListener;
13
import org.apache.commons.io.FilenameUtils;
14
import org.gvsig.tools.ToolsLocator;
15
import org.gvsig.tools.i18n.I18nManager;
16
import org.gvsig.tools.swing.api.ListElement;
17
import org.gvsig.tools.swing.api.ToolsSwingLocator;
18
import org.gvsig.tools.swing.api.ToolsSwingManager;
19
import org.gvsig.tools.swing.api.windowmanager.Dialog;
20
import org.gvsig.tools.swing.api.windowmanager.WindowManager_v2;
21
import org.gvsig.tools.swing.icontheme.IconTheme;
22
import org.gvsig.topology.lib.api.TopologyDataSet;
23
import org.gvsig.topology.lib.api.TopologyLocator;
24
import org.gvsig.topology.lib.api.TopologyPlan;
25
import org.gvsig.topology.lib.api.TopologyRule;
26
import org.gvsig.topology.swing.api.JTopologyPlanProperties;
27

  
28
/**
29
 *
30
 * @author jjdelcerro
31
 */
32
public class DefaultJTopologyPlanProperties
33
        extends DefaultJTopologyPlanPropertiesView
34
        implements JTopologyPlanProperties {
35

  
36
    private TopologyPlan plan;
37

  
38
    public DefaultJTopologyPlanProperties() {
39
        this.plan = TopologyLocator.getTopologyManager().createTopologyPlan();
40

  
41
        this.initComponents();
42
    }
43

  
44
    private void initComponents() {
45
        this.translate();
46
        
47
        this.btnAddDataSet.addActionListener(new ActionListener() {
48
            @Override
49
            public void actionPerformed(ActionEvent e) {
50
                performAddDataSet();
51
            }
52
        });
53
        this.btnRemoveDataSet.addActionListener(new ActionListener() {
54
            @Override
55
            public void actionPerformed(ActionEvent e) {
56
                performRemoveDataSet();
57
            }
58
        });
59
        this.btnAddRule.addActionListener(new ActionListener() {
60
            @Override
61
            public void actionPerformed(ActionEvent e) {
62
                performAddRule();
63
            }
64
        });
65
        this.btnRemoveRule.addActionListener(new ActionListener() {
66
            @Override
67
            public void actionPerformed(ActionEvent e) {
68
                performRemoveRule();
69
            }
70
        });
71
        this.lstDataSets.setModel(new DefaultListModel());
72
        this.lstDataSets.addListSelectionListener(new ListSelectionListener() {
73
            @Override
74
            public void valueChanged(ListSelectionEvent e) {
75
                performDataSetSelected();
76
            }
77
        });
78
        this.lstRules.setModel(new DefaultListModel());
79
        this.lstRules.addListSelectionListener(new ListSelectionListener() {
80
            @Override
81
            public void valueChanged(ListSelectionEvent e) {
82
                performRuleSelected();
83
            }
84
        });
85
        this.setPreferredSize(new Dimension(450, 300));
86
    }
87

  
88
    @Override
89
    public ImageIcon loadImage(String imageName) {
90
        String name = FilenameUtils.getBaseName(imageName);
91
        IconTheme theme = ToolsSwingLocator.getIconThemeManager().getDefault();
92
        if (theme.exists(name)) {
93
            return theme.get(name);
94
        }
95
        URL url = this.getClass().getResource("/"+imageName);
96
        if (url == null) {
97
            return null;
98
        }
99
        return new ImageIcon(url);
100
    }
101
    
102
    private void translate() {
103
        ToolsSwingManager tsm = ToolsSwingLocator.getToolsSwingManager();
104
        tsm.translate(this.btnAddRule);
105
        tsm.translate(this.btnRemoveRule);
106
        tsm.translate(this.btnAddDataSet);
107
        tsm.translate(this.btnRemoveDataSet);
108
        tsm.translate(this.lblName);
109
        tsm.translate(this.tabPanel);
110
        tsm.translate(this.lblTolerance);
111
    }
112
    
113
    public void performDataSetSelected() {
114
        if( lstDataSets.getValueIsAdjusting()  ) {
115
            return;
116
        }
117
        btnRemoveDataSet.setEnabled(!lstDataSets.isSelectionEmpty());
118
    }
119
    
120
    public void performRuleSelected() {
121
        if( lstRules.getValueIsAdjusting()  ) {
122
            return;
123
        }
124
        btnRemoveRule.setEnabled(!lstRules.isSelectionEmpty());
125
    }
126

  
127
    @Override
128
    public void put(TopologyPlan thePlan) {
129
        this.plan = TopologyLocator.getTopologyManager().createTopologyPlan();
130
        this.plan.setName(thePlan.getName());
131
        this.plan.setTolerance(thePlan.getTolerance());
132
        for (TopologyDataSet dataSet : thePlan.getDataSets()) {
133
            this.plan.addDataSet(dataSet);
134
        }
135
        for (TopologyRule rule : thePlan.getRules()) {
136
            this.plan.addRule(rule);
137
        }
138
        
139
        this.txtName.setText(this.plan.getName());
140
        this.txtTolerance.setText(String.valueOf(this.plan.getTolerance()));
141
        this.lstDataSets.removeAll();
142
        DefaultListModel<TopologyDataSet> modelDataSets = new DefaultListModel<>();
143
        for (TopologyDataSet dataSet : thePlan.getDataSets()) {
144
            modelDataSets.addElement(dataSet);
145
        }
146
        this.lstDataSets.setModel(modelDataSets);
147

  
148
        this.lstRules.removeAll();
149
        DefaultListModel<ListElement<TopologyRule>> modelRules = new DefaultListModel<>();
150
        for (TopologyRule rule : thePlan.getRules()) {
151
            modelRules.addElement(new ListElement<>(
152
                    rule.getName() + " ["+rule.getDataSet1().getName()+"]",
153
                    rule
154
                )
155
            );
156
        }
157
        this.lstRules.setModel(modelRules);
158
    }
159

  
160
    @Override
161
    public TopologyPlan fetch(TopologyPlan thePlan) {
162
        if( thePlan == null ) {
163
            thePlan = TopologyLocator.getTopologyManager().createTopologyPlan();
164
        } else {
165
            thePlan.clear();
166
        }
167
        thePlan.setName(thePlan.getName());
168
        for (TopologyDataSet dataSet : this.plan.getDataSets()) {
169
            thePlan.addDataSet(dataSet);
170
        }
171
        for (TopologyRule rule : this.plan.getRules()) {
172
            thePlan.addRule(rule);
173
        }
174
        return thePlan;
175
    }
176

  
177
    @Override
178
    public JComponent asJComponent() {
179
        return this;
180
    }
181

  
182
    private void performAddDataSet() {
183
        I18nManager i18n = ToolsLocator.getI18nManager();
184
        WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
185
        SelectDataSetDialog panel = new SelectDataSetDialog();
186
        Dialog dlg = winManager.createDialog(
187
                panel,
188
                i18n.getTranslation("_Select_a_dataset"),
189
                null, 
190
                WindowManager_v2.BUTTONS_OK_CANCEL
191
        );
192
        panel.setDialog(dlg);
193
        dlg.show(WindowManager_v2.MODE.DIALOG);
194
        if( dlg.getAction()==WindowManager_v2.BUTTON_OK) {
195
            List<TopologyDataSet> dataSets = panel.getDataSets();
196
            if( dataSets != null ) {
197
                for (TopologyDataSet dataSet : dataSets) {
198
                    this.plan.addDataSet(dataSet);
199
                    DefaultListModel model = (DefaultListModel) this.lstDataSets.getModel();
200
                    model.addElement(dataSet);
201
                }
202
            }
203
        }
204
    }
205

  
206
    private void performRemoveDataSet() {
207
        if( lstDataSets.getValueIsAdjusting()  ) {
208
            return;
209
        }
210
        if( lstDataSets.isSelectionEmpty() ) {
211
            return;
212
        }
213
        int index = lstRules.getSelectedIndex();
214
        TopologyDataSet dataSet = (TopologyDataSet) lstDataSets.getSelectedValue();
215
        this.plan.removeDataSet(dataSet);
216
        ((DefaultListModel)(lstRules.getModel())).remove(index);
217
    }
218

  
219
    private void performAddRule() {
220
        I18nManager i18n = ToolsLocator.getI18nManager();
221
        WindowManager_v2 winManager = (WindowManager_v2) ToolsSwingLocator.getWindowManager();
222
        CreateRuleDialog panel = new CreateRuleDialog(this.plan);
223
        Dialog dlg = winManager.createDialog(
224
                panel,
225
                i18n.getTranslation("_Add_new_rule"),
226
                null, 
227
                WindowManager_v2.BUTTONS_OK_CANCEL
228
        );
229
        panel.setDialog(dlg);
230
        dlg.show(WindowManager_v2.MODE.DIALOG);
231
        if( dlg.getAction()==WindowManager_v2.BUTTON_OK) {
232
            TopologyRule rule = panel.getRule();
233
            if( rule != null ) {
234
                this.plan.addRule(rule);
235
                DefaultListModel model = (DefaultListModel) this.lstRules.getModel();
236
                model.addElement(new ListElement(
237
                        rule.getName() + " ["+rule.getDataSet1().getName()+"]",
238
                        rule
239
                    )
240
                );
241
            }
242
        }
243
    }
244

  
245
    private void performRemoveRule() {
246
        if( lstRules.getValueIsAdjusting()  ) {
247
            return;
248
        }
249
        if( lstRules.isSelectionEmpty() ) {
250
            return;
251
        }
252
        int index = lstRules.getSelectedIndex();
253
        TopologyRule rule = (TopologyRule) ListElement.getSelected(lstRules);
254
        this.plan.removeRule(rule);
255
        ((DefaultListModel)(lstRules.getModel())).remove(index);
256
    }
257

  
258
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/DefaultTopologySwingManager.java
1

  
2
package org.gvsig.topology.swing.impl;
3

  
4
import org.gvsig.topology.lib.api.TopologyPlan;
5
import org.gvsig.topology.swing.api.JTopologyPlanProperties;
6
import org.gvsig.topology.swing.api.JTopologyReport;
7
import org.gvsig.topology.swing.api.TopologySwingManager;
8
import org.gvsig.topology.swing.api.TopologySwingServices;
9

  
10
/**
11
 *
12
 * @author jjdelcerro
13
 */
14
public class DefaultTopologySwingManager implements TopologySwingManager {
15

  
16
    private TopologySwingServices services;
17

  
18
    @Override
19
    public JTopologyPlanProperties createJTopologyPlan() {
20
        DefaultJTopologyPlanProperties x = new DefaultJTopologyPlanProperties();
21
        return x;
22
    }
23

  
24
    @Override
25
    public JTopologyReport createJTopologyReport(TopologyPlan plan) {
26
        DefaultJTopologyReport x = new DefaultJTopologyReport(plan);
27
        return x;
28
    }
29

  
30
    @Override
31
    public void setDefaultServices(TopologySwingServices services) {
32
        this.services = services;
33
    }
34

  
35
    @Override
36
    public TopologySwingServices getDefaultServices() {
37
        return this.services;
38
    }
39
    
40
}
org.gvsig.topology/tags/org.gvsig.topology-1.0.48/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/CreateRuleDialogView.xml
1
<?xml version="1.0" encoding="UTF-8"?>
2

  
3
<object classname="com.jeta.forms.store.memento.FormPackage">
4
 <at name="fileversion">
5
  <object classname="com.jeta.forms.store.memento.FormsVersion2">
6
   <at name="major">2</at>
7
   <at name="minor">0</at>
8
   <at name="sub">0</at>
9
  </object>
10
 </at>
11
 <at name="form">
12
  <object classname="com.jeta.forms.store.memento.FormMemento">
13
   <super classname="com.jeta.forms.store.memento.ComponentMemento">
14
    <at name="cellconstraints">
15
     <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
16
      <at name="column">1</at>
17
      <at name="row">1</at>
18
      <at name="colspan">1</at>
19
      <at name="rowspan">1</at>
20
      <at name="halign">default</at>
21
      <at name="valign">default</at>
22
      <at name="insets" object="insets">0,0,0,0</at>
23
     </object>
24
    </at>
25
    <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
26
   </super>
27
   <at name="id">/home/jovivas/datos/devel/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/CreateRuleDialogView.xml</at>
28
   <at name="path">datos/devel/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/CreateRuleDialogView.xml</at>
29
   <at name="rowspecs">CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0)</at>
30
   <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(0.5),FILL:4DLU:NONE,FILL:4DLU:NONE</at>
31
   <at name="components">
32
    <object classname="java.util.LinkedList">
33
     <item >
34
      <at name="value">
35
       <object classname="com.jeta.forms.store.memento.BeanMemento">
36
        <super classname="com.jeta.forms.store.memento.ComponentMemento">
37
         <at name="cellconstraints">
38
          <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
39
           <at name="column">2</at>
40
           <at name="row">2</at>
41
           <at name="colspan">1</at>
42
           <at name="rowspan">1</at>
43
           <at name="halign">default</at>
44
           <at name="valign">default</at>
45
           <at name="insets" object="insets">0,0,0,0</at>
46
          </object>
47
         </at>
48
         <at name="componentclass">com.jeta.forms.gui.form.FormContainerComponent</at>
49
        </super>
50
        <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
51
        <at name="beanclass">javax.swing.JTabbedPane</at>
52
        <at name="beanproperties">
53
         <object classname="com.jeta.forms.store.memento.PropertiesMemento">
54
          <at name="classname">javax.swing.JTabbedPane</at>
55
          <at name="properties">
56
           <object classname="com.jeta.forms.store.support.PropertyMap">
57
            <at name="border">
58
             <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
59
              <super classname="com.jeta.forms.store.properties.BorderProperty">
60
               <at name="name">border</at>
61
              </super>
62
              <at name="borders">
63
               <object classname="java.util.LinkedList">
64
                <item >
65
                 <at name="value">
66
                  <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
67
                   <super classname="com.jeta.forms.store.properties.BorderProperty">
68
                    <at name="name">border</at>
69
                   </super>
70
                  </object>
71
                 </at>
72
                </item>
73
               </object>
74
              </at>
75
             </object>
76
            </at>
77
            <at name="componentCount">2</at>
78
            <at name="name">tabCreateRulePanel</at>
79
            <at name="tabs">
80
             <object classname="com.jeta.forms.store.properties.TabbedPaneProperties">
81
              <at name="name">tabs</at>
82
              <at name="items">
83
               <object classname="java.util.LinkedList">
84
                <item >
85
                 <at name="value">
86
                  <object classname="com.jeta.forms.store.properties.TabProperty">
87
                   <at name="name">tab</at>
88
                   <at name="title">General</at>
89
                   <at name="icon">
90
                    <object classname="com.jeta.forms.store.properties.IconProperty">
91
                     <at name="embedded">false</at>
92
                     <at name="width">0</at>
93
                     <at name="height">0</at>
94
                    </object>
95
                   </at>
96
                   <at name="form">
97
                    <object classname="com.jeta.forms.store.memento.FormMemento">
98
                     <super classname="com.jeta.forms.store.memento.ComponentMemento">
99
                      <at name="cellconstraints">
100
                       <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
101
                        <at name="column">1</at>
102
                        <at name="row">1</at>
103
                        <at name="colspan">1</at>
104
                        <at name="rowspan">1</at>
105
                        <at name="halign">default</at>
106
                        <at name="valign">default</at>
107
                        <at name="insets" object="insets">0,0,0,0</at>
108
                       </object>
109
                      </at>
110
                      <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
111
                     </super>
112
                     <at name="id">embedded.1742605411</at>
113
                     <at name="rowspecs">CENTER:2DLU:NONE,FILL:DEFAULT:GROW(1.0),CENTER:2DLU:NONE</at>
114
                     <at name="colspecs">FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE,FILL:DEFAULT:GROW(1.0),FILL:4DLU:NONE</at>
115
                     <at name="components">
116
                      <object classname="java.util.LinkedList">
117
                       <item >
118
                        <at name="value">
119
                         <object classname="com.jeta.forms.store.memento.FormMemento">
120
                          <super classname="com.jeta.forms.store.memento.ComponentMemento">
121
                           <at name="cellconstraints">
122
                            <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
123
                             <at name="column">2</at>
124
                             <at name="row">2</at>
125
                             <at name="colspan">1</at>
126
                             <at name="rowspan">1</at>
127
                             <at name="halign">default</at>
128
                             <at name="valign">default</at>
129
                             <at name="insets" object="insets">0,0,0,0</at>
130
                            </object>
131
                           </at>
132
                           <at name="componentclass">com.jeta.forms.gui.form.FormComponent</at>
133
                          </super>
134
                          <at name="id">embedded.1218615117</at>
135
                          <at name="rowspecs">CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:2DLU:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE,CENTER:DEFAULT:NONE</at>
136
                          <at name="colspecs">FILL:DEFAULT:GROW(1.0)</at>
137
                          <at name="components">
138
                           <object classname="java.util.LinkedList">
139
                            <item >
140
                             <at name="value">
141
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
142
                               <super classname="com.jeta.forms.store.memento.ComponentMemento">
143
                                <at name="cellconstraints">
144
                                 <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
145
                                  <at name="column">1</at>
146
                                  <at name="row">11</at>
147
                                  <at name="colspan">1</at>
148
                                  <at name="rowspan">1</at>
149
                                  <at name="halign">default</at>
150
                                  <at name="valign">default</at>
151
                                  <at name="insets" object="insets">0,0,0,0</at>
152
                                 </object>
153
                                </at>
154
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
155
                               </super>
156
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
157
                               <at name="beanclass">javax.swing.JComboBox</at>
158
                               <at name="beanproperties">
159
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
160
                                 <at name="classname">javax.swing.JComboBox</at>
161
                                 <at name="properties">
162
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
163
                                   <at name="border">
164
                                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
165
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
166
                                      <at name="name">border</at>
167
                                     </super>
168
                                     <at name="borders">
169
                                      <object classname="java.util.LinkedList">
170
                                       <item >
171
                                        <at name="value">
172
                                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
173
                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
174
                                           <at name="name">border</at>
175
                                          </super>
176
                                         </object>
177
                                        </at>
178
                                       </item>
179
                                      </object>
180
                                     </at>
181
                                    </object>
182
                                   </at>
183
                                   <at name="name">cboDataSet2</at>
184
                                   <at name="width">393</at>
185
                                   <at name="items">
186
                                    <object classname="com.jeta.forms.store.properties.ItemsProperty">
187
                                     <at name="name">items</at>
188
                                    </object>
189
                                   </at>
190
                                   <at name="enabled">false</at>
191
                                   <at name="height">20</at>
192
                                  </object>
193
                                 </at>
194
                                </object>
195
                               </at>
196
                              </object>
197
                             </at>
198
                            </item>
199
                            <item >
200
                             <at name="value">
201
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
202
                               <super classname="com.jeta.forms.store.memento.ComponentMemento">
203
                                <at name="cellconstraints">
204
                                 <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
205
                                  <at name="column">1</at>
206
                                  <at name="row">9</at>
207
                                  <at name="colspan">1</at>
208
                                  <at name="rowspan">1</at>
209
                                  <at name="halign">default</at>
210
                                  <at name="valign">default</at>
211
                                  <at name="insets" object="insets">0,0,0,0</at>
212
                                 </object>
213
                                </at>
214
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
215
                               </super>
216
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
217
                               <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
218
                               <at name="beanproperties">
219
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
220
                                 <at name="classname">com.jeta.forms.components.label.JETALabel</at>
221
                                 <at name="properties">
222
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
223
                                   <at name="border">
224
                                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
225
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
226
                                      <at name="name">border</at>
227
                                     </super>
228
                                     <at name="borders">
229
                                      <object classname="java.util.LinkedList">
230
                                       <item >
231
                                        <at name="value">
232
                                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
233
                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
234
                                           <at name="name">border</at>
235
                                          </super>
236
                                         </object>
237
                                        </at>
238
                                       </item>
239
                                      </object>
240
                                     </at>
241
                                    </object>
242
                                   </at>
243
                                   <at name="name">lblDataSet2</at>
244
                                   <at name="width">393</at>
245
                                   <at name="text">_Secondary_dataset</at>
246
                                   <at name="fill">
247
                                    <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
248
                                     <at name="name">fill</at>
249
                                    </object>
250
                                   </at>
251
                                   <at name="height">14</at>
252
                                  </object>
253
                                 </at>
254
                                </object>
255
                               </at>
256
                              </object>
257
                             </at>
258
                            </item>
259
                            <item >
260
                             <at name="value">
261
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
262
                               <super classname="com.jeta.forms.store.memento.ComponentMemento">
263
                                <at name="cellconstraints">
264
                                 <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
265
                                  <at name="column">1</at>
266
                                  <at name="row">15</at>
267
                                  <at name="colspan">1</at>
268
                                  <at name="rowspan">1</at>
269
                                  <at name="halign">default</at>
270
                                  <at name="valign">default</at>
271
                                  <at name="insets" object="insets">0,0,0,0</at>
272
                                 </object>
273
                                </at>
274
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
275
                               </super>
276
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
277
                               <at name="beanclass">javax.swing.JTextField</at>
278
                               <at name="beanproperties">
279
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
280
                                 <at name="classname">javax.swing.JTextField</at>
281
                                 <at name="properties">
282
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
283
                                   <at name="border">
284
                                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
285
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
286
                                      <at name="name">border</at>
287
                                     </super>
288
                                     <at name="borders">
289
                                      <object classname="java.util.LinkedList">
290
                                       <item >
291
                                        <at name="value">
292
                                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
293
                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
294
                                           <at name="name">border</at>
295
                                          </super>
296
                                         </object>
297
                                        </at>
298
                                       </item>
299
                                      </object>
300
                                     </at>
301
                                    </object>
302
                                   </at>
303
                                   <at name="horizontalAlignment">4</at>
304
                                   <at name="name">txtTolerance</at>
305
                                   <at name="width">393</at>
306
                                   <at name="height">20</at>
307
                                  </object>
308
                                 </at>
309
                                </object>
310
                               </at>
311
                              </object>
312
                             </at>
313
                            </item>
314
                            <item >
315
                             <at name="value">
316
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
317
                               <super classname="com.jeta.forms.store.memento.ComponentMemento">
318
                                <at name="cellconstraints">
319
                                 <object classname="com.jeta.forms.store.memento.CellConstraintsMemento">
320
                                  <at name="column">1</at>
321
                                  <at name="row">13</at>
322
                                  <at name="colspan">1</at>
323
                                  <at name="rowspan">1</at>
324
                                  <at name="halign">default</at>
325
                                  <at name="valign">default</at>
326
                                  <at name="insets" object="insets">0,0,0,0</at>
327
                                 </object>
328
                                </at>
329
                                <at name="componentclass">com.jeta.forms.gui.form.StandardComponent</at>
330
                               </super>
331
                               <at name="jetabeanclass">com.jeta.forms.gui.beans.JETABean</at>
332
                               <at name="beanclass">com.jeta.forms.components.label.JETALabel</at>
333
                               <at name="beanproperties">
334
                                <object classname="com.jeta.forms.store.memento.PropertiesMemento">
335
                                 <at name="classname">com.jeta.forms.components.label.JETALabel</at>
336
                                 <at name="properties">
337
                                  <object classname="com.jeta.forms.store.support.PropertyMap">
338
                                   <at name="border">
339
                                    <object classname="com.jeta.forms.store.properties.CompoundBorderProperty">
340
                                     <super classname="com.jeta.forms.store.properties.BorderProperty">
341
                                      <at name="name">border</at>
342
                                     </super>
343
                                     <at name="borders">
344
                                      <object classname="java.util.LinkedList">
345
                                       <item >
346
                                        <at name="value">
347
                                         <object classname="com.jeta.forms.store.properties.DefaultBorderProperty">
348
                                          <super classname="com.jeta.forms.store.properties.BorderProperty">
349
                                           <at name="name">border</at>
350
                                          </super>
351
                                         </object>
352
                                        </at>
353
                                       </item>
354
                                      </object>
355
                                     </at>
356
                                    </object>
357
                                   </at>
358
                                   <at name="name">lblTolerance</at>
359
                                   <at name="width">393</at>
360
                                   <at name="text">_Tolerance</at>
361
                                   <at name="fill">
362
                                    <object classname="com.jeta.forms.store.properties.effects.PaintProperty">
363
                                     <at name="name">fill</at>
364
                                    </object>
365
                                   </at>
366
                                   <at name="height">14</at>
367
                                  </object>
368
                                 </at>
369
                                </object>
370
                               </at>
371
                              </object>
372
                             </at>
373
                            </item>
374
                            <item >
375
                             <at name="value">
376
                              <object classname="com.jeta.forms.store.memento.BeanMemento">
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff