Skip to content

Commit 884bbcc

Browse files
committed
Add TestBuilder Layer List Copy Geometry button
1 parent 4996d17 commit 884bbcc

File tree

1 file changed

+32
-7
lines changed

1 file changed

+32
-7
lines changed

modules/app/src/main/java/org/locationtech/jtstest/testbuilder/LayerListPanel.java

Lines changed: 32 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ public class LayerListPanel extends JPanel {
5858
private LayerStylePanel lyrStylePanel;
5959
List<LayerItemPanel> layerItems = new ArrayList<LayerItemPanel>();
6060

61+
private JButton btnAdd;
6162
private JButton btnCopy;
6263
private JButton btnInspect;
6364
private JButton btnUp;
@@ -98,14 +99,23 @@ private void uiInit() throws Exception {
9899
panelLeft.add(scrollPane1, BorderLayout.CENTER);
99100
panelLeft.add(buttonPanel, BorderLayout.EAST);
100101

101-
btnCopy = SwingUtil.createButton(AppIcons.ADD,
102-
"Copy layer to a new layer",
102+
btnAdd = SwingUtil.createButton(AppIcons.ADD,
103+
"Duplicate layer to a new layer",
104+
new ActionListener() {
105+
public void actionPerformed(ActionEvent e) {
106+
layerAdd();
107+
}
108+
});
109+
buttonPanel.add(btnAdd);
110+
111+
btnCopy = SwingUtil.createButton(AppIcons.COPY,
112+
"Copy layer geometry",
103113
new ActionListener() {
104114
public void actionPerformed(ActionEvent e) {
105115
layerCopy();
106116
}
107117
});
108-
buttonPanel.add(btnCopy);
118+
buttonPanel.add(btnAdd);
109119

110120
btnZoom = SwingUtil.createButton(AppIcons.ZOOM,
111121
"Zoom to layer",
@@ -124,7 +134,7 @@ public void actionPerformed(ActionEvent e) {
124134
}
125135
});
126136
buttonPanel.add(btnInspect);
127-
137+
128138
btnPaste = SwingUtil.createButton(AppIcons.PASTE,
129139
"Paste geometry into layer",
130140
new ActionListener() {
@@ -133,6 +143,16 @@ public void actionPerformed(ActionEvent e) {
133143
}
134144
});
135145
buttonPanel.add(btnPaste);
146+
147+
btnCopy = SwingUtil.createButton(AppIcons.COPY,
148+
"Copy layer geometry",
149+
new ActionListener() {
150+
public void actionPerformed(ActionEvent e) {
151+
layerCopy();
152+
}
153+
});
154+
buttonPanel.add(btnCopy);
155+
136156
btnUp = SwingUtil.createButton(AppIcons.UP,
137157
"Move layer up",
138158
new ActionListener() {
@@ -234,22 +254,27 @@ public void setLayerFocus(LayerItemPanel layerItem) {
234254
private void updateButtons(Layer lyr) {
235255
boolean isModifiable = lyr.isModifiable();
236256

237-
// every layer is copyable
238-
btnCopy.setEnabled(true);
257+
// every layer can be duplicated
258+
btnAdd.setEnabled(true);
239259
btnPaste.setEnabled(isModifiable && ! lyr.hasGeometry());
260+
btnCopy.setEnabled(lyr.hasGeometry());
240261
btnZoom.setEnabled(lyr.hasGeometry());
241262
btnUp.setEnabled(isModifiable);
242263
btnDown.setEnabled(isModifiable);
243264
btnDelete.setEnabled(isModifiable);
244265
}
245266

246-
private void layerCopy() {
267+
private void layerAdd() {
247268
Layer copy = JTSTestBuilder.model().layerCopy(focusLayer);
248269
populateList();
249270
setLayerFocus(findLayerItem(copy));
250271
JTSTestBuilder.controller().geometryViewChanged();
251272
}
252273

274+
private void layerCopy() {
275+
SwingUtil.copyToClipboard(focusLayer.getGeometry(), false);
276+
}
277+
253278
private void layerInspect() {
254279
JTSTestBuilder.controller().inspectGeometry(focusLayer.getName(), focusLayer.getGeometry());
255280
}

0 commit comments

Comments
 (0)