r2726 - trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean
Author: tchemit Date: 2013-09-29 11:42:27 +0200 (Sun, 29 Sep 2013) New Revision: 2726 Url: http://nuiton.org/projects/jaxx/repository/revisions/2726 Log: fixes Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleList.jaxx trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListModel.java Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleList.jaxx =================================================================== --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleList.jaxx 2013-09-28 14:31:14 UTC (rev 2725) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleList.jaxx 2013-09-29 09:42:27 UTC (rev 2726) @@ -24,9 +24,7 @@ <Table genericType='O' implements='jaxx.runtime.bean.BeanTypeAware<O>'> <import> - jaxx.runtime.swing.model.JaxxDefaultListModel org.nuiton.decorator.JXPathDecorator - javax.swing.DefaultListModel </import> <!-- filterable list property --> @@ -41,6 +39,9 @@ <!-- show reset property --> <Boolean id='showReset' javaBean='true'/> + <!-- to be able to select a same entry more than one time property --> + <Boolean id='useMultiSelect' javaBean='false'/> + <!-- show showSelectPopupEnabled property --> <Boolean id='showSelectPopupEnabled' javaBean='true'/> Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java =================================================================== --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java 2013-09-28 14:31:14 UTC (rev 2725) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListHandler.java 2013-09-29 09:42:27 UTC (rev 2726) @@ -116,6 +116,9 @@ public void init(JXPathDecorator<O> decorator, List<O> universe, List<O> selected) { this.decorator = BeanUIUtil.createDecorator(decorator); + // make sure useMultiSelect is set before filling universe and select lists + ui.getModel().setUseMultiSelect(ui.getUseMultiSelect()); + ui.getModel().setUniverse(universe); ui.getModel().setSelected(selected); @@ -446,6 +449,9 @@ } else if (BeanDoubleList.PROPERTY_HIGHLIGHT_FILTER_TEXT.equals(propertyName)) { setHighlightFilterText((Boolean) evt.getNewValue()); + } else if (BeanDoubleList.PROPERTY_USE_MULTI_SELECT.equals(propertyName)) { + + ui.getModel().setUseMultiSelect((Boolean) evt.getNewValue()); } } Modified: trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListModel.java =================================================================== --- trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListModel.java 2013-09-28 14:31:14 UTC (rev 2725) +++ trunk/jaxx-widgets/src/main/java/jaxx/runtime/swing/editor/bean/BeanDoubleListModel.java 2013-09-29 09:42:27 UTC (rev 2726) @@ -55,6 +55,8 @@ public static final String PROPERTY_SELECTED_DOWN_ENABLED = "selectedDownEnabled"; + public static final String PROPERTY_USE_MULTI_SELECT= "useMultiSelect"; + private static final long serialVersionUID = 1L; /** List of all the available items */ @@ -77,6 +79,8 @@ protected boolean selectedDownEnabled; + protected boolean useMultiSelect; + /** * To get the selected items. * @@ -149,7 +153,9 @@ public void addToSelected(O item) { selected.add(item); selectedModel.addElement(item); - universeModel.removeElement(item); + if (!useMultiSelect) { + universeModel.removeElement(item); + } } /** @@ -161,7 +167,8 @@ selected.addAll(items); for (O item : items) { selectedModel.addElement(item); - universeModel.removeElement(item); + if (!useMultiSelect) + universeModel.removeElement(item); } } @@ -173,7 +180,9 @@ public void removeFromSelected(O item) { selected.remove(item); selectedModel.removeElement(item); - addToUniverseList(item); + if (!useMultiSelect) { + addToUniverseList(item); + } } /** @@ -185,7 +194,9 @@ selected.removeAll(items); for (O item : items) { selectedModel.removeElement(item); - addToUniverseList(item); + if (!useMultiSelect) { + addToUniverseList(item); + } } } @@ -257,6 +268,17 @@ firePropertyChange(PROPERTY_SELECTED_DOWN_ENABLED, oldValue, selectedDownEnabled); } + + public boolean isUseMultiSelect() { + return useMultiSelect; + } + + public void setUseMultiSelect(boolean useMultiSelect) { + boolean oldValue = isUseMultiSelect(); + this.useMultiSelect = useMultiSelect; + firePropertyChange(PROPERTY_USE_MULTI_SELECT, oldValue, useMultiSelect); + } + /** * Adds an item to the available items list at the right index * to keep always the same order.
participants (1)
-
tchemit@users.nuiton.org