Changeset 10074 in josm for trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java
- Timestamp:
- 2016-03-29T02:19:23+02:00 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/AbstractMergeAction.java
r8443 r10074 5 5 6 6 import java.awt.Component; 7 import java.awt.GraphicsEnvironment; 7 8 import java.awt.GridBagLayout; 8 9 import java.util.List; … … 57 58 } 58 59 59 protected Layer askTargetLayer(List<Layer> targetLayers) { 60 JosmComboBox<Layer> layerList = new JosmComboBox<>(targetLayers.toArray(new Layer[0])); 60 protected static Layer askTargetLayer(List<Layer> targetLayers) { 61 return askTargetLayer(targetLayers.toArray(new Layer[0]), 62 tr("Please select the target layer."), 63 tr("Select target layer"), 64 tr("Merge"), "dialogs/mergedown"); 65 } 66 67 /** 68 * Asks a target layer. 69 * @param <T> type of layer 70 * @param targetLayers array of proposed target layers 71 * @param label label displayed in dialog 72 * @param title title of dialog 73 * @param buttonText text of button used to select target layer 74 * @param buttonIcon icon name of button used to select target layer 75 * @return choosen target layer 76 */ 77 @SuppressWarnings("unchecked") 78 public static <T extends Layer> T askTargetLayer(T[] targetLayers, String label, String title, String buttonText, String buttonIcon) { 79 JosmComboBox<T> layerList = new JosmComboBox<>(targetLayers); 61 80 layerList.setRenderer(new LayerListCellRenderer()); 62 81 layerList.setSelectedIndex(0); 63 82 64 83 JPanel pnl = new JPanel(new GridBagLayout()); 65 pnl.add(new JLabel( tr("Please select the target layer.")), GBC.eol());84 pnl.add(new JLabel(label), GBC.eol()); 66 85 pnl.add(layerList, GBC.eol()); 67 68 ExtendedDialog ed = new ExtendedDialog(Main.parent, 69 tr("Select target layer"), 70 new String[] {tr("Merge"), tr("Cancel")}); 71 ed.setButtonIcons(new String[] {"dialogs/mergedown", "cancel"}); 86 if (GraphicsEnvironment.isHeadless()) { 87 // return first layer in headless mode, for unit tests 88 return targetLayers[0]; 89 } 90 ExtendedDialog ed = new ExtendedDialog(Main.parent, title, new String[] {buttonText, tr("Cancel")}); 91 ed.setButtonIcons(new String[] {buttonIcon, "cancel"}); 72 92 ed.setContent(pnl); 73 93 ed.showDialog(); 74 if (ed.getValue() != 1) 94 if (ed.getValue() != 1) { 75 95 return null; 76 77 return ( Layer) layerList.getSelectedItem();96 } 97 return (T) layerList.getSelectedItem(); 78 98 } 79 99
Note:
See TracChangeset
for help on using the changeset viewer.
