diff --git a/.classpath b/.classpath
index ea03344..7242b9c 100644
--- a/.classpath
+++ b/.classpath
@@ -14,6 +14,6 @@
-
+
diff --git a/bin/.gitignore b/bin/.gitignore
index 12bc038..5d0a443 100644
--- a/bin/.gitignore
+++ b/bin/.gitignore
@@ -4,3 +4,4 @@
/ou.png
/oumini.png
/resources/
+/OU.svg
diff --git a/bin/fenetres/create$1.class b/bin/fenetres/create$1.class
index 017d58e..551ded8 100644
Binary files a/bin/fenetres/create$1.class and b/bin/fenetres/create$1.class differ
diff --git a/bin/fenetres/create$10.class b/bin/fenetres/create$10.class
index 8fe313e..dbffc02 100644
Binary files a/bin/fenetres/create$10.class and b/bin/fenetres/create$10.class differ
diff --git a/bin/fenetres/create$11.class b/bin/fenetres/create$11.class
index a1b6566..b9d53f2 100644
Binary files a/bin/fenetres/create$11.class and b/bin/fenetres/create$11.class differ
diff --git a/bin/fenetres/create$12.class b/bin/fenetres/create$12.class
index b00f142..cbb1824 100644
Binary files a/bin/fenetres/create$12.class and b/bin/fenetres/create$12.class differ
diff --git a/bin/fenetres/create$13.class b/bin/fenetres/create$13.class
index ed399b9..6207dd5 100644
Binary files a/bin/fenetres/create$13.class and b/bin/fenetres/create$13.class differ
diff --git a/bin/fenetres/create$2.class b/bin/fenetres/create$2.class
index 7657ee2..0dee06c 100644
Binary files a/bin/fenetres/create$2.class and b/bin/fenetres/create$2.class differ
diff --git a/bin/fenetres/create$3.class b/bin/fenetres/create$3.class
index c464fcb..c060498 100644
Binary files a/bin/fenetres/create$3.class and b/bin/fenetres/create$3.class differ
diff --git a/bin/fenetres/create$4.class b/bin/fenetres/create$4.class
index b9ea57a..c5d07ad 100644
Binary files a/bin/fenetres/create$4.class and b/bin/fenetres/create$4.class differ
diff --git a/bin/fenetres/create$5.class b/bin/fenetres/create$5.class
index 89e1bd0..046f4ab 100644
Binary files a/bin/fenetres/create$5.class and b/bin/fenetres/create$5.class differ
diff --git a/bin/fenetres/create$6.class b/bin/fenetres/create$6.class
index f457c1d..dc778d4 100644
Binary files a/bin/fenetres/create$6.class and b/bin/fenetres/create$6.class differ
diff --git a/bin/fenetres/create$7.class b/bin/fenetres/create$7.class
index f5376c8..4486e9b 100644
Binary files a/bin/fenetres/create$7.class and b/bin/fenetres/create$7.class differ
diff --git a/bin/fenetres/create$8.class b/bin/fenetres/create$8.class
index 5edd173..5f49c76 100644
Binary files a/bin/fenetres/create$8.class and b/bin/fenetres/create$8.class differ
diff --git a/bin/fenetres/create$9.class b/bin/fenetres/create$9.class
index 94b223b..660b29d 100644
Binary files a/bin/fenetres/create$9.class and b/bin/fenetres/create$9.class differ
diff --git a/bin/fenetres/create.class b/bin/fenetres/create.class
index 82cba90..c8777c4 100644
Binary files a/bin/fenetres/create.class and b/bin/fenetres/create.class differ
diff --git a/bin/fenetres/create_act/actDeleteNode.class b/bin/fenetres/create_act/actDeleteNode.class
index 0a9a4df..a42be9a 100644
Binary files a/bin/fenetres/create_act/actDeleteNode.class and b/bin/fenetres/create_act/actDeleteNode.class differ
diff --git a/bin/fenetres/create_act/actDownNode.class b/bin/fenetres/create_act/actDownNode.class
index e356b7a..f59e4b9 100644
Binary files a/bin/fenetres/create_act/actDownNode.class and b/bin/fenetres/create_act/actDownNode.class differ
diff --git a/bin/fenetres/create_act/actPaste.class b/bin/fenetres/create_act/actPaste.class
index e5c1ab5..618494e 100644
Binary files a/bin/fenetres/create_act/actPaste.class and b/bin/fenetres/create_act/actPaste.class differ
diff --git a/bin/fenetres/create_act/actUpNode.class b/bin/fenetres/create_act/actUpNode.class
index c31fa83..581fbf6 100644
Binary files a/bin/fenetres/create_act/actUpNode.class and b/bin/fenetres/create_act/actUpNode.class differ
diff --git a/src/fenetres/create.java b/src/fenetres/create.java
index b3264f7..1051f6b 100644
--- a/src/fenetres/create.java
+++ b/src/fenetres/create.java
@@ -113,6 +113,8 @@ import list.listeRechercheParAnchorPageNumber;
import javax.swing.JToggleButton;
import java.awt.GridLayout;
import java.awt.event.ActionListener;
+import javax.swing.JMenuItem;
+import java.awt.event.InputEvent;
@@ -614,14 +616,19 @@ public final class create extends JFrame {
//Menu arbre
JMenu mnManageTree = new JMenu("Arbre");
- mnManageTree.add(new actUpNode());
- mnManageTree.add(new actDownNode());
+ JMenuItem menuItem = mnManageTree.add(new actUpNode());
+ menuItem.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_U, InputEvent.SHIFT_DOWN_MASK));
+ JMenuItem menuItem_2 = mnManageTree.add(new actDownNode());
+ menuItem_2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.SHIFT_DOWN_MASK));
mnManageTree.addSeparator();
mnManageTree.add(new actExpandAll());
mnManageTree.add(new actExpandNode());
mnManageTree.addSeparator();
mnManageTree.add(new actCollapseAll());
mnManageTree.add(new actCollapseNode());
+ mnManageTree.addSeparator();
+ JMenuItem menuItem_1 = mnManageTree.add(new actDeleteNode());
+ menuItem_1.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_D, InputEvent.CTRL_DOWN_MASK));
mnNode.add(mnManageTree);
mnNode.addSeparator();
diff --git a/src/fenetres/create_act/actDeleteNode.java b/src/fenetres/create_act/actDeleteNode.java
index 7520585..a7f8fb9 100644
--- a/src/fenetres/create_act/actDeleteNode.java
+++ b/src/fenetres/create_act/actDeleteNode.java
@@ -1,11 +1,16 @@
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;
@@ -20,6 +25,7 @@ public class actDeleteNode extends AbstractAction{
putValue( Action.NAME, "Supprime" );
putValue( Action.SMALL_ICON, new ImageIcon(create.class.getResource("/resources/supprimemini.png")) );
putValue( Action.SHORT_DESCRIPTION, "Supprime" );
+ putValue( Action.ACCELERATOR_KEY, KeyStroke.getKeyStroke(KeyEvent.VK_D, KeyEvent.CTRL_DOWN_MASK ) );
}
@Override
public void actionPerformed(ActionEvent e) {
@@ -34,7 +40,21 @@ public class actDeleteNode extends AbstractAction{
||nod.getNomElt().equals("plagiarism")||nod.getNomElt().equals("text:similarity")||nod.getNomElt().equals("color") ||nod.getNomElt().equals("translation") )) {
nod.getParent().supprimeNodeEnfant(nod);
- fenetres.create.constructionTree();
+
+ TreePath path = fenetres.create.getTree().getSelectionPath().getParentPath();
+ DefaultMutableTreeNode nodMu = fenetres.create.getSelectNode();
+ DefaultMutableTreeNode SelectParentNode = (DefaultMutableTreeNode) nodMu.getParent();
+
+ SelectParentNode.remove(nodMu);
+
+ DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
+ DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
+ model.reload(root);
+
+ fenetres.create.getTree().setSelectionPath(path);
+ fenetres.create.getTree().expandPath(path);
+
+// fenetres.create.constructionTree();
}else {
JOptionPane.showMessageDialog(null,"Vous ne devez pas supprimer ce node !", "Oh non!!!", JOptionPane.INFORMATION_MESSAGE);
diff --git a/src/fenetres/create_act/actDownNode.java b/src/fenetres/create_act/actDownNode.java
index 49ad194..ebf3eb6 100644
--- a/src/fenetres/create_act/actDownNode.java
+++ b/src/fenetres/create_act/actDownNode.java
@@ -1,11 +1,16 @@
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;
@@ -19,7 +24,8 @@ public class actDownNode extends AbstractAction{
{
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" );
+ 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) {
@@ -27,15 +33,48 @@ public class actDownNode extends AbstractAction{
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();
+
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+
if(!nod.chemin().contains("setting")) {
+
+ DefaultMutableTreeNode selectNode = fenetres.create.getSelectNode();
+ TreePath path = fenetres.create.getTree().getSelectionPath().getParentPath();
+
nod.getParent().downNodeEnfant(nod);
- fenetres.create.constructionTree();
+
+ DefaultMutableTreeNode SelectParentNode = (DefaultMutableTreeNode) selectNode.getParent();
+ SelectParentNode.removeAllChildren();
+ SelectParentNode = addNodeMutable(nod.getParent(),SelectParentNode);
+
+ DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
+ DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
+ model.reload(root);
+
+ fenetres.create.getTree().setSelectionPath(path);
+ fenetres.create.getTree().expandPath(path);
+
+// fenetres.create.constructionTree();
}else {
JOptionPane.showMessageDialog(null,"Vous ne devez pas déplacer ce node !", "Oh non!!!", JOptionPane.INFORMATION_MESSAGE);
}
}
}
}
+
+ 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;
+ }
}
diff --git a/src/fenetres/create_act/actOu.java b/src/fenetres/create_act/actOu.java
index 85a2a0b..e9fcf43 100644
--- a/src/fenetres/create_act/actOu.java
+++ b/src/fenetres/create_act/actOu.java
@@ -31,6 +31,8 @@ public class actOu extends AbstractAction{
nodeOu.setNomElt("OU");
nod.getNodes().add(nodeOu);
+ nodeOu.setParent(nod);
+
DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(nodeOu);
nodMu.add(node1);
diff --git a/src/fenetres/create_act/actPaste.java b/src/fenetres/create_act/actPaste.java
index edc864d..b2bc5ff 100644
--- a/src/fenetres/create_act/actPaste.java
+++ b/src/fenetres/create_act/actPaste.java
@@ -46,26 +46,24 @@ public class actPaste extends AbstractAction{
node nodCopy =new node(paste);
if(!nodCopy.getNomElt().isEmpty()) {
- TreePath path = fenetres.create.getTree().getSelectionPath();
+ TreePath path = fenetres.create.getTree().getSelectionPath();
- node nod = (node) fenetres.create.getSelectNode().getUserObject();
- DefaultMutableTreeNode nodeMu = fenetres.create.getSelectNode();
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ DefaultMutableTreeNode nodeMu = fenetres.create.getSelectNode();
- nod.getNodes().add(nodCopy);
- DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(nodCopy);
- nodeMu.add(node1);
+ nod.getNodes().add(nodCopy);
+ DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(nodCopy);
+ nodeMu.add(node1);
- nodeMu = addNodeMutable(nodCopy,node1);
+ nodeMu = addNodeMutable(nodCopy,node1);
- DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
- DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
- model.reload(root);
+ DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
+ DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
+ model.reload(root);
-// fenetres.create.constructionTree();
- fenetres.create.getTree().setSelectionPath(path);
- fenetres.create.getTree().expandPath(path);
+ fenetres.create.getTree().setSelectionPath(path);
+ fenetres.create.getTree().expandPath(path);
-// initial = paste;
}else {
JOptionPane.showMessageDialog(null, "Le collage n'est pas réalisé.");
}
diff --git a/src/fenetres/create_act/actUpNode.java b/src/fenetres/create_act/actUpNode.java
index a32cadb..63f3bff 100644
--- a/src/fenetres/create_act/actUpNode.java
+++ b/src/fenetres/create_act/actUpNode.java
@@ -1,12 +1,16 @@
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;
@@ -20,25 +24,60 @@ public class actUpNode extends AbstractAction{
{
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" );
+ 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();
+// DefaultMutableTreeNode selectNode = (DefaultMutableTreeNode) fenetres.create.getTree().getSelectionPath().getLastPathComponent();
- int a = JOptionPane.showConfirmDialog(null,"Voulez-vous monter le node " + selectNode.toString() + "?", "Sélectionner un choix", JOptionPane.YES_NO_OPTION);
+ node nod = (node) fenetres.create.getSelectNode().getUserObject();
+ DefaultMutableTreeNode selectNode = fenetres.create.getSelectNode();
+
+ 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) {
- node nod = (node) selectNode.getUserObject();
- if(!nod.chemin().contains("setting")) {
- nod.getParent().upNodeEnfant(nod);
- fenetres.create.constructionTree();
- }else {
- JOptionPane.showMessageDialog(null,"Vous ne devez pas déplacer ce node !", "Oh non!!!", JOptionPane.INFORMATION_MESSAGE);
- }
+
+ if(!nod.chemin().contains("setting")) {
+
+ TreePath path = fenetres.create.getTree().getSelectionPath().getParentPath();
+
+ nod.getParent().upNodeEnfant(nod);
+
+ DefaultMutableTreeNode SelectParentNode = (DefaultMutableTreeNode) selectNode.getParent();
+ SelectParentNode.removeAllChildren();
+ SelectParentNode = addNodeMutable(nod.getParent(),SelectParentNode);
+
+
+ DefaultTreeModel model = (DefaultTreeModel) fenetres.create.getTree().getModel();
+ DefaultMutableTreeNode root = (DefaultMutableTreeNode) model.getRoot();
+ model.reload(root);
+
+ fenetres.create.getTree().setSelectionPath(path);
+ fenetres.create.getTree().expandPath(path);
+
+// fenetres.create.constructionTree();
+ }else {
+ JOptionPane.showMessageDialog(null,"Vous ne devez pas déplacer ce node !", "Oh non!!!", JOptionPane.INFORMATION_MESSAGE);
+ }
}
}
}
+
+ 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;
+ }
}