public void addChangeListener(final ChangeListener chl) { support.addChangeListener(chl); }
/** Moves down. Performs differently according to * immediateReorder property value. */ private void moveDown(final int position) { if (index == null) { return; } if (immediateReorder) { index.moveDown(position); } else { getPermutation(); int temp = permutation[position]; permutation[position] = permutation[position + 1]; permutation[position + 1] = temp; } }
/** Moves up. Performs differently according to * immediateReorder property value. */ private void moveUp(final int position) { if (index == null) { return; } if (immediateReorder) { index.moveUp(position); } else { getPermutation(); int temp = permutation[position]; permutation[position] = permutation[position - 1]; permutation[position - 1] = temp; } }
int[] perm = new int[indexCookie.getNodesCount()]; int[] indexes = new int[dragNodes.length]; int indexesLength = 0; int idx = indexCookie.indexOf(dragNodes[i]); indexCookie.reorder(perm);
protected boolean enable (Node[] activatedNodes) { // remove old listener, if any Index idx = getCurIndexCookie(); if (idx != null) { idx.removeChangeListener( (ChangeListener) getProperty(PROP_ORDER_LISTENER)); idx = null; } Index cookie = getIndexCookie(activatedNodes); if (cookie == null) return false; int nodeIndex = cookie.indexOf(activatedNodes[0]); // now start listening to reordering changes cookie.addChangeListener( (OrderingListener)getProperty(PROP_ORDER_LISTENER)); curIndexCookie = new WeakReference(cookie); return (nodeIndex >= 0) && (nodeIndex < (cookie.getNodesCount() - 1)); }
protected boolean enable (Node[] activatedNodes) { initErr (); if (err != null) { err.log (ErrorManager.INFORMATIONAL, "enable; activatedNodes=" + (activatedNodes == null ? null : Arrays.asList (activatedNodes))); } // remove old listener, if any Index idx = getCurIndexCookie(); if (idx != null) { idx.removeChangeListener( (ChangeListener) getProperty(PROP_ORDER_LISTENER)); } Index cookie = getIndexCookie(activatedNodes); if (err != null) { err.log (ErrorManager.INFORMATIONAL, "enable; cookie=" + cookie); } if (cookie == null) return false; // now start listening to reordering changes cookie.addChangeListener( (OrderingListener)getProperty(PROP_ORDER_LISTENER)); curIndexCookie = new WeakReference(cookie); int index = cookie.indexOf (activatedNodes[0]); if (err != null) { err.log (ErrorManager.INFORMATIONAL, "enable; index=" + index); if (index == -1) { Node parent = activatedNodes[0].getParentNode (); err.log (ErrorManager.INFORMATIONAL, "enable; parent=" + parent + "; parent.children=" + Arrays.asList (parent.getChildren ().getNodes ())); } } return index > 0; }
protected void performAction (Node[] activatedNodes) { // we need to check activatedNodes, because there's no // guarantee that they not changed between enable() and // performAction calls Index cookie = getIndexCookie(activatedNodes); if (cookie == null) return; int nodeIndex = cookie.indexOf(activatedNodes[0]); if ((nodeIndex >= 0) && (nodeIndex < (cookie.getNodesCount() - 1))) { cookie.moveDown(nodeIndex); } }
/** Simulate behavior of the Close button, minus actual dialog disposal. * Might do the same as setImmediateReorder(true), but I am not sure. */ void doClose() { if ((!immediateReorder) && (index != null) && (permutation != null)) { int[] realPerm = new int[permutation.length]; for (int i = 0; i < realPerm.length; i++) { realPerm[permutation[i]] = i; //System.out.println (i + "-->" + permutation[i]); // NOI18N } index.reorder(realPerm); } }
public int indexOf(Node node) { return indexSupport.indexOf(node); }
protected void performAction (Node[] activatedNodes) { // we need to check activatedNodes, because there's no // guarantee that they not changed between enable() and // performAction calls Index cookie = getIndexCookie(activatedNodes); if (cookie == null) return; int nodeIndex = cookie.indexOf(activatedNodes[0]); if (nodeIndex > 0) { cookie.moveUp(nodeIndex); } }
public void moveUp(final int x) { support.exchange(x, x - 1); }
public void stateChanged (ChangeEvent e) { Node[] activatedNodes = getActivatedNodes(); Index cookie = getIndexCookie(activatedNodes); if (cookie == null) setEnabled(false); else { int nodeIndex = cookie.indexOf(activatedNodes[0]); setEnabled((nodeIndex >= 0) && (nodeIndex < (cookie.getNodesCount() - 1))); } } }
public void removeChangeListener(final ChangeListener chl) { support.removeChangeListener(chl); } }
public void move(final int x, final int y) { support.move(x, y); }
/** Safe getter for permutation. * Initializes permutation to identical permutation if it is null.<br> * index variable must not be null when this method called */ private int[] getPermutation() { if (permutation == null) { if (nodes == null) { nodes = index.getNodes().clone(); } permutation = new int[nodes.length]; for (int i = 0; i < nodes.length; permutation[i] = i++) ; } return permutation; }
Index indexCookie = (Index) folder.getCookie (Index.class); if (indexCookie != null) { int perm [] = new int [indexCookie.getNodesCount()]; int indexes [] = new int [dragNodes.length]; int indexesLength = 0; for (int i = 0; i < dragNodes.length; i++) { int idx = indexCookie.indexOf(dragNodes[i]); if (idx >= 0 && idx < perm.length) { indexes[indexesLength++] = idx; indexCookie.reorder(perm); break;
protected boolean enable (Node[] activatedNodes) { // remove old listener, if any Index idx = getCurIndexCookie(); if (idx != null) { idx.removeChangeListener( (ChangeListener) getProperty(PROP_ORDER_LISTENER)); idx = null; } Index cookie = getIndexCookie(activatedNodes); if (cookie == null) return false; int nodeIndex = cookie.indexOf(activatedNodes[0]); // now start listening to reordering changes cookie.addChangeListener( (OrderingListener)getProperty(PROP_ORDER_LISTENER)); curIndexCookie = new WeakReference(cookie); return (nodeIndex >= 0) && (nodeIndex < (cookie.getNodesCount() - 1)); }
protected boolean enable (Node[] activatedNodes) { initErr (); if (err != null) { err.log (ErrorManager.INFORMATIONAL, "enable; activatedNodes=" + (activatedNodes == null ? null : Arrays.asList (activatedNodes))); } // remove old listener, if any Index idx = getCurIndexCookie(); if (idx != null) { idx.removeChangeListener( (ChangeListener) getProperty(PROP_ORDER_LISTENER)); } Index cookie = getIndexCookie(activatedNodes); if (err != null) { err.log (ErrorManager.INFORMATIONAL, "enable; cookie=" + cookie); } if (cookie == null) return false; // now start listening to reordering changes cookie.addChangeListener( (OrderingListener)getProperty(PROP_ORDER_LISTENER)); curIndexCookie = new WeakReference(cookie); int index = cookie.indexOf (activatedNodes[0]); if (err != null) { err.log (ErrorManager.INFORMATIONAL, "enable; index=" + index); if (index == -1) { Node parent = activatedNodes[0].getParentNode (); err.log (ErrorManager.INFORMATIONAL, "enable; parent=" + parent + "; parent.children=" + Arrays.asList (parent.getChildren ().getNodes ())); } } return index > 0; }
protected void performAction (Node[] activatedNodes) { // we need to check activatedNodes, because there's no // guarantee that they not changed between enable() and // performAction calls Index cookie = getIndexCookie(activatedNodes); if (cookie == null) return; int nodeIndex = cookie.indexOf(activatedNodes[0]); if ((nodeIndex >= 0) && (nodeIndex < (cookie.getNodesCount() - 1))) { cookie.moveDown(nodeIndex); } }
/** Set whether reorders will take effect immediately. * @param immediateReorder <code>true</code> if so */ public void setImmediateReorder(boolean immediateReorder) { if (this.immediateReorder == immediateReorder) { return; } this.immediateReorder = immediateReorder; if (immediateReorder) { if (permutation != null) { index.reorder(permutation); permutation = null; updateList(); } } }