Author: sletellier Date: 2009-09-10 14:37:21 +0200 (Thu, 10 Sep 2009) New Revision: 1532 Modified: trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXTree.java Log: Adding method to use items (JAXXmodel) Modified: trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java =================================================================== --- trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java 2009-09-08 15:26:56 UTC (rev 1531) +++ trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXComboBox.java 2009-09-10 12:37:21 UTC (rev 1532) @@ -88,6 +88,10 @@ } } + public List<Item> getItems(){ + return items; + } + @Override public Object getElementAt(int i) { return items.get(i).getValue(); @@ -221,4 +225,64 @@ setSelectedIndex(selectedIndices[0]); } } + + public List<Item> getItems(){ + if (getModel() instanceof JAXXComboBoxModel){ + return ((JAXXComboBoxModel)getModel()).getItems(); + } + return null; + } + + public void setSelectedItem(Item item) { + super.setSelectedItem(item.getValue()); + } + + public Item getSelectedJaxxItem(){ + Object selected = super.getSelectedItem(); + return findItem(selected); + } + + public Item findItem(Object value){ + List<Item> items = getItems(); + if (items != null){ + for (Item i : items){ + if (i.getValue().equals(value)){ + return i; + } + } + } + return null; + } + + public void addItem(Item item){ + List<Item> items = getItems(); + if (items != null){ + items.add(item); + setItems(items); + } + } + + public void addAllItems(Collection<Item> itemsToAdd){ + List<Item> items = getItems(); + if (items != null){ + items.addAll(itemsToAdd); + setItems(items); + } + } + + public void removeItem(Item item){ + List<Item> items = getItems(); + if (items != null){ + items.remove(item); + setItems(items); + } + } + + public void removeAllItems(Collection<Item> itemsToRemove){ + List<Item> items = getItems(); + if (items != null){ + items.removeAll(itemsToRemove); + setItems(items); + } + } } Modified: trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java =================================================================== --- trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java 2009-09-08 15:26:56 UTC (rev 1531) +++ trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXList.java 2009-09-10 12:37:21 UTC (rev 1532) @@ -83,6 +83,10 @@ } } + public List<Item> getItems(){ + return items; + } + @Override public Object getElementAt(int i) { return items.get(i).getValue(); @@ -138,10 +142,6 @@ super.fireSelectionValueChanged(firstIndex, lastIndex, isAdjusting); } - public void setSelectedValue(Object value) { - super.setSelectedValue(value, true); - } - public void setItems(List<Item> items) { setModel(new JAXXListModel(items)); List<Integer> selectedIndexList = new ArrayList<Integer>(); @@ -157,7 +157,121 @@ setSelectedIndices(selectedIndices); } + public List<Item> getItems(){ + if (getModel() instanceof JAXXListModel){ + return ((JAXXListModel)getModel()).getItems(); + } + return null; + } + + public void setSelectedValue(Object value) { + super.setSelectedValue(value, true); + } + /** + * Set the selected Objects + * + * @param values Objects must be selected in the list + */ + public void setSelectedValues(Object[] values) { + if (values != null){ + List<Integer> selectedIndices = new ArrayList<Integer>(); + ListModel model = getModel(); + for (int i = 0; i < model.getSize(); i++) { + Object o = model.getElementAt(i); + for (Object value : values) { + if (o.equals(value)) { + selectedIndices.add(i); + break; + } + } + } + int[] ints = new int[selectedIndices.size()]; + for (int i = 0; i < ints.length; i++) { + ints[i] = selectedIndices.get(i).intValue(); + } + setSelectedIndices(ints); + } + else{ + // No selection if values is null + setSelectedIndex(-1); + } + } + + public void setSelectedItem(Item item) { + super.setSelectedValue(item.getValue(), true); + } + + public void setSelectedItems(List<Item> itemsToSelect) { + List<Item> items = getItems(); + int[] indices = new int[itemsToSelect.size()]; + int i = 0; + for (Item item : itemsToSelect){ + indices[i] = items.indexOf(item); + i++; + } + super.setSelectedIndices(indices); + } + + public Item getSelectedItem(){ + Object selected = super.getSelectedValue(); + return findItem(selected); + } + + public List<Item> getSelectedItems(){ + Object[] selected = super.getSelectedValues(); + java.util.List<Item> itemsSelected = new ArrayList<Item>(); + for (Object s : selected){ + itemsSelected.add(findItem(s)); + } + return itemsSelected; + } + + public Item findItem(Object value){ + List<Item> items = getItems(); + if (items != null){ + for (Item i : items){ + if (i.getValue().equals(value)){ + return i; + } + } + } + return null; + } + + public void addItem(Item item){ + List<Item> items = getItems(); + if (items != null){ + items.add(item); + setItems(items); + } + } + + public void addAllItems(Collection<Item> itemsToAdd){ + List<Item> items = getItems(); + if (items != null){ + items.addAll(itemsToAdd); + setItems(items); + } + } + + public void removeItem(Item item){ + List<Item> items = getItems(); + if (items != null){ + items.remove(item); + setItems(items); + } + } + + public void removeAllItems(Collection<Item> itemsToRemove){ + List<Item> items = getItems(); + if (items != null){ + items.removeAll(itemsToRemove); + setItems(items); + } + } + + /** * Fill a list model with some datas, and select after all the given object * * @param data data ot inject in combo @@ -277,33 +391,4 @@ setItems(items); } - /** - * Set the selected Objects - * - * @param values Objects must be selected in the list - */ - public void setSelectedValues(Object[] values) { - if (values != null){ - List<Integer> selectedIndices = new ArrayList<Integer>(); - ListModel model = getModel(); - for (int i = 0; i < model.getSize(); i++) { - Object o = model.getElementAt(i); - for (Object value : values) { - if (o.equals(value)) { - selectedIndices.add(i); - break; - } - } - } - int[] ints = new int[selectedIndices.size()]; - for (int i = 0; i < ints.length; i++) { - ints[i] = selectedIndices.get(i).intValue(); - } - setSelectedIndices(ints); - } - else{ - // No selection if values is null - setSelectedIndex(-1); - } - } } Modified: trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXTree.java =================================================================== --- trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXTree.java 2009-09-08 15:26:56 UTC (rev 1531) +++ trunk/jaxx-runtime-swing/src/main/java/jaxx/runtime/swing/JAXXTree.java 2009-09-10 12:37:21 UTC (rev 1532) @@ -138,6 +138,10 @@ return root.getValue(); } + public Item getRootItem() { + return root; + } + @Override public boolean isLeaf(Object node) { Item item = findItem(node); @@ -226,4 +230,12 @@ TreePath selectionPath = getSelectionPath(); return selectionPath != null ? selectionPath.getLastPathComponent() : null; } + + public Item getRootItem(){ + if (getModel() instanceof JAXXTreeModel){ + return ((JAXXTreeModel)getModel()).getRootItem(); + } + return null; + } + }