|
From: <de...@us...> - 2012-09-21 14:13:04
|
Revision: 7652
http://fudaa.svn.sourceforge.net/fudaa/?rev=7652&view=rev
Author: deniger
Date: 2012-09-21 14:12:53 +0000 (Fri, 21 Sep 2012)
Log Message:
-----------
recherche
Modified Paths:
--------------
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java
trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java 2012-09-19 19:19:02 UTC (rev 7651)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGFillePanel.java 2012-09-21 14:12:53 UTC (rev 7652)
@@ -34,6 +34,7 @@
import com.memoire.bu.BuBorderLayout;
import com.memoire.bu.BuLib;
+import com.memoire.bu.BuMenuItem;
import com.memoire.bu.BuPanel;
import com.memoire.bu.BuPopupMenu;
import com.memoire.bu.BuResource;
@@ -46,6 +47,7 @@
import org.fudaa.ctulu.CtuluListSelectionListener;
import org.fudaa.ctulu.CtuluSelectionInterface;
import org.fudaa.ctulu.gui.CtuluLibSwing;
+import org.fudaa.ctulu.gui.CtuluPopupMenu;
import org.fudaa.ctulu.image.CtuluImageProducer;
import org.fudaa.ebli.commun.*;
import org.fudaa.ebli.palette.BPaletteInfoAbstractAction;
@@ -287,24 +289,7 @@
final BuPopupMenu m = new BuPopupMenu();
m.setInvoker(this);
fillPopupMenu(m);
- boolean actif = false;
- final EGCourbe c = vue_.graphe_.getSelectedComponent();
- final boolean cModifiable = (c != null) && (c.getModel().isModifiable()) && (getSelection() != null)
- && (!getSelection().isEmpty());
- m.addMenuItem(EbliLib.getS("Modifier les points s\xE9lectionn\xE9s"), "MODIFY_POINTS", EbliResource.EBLI
- .getToolIcon("node-edit"), cModifiable)/* .addActionListener(this) */;
- actif = cModifiable && (getSelection().getNbSelectedIndex() >= 2);
- m.addMenuItem(EbliLib.getS("Aligner les points"), "ALIGN_POINTS", EbliResource.EBLI.getToolIcon("node-corner"),
- actif)/* .addActionListener(this) */;
- actif = c != null && c.getModel().isModifiable() && c.getModel().isXModifiable()
- && (getSelection().getNbSelectedIndex() >= 2);
- m.addMenuItem(EbliLib.getS("Raffiner"), "ADD_POINTS", EbliResource.EBLI.getToolIcon("node-add"), actif)/*
- * .addActionListener
- * (this)
- */;
- actif = c != null && cModifiable && c.getModel().isXModifiable() && c.getModel().getNbValues() > 2;
- m.addMenuItem(EbliLib.getS("Supprimer un point"), "REMOVE_POINTS", EbliResource.EBLI.getToolIcon("node-delete"),
- actif)/* .addActionListener(this) */;
+ fillMenuWithActions(m);
m.add(new BuSeparator());
fillSpecificMenu(m);
m.show(this, _x, _y);
@@ -451,4 +436,72 @@
}
personnalAction_ = _a;
}
+ BuMenuItem modifiyPointsMenuItem;
+ BuMenuItem alignPointMenuItem;
+ BuMenuItem refinePointMenuItem;
+ BuMenuItem removePointMenuItem;
+
+ public void fillMenuWithActions(final BuPopupMenu m) {
+ modifiyPointsMenuItem = addModifiyPointsMenuItem(m);
+ alignPointMenuItem = addAlignPointMenuItem(m);
+ refinePointMenuItem = addRefinePointMenuItem(m);
+ removePointMenuItem = addRemovePointMenuItem(m);
+ }
+
+ public boolean isSelectedCourbeModifiable() {
+ final EGCourbe c = vue_.graphe_.getSelectedComponent();
+ return (c != null) && (c.getModel().isModifiable()) && (getSelection() != null)
+ && (!getSelection().isEmpty());
+ }
+
+ public boolean isSelectionAlignable() {
+ return isSelectedCourbeModifiable() && (getSelection().getNbSelectedIndex() >= 2);
+ }
+
+ public boolean isSelectionRefinable() {
+ return isSelectedCourbeModifiable()
+ && (getSelection().getNbSelectedIndex() >= 2);
+ }
+
+ public boolean isSelectionRemovable() {
+ return isSelectedCourbeModifiable();
+ }
+
+ public BuMenuItem addModifiyPointsMenuItem(final BuPopupMenu m) {
+ return m.addMenuItem(EbliLib.getS("Modifier les points s\xE9lectionn\xE9s"), "MODIFY_POINTS", EbliResource.EBLI
+ .getToolIcon("node-edit"), isSelectedCourbeModifiable());
+ }
+
+ public BuMenuItem addModifiyPointsMenuItem(final CtuluPopupMenu m) {
+ return m.addMenuItem(EbliLib.getS("Modifier les points s\xE9lectionn\xE9s"), "MODIFY_POINTS", EbliResource.EBLI
+ .getToolIcon("node-edit"), isSelectedCourbeModifiable());
+ }
+
+ public BuMenuItem addAlignPointMenuItem(final CtuluPopupMenu m) {
+ return m.addMenuItem(EbliLib.getS("Aligner les points"), "ALIGN_POINTS", EbliResource.EBLI.getToolIcon("node-corner"), isSelectionAlignable());
+ }
+
+ public BuMenuItem addAlignPointMenuItem(final BuPopupMenu m) {
+ return m.addMenuItem(EbliLib.getS("Aligner les points"), "ALIGN_POINTS", EbliResource.EBLI.getToolIcon("node-corner"), isSelectionAlignable());
+ }
+
+ public BuMenuItem addRefinePointMenuItem(final CtuluPopupMenu m) {
+ return m.addMenuItem(EbliLib.getS("Raffiner"), "ADD_POINTS", EbliResource.EBLI.getToolIcon("node-add"), isSelectionRefinable());
+ }
+
+ public BuMenuItem addRefinePointMenuItem(final BuPopupMenu m) {
+ return m.addMenuItem(EbliLib.getS("Raffiner"), "ADD_POINTS", EbliResource.EBLI.getToolIcon("node-add"), isSelectionRefinable());
+ }
+
+ public BuMenuItem addRemovePointMenuItem(final CtuluPopupMenu m) {
+ final BuMenuItem addMenuItem = m.addMenuItem(EbliLib.getS("Supprimer un point"), "REMOVE_POINTS", EbliResource.EBLI.getToolIcon("node-delete"), isSelectionRemovable());
+ addMenuItem.setAccelerator(EGTableGraphePanel.getDeleteKeyStroke());
+ return addMenuItem;
+ }
+
+ public BuMenuItem addRemovePointMenuItem(final BuPopupMenu m) {
+ final BuMenuItem addMenuItem = m.addMenuItem(EbliLib.getS("Supprimer un point"), "REMOVE_POINTS", EbliResource.EBLI.getToolIcon("node-delete"), isSelectionRemovable());
+ addMenuItem.setAccelerator(EGTableGraphePanel.getDeleteKeyStroke());
+ return addMenuItem;
+ }
}
\ No newline at end of file
Modified: trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java
===================================================================
--- trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java 2012-09-19 19:19:02 UTC (rev 7651)
+++ trunk/framework/ebli-1d/src/main/java/org/fudaa/ebli/courbe/EGTableGraphePanel.java 2012-09-21 14:12:53 UTC (rev 7652)
@@ -646,7 +646,7 @@
public DeleteAction() {
super(EbliLib.getS("Supprimer des points"), EbliResource.EBLI.getToolIcon("node-delete"), "REMOVE_POINTS");
- putValue(ACCELERATOR_KEY, KeyStroke.getKeyStroke("control D"));
+ putValue(ACCELERATOR_KEY, getDeleteKeyStroke());
}
@Override
@@ -660,6 +660,19 @@
}
}
+ public static KeyStroke getDeleteKeyStroke() {
+ return KeyStroke.getKeyStroke("control D");
+ }
+ boolean addTopButtons = true;
+
+ public boolean isAddTopButtons() {
+ return addTopButtons;
+ }
+
+ public void setAddTopButtons(boolean addTopButtons) {
+ this.addTopButtons = addTopButtons;
+ }
+
public void addPanelAction(final EGFillePanel _p) {
// si le contenu n'est pas modifiable ou si les boutons ont deja ete
// initialise on oublie ....
@@ -693,12 +706,14 @@
if (afficheNomCourbe_) {
north.add(lb_, BuBorderLayout.NORTH);
}
- final BuPanel pnBt = new BuPanel();
- pnBt.setLayout(new BuButtonLayout(1, SwingConstants.LEFT));
- pnBt.add(btAdd_);
- pnBt.add(btAlign_);
- pnBt.add(btRemove_);
- north.add(pnBt, BuBorderLayout.CENTER);
+ if (addTopButtons) {
+ final BuPanel pnBt = new BuPanel();
+ pnBt.setLayout(new BuButtonLayout(1, SwingConstants.LEFT));
+ pnBt.add(btAdd_);
+ pnBt.add(btAlign_);
+ pnBt.add(btRemove_);
+ north.add(pnBt, BuBorderLayout.CENTER);
+ }
remove(lb_);
add(north, BuBorderLayout.NORTH);
final InputMap m = getInputMap(JComponent.WHEN_IN_FOCUSED_WINDOW);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|