public void dragDraggableComponent(DraggableComponent component, Point p) { if (draggableComponentList.contains(component)) { component.drag(SwingUtilities.convertPoint(this, p, component.getComponent())); } // component.drag(SwingUtilities.convertPoint(this, p, component.getComponent())); }
public void insertDraggableComponent(DraggableComponent component, int index) { component.setLayoutOrderList(layoutOrderList); component.addListener(draggableComponentListener); if (index < 0) { layoutOrderList.add(component.getComponent()); componentBox.add(component.getComponent()); } else { layoutOrderList.add(index, component.getComponent()); componentBox.add(component.getComponent(), index); } sortComponentList(!descendingSortOrder); draggableComponentList.add(component); component.setOuterParentArea(outerParentArea); componentBox.revalidate(); fireAddedEvent(component); if (autoSelect && layoutOrderList.size() == 1 && selectedComponent == null && component.isEnabled()) doSelectComponent(component); updateScrollButtons(); }
public void selectDraggableComponent(DraggableComponent component) { if (component == null) { if (selectedComponent != null) { DraggableComponent oldSelected = selectedComponent; selectedComponent = null; fireSelectedEvent(selectedComponent, oldSelected); // componentBox.repaint(); } } else component.select(); }
public void removeDraggableComponent(DraggableComponent component) { if (component != null && draggableComponentList.contains(component)) { // component.abortDrag(); int index = layoutOrderList.indexOf(component.getComponent()); component.removeListener(draggableComponentListener); if (component == topComponent) topComponent = null; if (layoutOrderList.size() > 1 && selectedComponent != null) { if (selectedComponent == component) { if (autoSelect) { int selectIndex = findSelectableComponentIndex(index); if (selectIndex > -1) selectDraggableComponent( findDraggableComponent((Component) layoutOrderList.get(selectIndex))); else selectedComponent = null; } else { selectDraggableComponent(null); } } } else { if (selectedComponent != null) { DraggableComponent oldSelected = selectedComponent; selectedComponent = null; fireSelectedEvent(selectedComponent, oldSelected); } } draggableComponentList.remove(component); layoutOrderList.remove(component.getComponent()); componentBox.remove(component.getComponent()); componentBox.revalidate(); // componentBox.validate(); component.setLayoutOrderList(null); sortComponentList(!descendingSortOrder); updateScrollButtons(); fireRemovedEvent(component); } }
private void doSort() { if (mustSort && getComponentSpacing() < 0 && componentBox.getComponentCount() > 0) { setIgnoreAddRemoveNotify(true); mustSort = false; Component c; Component tc = topComponent != null ? topComponent.getComponent() : null; // componentBoxEnabled = false; // long millis = System.currentTimeMillis(); int index = 0; if (tc != null) { if (componentBox.getComponent(0) != tc) { componentBox.remove(tc); componentBox.add(tc, index); } index++; } int switc = 0; int size = layoutOrderList.size(); for (int i = 0; i < size; i++) { c = (Component) layoutOrderList.get(doReverseSort ? size - i - 1 : i); if (c != tc) { if (componentBox.getComponent(index) != c) { switc++; componentBox.remove(c); componentBox.add(c, index); } index++; } } setIgnoreAddRemoveNotify(false); /*System.out.print(" Box: "); for (int i = 0; i < componentBox.getComponentCount(); i++) System.out.print(componentBox.getComponent(i) + " "); System.out.println(); System.out.print(" Order: "); for (int i = 0; i < layoutOrderList.size(); i++) System.out.print(layoutOrderList.get(i) + " ");*/ // System.out.println(); /* long millis = System.currentTimeMillis(); componentBox.removeAll(); if (tc != null) componentBox.add(tc); int size = layoutOrderList.size(); for (int i = 0; i < size; i++) { c = (Component) layoutOrderList.get(doReverseSort ? size - i - 1 : i); if (c != tc) componentBox.add(c); }*/ // componentBoxEnabled = true; // System.out.println("Sorting " + scount++ + " time: " + (System.currentTimeMillis() - // millis) + " Sorted: " + switc); } }
public int getDraggableComponentIndex(DraggableComponent component) { return layoutOrderList.indexOf(component.getComponent()); }