use of gov.sandia.n2a.ui.eq.undo.ChangeOrder in project n2a by frothga.
the class PanelEquationTree method moveSelected.
public void moveSelected(int direction) {
if (container.locked)
return;
TreePath path = tree.getLeadSelectionPath();
if (path == null)
return;
NodeBase nodeBefore = (NodeBase) path.getLastPathComponent();
NodeBase parent = (NodeBase) nodeBefore.getParent();
if (// Only parts support $metadata.gui.order
parent instanceof NodePart) {
// First check if we can move in the filtered (visible) list.
int indexBefore = model.getIndexOfChild(parent, nodeBefore);
int indexAfter = indexBefore + direction;
if (indexAfter >= 0 && indexAfter < model.getChildCount(parent)) {
// Then convert to unfiltered indices.
NodeBase nodeAfter = (NodeBase) model.getChild(parent, indexAfter);
indexBefore = parent.getIndex(nodeBefore);
indexAfter = parent.getIndex(nodeAfter);
MainFrame.instance.undoManager.apply(new ChangeOrder((NodePart) parent, indexBefore, indexAfter));
}
}
}
Aggregations