80e246ea09
Down des nodes)
85 lines
3.1 KiB
Java
85 lines
3.1 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 actDownNode extends AbstractAction{
|
|
|
|
/**
|
|
*
|
|
*/
|
|
private static final long serialVersionUID = 1L;
|
|
{
|
|
putValue( Action.NAME, "Descendre le node" );
|
|
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/downnodemini.png")) );
|
|
putValue( Action.SHORT_DESCRIPTION, "Descendre le node (Shift + D)" );
|
|
putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D, KeyEvent.SHIFT_DOWN_MASK) );
|
|
}
|
|
@Override
|
|
public void actionPerformed(ActionEvent e) {
|
|
if(fenetres.create.getTree().getSelectionPath()!=null) {
|
|
int a = JOptionPane.showConfirmDialog(null,"Voulez-vous descendre le node " + fenetres.create.getSelectNode().toString() + "?", "Sélectionner un choix", JOptionPane.YES_NO_OPTION);
|
|
|
|
if(a == JOptionPane.YES_NO_OPTION) {
|
|
node nod = (node) fenetres.create.getSelectNode().getUserObject();
|
|
|
|
|
|
if(!nod.chemin().contains("setting")) {
|
|
DefaultMutableTreeNode selectNode = fenetres.create.getSelectNode();
|
|
DefaultMutableTreeNode selectParentNode = (DefaultMutableTreeNode) selectNode.getParent();
|
|
int selectedNodeIndex = selectNode.getParent().getIndex(selectNode);
|
|
int count = selectNode.getParent().getChildCount();
|
|
|
|
if(selectedNodeIndex<count-1) {
|
|
TreePath path = fenetres.create.getTree().getSelectionPath();
|
|
nod.getParent().downNodeEnfant(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);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
@SuppressWarnings("unused")
|
|
private static DefaultMutableTreeNode addNodeMutable(node nod, DefaultMutableTreeNode parent) {
|
|
if(nod!=null) {
|
|
DefaultMutableTreeNode node1 = null;
|
|
|
|
for(int i = 0 ; i < nod.getNodes().size(); i++) {
|
|
if(!nod.getNodes().get(i).getNomElt().equals("setting")) {
|
|
node1 = new DefaultMutableTreeNode(nod.getNodes().get(i));
|
|
addNodeMutable(nod.getNodes().get(i), node1);
|
|
parent.add(node1);
|
|
}
|
|
}
|
|
}
|
|
return parent;
|
|
}
|
|
|
|
}
|