Пример #1
0
 @Override
 public void redo() {
   super.redo();
   final GroupTreeNode subtreeRoot = m_groupRoot.getNode(m_subtreeRootPath);
   subtreeRoot.removeAllChildren();
   for (int i = 0; i < m_modifiedSubtree.size(); ++i) {
     subtreeRoot.add((GroupTreeNode) m_modifiedSubtree.elementAt(i));
   }
   if (m_revalidate) {
     m_groupSelector.revalidateGroups();
   }
 }
Пример #2
0
 @Override
 public void undo() {
   super.undo();
   // remember modified children for redo
   m_modifiedSubtree.clear();
   // get node to edit
   final GroupTreeNode subtreeRoot = m_groupRoot.getNode(m_subtreeRootPath);
   for (int i = 0; i < subtreeRoot.getChildCount(); ++i) {
     m_modifiedSubtree.add(subtreeRoot.getChildAt(i));
   }
   // keep subtree handle, but restore everything else from backup
   subtreeRoot.removeAllChildren();
   for (int i = 0; i < m_subtreeBackup.getChildCount(); ++i) {
     subtreeRoot.add(((GroupTreeNode) m_subtreeBackup.getChildAt(i)).deepCopy());
   }
   if (m_revalidate) {
     m_groupSelector.revalidateGroups();
   }
 }