import org.scilab.modules.commons.gui.FindIconHelper;
import org.scilab.modules.commons.gui.ScilabLAF;
+import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
import org.scilab.modules.gui.events.callback.CommonCallBack;
+import org.scilab.modules.gui.menuitem.MenuItem;
+import org.scilab.modules.gui.menuitem.ScilabMenuItem;
import org.scilab.modules.xcos.palette.view.PaletteManagerView;
import org.scilab.modules.xcos.utils.XcosMessages;
private static final long serialVersionUID = 1L;
- private static final String LABEL_NEXT = XcosMessages.NEXT;
- private static final String LABEL_PREV = XcosMessages.PREVIOUS;
private static final String ICON_NEXT = FindIconHelper.findIcon("go-next");
private static final String ICON_PREV = FindIconHelper.findIcon("go-previous");
private static JButton btnNEXT;
private static JButton btnPREV;
+ private static MenuItem miNEXT;
+ private static MenuItem miPREV;
/**
* Constructor
public static JButton createButtonNext() {
btnNEXT = new JButton();
ScilabLAF.setDefaultProperties(btnNEXT);
+ btnNEXT.setName(XcosMessages.NEXT);
btnNEXT.setIcon(new ImageIcon(ICON_NEXT));
- btnNEXT.setToolTipText(LABEL_NEXT);
+ btnNEXT.setToolTipText(XcosMessages.NEXT);
btnNEXT.addActionListener(getCallBack());
btnNEXT.setFocusable(true);
setEnabledNext(false);
public static JButton createButtonPrev() {
btnPREV = new JButton();
ScilabLAF.setDefaultProperties(btnPREV);
+ btnPREV.setName(XcosMessages.PREVIOUS);
btnPREV.setIcon(new ImageIcon(ICON_PREV));
- btnPREV.setToolTipText(LABEL_PREV);
+ btnPREV.setToolTipText(XcosMessages.PREVIOUS);
btnPREV.addActionListener(getCallBack());
btnPREV.setFocusable(true);
setEnabledPrev(false);
}
/**
+ * Creates a menu item associated with the 'next' action
+ * @return the menuitem
+ */
+ public static MenuItem createMenuNext() {
+ miNEXT = ScilabMenuItem.createMenuItem();
+ miNEXT.setText(XcosMessages.NEXT);
+ miNEXT.setMnemonic('N');
+ miNEXT.setCallback(getCallBack());
+ ((SwingScilabMenuItem) miNEXT.getAsSimpleMenuItem()).setIcon(new ImageIcon(ICON_NEXT));
+ return miNEXT;
+ }
+
+ /**
+ * Creates a menu item associated with the 'previous' action
+ * @return the menuitem
+ */
+ public static MenuItem createMenuPrev() {
+ miPREV = ScilabMenuItem.createMenuItem();
+ miPREV.setText(XcosMessages.PREVIOUS);
+ miPREV.setMnemonic('P');
+ miPREV.setCallback(getCallBack());
+ ((SwingScilabMenuItem) miPREV.getAsSimpleMenuItem()).setIcon(new ImageIcon(ICON_PREV));
+ return miPREV;
+ }
+
+ /**
* Create a new class instance
* @return the instance
*/
* @param e ActionEvent
*/
public void actionPerformed(ActionEvent e) {
- Object src = e.getSource();
- if (btnNEXT != null && src.equals(btnNEXT)) {
+ String cmd = e.getActionCommand();
+ if (cmd.isEmpty()) {
+ cmd = ((JButton) e.getSource()).getName();
+ }
+
+ if (cmd.equals(XcosMessages.NEXT)) {
PaletteManagerView.get().getPanel().goNext();
- } else if (btnPREV != null && src.equals(btnPREV)) {
+ } else if (cmd.equals(XcosMessages.PREVIOUS)) {
PaletteManagerView.get().getPanel().goPrevious();
}
}
*/
public static void setEnabledNext(boolean enabled) {
btnNEXT.setEnabled(enabled);
+ miNEXT.setEnabled(enabled);
}
/**
*/
public static void setEnabledPrev(boolean enabled) {
btnPREV.setEnabled(enabled);
+ miPREV.setEnabled(enabled);
}
@Override
import org.scilab.modules.commons.OS;
import org.scilab.modules.commons.gui.FindIconHelper;
import org.scilab.modules.commons.gui.ScilabLAF;
+import org.scilab.modules.gui.bridge.menuitem.SwingScilabMenuItem;
import org.scilab.modules.gui.events.callback.CommonCallBack;
+import org.scilab.modules.gui.menuitem.MenuItem;
+import org.scilab.modules.gui.menuitem.ScilabMenuItem;
import org.scilab.modules.xcos.palette.view.PaletteManagerView;
import org.scilab.modules.xcos.utils.XcosMessages;
public class ZoomAction extends CommonCallBack {
private static final long serialVersionUID = 1L;
-
- private static final String LABEL_ZOOMIN = XcosMessages.ZOOM_IN;
- private static final String LABEL_ZOOMOUT = XcosMessages.ZOOM_OUT;
+
private static final String ICON_ZOOMIN = FindIconHelper.findIcon("zoom-in");
private static final String ICON_ZOOMOUT = FindIconHelper.findIcon("zoom-out");
private static JButton btnZoomIn;
private static JButton btnZoomOut;
+ private static MenuItem miZoomIn;
+ private static MenuItem miZoomOut;
/**
* Constructor
public static JButton createButtonZoomIn() {
btnZoomIn = new JButton();
ScilabLAF.setDefaultProperties(btnZoomIn);
+ btnZoomIn.setName(XcosMessages.ZOOM_IN);
btnZoomIn.setIcon(new ImageIcon(ICON_ZOOMIN));
- btnZoomIn.setToolTipText(LABEL_ZOOMIN);
+ btnZoomIn.setToolTipText(XcosMessages.ZOOM_IN);
btnZoomIn.addActionListener(getCallBack());
btnZoomIn.setFocusable(true);
setEnabledZoomIn(true);
public static JButton createButtonZoomOut() {
btnZoomOut = new JButton();
ScilabLAF.setDefaultProperties(btnZoomOut);
+ btnZoomOut.setName(XcosMessages.ZOOM_OUT);
btnZoomOut.setIcon(new ImageIcon(ICON_ZOOMOUT));
- btnZoomOut.setToolTipText(LABEL_ZOOMOUT);
+ btnZoomOut.setToolTipText(XcosMessages.ZOOM_OUT);
btnZoomOut.addActionListener(getCallBack());
btnZoomOut.setFocusable(true);
setEnabledZoomOut(true);
}
/**
+ * Creates a menu item associated with the 'zoom in' action
+ * @return the menuitem
+ */
+ public static MenuItem createMenuZoomIn() {
+ miZoomIn = ScilabMenuItem.createMenuItem();
+ miZoomIn.setText(XcosMessages.ZOOM_IN);
+ miZoomIn.setCallback(getCallBack());
+ SwingScilabMenuItem menu = ((SwingScilabMenuItem) miZoomIn.getAsSimpleMenuItem());
+ menu.setIcon(new ImageIcon(ICON_ZOOMIN));
+ menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_ADD, ACCELERATOR_KEY));
+ return miZoomIn;
+ }
+
+ /**
+ * Creates a menu item associated with the 'zoom out' action
+ * @return the menuitem
+ */
+ public static MenuItem createMenuZoomOut() {
+ miZoomOut = ScilabMenuItem.createMenuItem();
+ miZoomOut.setText(XcosMessages.ZOOM_OUT);
+ miZoomOut.setCallback(getCallBack());
+ SwingScilabMenuItem menu = ((SwingScilabMenuItem) miZoomOut.getAsSimpleMenuItem());
+ menu.setIcon(new ImageIcon(ICON_ZOOMOUT));
+ menu.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_SUBTRACT, ACCELERATOR_KEY));
+ return miZoomOut;
+ }
+
+ /**
* Create a new class instance
* @return the instance
*/
public void actionPerformed(ActionEvent e) {
String cmd = e.getActionCommand();
if (cmd.isEmpty()) {
- Object src = e.getSource();
- if (btnZoomIn != null && src.equals(btnZoomIn)) {
- PaletteManagerView.get().getPanel().zoomIn();
- } else if (btnZoomOut != null && src.equals(btnZoomOut)) {
- PaletteManagerView.get().getPanel().zoomOut();
- }
- } else if (OS.get() == MAC) {
- if (cmd.equals("/")) {
- PaletteManagerView.get().getPanel().zoomIn();
- } else if (cmd.equals("=")) {
- PaletteManagerView.get().getPanel().zoomOut();
- }
- } else {
- if (cmd.equals("+") || cmd.equals("=")) {
- PaletteManagerView.get().getPanel().zoomIn();
- } else if (cmd.equals("-") || cmd.equals("_")) {
- PaletteManagerView.get().getPanel().zoomOut();
- }
+ cmd = ((JButton) e.getSource()).getName();
+ } else if ((OS.get() == MAC && cmd.equals("=")) || cmd.equals("-") || cmd.equals("_")) {
+ cmd = XcosMessages.ZOOM_OUT;
+ } else if (cmd.equals("/") || cmd.equals("+") || cmd.equals("=")) {
+ cmd = XcosMessages.ZOOM_IN;
+ }
+
+ if (cmd.equals(XcosMessages.ZOOM_IN)) {
+ PaletteManagerView.get().getPanel().zoomIn();
+ } else if (cmd.equals(XcosMessages.ZOOM_OUT)) {
+ PaletteManagerView.get().getPanel().zoomOut();
}
}
*/
public static void setEnabledZoomIn(boolean enabled) {
btnZoomIn.setEnabled(enabled);
+ miZoomIn.setEnabled(enabled);
}
/**
*/
public static void setEnabledZoomOut(boolean enabled) {
btnZoomOut.setEnabled(enabled);
+ miZoomOut.setEnabled(enabled);
}
@Override
/* Create the menu bar */
final MenuBar menuBar = ScilabMenuBar.createMenuBar();
- final Menu menu = ScilabMenu.createMenu();
- menu.setText(XcosMessages.PALETTES);
- menu.setMnemonic('P');
- menuBar.add(menu);
-
- menu.add(LoadAsPalAction.createMenu(null));
- menu.addSeparator();
- menu.add(ClosePalettesAction.createMenu(null));
+ // Palettes
+ final Menu palettes = ScilabMenu.createMenu();
+ palettes.setText(XcosMessages.PALETTES);
+ palettes.setMnemonic('P');
+ menuBar.add(palettes);
+
+ palettes.add(LoadAsPalAction.createMenu(null));
+ palettes.addSeparator();
+ palettes.add(ClosePalettesAction.createMenu(null));
+
+ // View
+ final Menu view = ScilabMenu.createMenu();
+ view.setText(XcosMessages.VIEW);
+ view.setMnemonic('V');
+ menuBar.add(view);
+
+ view.add(ZoomAction.createMenuZoomIn());
+ view.addSeparator();
+ view.add(ZoomAction.createMenuZoomOut());
+ view.addSeparator();
+ view.add(NavigationAction.createMenuPrev());
+ view.addSeparator();
+ view.add(NavigationAction.createMenuNext());
setMenuBar(menuBar);