80e246ea09
Down des nodes)
75 lines
2.7 KiB
Java
75 lines
2.7 KiB
Java
package fenetres.create_act;
|
|
|
|
import java.awt.event.ActionEvent;
|
|
import java.awt.event.KeyEvent;
|
|
|
|
import javax.swing.AbstractAction;
|
|
import javax.swing.Action;
|
|
import javax.swing.ImageIcon;
|
|
import javax.swing.JOptionPane;
|
|
import javax.swing.KeyStroke;
|
|
import javax.swing.tree.DefaultMutableTreeNode;
|
|
import javax.swing.tree.DefaultTreeModel;
|
|
import javax.swing.tree.TreePath;
|
|
|
|
import cXML.node;
|
|
import fenetres.create;
|
|
|
|
public class actUpNode extends AbstractAction{
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
{
|
|
putValue( Action.NAME, "Monter le node" );
|
|
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/upnodemini.png")) );
|
|
putValue( Action.SHORT_DESCRIPTION, "Monter le node (CTRL+SHIFT+C)" );
|
|
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_U, KeyEvent.SHIFT_DOWN_MASK) );
|
|
}
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
if(fenetres.create.getTree().getSelectionPath()!=null) {
|
|
// DefaultMutableTreeNode selectNode = (DefaultMutableTreeNode) fenetres.create.getTree().getSelectionPath().getLastPathComponent();
|
|
|
|
node nod = (node) fenetres.create.getSelectNode().getUserObject();
|
|
DefaultMutableTreeNode selectNode = fenetres.create.getSelectNode();
|
|
DefaultMutableTreeNode selectParentNode = (DefaultMutableTreeNode) selectNode.getParent();
|
|
|
|
|
|
int selectedNodeIndex = selectNode.getParent().getIndex(selectNode);
|
|
|
|
|
|
|
|
int a = JOptionPane.showConfirmDialog(null,"Voulez-vous monter le node " + selectNode.toString()+ "?", "Sélectionner un choix", JOptionPane.YES_NO_OPTION);
|
|
|
|
if(a == JOptionPane.YES_NO_OPTION) {
|
|
|
|
if(!nod.chemin().contains("setting")) {
|
|
|
|
TreePath path = fenetres.create.getTree().getSelectionPath();
|
|
|
|
if(selectedNodeIndex>0) {
|
|
nod.getParent().upNodeEnfant(nod);
|
|
|
|
DefaultTreeModel treeModel = (DefaultTreeModel) fenetres.create.getTree().getModel();
|
|
treeModel.insertNodeInto(selectNode, selectParentNode, selectedNodeIndex-1);
|
|
|
|
DefaultMutableTreeNode root = (DefaultMutableTreeNode) treeModel.getRoot();
|
|
fenetres.create.setTree(treeModel);
|
|
treeModel.reload(root);
|
|
|
|
fenetres.create.getTree().setSelectionPath(path);
|
|
fenetres.create.getTree().expandPath(path);
|
|
}
|
|
|
|
|
|
}else {
|
|
JOptionPane.showMessageDialog(null,"Vous ne devez pas déplacer ce node !", "Oh non!!!", JOptionPane.INFORMATION_MESSAGE);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|