private void add(Action action, String imageName) { action.setId(action.getText()); action.setImageDescriptor( PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(imageName)); IToolBarManager mgr = getViewSite().getActionBars().getToolBarManager(); mgr.add(action); }
@Override public void init(IViewSite site, IMemento memento) throws PartInitException { init(site); String storedExtensions = ""; if (memento != null) { // Open dir path this.dirPath = memento.getString("DIR"); storedExtensions = memento.getString("FILTERS"); if (storedExtensions == null) storedExtensions = ""; } // Filter Extensions imgExtensions = new Action[ImageExplorerDirectoryChooseAction.LISTOFSUFFIX.length]; MenuManager filterMenu = new MenuManager("File Filters"); for (int i = 0; i < ImageExplorerDirectoryChooseAction.LISTOFSUFFIX.length; i++) { final int number = i; imgExtensions[i] = new Action("", IAction.AS_CHECK_BOX) { @Override public void run() { if (this.isChecked()) { filter.remove(ImageExplorerDirectoryChooseAction.LISTOFSUFFIX[number]); } else { filter.add(ImageExplorerDirectoryChooseAction.LISTOFSUFFIX[number]); } // reload the directory updateDirectory.setUser(true); updateDirectory.setPriority(Job.DECORATE); updateDirectory.schedule(1000); } }; imgExtensions[i].setText(ImageExplorerDirectoryChooseAction.LISTOFSUFFIX[i]); imgExtensions[i].setDescription( "Filter " + ImageExplorerDirectoryChooseAction.LISTOFSUFFIX[i] + " on/off"); if (storedExtensions.contains(ImageExplorerDirectoryChooseAction.LISTOFSUFFIX[i])) { imgExtensions[i].setChecked(false); filter.add(ImageExplorerDirectoryChooseAction.LISTOFSUFFIX[i]); } else imgExtensions[i].setChecked(true); filterMenu.add(imgExtensions[i]); } site.getActionBars().getMenuManager().add(filterMenu); // color submenus actions final IPaletteService pservice = PlatformUI.getWorkbench().getService(IPaletteService.class); final Collection<String> names = pservice.getColorSchemes(); String schemeName = getPreferenceColourMapChoice(); colorMenu = new MenuAction("Color"); colorMenu.setId(getClass().getName() + colorMenu.getText()); colorMenu.setImageDescriptor(AnalysisRCPActivator.getImageDescriptor("icons/color_wheel.png")); final Map<String, IAction> paletteActions = new HashMap<String, IAction>(11); CheckableActionGroup group = new CheckableActionGroup(); for (final String paletteName : names) { final Action action = new Action(paletteName, IAction.AS_CHECK_BOX) { @Override public void run() { try { setPreferenceColourMapChoice(paletteName); IPlottingSystem<Composite> system = PlottingFactory.getPlottingSystem(getPreferencePlaybackView()); if (system != null) { final Collection<ITrace> traces = system.getTraces(); if (traces != null) for (ITrace trace : traces) { if (trace instanceof IPaletteTrace) { IPaletteTrace paletteTrace = (IPaletteTrace) trace; paletteTrace.setPalette(paletteName); } } } } catch (Exception ne) { logger.error("Cannot create palette data!", ne); } } }; action.setId(paletteName); group.add(action); colorMenu.add(action); action.setChecked(paletteName.equals(schemeName)); paletteActions.put(paletteName, action); } colorMenu.setToolTipText("Histogram"); site.getActionBars().getMenuManager().add(colorMenu); // ImageExplorer preferences final Action openPreferences = new Action("Image Explorer Preferences...") { @Override public void run() { PreferenceDialog pref = PreferencesUtil.createPreferenceDialogOn( PlatformUI.getWorkbench().getActiveWorkbenchWindow().getShell(), ImageExplorerPreferencePage.ID, null, null); if (pref != null) pref.open(); } }; site.getActionBars().getMenuManager().add(openPreferences); }
protected void createActions() { ISharedImages sharedImages = getViewSite().getWorkbenchWindow().getWorkbench().getSharedImages(); zoomInAction = new Action(Messages.ChartViewPart_ZoomInAction) { @Override public void run() { int factor = viewer.getZoomFactor(); viewer.setZoomFactor(factor + 1); zoomOutAction.setEnabled(true); zoomResetAction.setEnabled(true); } }; zoomInAction.setId("zoomIn"); // $NON-NLS-1$ zoomInAction.setActionDefinitionId("org.eclipsetrader.ui.charts.zoomIn"); // $NON-NLS-1$ zoomOutAction = new Action(Messages.ChartViewPart_ZoomOutAction) { @Override public void run() { int factor = viewer.getZoomFactor(); if (factor > 0) { viewer.setZoomFactor(factor - 1); } zoomOutAction.setEnabled(factor != 1); zoomResetAction.setEnabled(factor != 1); } }; zoomOutAction.setId("zoomOut"); // $NON-NLS-1$ zoomOutAction.setActionDefinitionId("org.eclipsetrader.ui.charts.zoomOut"); // $NON-NLS-1$ zoomResetAction = new Action(Messages.ChartViewPart_NormalSizeAction) { @Override public void run() { viewer.setZoomFactor(0); zoomOutAction.setEnabled(false); zoomResetAction.setEnabled(false); } }; zoomResetAction.setId("zoomReset"); // $NON-NLS-1$ zoomResetAction.setActionDefinitionId("org.eclipsetrader.ui.charts.zoomReset"); // $NON-NLS-1$ zoomOutAction.setEnabled(false); zoomResetAction.setEnabled(false); periodAllAction = new Action(Messages.ChartViewPart_AllPeriodAction, IAction.AS_RADIO_BUTTON) { @Override public void run() { setPeriod(null, TimeSpan.days(1)); } }; cutAction = new Action(Messages.ChartViewPart_CutAction) { @Override public void run() {} }; cutAction.setId("cut"); // $NON-NLS-1$ cutAction.setActionDefinitionId("org.eclipse.ui.edit.cut"); // $NON-NLS-1$ cutAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_CUT)); cutAction.setDisabledImageDescriptor( sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_CUT_DISABLED)); cutAction.setEnabled(false); copyAction = new Action(Messages.ChartViewPart_CopyAction) { @Override public void run() {} }; copyAction.setId("copy"); // $NON-NLS-1$ copyAction.setActionDefinitionId("org.eclipse.ui.edit.copy"); // $NON-NLS-1$ copyAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY)); copyAction.setDisabledImageDescriptor( sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_COPY_DISABLED)); copyAction.setEnabled(false); pasteAction = new Action(Messages.ChartViewPart_PasteAction) { @Override public void run() {} }; pasteAction.setId("copy"); // $NON-NLS-1$ pasteAction.setActionDefinitionId("org.eclipse.ui.edit.paste"); // $NON-NLS-1$ pasteAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE)); pasteAction.setDisabledImageDescriptor( sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_PASTE_DISABLED)); pasteAction.setEnabled(false); deleteAction = new Action(Messages.ChartViewPart_DeleteAction) { @Override public void run() { IStructuredSelection selection = (IStructuredSelection) getViewSite().getSelectionProvider().getSelection(); if (!selection.isEmpty()) { if (MessageDialog.openConfirm( getViewSite().getShell(), getPartName(), Messages.ChartViewPart_DeleteConfirmMessage)) { ChartViewItem viewItem = (ChartViewItem) selection.getFirstElement(); ChartRowViewItem rowViewItem = (ChartRowViewItem) viewItem.getParent(); if (rowViewItem.getItemCount() == 1) { rowViewItem.getParentView().removeRow(rowViewItem); } else { rowViewItem.removeChildItem(viewItem); } } } } }; deleteAction.setId("delete"); // $NON-NLS-1$ deleteAction.setActionDefinitionId("org.eclipse.ui.edit.delete"); // $NON-NLS-1$ deleteAction.setImageDescriptor(sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE)); deleteAction.setDisabledImageDescriptor( sharedImages.getImageDescriptor(ISharedImages.IMG_TOOL_DELETE_DISABLED)); deleteAction.setEnabled(false); updateAction = new Action(Messages.ChartViewPart_UpdateAction) { @Override public void run() { doUpdate(); } }; updateAction.setId("update"); // $NON-NLS-1$ updateAction.setImageDescriptor( UIActivator.getImageDescriptor("icons/etool16/refresh.gif")); // $NON-NLS-1$ updateAction.setEnabled(true); propertiesAction = new PropertyDialogAction( new SameShellProvider(getViewSite().getShell()), getSite().getSelectionProvider()) { @Override public void run() { PreferenceDialog dialog = createDialog(); if (dialog != null) { if (dialog.open() == Window.OK) { IStructuredSelection selection = (IStructuredSelection) getSite().getSelectionProvider().getSelection(); ChartViewItem viewItem = (ChartViewItem) selection.getFirstElement(); ((ChartRowViewItem) viewItem.getParent()).refresh(); refreshChart(); setDirty(); } } } }; propertiesAction.setId(ActionFactory.PROPERTIES.getId()); propertiesAction.setActionDefinitionId("org.eclipse.ui.file.properties"); // $NON-NLS-1$ propertiesAction.setEnabled(false); currentPriceLineAction = new Action(Messages.ChartViewPart_ShowCurrentPriceAction, IAction.AS_CHECK_BOX) { @Override public void run() { currentPriceLineFactory.setEnable(isChecked()); dialogSettings.put(K_SHOW_CURRENT_PRICE, isChecked()); } }; currentBookAction = new Action(Messages.ChartViewPart_ShowBookAction, IAction.AS_CHECK_BOX) { @Override public void run() { currentBookFactory.setEnable(isChecked()); dialogSettings.put(K_SHOW_CURRENT_BOOK, isChecked()); } }; }