diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar index e3c4be9f..16bbc049 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/lib/diylc-core.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar index 270329fb..ad37f99a 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java index b5198ce8..849e3531 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/ActionFactory.java @@ -340,7 +340,7 @@ public class ActionFactory { .getCurrentProject().getComponents()); // Cleanup components in the temp presenter, don't need // them anymore - presenter.selectAll(); + presenter.selectAll(0); presenter.deleteSelectedComponents(); return null; } @@ -776,7 +776,7 @@ public class ActionFactory { @Override public void actionPerformed(ActionEvent e) { LOG.info("Select All triggered"); - plugInPort.selectAll(); + plugInPort.selectAll(0); } } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/layers/LayersMenuPlugin.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/layers/LayersMenuPlugin.java index bf9b314a..a971733d 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/layers/LayersMenuPlugin.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/layers/LayersMenuPlugin.java @@ -18,16 +18,18 @@ import org.diylc.swing.ISwingUI; public class LayersMenuPlugin implements IPlugIn { - private static final String LOCK_LAYERS_TITLE = "Lock Layers"; + private static final String LOCK_LAYERS_TITLE = "Layers"; private IPlugInPort plugInPort; private Map lockActionMap; + private Map selectAllActionMap; public LayersMenuPlugin(ISwingUI swingUI) { lockActionMap = new HashMap(); + selectAllActionMap = new HashMap(); for (Layer layer : Layer.values()) { final int zOrder = layer.getZOrder(); - AbstractAction action = new AbstractAction(layer.getTitle()) { + AbstractAction lockAction = new AbstractAction("Lock") { private static final long serialVersionUID = 1L; @@ -35,11 +37,27 @@ public class LayersMenuPlugin implements IPlugIn { public void actionPerformed(ActionEvent e) { LayersMenuPlugin.this.plugInPort.setLayerLocked(zOrder, (Boolean) getValue(Action.SELECTED_KEY)); + selectAllActionMap.get(zOrder).setEnabled( + !(Boolean) getValue(Action.SELECTED_KEY)); } }; - action.putValue(IView.CHECK_BOX_MENU_ITEM, true); - lockActionMap.put(layer, action); - swingUI.injectMenuAction(action, LOCK_LAYERS_TITLE); + lockAction.putValue(IView.CHECK_BOX_MENU_ITEM, true); + lockActionMap.put(layer, lockAction); + + AbstractAction selectAllAction = new AbstractAction("Select All") { + + private static final long serialVersionUID = 1L; + + @Override + public void actionPerformed(ActionEvent e) { + LayersMenuPlugin.this.plugInPort.selectAll(zOrder); + } + }; + selectAllActionMap.put(zOrder, selectAllAction); + + swingUI.injectSubmenu(layer.title, null, LOCK_LAYERS_TITLE); + swingUI.injectMenuAction(lockAction, layer.title); + swingUI.injectMenuAction(selectAllAction, layer.title); } } @@ -66,9 +84,10 @@ public class LayersMenuPlugin implements IPlugIn { } static enum Layer { - CHASSIS("Chassis", IDIYComponent.CHASSIS), BOARD("Board", IDIYComponent.BOARD), TRACE( - "Trace", IDIYComponent.TRACE), COMPONENT("Component", IDIYComponent.COMPONENT), TEXT( - "Text", IDIYComponent.TEXT); + CHASSIS("Chassis", IDIYComponent.CHASSIS), BOARD("Board", + IDIYComponent.BOARD), TRACE("Trace", IDIYComponent.TRACE), COMPONENT( + "Component", IDIYComponent.COMPONENT), TEXT("Text", + IDIYComponent.TEXT); String title; int zOrder; diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml index 08179927..63077d51 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml @@ -1233,5 +1233,21 @@ http://code.google.com/p/diy-layout-creator/downloads/list + + + 3 + 28 + 0 + + 2013-04-30 20:00:00.000 CET + + + + NEW_FEATURE + Select all within a layer + + + http://code.google.com/p/diy-layout-creator/downloads/list + \ No newline at end of file