Revision 727 org.gvsig.topology/trunk/org.gvsig.topology/org.gvsig.topology.swing/org.gvsig.topology.swing.impl/src/main/java/org/gvsig/topology/swing/impl/SelectDataSetDialog.java

View differences:

SelectDataSetDialog.java
1 1
package org.gvsig.topology.swing.impl;
2 2

  
3 3
import java.awt.Dimension;
4
import java.awt.event.MouseAdapter;
5
import java.awt.event.MouseEvent;
6
import java.util.ArrayList;
7
import java.util.List;
8
import java.util.Objects;
9
import javax.swing.ImageIcon;
10
import javax.swing.JLabel;
4 11
import javax.swing.JTree;
5 12
import javax.swing.event.TreeSelectionEvent;
6 13
import javax.swing.event.TreeSelectionListener;
14
import javax.swing.tree.DefaultTreeCellRenderer;
7 15
import javax.swing.tree.TreePath;
8 16
import org.apache.commons.lang3.StringUtils;
9 17
import org.gvsig.tools.swing.api.ToolsSwingLocator;
......
37 45
                performDataSetSelected();
38 46
            }
39 47
        });
48
        this.treeDataSets.setCellRenderer(new DefaultTreeCellRenderer() {
49
            @Override
50
            public java.awt.Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected, boolean expanded, boolean leaf, int row, boolean hasFocus) {
51
                JLabel label = (JLabel) super.getTreeCellRendererComponent(tree,value, selected, expanded, leaf, row, hasFocus);
52
                ImageIcon icon = services.getTreeIcon(tree.getModel(),value);
53
                label.setIcon(icon);
54
                label.setText(Objects.toString(value, ""));
55
                return label;
56
            }
57
        });
58
        this.treeDataSets.addMouseListener(new MouseAdapter() {
59
            @Override
60
            public void mouseClicked(MouseEvent e) {
61
                if( e.getButton()==MouseEvent.BUTTON1 && e.getClickCount()==2 ) {
62
                    setVisible(false);
63
                }
64
            }
65
        });
40 66
        this.setPreferredSize(new Dimension(350, 400));
41 67
        this.translate();
42 68
    }
......
65 91
        this.dialog.setButtonEnabled(WindowManager_v2.BUTTONS_OK, enabled);
66 92
    }
67 93

  
68
    private TopologyDataSet getSelectedDataSet() {
69
        TreePath path = treeDataSets.getSelectionPath();
70
        Object element = path.getLastPathComponent();
71
        if (element instanceof TopologyDataSet) {
72
            TopologyDataSet dataSet = (TopologyDataSet) element;
73
            return dataSet;
94
    private List<TopologyDataSet> getSelectedDataSets() {
95
        TreePath[] paths = treeDataSets.getSelectionPaths();
96
        List<TopologyDataSet> datasets = new ArrayList<>();
97
        for (TreePath path : paths) {
98
            Object element = path.getLastPathComponent();
99
            if (element instanceof TopologyDataSet) {
100
                TopologyDataSet dataSet = (TopologyDataSet) element;
101
                datasets.add(dataSet);
102
            }
74 103
        }
75
        return null;
104
        return datasets;
76 105
    }
77 106

  
78
    public TopologyDataSet getDataSet() {
79
        TopologyDataSet dataSet = this.getSelectedDataSet();
80
        if (dataSet == null) {
107
    public List<TopologyDataSet> getDataSets() {
108
        List<TopologyDataSet> dataSets = this.getSelectedDataSets();
109
        if (dataSets == null || dataSets.isEmpty()) {
81 110
            return null;
82 111
        }
83
        String name = this.txtName.getText();
84
        if (!StringUtils.isEmpty(name)) {
85
            dataSet.setName(name);
112
        if( dataSets.size()==1 ) {
113
            String name = this.txtName.getText();
114
            if (!StringUtils.isEmpty(name)) {
115
                dataSets.get(0).setName(name);
116
            }
86 117
        }
87
        return dataSet;
118
        return dataSets;
88 119
    }
89 120

  
90 121
    public void performDataSetSelected() {
91
        TopologyDataSet dataSet = this.getSelectedDataSet();
92
        if (dataSet == null) {
122
        List<TopologyDataSet> dataSets = this.getSelectedDataSets();
123
        if (dataSets == null || dataSets.isEmpty()) {
93 124
            this.txtName.setText("");
94 125
            this.setOkButtonEnabled(false);
95 126
        } else {
96
            this.txtName.setText(dataSet.getName());
127
            this.txtName.setText(dataSets.get(0).getName());
97 128
            this.setOkButtonEnabled(true);
98 129
        }
99 130
    }

Also available in: Unified diff