/**********************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation, Ericsson
+ * Copyright (c) 2005, 2014 IBM Corporation, Ericsson
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* Name of menu separator for view modes
* @since 2.0
*/
- public final static String UML2SD_VIEW_MODES_SEPARATOR = "UML2SD_VIEW_MODES"; //$NON-NLS-1$
+ public static final String UML2SD_VIEW_MODES_SEPARATOR = "UML2SD_VIEW_MODES"; //$NON-NLS-1$
/**
* Name of menu separator for working set
* @since 2.0
*/
- public final static String UML2SD_WORKING_SET_SEPARATOR = "UML2SD_WORKING_SET"; //$NON-NLS-1$
+ public static final String UML2SD_WORKING_SET_SEPARATOR = "UML2SD_WORKING_SET"; //$NON-NLS-1$
/**
* Name of menu separator for sorting
* @since 2.0
*/
- public final static String UML2SD_SORTING_SEPARATOR = "UML2SD_SORTING"; //$NON-NLS-1$
+ public static final String UML2SD_SORTING_SEPARATOR = "UML2SD_SORTING"; //$NON-NLS-1$
/**
* Name of menu separator for filtering
* @since 2.0
*/
- public final static String UML2SD_FILTERING_SEPARATOR = "UML2SD_FILTERING"; //$NON-NLS-1$
+ public static final String UML2SD_FILTERING_SEPARATOR = "UML2SD_FILTERING"; //$NON-NLS-1$
/**
* Name of menu separator for view layout
* @since 2.0
*/
- public final static String UML2SD_VIEW_LAYOUT_SEPARATOR = "UML2SD_VIEW_LAYOUT"; //$NON-NLS-1$
+ public static final String UML2SD_VIEW_LAYOUT_SEPARATOR = "UML2SD_VIEW_LAYOUT"; //$NON-NLS-1$
/**
* Name of menu separator for link editor
* @since 2.0
*/
- public final static String UML2SD_LINK_EDITOR_SEPARATOR = "UML2SD_LINK_EDITOR"; //$NON-NLS-1$
+ public static final String UML2SD_LINK_EDITOR_SEPARATOR = "UML2SD_LINK_EDITOR"; //$NON-NLS-1$
/**
* Name of menu separator for other commands
* @since 2.0
*/
- public final static String UML2SD_OTHER_COMMANDS_SEPARATOR = "UML2SD_OTHER_COMMANDS"; //$NON-NLS-1$
+ public static final String UML2SD_OTHER_COMMANDS_SEPARATOR = "UML2SD_OTHER_COMMANDS"; //$NON-NLS-1$
/**
* Name of menu separator for other plug-in commands
* @since 2.0
*/
- public final static String UML2SD_OTHER_PLUGINS_COMMANDS_SEPARATOR = "UML2SD_OTHER_PLUGINS_COMMANDS"; //$NON-NLS-1$
+ public static final String UML2SD_OTHER_PLUGINS_COMMANDS_SEPARATOR = "UML2SD_OTHER_PLUGINS_COMMANDS"; //$NON-NLS-1$
// ------------------------------------------------------------------------
// Attributes
*/
private Cursor fWaitCursor;
+ private Zoom fResetZoomAction;
+ private Zoom fNoZoomAction;
+ private Zoom fZoomInAction;
+ private Zoom fZoomOutAction;
+
// ------------------------------------------------------------------------
// Methods
// ------------------------------------------------------------------------
@Override
public void dispose() {
KeyBindingsManager.getInstance().remove(this.getSite().getId());
+ disposeZoomActions();
super.dispose();
}
+ private void disposeZoomActions() {
+ if (fResetZoomAction != null) {
+ fResetZoomAction.dispose();
+ }
+ if (fNoZoomAction != null) {
+ fNoZoomAction.dispose();
+ }
+ if (fZoomInAction != null) {
+ fZoomInAction.dispose();
+ }
+ if (fZoomOutAction != null) {
+ fZoomOutAction.dispose();
+ }
+ }
+
/**
* Returns the SD widget.
*
bar.getMenuManager().removeAll();
bar.getToolBarManager().removeAll();
+ disposeZoomActions();
createMenuGroup();
- Zoom resetZoom = new Zoom(this, ZoomType.ZOOM_RESET);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, resetZoom);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, resetZoom);
+ fResetZoomAction = new Zoom(this, ZoomType.ZOOM_RESET);
+ bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fResetZoomAction);
+ bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fResetZoomAction);
- Zoom noZoom = new Zoom(this, ZoomType.ZOOM_NONE);
- noZoom.setChecked(true);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, noZoom);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, noZoom);
+ fNoZoomAction = new Zoom(this, ZoomType.ZOOM_NONE);
+ fNoZoomAction.setChecked(true);
+ bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fNoZoomAction);
+ bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fNoZoomAction);
- Zoom zoomIn = new Zoom(this, ZoomType.ZOOM_IN);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, zoomIn);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, zoomIn);
+ fZoomInAction = new Zoom(this, ZoomType.ZOOM_IN);
+ bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomInAction);
+ bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomInAction);
- Zoom zoomOut = new Zoom(this, ZoomType.ZOOM_OUT);
- bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, zoomOut);
- bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, zoomOut);
+ fZoomOutAction = new Zoom(this, ZoomType.ZOOM_OUT);
+ bar.getMenuManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomOutAction);
+ bar.getToolBarManager().appendToGroup(UML2SD_OTHER_COMMANDS_SEPARATOR, fZoomOutAction);
MenuManager navigation = new MenuManager(Messages.SequenceDiagram_Navigation);
* @return the value of the initialization flag.
* @since 2.0
*/
- private boolean isNeedInit() {
+ protected boolean isNeedInit() {
return fNeedInit;
}