public void setComparator(Comparator c) { if (c != comparator) { firePendingChange (true); comparator = c; fds.clear(); init(); fireChange(true); } }
public boolean isProperty(int index) { return getFeatureDescriptor(index) instanceof Node.Property; }
private void init () { fds.clear(); if (comparator == null) { initExpandable(); } else { initPlain(); } }
public void setPropertySets(PropertySet[] sets) { setCount = (sets == null) ? 0 : sets.length; if (sets == null) { sets = new PropertySet[0]; } if ((setCount == 0) && !SwingUtilities.isEventDispatchThread()) { //Allow thread safe access for node destroyed events to this.sets = new PropertySet[0]; resetArray(sets); fds.clear(); SwingUtilities.invokeLater(this); return; } firePendingChange(false); this.sets = sets; resetArray(sets); init(); run(); }
public void toggleExpanded(int index) { FeatureDescriptor fd = getFeatureDescriptor(index); if (fd instanceof Property) { throw new IllegalArgumentException("Cannot expand a property."); //NOI18N } int setIndex = lookupSet(fd); int eventType = expanded[setIndex] ? PropertySetModelEvent.TYPE_INSERT : PropertySetModelEvent.TYPE_REMOVE; List <? extends FeatureDescriptor> props = propsToList(sets[setIndex].getProperties()); int len = props.size(); expanded[setIndex] = !expanded[setIndex]; firePendingChange(eventType, index + 1, index + len, false); if (!expanded[setIndex]) { closedSets.add(fd.getDisplayName()); } else { closedSets.remove(fd.getDisplayName()); } if (expanded[setIndex]) { fds.addAll(index + 1, props); } else { for (int i = index + len; i > index; i--) { fds.remove(i); } } fireChange(eventType, index + 1, index + len); PropUtils.putSavedClosedSetNames(closedSets); }
/** Fire a change of type * <code>PropertySetModelEvent.TYPE_WHOLESALE_CHANGE</code>. */ private final void firePendingChange(boolean reordering) { if (listenerList == null) { return; } Iterator i = listenerList.iterator(); PropertySetModelListener curr; getEvent().type = PropertySetModelEvent.TYPE_WHOLESALE_CHANGE; event.reordering = reordering; while (i.hasNext()) { curr = (PropertySetModelListener) i.next(); curr.pendingChange(event); } }
private void initPlain () { if (sets == null) return; int pcount=0; for (int i=0; i < sets.length; i++) { Property[] p = sets[i].getProperties(); if (p == null) { throw new NullPointerException ("Null is not a legal return" + " value for PropertySet.getProperties()"); } pcount += p.length; } Property[] props = new Property[pcount]; int l = 0; for (int i=0; i < sets.length; i++) { Property[] p = sets[i].getProperties(); System.arraycopy(p, 0, props, l, p.length); l += p.length; } Arrays.sort (props, comparator); fds.addAll (propsToList(props)); }
public boolean isExpanded(FeatureDescriptor set) { int index = lookupSet(set); if (index == -1) { return false; } return expanded[index]; }
public void run() { fireChange(false); }
super (new SheetTableModel(), new SheetColumnModel(), new DefaultListSelectionModel()); setPropertySetModel (new PropertySetModelImpl());
public void toggleExpanded(int index) { FeatureDescriptor fd = getFeatureDescriptor(index); if (fd instanceof Property) throw new IllegalArgumentException ("Cannot expand a property."); //NOI18N int setIndex = lookupSet (fd); int eventType = expanded[setIndex] ? PropertySetModelEvent.TYPE_INSERT : PropertySetModelEvent.TYPE_REMOVE; int len = ((PropertySet) fd).getProperties().length; expanded[setIndex] = !expanded[setIndex]; firePendingChange (eventType, index+1, index+len, false); if (!expanded[setIndex]) { closedSets.add (fd.getDisplayName()); } else { closedSets.remove (fd.getDisplayName()); } if (expanded[setIndex]) { fds.addAll (index+1, Arrays.asList(sets[setIndex].getProperties())); } else { for (int i = index + len; i > index; i--) { fds.remove (i); } } fireChange (eventType, index+1, index + len); PropUtils.putSavedClosedSetNames (closedSets); }
public void setPropertySets(PropertySet[] sets) { setCount = sets == null ? 0 : sets.length; if (sets == null) sets = new PropertySet[0]; if (setCount == 0 && !SwingUtilities.isEventDispatchThread()) { //Allow thread safe access for node destroyed events to this.sets = new PropertySet[0]; resetArray(sets); fds.clear(); SwingUtilities.invokeLater(this); return; } firePendingChange (false); this.sets = sets; resetArray (sets); init(); run(); }
/** Fire a change of type * <code>PropertySetModelEvent.TYPE_WHOLESALE_CHANGE</code>. */ private final void fireChange (boolean reordering) { if (listenerList == null) return; Iterator i = listenerList.iterator(); PropertySetModelListener curr; getEvent().type=PropertySetModelEvent.TYPE_WHOLESALE_CHANGE; event.reordering = reordering; while (i.hasNext()) { curr = (PropertySetModelListener) i.next(); curr.wholesaleChange(event); } }
private void initPlain() { if (sets == null) { return; } int pcount = 0; for (int i = 0; i < sets.length; i++) { Property[] p = sets[i].getProperties(); if (p == null) { throw new NullPointerException("Null is not a legal return" + " value for PropertySet.getProperties()"); } pcount += p.length; } Property[] props = new Property[pcount]; int l = 0; for (int i = 0; i < sets.length; i++) { Property[] p = sets[i].getProperties(); System.arraycopy(p, 0, props, l, p.length); l += p.length; } Arrays.sort(props, comparator); fds.addAll(propsToList(props)); }
public boolean isExpanded (FeatureDescriptor set) { int index = lookupSet (set); if (index == -1) return false; return expanded[index]; }
public void run() { fireChange(false); }
super (new SheetTableModel(), new SheetColumnModel(), new DefaultListSelectionModel()); setPropertySetModel (new PropertySetModelImpl());
public void toggleExpanded(int index) { FeatureDescriptor fd = getFeatureDescriptor(index); if (fd instanceof Property) throw new IllegalArgumentException ("Cannot expand a property."); //NOI18N int setIndex = lookupSet (fd); int eventType = expanded[setIndex] ? PropertySetModelEvent.TYPE_INSERT : PropertySetModelEvent.TYPE_REMOVE; int len = ((PropertySet) fd).getProperties().length; expanded[setIndex] = !expanded[setIndex]; firePendingChange (eventType, index+1, index+len, false); if (!expanded[setIndex]) { closedSets.add (fd.getDisplayName()); } else { closedSets.remove (fd.getDisplayName()); } if (expanded[setIndex]) { fds.addAll (index+1, Arrays.asList(sets[setIndex].getProperties())); } else { for (int i = index + len; i > index; i--) { fds.remove (i); } } fireChange (eventType, index+1, index + len); PropUtils.putSavedClosedSetNames (closedSets); }
public void setPropertySets(PropertySet[] sets) { setCount = sets == null ? 0 : sets.length; if (sets == null) sets = new PropertySet[0]; if (setCount == 0 && !SwingUtilities.isEventDispatchThread()) { //Allow thread safe access for node destroyed events to this.sets = new PropertySet[0]; resetArray(sets); fds.clear(); SwingUtilities.invokeLater(this); return; } firePendingChange (false); this.sets = sets; resetArray (sets); init(); run(); }
public void setComparator(Comparator<Node.Property> c) { if (c != comparator) { firePendingChange(true); comparator = c; fds.clear(); init(); fireChange(true); } }