List of usage examples for org.eclipse.jface.action Action setText
@Override public void setText(String text)
From source file:org.dawnsci.webintro.views.WelcomePart.java
License:Open Source License
/** * Adds a home button to the toolbar/*from ww w .j ava2s.co m*/ * @param toolBar */ private void setupToolbarButtons(IToolBarManager toolBar) { Action homeButton = new Action() { @Override public void run() { webEngine.load(homeLocation); } }; homeButton.setText("Home"); homeButton.setImageDescriptor(Activator.getImageDescriptor("icons/home.png")); toolBar.add(homeButton); }
From source file:org.deved.antlride.internal.ui.editor.AntlrEditor.java
License:Open Source License
@Override public void createActions() { super.createActions(); Action action = new PropertyDialogAction(getEditorSite(), new AntlrStructuredSelectionProvider());// new // AddBreakpointsActionDelegate(this); action.setText("ANTLR Breakpoints");//$NON-NLS-1$ setAction("AddBreakpointsAction", action); //$NON-NLS-1$ markAsStateDependentAction("AddBreakpointsAction", true); //$NON-NLS-1$ // action = new ToggleCommentAction(DLTKEditorMessages // .getBundleForConstructedKeys(), "ToggleComment.", this); //$NON-NLS-1$ // action/* w w w . ja v a 2s. c o m*/ // .setActionDefinitionId(IScriptEditorActionDefinitionIds.TOGGLE_COMMENT); // setAction("ToggleComment", action); //$NON-NLS-1$ // ((ToggleCommentAction) action).configure(getSourceViewer(), // getSourceViewerConfiguration()); // markAsStateDependentAction("ToggleComment", true); //$NON-NLS-1$ }
From source file:org.eclipse.babel.tapiji.tools.core.ui.views.messagesview.MessagesView.java
License:Open Source License
/*** ACTIONS ***/ private void makeVisibleLocalesActions() { if (viewState.getSelectedProjectName() == null) { return;//from w w w . ja v a2 s . c om } visibleLocaleActions = new ArrayList<Action>(); Set<Locale> locales = ResourceBundleManager.getManager(viewState.getSelectedProjectName()) .getProvidedLocales(viewState.getSelectedBundleId()); List<Locale> visibleLocales = treeViewer.getVisibleLocales(); for (final Locale locale : locales) { Action langAction = new Action() { @Override public void run() { super.run(); List<Locale> visibleL = treeViewer.getVisibleLocales(); if (this.isChecked()) { if (!visibleL.contains(locale)) { visibleL.add(locale); } } else { visibleL.remove(locale); } viewState.setVisibleLocales(visibleL); redrawTreeViewer(); } }; if (locale != null && locale.getDisplayName().trim().length() > 0) { langAction.setText(locale.getDisplayName(Locale.US)); } else { langAction.setText("Default"); } langAction.setChecked(visibleLocales.contains(locale)); visibleLocaleActions.add(langAction); } }
From source file:org.eclipse.birt.report.designer.internal.ui.editors.schematic.providers.SchematicContextMenuProvider.java
License:Open Source License
public void buildContextMenu(IMenuManager menuManager) { if (proxy != null) { proxy.menuAboutToShow(menuManager); proxy = null;/*from w w w .ja v a 2s.c om*/ return; } GEFActionConstants.addStandardActionGroups(menuManager); Object firstSelectedElement = getFirstElement(); Object selectedElements = getSelectedElement(); Object multiSelection = getMultiSelectedElement(); boolean isExtended = false; if (firstSelectedElement instanceof IAdaptable) { if (((IAdaptable) firstSelectedElement) .getAdapter(DesignElementHandle.class) instanceof ExtendedItemHandle) isExtended = true; } if (selectedElements instanceof ReportDesignHandle) { createLayoutPrefMenu((ReportDesignHandle) selectedElements, menuManager, GEFActionConstants.GROUP_VIEW, ((ReportDesignHandle) selectedElements).getLayoutPreference()); } // special for dealing with multi selected elements (items). if (isMutilSelection(multiSelection)) { menuManager.appendToGroup(GEFActionConstants.GROUP_UNDO, getAction(ActionFactory.UNDO.getId())); menuManager.appendToGroup(GEFActionConstants.GROUP_UNDO, getAction(ActionFactory.REDO.getId())); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new CutAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new CopyAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new PasteAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, getAction(ActionFactory.DELETE.getId())); if (isRootElementHandleClass(multiSelection)) { Action action = new RefreshModuleHandleAction(selectedElements); menuManager.add(action); createInsertElementMenu(menuManager, GEFActionConstants.GROUP_EDIT); createThemeMenu(selectedElements, menuManager, GEFActionConstants.GROUP_REST); action = new ExportToLibraryAction(selectedElements); menuManager.add(action); } if (isListHandleCalss(multiSelection)) { IAction action = getAction(CreatePlaceHolderPartAction.ID); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, action); } createStyleMenu(menuManager, GEFActionConstants.GROUP_REST); if (Policy.TRACING_MENU_SHOW) { System.out.println("Menu(for Editor) >> Shows for multi-selcetion."); //$NON-NLS-1$ } } // ----------------------------------------------------------------- else if (firstSelectedElement instanceof DesignElementHandle || isExtended) { menuManager.appendToGroup(GEFActionConstants.GROUP_UNDO, getAction(ActionFactory.UNDO.getId())); menuManager.appendToGroup(GEFActionConstants.GROUP_UNDO, getAction(ActionFactory.REDO.getId())); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new CutAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new CopyAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new PasteAction(selectedElements)); createStyleMenu(menuManager, GEFActionConstants.GROUP_REST); if (((IStructuredSelection) getSelection()).size() == 1) { Object element = ((IStructuredSelection) getSelection()).getFirstElement(); if (element instanceof LabelEditPart || element instanceof ImageEditPart) { if (element instanceof DataEditPart) { IAction action = getAction(ChangeDataColumnPartAction.ID); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, action); } IAction action = getAction(GEFActionConstants.DIRECT_EDIT); action.setAccelerator(SWT.F2); if (element instanceof DataEditPart) { action.setText(Messages.getString("SchematicContextMenuProvider.ActionText.editData")); //$NON-NLS-1$ } else { action.setText(Messages.getString("SchematicContextMenuProvider.ActionText.editLabel")); //$NON-NLS-1$ } menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, action); if (element instanceof ImageEditPart) { // action = getAction( ResetImageSizeAction.ID ); // menuManager.appendToGroup( // GEFActionConstants.GROUP_EDIT, // action ); createImageMenu((ImageHandle) ((ImageEditPart) element).getModel(), menuManager, GEFActionConstants.GROUP_EDIT); } } if (firstSelectedElement instanceof ReportItemHandle) { IAction action = getAction(CreatePlaceHolderPartAction.ID); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, action); // action = getAction( RevertToReportItemPartAction.ID ); // menuManager.appendToGroup( GEFActionConstants.GROUP_EDIT, // action ); // action = getAction( RevertToTemplatePartAction.ID ); // menuManager.appendToGroup( GEFActionConstants.GROUP_EDIT, // action ); } if (firstSelectedElement instanceof TemplateReportItemHandle) { IAction action = getAction(RevertToReportItemPartAction.ID); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, action); } // add for support multiple view Object[] objs = ElementAdapterManager.getAdapters(firstSelectedElement, IReportItemViewProvider.class); if (objs != null && objs.length == 1) { IAction action = getAction(CreateChartAction.ID); menuManager.appendToGroup(GEFActionConstants.GROUP_VIEW, action); } } if (firstSelectedElement instanceof RowHandle) { if (getRowHandles().size() != 0) { MenuManager insertMenu = new MenuManager(INSERT_MENU_ITEM_TEXT); MenuManager rowMenu = new MenuManager(INSERT_ROW_MENU_ITEM_TEXT); rowMenu.add(getAction(InsertRowAboveAction.ID)); rowMenu.add(getAction(InsertRowBelowAction.ID)); RowHandle row = (RowHandle) getRowHandles().get(0); if (!(row.getContainer() instanceof GridHandle)) { insertMenu.add(getAction(IncludeHeaderAction.ID)); insertMenu.add(getAction(IncludeDetailAction.ID)); insertMenu.add(getAction(IncludeFooterAction.ID)); } insertMenu.add(rowMenu); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, insertMenu); } // delete row action. menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, getAction(DeleteRowAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(MergeAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(SplitAction.ID)); } else if (firstSelectedElement instanceof ColumnHandle) { menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, new InsertPasteColumnAction(selectedElements)); if (getColumnHandles().size() != 0) { MenuManager subMenu = new MenuManager(INSERT_MENU_ITEM_TEXT); subMenu.add(getAction(InsertColumnRightAction.ID)); subMenu.add(getAction(InsertColumnLeftAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, subMenu); } // delete column action. menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, getAction(DeleteColumnAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(MergeAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(SplitAction.ID)); } else if (firstSelectedElement instanceof CellHandle) { createInsertElementMenu(menuManager, GEFActionConstants.GROUP_EDIT); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(CopyCellContentsContextAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(MergeAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(SplitAction.ID)); // delete action in cell menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new DeleteAction(selectedElements)); } else { // common delete action menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, getAction(ActionFactory.DELETE.getId())); } // add export action menuManager.appendToGroup(GEFActionConstants.GROUP_EDIT, getAction(ExportElementToLibraryPartAction.ID)); if (Policy.TRACING_MENU_SHOW) { System.out.println("Menu(for Editor) >> Shows for " //$NON-NLS-1$ + ((DesignElementHandle) firstSelectedElement).getDefn().getDisplayName()); } } else if (firstSelectedElement instanceof SlotHandle) { menuManager.appendToGroup(GEFActionConstants.GROUP_UNDO, getAction(ActionFactory.UNDO.getId())); menuManager.appendToGroup(GEFActionConstants.GROUP_UNDO, getAction(ActionFactory.REDO.getId())); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new CutAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new CopyAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new PasteAction(selectedElements)); menuManager.appendToGroup(GEFActionConstants.GROUP_COPY, new DeleteAction(selectedElements)); createInsertElementMenu(menuManager, GEFActionConstants.GROUP_EDIT); if (Policy.TRACING_MENU_SHOW) { System.out.println("Menu(for Editor) >> Shows for the slot " //$NON-NLS-1$ + ((SlotHandle) firstSelectedElement).getSlotID() + " of " //$NON-NLS-1$ + ((SlotHandle) firstSelectedElement).getElementHandle().getDefn().getDisplayName()); } } else { } if (!getTableEditParts().isEmpty() || !getTableMultipleEditParts().isEmpty()) { if (firstSelectedElement instanceof TableHandle) { MenuManager insertMenu = new MenuManager(Messages.getString("TableBandProvider.action.text.row")); //$NON-NLS-1$ insertMenu.add(getAction(IncludeHeaderAction.ID)); insertMenu.add(getAction(IncludeDetailAction.ID)); insertMenu.add(getAction(IncludeFooterAction.ID)); menuManager.appendToGroup(GEFActionConstants.GROUP_ADD, insertMenu); } createInsertGroupMenu(menuManager, GEFActionConstants.GROUP_ADD); if (getTableEditParts().size() == 1 || getTableMultipleEditParts().size() == 1) { createDeleteGroupMenus(menuManager, GEFActionConstants.GROUP_ADD); createEditGroupMenu(menuManager, GEFActionConstants.GROUP_ADD); createInsertGroupHeaderFooter(menuManager, GEFActionConstants.GROUP_ADD); Separator separator = new Separator(EditBindingAction.ID); menuManager.add(separator); menuManager.appendToGroup(EditBindingAction.ID, getAction(EditBindingAction.ID)); } } if (!getListEditParts().isEmpty()) { createInsertGroupMenu(menuManager, GEFActionConstants.GROUP_ADD); if (getListEditParts().size() == 1) { createDeleteGroupMenus(menuManager, GEFActionConstants.GROUP_ADD); createEditGroupMenu(menuManager, GEFActionConstants.GROUP_ADD); Separator separator = new Separator(EditBindingAction.ID); menuManager.add(separator); menuManager.appendToGroup(EditBindingAction.ID, getAction(EditBindingAction.ID)); } } if (getElements().size() == 1 || isMutilSelection(multiSelection)) { if (firstSelectedElement instanceof DesignElementHandle) { String elementName = ((DesignElementHandle) firstSelectedElement).getDefn().getName(); IMenuBuilder menuBuilder = ExtensionPointManager.getInstance().getMenuBuilder(elementName); if (menuBuilder != null) { menuBuilder.buildMenu(menuManager, getElements()); } } Object[] menuAdapters = ElementAdapterManager.getAdapters(firstSelectedElement, IMenuListener.class); if (menuAdapters != null && menuAdapters.length > 0) { for (int i = 0; i < menuAdapters.length; i++) { if (menuAdapters[i] instanceof ISchematicMenuListener) { ((ISchematicMenuListener) menuAdapters[i]).setActionRegistry(getActionRegistry()); } ((IMenuListener) menuAdapters[i]).menuAboutToShow(menuManager); } } } }
From source file:org.eclipse.birt.report.designer.internal.ui.editors.schematic.providers.SchematicContextMenuProvider.java
License:Open Source License
/** * Creats sub menu in the specified action group of the specified menu * manager./* w ww . ja v a2s .c o m*/ * * @param menuManager * The menu manager contains the action group. * @param group_name * The action group contains the sub menu. */ private void createEditGroupMenu(IMenuManager menuManager, String group_name) { // If select on Group, no need to provide cascade menu if (getFirstElement() instanceof RowHandle) { DesignElementHandle container = ((RowHandle) getFirstElement()).getContainer(); if (container instanceof TableGroupHandle) { Action action = new EditGroupAction(null, (TableGroupHandle) container); action.setText(EDIT_GROUP_MENU_ITEM_TEXT); menuManager.appendToGroup(group_name, action); return; } } if (getFirstElement() instanceof SlotHandle) { DesignElementHandle container = ((SlotHandle) getFirstElement()).getElementHandle(); if (container instanceof ListGroupHandle) { Action action = new EditGroupAction(null, (ListGroupHandle) container); action.setText(EDIT_GROUP_MENU_ITEM_TEXT); menuManager.appendToGroup(group_name, action); return; } } MenuManager subMenu = new MenuManager(EDIT_GROUP_MENU_ITEM_TEXT); ListingHandle parentHandle = null; if (!getTableEditParts().isEmpty()) { parentHandle = (ListingHandle) ((TableEditPart) getTableEditParts().get(0)).getModel(); } else if (!getTableMultipleEditParts().isEmpty()) { parentHandle = (ListingHandle) ((ReportElementEditPart) getTableMultipleEditParts().get(0)).getModel(); } else if (!getListEditParts().isEmpty()) { parentHandle = (ListingHandle) ((ListEditPart) getListEditParts().get(0)).getModel(); } else { return; } SlotHandle handle = parentHandle.getGroups(); Iterator iter = handle.iterator(); while (iter.hasNext()) { GroupHandle groupHandle = (GroupHandle) iter.next(); subMenu.add(new EditGroupAction(null, groupHandle)); } menuManager.appendToGroup(group_name, subMenu); }
From source file:org.eclipse.birt.report.designer.internal.ui.editors.schematic.providers.SchematicContextMenuProvider.java
License:Open Source License
/** * Creats sub menu in the specified action group of the specified menu * manager./*from ww w . j a v a 2 s.c om*/ * * @param menuManager * The menu manager contains the action group. * @param group_name * The action group contains the sub menu. */ private void createDeleteGroupMenus(IMenuManager menuManager, String group_name) { ReportElementEditPart editPart = null; // If select on Group, no need to provide cascade menu if (getFirstElement() instanceof RowHandle) { DesignElementHandle container = ((RowHandle) getFirstElement()).getContainer(); if (container instanceof TableGroupHandle) { editPart = getTableEditPart(); Action action = new DeleteGroupAction(editPart, (TableGroupHandle) container); action.setText(DELETE_GROUP_MENU_ITEM_TEXT); menuManager.appendToGroup(group_name, action); return; } } if (getFirstElement() instanceof SlotHandle) { DesignElementHandle container = ((SlotHandle) getFirstElement()).getElementHandle(); if (container instanceof ListGroupHandle) { editPart = getListEditPart(); Action action = new DeleteGroupAction(editPart, (ListGroupHandle) container); action.setText(DELETE_GROUP_MENU_ITEM_TEXT); menuManager.appendToGroup(group_name, action); return; } } MenuManager subMenu = new MenuManager(DELETE_GROUP_MENU_ITEM_TEXT); ListingHandle parentHandle = null; if (!getTableEditParts().isEmpty()) { parentHandle = (ListingHandle) ((TableEditPart) getTableEditParts().get(0)).getModel(); editPart = (TableEditPart) getTableEditParts().get(0); } else if (!getTableMultipleEditParts().isEmpty()) { parentHandle = (ListingHandle) ((ReportElementEditPart) getTableMultipleEditParts().get(0)).getModel(); editPart = (ReportElementEditPart) getTableMultipleEditParts().get(0); } else if (!getListEditParts().isEmpty()) { parentHandle = (ListingHandle) ((ListEditPart) getListEditParts().get(0)).getModel(); editPart = (ListEditPart) getListEditParts().get(0); } else { return; } SlotHandle handle = parentHandle.getGroups(); Iterator iter = handle.iterator(); while (iter.hasNext()) { GroupHandle groupHandle = (GroupHandle) iter.next(); subMenu.add(new DeleteGroupAction(editPart, groupHandle)); } menuManager.appendToGroup(group_name, subMenu); }
From source file:org.eclipse.cdt.debug.ui.memory.floatingpoint.FPRendering.java
License:Open Source License
public void createMenus() { // Add the menu to each of the rendering panes Control[] renderingControls = this.fRendering.getRenderingPanes(); for (int index = 0; index < renderingControls.length; index++) super.createPopupMenu(renderingControls[index]); super.createPopupMenu(this.fRendering); // Copy//w w w .j ava 2 s . co m final Action copyAction = new CopyAction(this.fRendering); // Copy address final Action copyAddressAction = new Action(FPRenderingMessages.getString("FPRendering.COPY_ADDRESS")) //$NON-NLS-1$ { @Override public void run() { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { FPRendering.this.fRendering.copyAddressToClipboard(); } }); } }; // Reset to base address final Action gotoBaseAddressAction = new Action( FPRenderingMessages.getString("FPRendering.RESET_TO_BASE_ADDRESS")) //$NON-NLS-1$ { @Override public void run() { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { FPRendering.this.fRendering.gotoAddress(FPRendering.this.fRendering.fBaseAddress); } }); } }; // Refresh final Action refreshAction = new Action(FPRenderingMessages.getString("FPRendering.REFRESH")) //$NON-NLS-1$ { @Override public void run() { Display.getDefault().asyncExec(new Runnable() { @Override public void run() { // For compatibility with DSF update modes (hopefully this will either be replaced // by an enhanced platform interface or the caching will move out of the data layer) try { Method m = fRendering.getMemoryBlock().getClass().getMethod("clearCache", new Class[0]); //$NON-NLS-1$ if (m != null) m.invoke(fRendering.getMemoryBlock(), new Object[0]); } catch (Exception e) { } FPRendering.this.fRendering.refresh(); } }); } }; // Little Endian actionDisplayLittleEndian = new Action(FPRenderingMessages.getString("FPRendering.ENDIAN_LITTLE"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { fRendering.setDisplayLittleEndian(true); setRMCvalue(IFPRConstants.ENDIAN_KEY, Endian.LITTLE.getValue()); } }; // Big Endian actionDisplayBigEndian = new Action(FPRenderingMessages.getString("FPRendering.ENDIAN_BIG"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { fRendering.setDisplayLittleEndian(false); setRMCvalue(IFPRConstants.ENDIAN_KEY, Endian.BIG.getValue()); } }; // Endian settings int endian = getRMCvalue(IFPRConstants.ENDIAN_KEY); endian = endian != -1 ? endian : (fRendering.isDisplayLittleEndian() ? Endian.LITTLE.getValue() : Endian.BIG.getValue()); boolean le = (endian == Endian.LITTLE.getValue()); fRendering.setDisplayLittleEndian(le); actionDisplayLittleEndian.setChecked(le); actionDisplayBigEndian.setChecked(!le); // Float boolean dtFloat = getRMCvalue(IFPRConstants.DATATYPE_KEY) == FPDataType.FLOAT.getValue(); this.fRendering.setFPDataType(dtFloat ? FPDataType.FLOAT : FPDataType.DOUBLE); actionFloatingPoint32 = new Action(FPRenderingMessages.getString("FPRendering.FLOATING_POINT_32"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { fRendering.setDisplayedPrecision(getRMCvalue(IFPRConstants.FLOAT_DISP_KEY)); fRendering.setFPDataType(FPDataType.FLOAT); setRMCvalue(IFPRConstants.DATATYPE_KEY, FPDataType.FLOAT.getValue()); setSelections(); } }; // Double actionFloatingPoint64 = new Action(FPRenderingMessages.getString("FPRendering.FLOATING_POINT_64"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { fRendering.setDisplayedPrecision(getRMCvalue(IFPRConstants.DOUBLE_DISP_KEY)); fRendering.setFPDataType(FPDataType.DOUBLE); setRMCvalue(IFPRConstants.DATATYPE_KEY, FPDataType.DOUBLE.getValue()); setSelections(); } }; // Displayed precision: 4 digits int savedPrecision = getDisplayedPrecision(); actionDisplay4Digits = new Action(FPRenderingMessages.getString("FPRendering.DISPLAYED_PRECISION_4"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { FPRendering.this.fRendering.setDisplayedPrecision(4); setDisplayedPrecision(4); } }; if (savedPrecision == 4) { FPRendering.this.fRendering.setDisplayedPrecision(4); actionDisplay4Digits.setChecked(savedPrecision == 4); } // Displayed precision: 8 digits actionDisplay8Digits = new Action(FPRenderingMessages.getString("FPRendering.DISPLAYED_PRECISION_8"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { FPRendering.this.fRendering.setDisplayedPrecision(8); setDisplayedPrecision(8); } }; if (savedPrecision == 8) { FPRendering.this.fRendering.setDisplayedPrecision(8); actionDisplay8Digits.setChecked(savedPrecision == 8); } // Displayed precision: 16 digits (doubles only) actionDisplay16Digits = new Action(FPRenderingMessages.getString("FPRendering.DISPLAYED_PRECISION_16"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { FPRendering.this.fRendering.setDisplayedPrecision(16); setDisplayedPrecision(16); } }; if (savedPrecision == 16) { FPRendering.this.fRendering.setDisplayedPrecision(16); actionDisplay16Digits.setChecked(savedPrecision == 16); } // Set RMC selections based on datatype and displayed precision settings in effect setSelections(); // Columns int savedColumnCount = getRMCvalue(IFPRConstants.COLUMN_COUNT_KEY); final Action displayColumnCountAuto = new Action( FPRenderingMessages.getString("FPRendering.COLUMN_COUNT_AUTO"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { FPRendering.this.fRendering.setColumnsSetting(Rendering.COLUMNS_AUTO_SIZE_TO_FIT); setRMCvalue(IFPRConstants.COLUMN_COUNT_KEY, Rendering.COLUMNS_AUTO_SIZE_TO_FIT); } }; boolean autoMode = savedColumnCount == Rendering.COLUMNS_AUTO_SIZE_TO_FIT; displayColumnCountAuto.setChecked(autoMode); final Action[] displayColumnCounts = new Action[MAX_MENU_COLUMN_COUNT]; for (int index = 0, j = 1; index < MAX_MENU_COLUMN_COUNT; index++, j *= 2) { final int finali = j; displayColumnCounts[index] = new Action( FPRenderingMessages.getString("FPRendering.COLUMN_COUNT_" + finali), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { FPRendering.this.fRendering.setColumnsSetting(finali); setRMCvalue(IFPRConstants.COLUMN_COUNT_KEY, finali); } }; displayColumnCounts[index].setChecked(fRendering.getColumnsSetting() == finali); } // Set/clear column count selections as appropriate int countValue = getRMCvalue(IFPRConstants.COLUMN_COUNT_KEY); for (int index = 0; index < MAX_MENU_COLUMN_COUNT; index++) displayColumnCounts[index] .setChecked(countValue != Rendering.COLUMNS_AUTO_SIZE_TO_FIT && (countValue == (1 << index))); fRendering.setColumnsSetting(getRMCvalue(IFPRConstants.COLUMN_COUNT_KEY)); final Action displayColumnCountCustomValue = new Action("", IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { } }; final Action displayColumnCountCustom = new Action( FPRenderingMessages.getString("FPRendering.COLUMN_COUNT_CUSTOM"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { InputDialog inputDialog = new InputDialog(fRendering.getShell(), "Set Column Count", //$NON-NLS-1$ "Please enter column count", "", new IInputValidator() //$NON-NLS-1$ //$NON-NLS-2$ { @Override public String isValid(String input) { try { int index = Integer.parseInt(input); if (index <= 0) return "Please enter a positive integer"; //$NON-NLS-1$ if (index > 200) return "Please enter a positive integer not greater than 200"; //$NON-NLS-1$ } catch (NumberFormatException x) { return "Please enter a positive integer"; //$NON-NLS-1$ } return null; } }); if (inputDialog.open() != Window.OK) { this.setChecked(false); int currentColumnSetting = FPRendering.this.fRendering.getColumnsSetting(); if (currentColumnSetting == Rendering.COLUMNS_AUTO_SIZE_TO_FIT) displayColumnCountAuto.setChecked(true); else { boolean currentCountIsCustom = true; for (int index = 0, j = 1; index < MAX_MENU_COLUMN_COUNT && currentCountIsCustom; index++, j *= 2) { currentCountIsCustom = (j != fRendering.getColumnsSetting()); if (j == fRendering.getColumnsSetting()) displayColumnCounts[index].setChecked(true); } if (currentCountIsCustom) displayColumnCountCustomValue.setChecked(true); } return; } int newColumnCount = -1; try { newColumnCount = Integer.parseInt(inputDialog.getValue()); } catch (NumberFormatException x) { assert false; } boolean customIsOneOfStandardListChoices = false; for (int index = 0, j = 1; index < MAX_MENU_COLUMN_COUNT; index++, j *= 2) { if (newColumnCount == j) { customIsOneOfStandardListChoices = true; FPRendering.this.fRendering.setColumnsSetting(newColumnCount); setRMCvalue(IFPRConstants.COLUMN_COUNT_KEY, newColumnCount); this.setChecked(false); displayColumnCountCustomValue.setChecked(false); displayColumnCounts[index].setChecked(true); break; } } if (!customIsOneOfStandardListChoices) { FPRendering.this.fRendering.setColumnsSetting(newColumnCount); setRMCvalue(IFPRConstants.COLUMN_COUNT_KEY, newColumnCount); this.setChecked(false); displayColumnCountCustomValue.setChecked(true); displayColumnCountCustomValue .setText(Integer.valueOf(fRendering.getColumnsSetting()).toString()); } } }; // Check for a custom value: If we're not in "Auto Fill" mode, check for standard column sizes. // If none of the standard sizes were entered, then it's a custom value; set it and display it. boolean customColumnCountSet = true; countValue = getRMCvalue(IFPRConstants.COLUMN_COUNT_KEY); if (countValue != Rendering.COLUMNS_AUTO_SIZE_TO_FIT) { for (int index = 0; index < MAX_MENU_COLUMN_COUNT; index++) { // If the column count is one of the standard values, set flag to false and exit the loop if (countValue == (1 << index)) { customColumnCountSet = false; break; } } if (customColumnCountSet) { FPRendering.this.fRendering.setColumnsSetting(countValue); displayColumnCountCustomValue.setChecked(true); displayColumnCountCustomValue.setText(Integer.valueOf(fRendering.getColumnsSetting()).toString()); } } // Add the right-mouse-click (RMC) context menu items getPopupMenuManager().addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { manager.add(new Separator()); MenuManager sub = new MenuManager(FPRenderingMessages.getString("FPRendering.PANES")); //$NON-NLS-1$ sub = new MenuManager(FPRenderingMessages.getString("FPRendering.ENDIAN")); //$NON-NLS-1$ sub.add(actionDisplayBigEndian); sub.add(actionDisplayLittleEndian); manager.add(sub); sub = new MenuManager(FPRenderingMessages.getString("FPRendering.NUMBER_TYPE")); //$NON-NLS-1$ sub.add(actionFloatingPoint32); sub.add(actionFloatingPoint64); manager.add(sub); sub = new MenuManager(FPRenderingMessages.getString("FPRendering.PRECISION")); //$NON-NLS-1$ sub.add(actionDisplay4Digits); sub.add(actionDisplay8Digits); sub.add(actionDisplay16Digits); manager.add(sub); // TODO: Add separator for FP group here: manager.add(new Separator()); sub = new MenuManager(FPRenderingMessages.getString("FPRendering.COLUMN_COUNT")); //$NON-NLS-1$ sub.add(displayColumnCountAuto); for (int index = 0; index < displayColumnCounts.length; index++) sub.add(displayColumnCounts[index]); boolean currentCountIsCustom = fRendering.getColumnsSetting() != 0; for (int index = 0, j = 1; index < MAX_MENU_COLUMN_COUNT && currentCountIsCustom; index++, j *= 2) currentCountIsCustom = (j != fRendering.getColumnsSetting()); if (currentCountIsCustom) sub.add(displayColumnCountCustomValue); sub.add(displayColumnCountCustom); manager.add(sub); // Update modes int updateMode = getRMCvalue(IFPRConstants.UPDATEMODE_KEY); final Action updateAlwaysAction = new Action( FPRenderingMessages.getString("FPRendering.UPDATE_ALWAYS"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { fRendering.setUpdateMode(Rendering.UPDATE_ALWAYS); setRMCvalue(IFPRConstants.UPDATEMODE_KEY, Rendering.UPDATE_ALWAYS); } }; updateAlwaysAction.setChecked(updateMode == Rendering.UPDATE_ALWAYS); final Action updateOnBreakpointAction = new Action( FPRenderingMessages.getString("FPRendering.UPDATE_ON_BREAKPOINT"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { fRendering.setUpdateMode(Rendering.UPDATE_ON_BREAKPOINT); setRMCvalue(IFPRConstants.UPDATEMODE_KEY, Rendering.UPDATE_ON_BREAKPOINT); } }; updateOnBreakpointAction.setChecked(updateMode == Rendering.UPDATE_ON_BREAKPOINT); final Action updateManualAction = new Action( FPRenderingMessages.getString("FPRendering.UPDATE_MANUAL"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { fRendering.setUpdateMode(Rendering.UPDATE_MANUAL); setRMCvalue(IFPRConstants.UPDATEMODE_KEY, Rendering.UPDATE_MANUAL); } }; updateManualAction.setChecked(updateMode == Rendering.UPDATE_MANUAL); // Add menu sub = new MenuManager(FPRenderingMessages.getString("FPRendering.UPDATEMODE")); //$NON-NLS-1$ sub.add(updateAlwaysAction); sub.add(updateOnBreakpointAction); sub.add(updateManualAction); manager.add(sub); manager.add(new Separator()); BigInteger start = fRendering.getSelection().getStart(); BigInteger end = fRendering.getSelection().getEnd(); copyAction.setEnabled(start != null && end != null); manager.add(copyAction); manager.add(copyAddressAction); manager.add(gotoBaseAddressAction); manager.add(refreshAction); manager.add(new Separator()); manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } }); }
From source file:org.eclipse.cdt.debug.ui.memory.traditional.TraditionalRendering.java
License:Open Source License
public void createMenus() { // add the menu to each of the rendering panes Control[] renderingControls = this.fRendering.getRenderingPanes(); for (int i = 0; i < renderingControls.length; i++) super.createPopupMenu(renderingControls[i]); super.createPopupMenu(this.fRendering); // Create the copy actions final CopyAction copyBinaryAction = new CopyBinaryAction(this.fRendering); final CopyAction copyTextAction = new CopyTextAction(this.fRendering); final CopyAction copyAddressAction = new CopyAddressAction(this.fRendering); final CopyAction copyAllAction = new CopyAllAction(this.fRendering); // reset to base address final Action gotoBaseAddressAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.RESET_TO_BASE_ADDRESS")) //$NON-NLS-1$ {/* w w w. j a v a 2 s .c o m*/ @Override public void run() { Display.getDefault().asyncExec(new Runnable() { public void run() { TraditionalRendering.this.fRendering .gotoAddress(TraditionalRendering.this.fRendering.fBaseAddress); } }); } }; // refresh final Action refreshAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.REFRESH")) //$NON-NLS-1$ { @Override public void run() { Display.getDefault().asyncExec(new Runnable() { public void run() { // For compatibility with DSF update modes (hopefully this will either be replaced by an enhanced // platform interface or the caching will move out of the data layer try { Method m = fRendering.getMemoryBlock().getClass().getMethod("clearCache", new Class[0]); //$NON-NLS-1$ if (m != null) m.invoke(fRendering.getMemoryBlock(), new Object[0]); } catch (Exception e) { } TraditionalRendering.this.fRendering.refresh(); } }); } }; // display address final Action displayAddressPaneAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.ADDRESS"), //$NON-NLS-1$ IAction.AS_CHECK_BOX) { @Override public void run() { TraditionalRendering.this.fRendering.setPaneVisible(Rendering.PANE_ADDRESS, isChecked()); } }; displayAddressPaneAction.setChecked(this.fRendering.getPaneVisible(Rendering.PANE_ADDRESS)); // display hex final Action displayBinaryPaneAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.BINARY"), //$NON-NLS-1$ IAction.AS_CHECK_BOX) { @Override public void run() { TraditionalRendering.this.fRendering.setPaneVisible(Rendering.PANE_BINARY, isChecked()); } }; displayBinaryPaneAction.setChecked(this.fRendering.getPaneVisible(Rendering.PANE_BINARY)); // display text final Action displayTextPaneAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.TEXT"), //$NON-NLS-1$ IAction.AS_CHECK_BOX) { @Override public void run() { TraditionalRendering.this.fRendering.setPaneVisible(Rendering.PANE_TEXT, isChecked()); } }; displayTextPaneAction.setChecked(this.fRendering.getPaneVisible(Rendering.PANE_TEXT)); // display size final Action displaySize1BytesAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.1_BYTE"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setBytesPerColumn(1); } }; displaySize1BytesAction.setChecked(this.fRendering.getBytesPerColumn() == 1); final Action displaySize2BytesAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.2_BYTES"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { TraditionalRendering.this.fRendering.setBytesPerColumn(2); } }; displaySize2BytesAction.setChecked(this.fRendering.getBytesPerColumn() == 2); final Action displaySize4BytesAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.4_BYTES"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { TraditionalRendering.this.fRendering.setBytesPerColumn(4); } }; displaySize4BytesAction.setChecked(this.fRendering.getBytesPerColumn() == 4); final Action displaySize8BytesAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.8_BYTES"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { TraditionalRendering.this.fRendering.setBytesPerColumn(8); } }; displaySize8BytesAction.setChecked(this.fRendering.getBytesPerColumn() == 8); // text / unicode ? final Action displayCharactersISO8859Action = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.ISO-8859-1"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setTextMode(Rendering.TEXT_ISO_8859_1); } }; displayCharactersISO8859Action.setChecked(this.fRendering.getTextMode() == Rendering.TEXT_ISO_8859_1); final Action displayCharactersUSASCIIAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.USASCII"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setTextMode(Rendering.TEXT_USASCII); } }; displayCharactersUSASCIIAction.setChecked(this.fRendering.getTextMode() == Rendering.TEXT_USASCII); final Action displayCharactersUTF8Action = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.UTF8"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { TraditionalRendering.this.fRendering.setTextMode(Rendering.TEXT_UTF8); } }; displayCharactersUTF8Action.setChecked(this.fRendering.getTextMode() == Rendering.TEXT_UTF8); // final Action displayCharactersUTF16Action = new Action( // TraditionalRenderingMessages // .getString("TraditionalRendering.UTF16"), IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ // { // @Override // public void run() // { // TraditionalRendering.this.fRendering // .setTextMode(Rendering.TEXT_UTF16); // } // }; // displayCharactersUTF16Action.setChecked(this.fRendering // .getTextMode() == Rendering.TEXT_UTF16); // endian displayEndianBigAction = new Action(TraditionalRenderingMessages.getString("TraditionalRendering.BIG"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setDisplayLittleEndian(false); } }; displayEndianBigAction.setChecked(!this.fRendering.isTargetLittleEndian()); displayEndianLittleAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.LITTLE"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setDisplayLittleEndian(true); } }; displayEndianLittleAction.setChecked(this.fRendering.isTargetLittleEndian()); // radix final Action displayRadixHexAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.HEX"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setRadix(Rendering.RADIX_HEX); } }; displayRadixHexAction.setChecked(this.fRendering.getRadix() == Rendering.RADIX_HEX); final Action displayRadixDecSignedAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.DECIMAL_SIGNED"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setRadix(Rendering.RADIX_DECIMAL_SIGNED); } }; displayRadixDecSignedAction.setChecked(this.fRendering.getRadix() == Rendering.RADIX_DECIMAL_SIGNED); final Action displayRadixDecUnsignedAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.DECIMAL_UNSIGNED"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setRadix(Rendering.RADIX_DECIMAL_UNSIGNED); } }; displayRadixDecUnsignedAction.setChecked(this.fRendering.getRadix() == Rendering.RADIX_DECIMAL_UNSIGNED); final Action displayRadixOctAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.OCTAL"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setRadix(Rendering.RADIX_OCTAL); } }; displayRadixOctAction.setChecked(this.fRendering.getRadix() == Rendering.RADIX_OCTAL); final Action displayRadixBinAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.BINARY"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setRadix(Rendering.RADIX_BINARY); } }; displayRadixBinAction.setChecked(this.fRendering.getRadix() == Rendering.RADIX_BINARY); final Action displayColumnCountAuto = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.COLUMN_COUNT_AUTO"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setColumnsSetting(Rendering.COLUMNS_AUTO_SIZE_TO_FIT); } }; displayColumnCountAuto.setChecked(fRendering.getColumnsSetting() == Rendering.COLUMNS_AUTO_SIZE_TO_FIT); final Action[] displayColumnCounts = new Action[MAX_MENU_COLUMN_COUNT]; for (int i = 0, j = 1; i < MAX_MENU_COLUMN_COUNT; i++, j *= 2) { final int finali = j; displayColumnCounts[i] = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.COLUMN_COUNT_" + finali), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { TraditionalRendering.this.fRendering.setColumnsSetting(finali); } }; displayColumnCounts[i].setChecked(fRendering.getColumnsSetting() == finali); } final Action displayColumnCountCustomValue = new Action("", IAction.AS_RADIO_BUTTON) //$NON-NLS-1$ { @Override public void run() { } }; final Action displayColumnCountCustom = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.COLUMN_COUNT_CUSTOM"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { InputDialog inputDialog = new InputDialog(fRendering.getShell(), "Set Column Count", //$NON-NLS-1$ "Please enter column count", //$NON-NLS-1$ "", //$NON-NLS-1$ new IInputValidator() { public String isValid(String input) { try { int i = Integer.parseInt(input); if (i <= 0) return "Please enter a positive integer"; //$NON-NLS-1$ if (i > 200) return "Please enter a positive integer not greater than 200"; //$NON-NLS-1$ } catch (NumberFormatException x) { return "Please enter a positive integer"; //$NON-NLS-1$ } return null; } }); if (inputDialog.open() != Window.OK) { this.setChecked(false); int currentColumnSetting = TraditionalRendering.this.fRendering.getColumnsSetting(); if (currentColumnSetting == Rendering.COLUMNS_AUTO_SIZE_TO_FIT) displayColumnCountAuto.setChecked(true); else { boolean currentCountIsCustom = true; for (int i = 0, j = 1; i < MAX_MENU_COLUMN_COUNT && currentCountIsCustom; i++, j *= 2) { currentCountIsCustom = (j != fRendering.getColumnsSetting()); if (j == fRendering.getColumnsSetting()) displayColumnCounts[i].setChecked(true); } if (currentCountIsCustom) displayColumnCountCustomValue.setChecked(true); } return; } int newColumnCount = -1; try { newColumnCount = Integer.parseInt(inputDialog.getValue()); } catch (NumberFormatException x) { assert false; } boolean customIsOneOfStandardListChoices = false; for (int i = 0, j = 1; i < MAX_MENU_COLUMN_COUNT; i++, j *= 2) { if (newColumnCount == j) { customIsOneOfStandardListChoices = true; TraditionalRendering.this.fRendering.setColumnsSetting(newColumnCount); this.setChecked(false); displayColumnCountCustomValue.setChecked(false); displayColumnCounts[i].setChecked(true); break; } } if (!customIsOneOfStandardListChoices) { TraditionalRendering.this.fRendering.setColumnsSetting(newColumnCount); this.setChecked(false); displayColumnCountCustomValue.setChecked(true); displayColumnCountCustomValue .setText(Integer.valueOf(fRendering.getColumnsSetting()).toString()); } } }; getPopupMenuManager().addMenuListener(new IMenuListener() { public void menuAboutToShow(IMenuManager manager) { manager.add(new Separator()); MenuManager sub = new MenuManager( TraditionalRenderingMessages.getString("TraditionalRendering.PANES")); //$NON-NLS-1$ sub.add(displayAddressPaneAction); sub.add(displayBinaryPaneAction); sub.add(displayTextPaneAction); manager.add(sub); sub = new MenuManager(TraditionalRenderingMessages.getString("TraditionalRendering.ENDIAN")); //$NON-NLS-1$ sub.add(displayEndianBigAction); sub.add(displayEndianLittleAction); manager.add(sub); sub = new MenuManager(TraditionalRenderingMessages.getString("TraditionalRendering.TEXT")); //$NON-NLS-1$ sub.add(displayCharactersISO8859Action); sub.add(displayCharactersUSASCIIAction); sub.add(displayCharactersUTF8Action); //sub.add(displayCharactersUTF16Action); manager.add(sub); sub = new MenuManager(TraditionalRenderingMessages.getString("TraditionalRendering.CELL_SIZE")); //$NON-NLS-1$ sub.add(displaySize1BytesAction); sub.add(displaySize2BytesAction); sub.add(displaySize4BytesAction); sub.add(displaySize8BytesAction); manager.add(sub); sub = new MenuManager(TraditionalRenderingMessages.getString("TraditionalRendering.RADIX")); //$NON-NLS-1$ sub.add(displayRadixHexAction); sub.add(displayRadixDecSignedAction); sub.add(displayRadixDecUnsignedAction); sub.add(displayRadixOctAction); sub.add(displayRadixBinAction); manager.add(sub); sub = new MenuManager(TraditionalRenderingMessages.getString("TraditionalRendering.COLUMN_COUNT")); //$NON-NLS-1$ sub.add(displayColumnCountAuto); for (int i = 0; i < displayColumnCounts.length; i++) sub.add(displayColumnCounts[i]); boolean currentCountIsCustom = fRendering.getColumnsSetting() != 0; for (int i = 0, j = 1; i < MAX_MENU_COLUMN_COUNT && currentCountIsCustom; i++, j *= 2) currentCountIsCustom = (j != fRendering.getColumnsSetting()); if (currentCountIsCustom) sub.add(displayColumnCountCustomValue); sub.add(displayColumnCountCustom); manager.add(sub); final Action updateAlwaysAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.UPDATE_ALWAYS"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { fRendering.setUpdateMode(Rendering.UPDATE_ALWAYS); } }; updateAlwaysAction.setChecked(fRendering.getUpdateMode() == Rendering.UPDATE_ALWAYS); final Action updateOnBreakpointAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.UPDATE_ON_BREAKPOINT"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { fRendering.setUpdateMode(Rendering.UPDATE_ON_BREAKPOINT); } }; updateOnBreakpointAction.setChecked(fRendering.getUpdateMode() == Rendering.UPDATE_ON_BREAKPOINT); final Action updateManualAction = new Action( TraditionalRenderingMessages.getString("TraditionalRendering.UPDATE_MANUAL"), //$NON-NLS-1$ IAction.AS_RADIO_BUTTON) { @Override public void run() { fRendering.setUpdateMode(Rendering.UPDATE_MANUAL); } }; updateManualAction.setChecked(fRendering.getUpdateMode() == Rendering.UPDATE_MANUAL); sub = new MenuManager(TraditionalRenderingMessages.getString("TraditionalRendering.UPDATEMODE")); //$NON-NLS-1$ sub.add(updateAlwaysAction); sub.add(updateOnBreakpointAction); sub.add(updateManualAction); manager.add(sub); manager.add(new Separator()); BigInteger start = fRendering.getSelection().getStart(); BigInteger end = fRendering.getSelection().getEnd(); copyBinaryAction.setEnabled(start != null && end != null); copyTextAction.setEnabled(start != null && end != null); sub = new MenuManager(TraditionalRenderingMessages.getString("TraditionalRendering.COPY")); //$NON-NLS-1$ sub.add(copyBinaryAction); sub.add(copyTextAction); sub.add(copyAddressAction); sub.add(copyAllAction); manager.add(sub); copyBinaryAction.checkStatus(); copyTextAction.checkStatus(); copyAddressAction.checkStatus(); copyAllAction.checkStatus(); manager.add(gotoBaseAddressAction); manager.add(refreshAction); manager.add(new Separator()); manager.add(new Separator(IWorkbenchActionConstants.MB_ADDITIONS)); } }); }
From source file:org.eclipse.cdt.dsf.debug.internal.ui.disassembly.DisassemblyPart.java
License:Open Source License
protected void createActions() { Action action; action = new TextOperationAction(fViewer, ITextOperationTarget.COPY); action.setText(DisassemblyMessages.Disassembly_action_Copy_label); action.setImageDescriptor(/*from w w w .ja va 2s .c o m*/ DisassemblyImageRegistry.getImageDescriptor(DisassemblyImageRegistry.ICON_Copy_enabled)); action.setDisabledImageDescriptor( DisassemblyImageRegistry.getImageDescriptor(DisassemblyImageRegistry.ICON_Copy_disabled)); action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_COPY); fGlobalActions.put(ITextEditorActionConstants.COPY, action); fSelectionActions.add(action); action = new TextOperationAction(fViewer, ITextOperationTarget.SELECT_ALL); action.setText(DisassemblyMessages.Disassembly_action_SelectAll_label); action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_SELECT_ALL); fGlobalActions.put(ITextEditorActionConstants.SELECT_ALL, action); action = new TextOperationAction(fViewer, ITextOperationTarget.PRINT); action.setActionDefinitionId(IWorkbenchCommandConstants.FILE_PRINT); fGlobalActions.put(ITextEditorActionConstants.PRINT, action); action = new FindReplaceAction(DisassemblyMessages.getBundleForConstructedKeys(), "FindReplaceAction.", //$NON-NLS-1$ this); action.setActionDefinitionId(IWorkbenchCommandConstants.EDIT_FIND_AND_REPLACE); fGlobalActions.put(ActionFactory.FIND.getId(), action); fSelectionActions.add(action); fActionGotoPC = new ActionGotoProgramCounter(this); fActionGotoPC.setActionDefinitionId(COMMAND_ID_GOTO_PC); fActionGotoPC.setImageDescriptor( DisassemblyImageRegistry.getImageDescriptor(DisassemblyImageRegistry.ICON_Home_enabled)); fActionGotoPC.setDisabledImageDescriptor( DisassemblyImageRegistry.getImageDescriptor(DisassemblyImageRegistry.ICON_Home_disabled)); fStateDependentActions.add(fActionGotoPC); registerWithHandlerService(fActionGotoPC); fActionGotoAddress = new ActionGotoAddress(this); fActionGotoAddress.setActionDefinitionId(COMMAND_ID_GOTO_ADDRESS); fStateDependentActions.add(fActionGotoAddress); registerWithHandlerService(fActionGotoAddress); fActionToggleSource = new ActionToggleSource(); fStateDependentActions.add(fActionToggleSource); fActionToggleSource.setImageDescriptor( AbstractUIPlugin.imageDescriptorFromPlugin(DsfUIPlugin.PLUGIN_ID, "icons/source.gif")); //$NON-NLS-1$ fVerticalRuler.getControl().addMouseListener(new MouseAdapter() { @Override public void mouseDoubleClick(final MouseEvent e) { // invoke toggle breakpoint IHandlerService handlerService = (IHandlerService) getSite().getService(IHandlerService.class); if (handlerService != null) { try { Event event = new Event(); event.display = e.display; event.widget = e.widget; event.time = e.time; event.data = e.data; event.x = e.x; event.y = e.y; event.button = e.button; event.stateMask = e.stateMask; event.count = e.count; handlerService.executeCommand(COMMAND_ID_TOGGLE_BREAKPOINT, event); } catch (org.eclipse.core.commands.ExecutionException exc) { DsfUIPlugin.log(exc); } catch (NotDefinedException exc) { } catch (NotEnabledException exc) { } catch (NotHandledException exc) { } } } }); fActionToggleBreakpointEnablement = new ActionToggleBreakpointEnablement(); fActionToggleSymbols = new ActionToggleSymbols(); fActionRefreshView = new ActionRefreshView(); fSyncAction = new SyncActiveDebugContextAction(); fTrackExpressionAction = new TrackExpressionAction(); fStateDependentActions.add(fActionRefreshView); fGlobalActions.put(ActionFactory.REFRESH.getId(), fActionRefreshView); fActionOpenPreferences = new ActionOpenPreferences(getSite().getShell()); }
From source file:org.eclipse.cdt.dsf.gdb.internal.ui.osview.OSResourcesView.java
License:Open Source License
private void populateViewMenu(final OSData data) { assert data.getColumnCount() == fViewer.getTable().getColumnCount(); if (data == fMenuShownData) return;//from w w w. j ava 2 s.co m IActionBars bars = getViewSite().getActionBars(); bars.getMenuManager().setVisible(true); bars.getMenuManager().removeAll(); for (int i = 0; i < data.getColumnCount(); ++i) { final String cn = data.getColumnName(i); final TableColumn c = fViewer.getTable().getColumns()[i]; Action a = new Action(cn, IAction.AS_CHECK_BOX) { @Override public void run() { if (isChecked()) { int w = fColumnLayout.getWidth(cn); if (w > 0) c.setWidth(w); else c.pack(); c.setResizable(true); } else { int w = c.getWidth(); c.setWidth(0); // Make sure we remember the width the column // had before hiding. fColumnLayout.setWidth(cn, w); c.setResizable(false); } fColumnLayout.setVisible(cn, isChecked()); } }; a.setChecked(fColumnLayout.getVisible(cn)); a.setText(cn); bars.getMenuManager().add(a); } bars.updateActionBars(); fMenuShownData = data; }