Example usage for org.eclipse.jface.action IMenuManager update

List of usage examples for org.eclipse.jface.action IMenuManager update

Introduction

In this page you can find the example usage for org.eclipse.jface.action IMenuManager update.

Prototype

void update();

Source Link

Document

Updates any SWT controls cached by this contribution item with any changes which have been made to this contribution item since the last update.

Usage

From source file:com.nokia.carbide.cpp.pi.graphicsmemory.GraphicsMemoryProcessTable.java

License:Open Source License

public GraphicsMemoryProcessTable(GraphicsMemoryTraceGraph myGraph, Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout gl = new GridLayout();
    gl.marginHeight = 0;//from w  ww .j  av  a2 s .  co  m
    gl.marginWidth = 0;
    gl.marginLeft = 0;
    gl.marginRight = 0;
    composite.setLayout(gl);
    this.myGraph = myGraph;
    this.parent = composite;

    Label label = new Label(composite, SWT.CENTER);
    label.setBackground(composite.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    label.setFont(PIPageEditor.helvetica_8);
    label.setText(Messages.getString("GraphicsMemoryProcessTable.title")); //$NON-NLS-1$

    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    this.tableViewer = CheckboxTableViewer.newCheckList(composite,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    this.table = this.tableViewer.getTable();
    this.table.setLayoutData(new GridData(GridData.FILL_BOTH));

    // add the check state handler, label provider and content provider
    this.tableViewer.addCheckStateListener(new CheckHandler());
    this.tableViewer.setLabelProvider(new SharedLabelProvider(this.table));
    this.tableViewer.setContentProvider(new MemoryTableContentProvider());
    this.tableViewer.setSorter(new SharedSorter());

    // give the table a heading for possible use in copying and exported
    this.table.setData(Messages.getString("GraphicsMemoryProcessTable.memory")); //$NON-NLS-1$

    // create the columns
    TableColumn column;

    // data associated with the TableViewer will note which columns contain
    // hex values
    // Keep this in the order in which columns have been created
    boolean[] isHex = { false, false, false, false };
    this.table.setData("isHex", isHex); //$NON-NLS-1$

    // select/deselect column
    column = new TableColumn(this.table, SWT.CENTER);
    column.setText(COLUMN_HEAD_GRAPHICS_MEMORY_NAME);
    column.setWidth(COLUMN_WIDTH_GRAPHICS_MEMORY_NAME);
    column.setData(Integer.valueOf(COLUMN_ID_GRAPHICS_MEMORY_NAME));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_GRAPHICS_MEMORY_PRIVATE);
    column.setWidth(COLUMN_WIDTH_GRAPHICS_MEMORY_PRIVATE);
    column.setData(Integer.valueOf(COLUMN_ID_GRAPHICS_MEMORY_PRIVATE));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_GRAPHICS_MEMORY_SHARED);
    column.setWidth(COLUMN_WIDTH_GRAPHICS_MEMORY_SHARED);
    column.setData(Integer.valueOf(COLUMN_ID_GRAPHICS_MEMORY_SHARED));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_MEMORY_TOTAL);
    column.setWidth(COLUMN_WIDTH_MEMORY_TOTAL);
    column.setData(Integer.valueOf(COLUMN_ID_GRAPHICS_MEMORY_TOTAL));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    // initially, all rows are checked
    this.tableViewer.setAllChecked(true);

    this.table.addMouseListener(new TableMouseListener());
    this.table.setHeaderVisible(true);
    this.table.setLinesVisible(true);
    this.table.setRedraw(true);

    updateItemData(true);
    ((SharedSorter) tableViewer.getSorter()).doSort(COLUMN_ID_GRAPHICS_MEMORY_NAME);

    // initially, all rows are checked
    this.tableViewer.setAllChecked(true);

    createDefaultActions();

    // listen for key sequences such as Ctrl-A and Ctrl-C
    table.addKeyListener(new TableKeyListener());

    table.addFocusListener(new FocusListener() {
        IAction oldSelectAllAction = null;
        IAction oldCopyAction = null;

        public void focusGained(org.eclipse.swt.events.FocusEvent arg0) {
            IActionBars bars = PIPageEditor.getActionBars();

            oldSelectAllAction = PIPageEditor.getActionBars()
                    .getGlobalActionHandler(ActionFactory.SELECT_ALL.getId());
            oldCopyAction = PIPageEditor.getActionBars().getGlobalActionHandler(ActionFactory.COPY.getId());

            bars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
            bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), selectAllAction);

            copyAction.setEnabled(table.getSelectionCount() > 0);
            selectAllAction.setEnabled(table.getItemCount() > 0);
            bars.updateActionBars();

            // add to the Edit menu
            IMenuManager editMenuManager = bars.getMenuManager().findMenuUsingPath(IIDEActionConstants.M_EDIT);

            if (editMenuManager instanceof SubMenuManager) {
                IContributionManager editManager = ((SubMenuManager) editMenuManager).getParent();
                ActionContributionItem item;

                editMenuManager.remove("PICopyTable"); //$NON-NLS-1$
                copyTableAction.setEnabled(table.getItemCount() > 0);
                item = new ActionContributionItem(copyTableAction);
                item.setVisible(true);
                editManager.prependToGroup(IIDEActionConstants.CUT_EXT, item);
            }

            // add to the File menu
            IMenuManager fileMenuManager = bars.getMenuManager().findMenuUsingPath(IIDEActionConstants.M_FILE);

            if (fileMenuManager instanceof SubMenuManager) {
                IContributionManager fileManager = ((SubMenuManager) fileMenuManager).getParent();
                ActionContributionItem item;

                fileMenuManager.remove("PISaveTable"); //$NON-NLS-1$
                saveTableAction.setEnabled(table.getItemCount() > 0);
                item = new ActionContributionItem(saveTableAction);
                item.setVisible(true);
                fileManager.insertAfter("saveAll", item); //$NON-NLS-1$
            }
        }

        public void focusLost(org.eclipse.swt.events.FocusEvent arg0) {
            IActionBars bars = PIPageEditor.getActionBars();
            bars.setGlobalActionHandler(ActionFactory.COPY.getId(), oldCopyAction);
            bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), oldSelectAllAction);
            bars.updateActionBars();

            SubMenuManager editMenuManager = (SubMenuManager) PIPageEditor.getMenuManager()
                    .find(IIDEActionConstants.M_EDIT);
            editMenuManager.remove("PICopyTable"); //$NON-NLS-1$
            editMenuManager.update();

            SubMenuManager fileMenuManager = (SubMenuManager) PIPageEditor.getMenuManager()
                    .find(IIDEActionConstants.M_FILE);
            fileMenuManager.remove("PISaveTable"); //$NON-NLS-1$
            fileMenuManager.update();
        }
    });

    tableViewer.refresh();
    table.redraw();
}

From source file:com.nokia.carbide.cpp.pi.memory.MemLibraryEventTable.java

License:Open Source License

public MemLibraryEventTable(MemTraceGraph myGraph, Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout gl = new GridLayout();
    gl.marginHeight = 0;//from  w  ww. ja v  a 2s .c o  m
    gl.marginWidth = 0;
    gl.marginLeft = 0;
    gl.marginRight = 0;
    composite.setLayout(gl);
    this.myGraph = myGraph;
    this.parent = composite;

    Label label = new Label(composite, SWT.CENTER);
    label.setBackground(composite.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    label.setFont(PIPageEditor.helvetica_8);
    label.setText(Messages.getString("MemLibraryEventTable.title")); //$NON-NLS-1$

    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    this.tableViewer = CheckboxTableViewer.newCheckList(composite,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    this.table = this.tableViewer.getTable();
    this.table.setLayoutData(new GridData(GridData.FILL_BOTH));

    // add the check state handler, label provider and content provider
    this.tableViewer.addCheckStateListener(new CheckHandler());
    this.tableViewer.setLabelProvider(new SharedLabelProvider(this.table));
    this.tableViewer.setContentProvider(new MemoryTableContentProvider());
    this.tableViewer.setSorter(new SharedSorter());

    // give the table a heading for possible use in copying and exported
    this.table.setData(Messages.getString("MemLibraryEventTable.library")); //$NON-NLS-1$

    // create the columns
    TableColumn column;

    // data associated with the TableViewer will note which columns contain hex values
    // Keep this in the order in which columns have been created
    boolean[] isHex = { false, false, false, false };
    this.table.setData("isHex", isHex); //$NON-NLS-1$

    // select/deselect column
    column = new TableColumn(this.table, SWT.CENTER);
    column.setText(COLUMN_HEAD_SHOW);
    column.setWidth(COLUMN_WIDTH_SHOW);
    column.setData(Integer.valueOf(COLUMN_ID_SHOW));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(this.table, SWT.LEFT);
    column.setText(COLUMN_HEAD_LIBRARY_NAME);
    column.setWidth(COLUMN_WIDTH_LIBRARY_NAME);
    column.setData(Integer.valueOf(COLUMN_ID_LIB_NAME));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_LIBRARY_LOAD_SIZE);
    column.setWidth(COLUMN_WIDTH_LIBRARY_LOAD_SIZE);
    column.setData(Integer.valueOf(COLUMN_ID_LIB_LOAD_SIZE));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_LIBRARY_SELECTION_LOAD_COUNT);
    column.setWidth(COLUMN_WIDTH_LIBRARY_SELECTION_COUNT);
    column.setData(Integer.valueOf(COLUMN_ID_LIB_SELECTION_COUNT));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    // initially, all rows are checked
    this.tableViewer.setAllChecked(true);

    this.table.addMouseListener(new TableMouseListener());

    // set background color for the first column
    this.table.addListener(SWT.EraseItem, new Listener() {
        public void handleEvent(Event event) {
            TableItem item = (TableItem) event.item;
            ProfiledLibraryEvent ple = (ProfiledLibraryEvent) item.getData();
            GC gc = event.gc;
            gc.setForeground(ple.getColor());
            gc.setBackground(ple.getColor());
            gc.fillRectangle(item.getBounds(COLOR_COLUMN_INDEX));
        }
    });

    this.table.setHeaderVisible(true);
    this.table.setLinesVisible(true);
    this.table.setRedraw(true);
    updateItemData(true);
    ((SharedSorter) tableViewer.getSorter()).doSort(COLUMN_ID_LIB_NAME);

    // initially, all rows are checked
    this.tableViewer.setAllChecked(true);

    createDefaultActions();

    // listen for key sequences such as Ctrl-A and Ctrl-C
    table.addKeyListener(new TableKeyListener());

    table.addFocusListener(new FocusListener() {
        IAction oldSelectAllAction = null;
        IAction oldCopyAction = null;

        public void focusGained(org.eclipse.swt.events.FocusEvent arg0) {
            IActionBars bars = PIPageEditor.getActionBars();

            oldSelectAllAction = PIPageEditor.getActionBars()
                    .getGlobalActionHandler(ActionFactory.SELECT_ALL.getId());
            oldCopyAction = PIPageEditor.getActionBars().getGlobalActionHandler(ActionFactory.COPY.getId());

            bars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
            bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), selectAllAction);

            copyAction.setEnabled(table.getSelectionCount() > 0);
            selectAllAction.setEnabled(table.getItemCount() > 0);
            bars.updateActionBars();

            // add to the Edit menu
            IMenuManager editMenuManager = bars.getMenuManager().findMenuUsingPath(IIDEActionConstants.M_EDIT);

            if (editMenuManager instanceof SubMenuManager) {
                IContributionManager editManager = ((SubMenuManager) editMenuManager).getParent();
                ActionContributionItem item;

                editMenuManager.remove("PICopyTable"); //$NON-NLS-1$
                copyTableAction.setEnabled(table.getItemCount() > 0);
                item = new ActionContributionItem(copyTableAction);
                item.setVisible(true);
                editManager.prependToGroup(IIDEActionConstants.CUT_EXT, item);
            }

            // add to the File menu
            IMenuManager fileMenuManager = bars.getMenuManager().findMenuUsingPath(IIDEActionConstants.M_FILE);

            if (fileMenuManager instanceof SubMenuManager) {
                IContributionManager fileManager = ((SubMenuManager) fileMenuManager).getParent();
                ActionContributionItem item;

                fileMenuManager.remove("PISaveTable"); //$NON-NLS-1$
                saveTableAction.setEnabled(table.getItemCount() > 0);
                item = new ActionContributionItem(saveTableAction);
                item.setVisible(true);
                fileManager.insertAfter("saveAll", item); //$NON-NLS-1$
            }
        }

        public void focusLost(org.eclipse.swt.events.FocusEvent arg0) {
            IActionBars bars = PIPageEditor.getActionBars();
            bars.setGlobalActionHandler(ActionFactory.COPY.getId(), oldCopyAction);
            bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), oldSelectAllAction);
            bars.updateActionBars();

            SubMenuManager editMenuManager = (SubMenuManager) PIPageEditor.getMenuManager()
                    .find(IIDEActionConstants.M_EDIT);
            editMenuManager.remove("PICopyTable"); //$NON-NLS-1$
            editMenuManager.update();

            SubMenuManager fileMenuManager = (SubMenuManager) PIPageEditor.getMenuManager()
                    .find(IIDEActionConstants.M_FILE);
            fileMenuManager.remove("PISaveTable"); //$NON-NLS-1$
            fileMenuManager.update();
        }
    });
    tableViewer.refresh();
    table.redraw();
}

From source file:com.nokia.carbide.cpp.pi.memory.MemThreadTable.java

License:Open Source License

public MemThreadTable(MemTraceGraph myGraph, Composite parent) {
    Composite composite = new Composite(parent, SWT.NONE);
    GridLayout gl = new GridLayout();
    gl.marginHeight = 0;//from   ww w .  j a  v a  2 s. co m
    gl.marginWidth = 0;
    gl.marginLeft = 0;
    gl.marginRight = 0;
    composite.setLayout(gl);
    this.myGraph = myGraph;
    this.parent = composite;

    Label label = new Label(composite, SWT.CENTER);
    label.setBackground(composite.getDisplay().getSystemColor(SWT.COLOR_WHITE));
    label.setFont(PIPageEditor.helvetica_8);
    label.setText(Messages.getString("MemThreadTable.title")); //$NON-NLS-1$

    label.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));

    this.tableViewer = CheckboxTableViewer.newCheckList(composite,
            SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL | SWT.FULL_SELECTION);
    this.table = this.tableViewer.getTable();
    this.table.setLayoutData(new GridData(GridData.FILL_BOTH));

    // add the check state handler, label provider and content provider
    this.tableViewer.addCheckStateListener(new CheckHandler());
    this.tableViewer.setLabelProvider(new SharedLabelProvider(this.table));
    this.tableViewer.setContentProvider(new MemoryTableContentProvider());
    this.tableViewer.setSorter(new SharedSorter());

    // give the table a heading for possible use in copying and exported
    this.table.setData(Messages.getString("MemThreadTable.memory")); //$NON-NLS-1$

    // create the columns
    TableColumn column;

    // data associated with the TableViewer will note which columns contain hex values
    // Keep this in the order in which columns have been created
    boolean[] isHex = { false, false, false, false };
    this.table.setData("isHex", isHex); //$NON-NLS-1$

    // select/deselect column
    column = new TableColumn(this.table, SWT.CENTER);
    column.setText(COLUMN_HEAD_MEMORY_NAME);
    column.setWidth(COLUMN_WIDTH_MEMORY_NAME + 15); // extra space for the checkbox
    column.setData(Integer.valueOf(COLUMN_ID_MEMORY_NAME));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_MEMORY_CHUNKS);
    column.setWidth(COLUMN_WIDTH_MEMORY_CHUNKS);
    column.setData(Integer.valueOf(COLUMN_ID_MEMORY_CHUNKS));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_MEMORY_STACK);
    column.setWidth(COLUMN_WIDTH_MEMORY_STACK);
    column.setData(Integer.valueOf(COLUMN_ID_MEMORY_STACK));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    column = new TableColumn(tableViewer.getTable(), SWT.RIGHT);
    column.setText(COLUMN_HEAD_MEMORY_TOTAL);
    column.setWidth(COLUMN_WIDTH_MEMORY_TOTAL);
    column.setData(Integer.valueOf(COLUMN_ID_MEMORY_TOTAL));
    column.setMoveable(true);
    column.setResizable(true);
    column.addSelectionListener(new ColumnSelectionHandler());

    // initially, all rows are checked
    this.tableViewer.setAllChecked(true);

    this.table.addMouseListener(new TableMouseListener());
    this.table.setHeaderVisible(true);
    this.table.setLinesVisible(true);
    this.table.setRedraw(true);

    updateItemData(true);
    ((SharedSorter) tableViewer.getSorter()).doSort(COLUMN_ID_MEMORY_NAME);

    // initially, all rows are checked
    this.tableViewer.setAllChecked(true);

    createDefaultActions();

    // listen for key sequences such as Ctrl-A and Ctrl-C
    table.addKeyListener(new TableKeyListener());

    table.addFocusListener(new FocusListener() {
        IAction oldSelectAllAction = null;
        IAction oldCopyAction = null;

        public void focusGained(org.eclipse.swt.events.FocusEvent arg0) {
            IActionBars bars = PIPageEditor.getActionBars();

            oldSelectAllAction = PIPageEditor.getActionBars()
                    .getGlobalActionHandler(ActionFactory.SELECT_ALL.getId());
            oldCopyAction = PIPageEditor.getActionBars().getGlobalActionHandler(ActionFactory.COPY.getId());

            bars.setGlobalActionHandler(ActionFactory.COPY.getId(), copyAction);
            bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), selectAllAction);

            copyAction.setEnabled(table.getSelectionCount() > 0);
            selectAllAction.setEnabled(table.getItemCount() > 0);
            bars.updateActionBars();

            // add to the Edit menu
            IMenuManager editMenuManager = bars.getMenuManager().findMenuUsingPath(IIDEActionConstants.M_EDIT);

            if (editMenuManager instanceof SubMenuManager) {
                IContributionManager editManager = ((SubMenuManager) editMenuManager).getParent();
                ActionContributionItem item;

                editMenuManager.remove("PICopyTable"); //$NON-NLS-1$
                copyTableAction.setEnabled(table.getItemCount() > 0);
                item = new ActionContributionItem(copyTableAction);
                item.setVisible(true);
                editManager.prependToGroup(IIDEActionConstants.CUT_EXT, item);
            }

            // add to the File menu
            IMenuManager fileMenuManager = bars.getMenuManager().findMenuUsingPath(IIDEActionConstants.M_FILE);

            if (fileMenuManager instanceof SubMenuManager) {
                IContributionManager fileManager = ((SubMenuManager) fileMenuManager).getParent();
                ActionContributionItem item;

                fileMenuManager.remove("PISaveTable"); //$NON-NLS-1$
                saveTableAction.setEnabled(table.getItemCount() > 0);
                item = new ActionContributionItem(saveTableAction);
                item.setVisible(true);
                fileManager.insertAfter("saveAll", item); //$NON-NLS-1$
            }
        }

        public void focusLost(org.eclipse.swt.events.FocusEvent arg0) {
            IActionBars bars = PIPageEditor.getActionBars();
            bars.setGlobalActionHandler(ActionFactory.COPY.getId(), oldCopyAction);
            bars.setGlobalActionHandler(ActionFactory.SELECT_ALL.getId(), oldSelectAllAction);
            bars.updateActionBars();

            SubMenuManager editMenuManager = (SubMenuManager) PIPageEditor.getMenuManager()
                    .find(IIDEActionConstants.M_EDIT);
            editMenuManager.remove("PICopyTable"); //$NON-NLS-1$
            editMenuManager.update();

            SubMenuManager fileMenuManager = (SubMenuManager) PIPageEditor.getMenuManager()
                    .find(IIDEActionConstants.M_FILE);
            fileMenuManager.remove("PISaveTable"); //$NON-NLS-1$
            fileMenuManager.update();
        }
    });

    tableViewer.refresh();
    table.redraw();
}

From source file:de.loskutov.bco.views.BytecodeOutlineView.java

License:Open Source License

protected void toggleVerifyMode(final IMenuManager mmanager, boolean showAnalyzer) {
    setMode(BCOConstants.F_SHOW_ANALYZER, showAnalyzer);
    if (modes.get(BCOConstants.F_SHOW_ANALYZER)) {
        ((StackLayout) stackComposite.getLayout()).topControl = verifyControl;
        viewSelectionProvider.setCurrentSelectionProvider(tableControlViewer);
    } else {//w  ww. j  av  a2 s.  co  m
        ((StackLayout) stackComposite.getLayout()).topControl = textControl;
        viewSelectionProvider.setCurrentSelectionProvider(textViewer);
    }
    stackComposite.layout();

    for (int i = 0; i < toggleOrientationActions.length; ++i) {
        toggleOrientationActions[i].setEnabled(showAnalyzer);
    }
    mmanager.markDirty();
    mmanager.update();
}

From source file:fr.labsticc.framework.ide.viewpart.AbstractEditorViewPart.java

License:Open Source License

private void fillMenus(final Collection<IAction> p_actions) {
    final IActionBars bars = getViewSite().getActionBars();
    final IMenuManager manager = bars.getMenuManager();

    if (defaultMenuItems == null) {
        defaultMenuItems = manager.getItems();
    }/* w w  w  .j av  a 2s  . c  om*/

    manager.removeAll();

    if (p_actions == null) {
        for (final IContributionItem item : defaultMenuItems) {
            manager.add(item);
        }
    } else {
        for (final IAction action : p_actions) {
            manager.add(action);
        }
    }

    manager.update();
}

From source file:net.karlmartens.ui.viewer.TableViewerClipboardManager.java

License:Apache License

public void createContextMenu() {
    final IMenuManager mm = _viewer.getControl().getMenuManager();

    if (isOperationEnabled(OPERATION_CUT)) {
        final CutTableViewerAction cut = new CutTableViewerAction();
        cut.register(this);
        mm.appendToGroup(Table.GROUP_EDIT, cut);
    }// ww w .ja v a  2 s. c  o  m

    if (isOperationEnabled(OPERATION_COPY)) {
        final CopyTableViewerAction copy = new CopyTableViewerAction();
        copy.register(this);
        mm.appendToGroup(Table.GROUP_EDIT, copy);
    }

    if (isOperationEnabled(OPERATION_PASTE)) {
        final PasteTableViewerAction paste = new PasteTableViewerAction();
        paste.register(this);
        mm.appendToGroup(Table.GROUP_EDIT, paste);
    }

    final boolean group1 = (_operations & (OPERATION_COPY | OPERATION_PASTE | OPERATION_CUT)) != 0;
    final boolean group2 = (_operations & (OPERATION_DELETE | OPERATION_SELECT_ALL)) != 0;
    if (group1 && group2)
        mm.appendToGroup(Table.GROUP_EDIT, new Separator());

    if (isOperationEnabled(OPERATION_DELETE)) {
        final DeleteTableViewerAction delete = new DeleteTableViewerAction();
        delete.register(this);
        mm.appendToGroup(Table.GROUP_EDIT, delete);
    }

    if (isOperationEnabled(OPERATION_SELECT_ALL)) {
        final SelectAllTableViewerAction selectAll = new SelectAllTableViewerAction();
        selectAll.register(this);
        mm.appendToGroup(Table.GROUP_EDIT, selectAll);
    }

    if (!group1 && !group2)
        return;

    mm.update();
}

From source file:net.karlmartens.ui.widget.FilterGroupContribution.java

License:Apache License

@Override
protected IContributionItem[] getContributionItems() {
    if (_columnIndex < 0 || _columnIndex >= _table.getColumnCount())
        return new IContributionItem[0];
    final TableColumn column = _table.getColumn(_columnIndex);
    if (!column.isFilterable())
        return new IContributionItem[0];

    final IMenuManager menu = getMenuManager();
    menu.removeAll();/*w ww.  j  a v  a 2  s  . co m*/

    final IAction allAction = new FilterColumnAction(column, _allText, Criteria.<TableItem>all());
    menu.add(new ActionContributionItem(allAction));

    final TableItem[] items = _table.getItems();
    Arrays.sort(items, new TableItemSorter(_columnIndex));

    final int from = Math.max(items.length - 10, 0);
    final int to = from + Math.min(10, items.length);
    final TableItem[] topTen = Arrays.copyOfRange(items, from, to);
    final IAction topTenFilter = new FilterColumnAction(column, _topTextText, Criteria.accepting(topTen));
    menu.add(new ActionContributionItem(topTenFilter));

    menu.add(new Separator());

    final Set<String> values = new HashSet<String>();
    for (TableItem item : items) {
        final String value = item.getText(_columnIndex);
        values.add(value);
    }

    final Set<String> accepted = getOrCreateAccepted(column);
    for (String value : accepted) {
        values.add(value);
    }

    final List<String> sortedValues = new ArrayList<String>(values);
    Collections.sort(sortedValues, new NumberStringComparator());
    for (String value : sortedValues) {
        final IAction action = new FilterColumnValueAction(column, value, accepted);
        menu.add(new ActionContributionItem(action));
    }

    menu.update();

    return new IContributionItem[] { menu };
}

From source file:net.karlmartens.ui.widget.TableColumnManager.java

License:Apache License

TableColumnManager(Table container, KTableImpl table) {
    _container = container;/*  www .ja  va  2  s . c  om*/
    _table = table;

    _sortColumnsContribution = new SortColumnsContribution(this, _container);
    _resizeColumnAction = new ResizeColumnAction(_container, -1);
    _resizeAllColumnsAction = new ResizeAllColumnsAction(_container);

    _visibleColumnsConstribution = new VisibleColumnsContribution(_container);
    _filterGroupContribution = new FilterGroupContribution(_container);

    final IMenuManager columnMenu = container.getMenuManager();
    columnMenu.appendToGroup(Table.GROUP_COMMAND, _sortColumnsContribution);
    columnMenu.appendToGroup(Table.GROUP_COMMAND, _resizeColumnAction);
    columnMenu.appendToGroup(Table.GROUP_COMMAND, _resizeAllColumnsAction);
    columnMenu.appendToGroup(Table.GROUP_DATA, _visibleColumnsConstribution);
    columnMenu.appendToGroup(Table.GROUP_DATA, _filterGroupContribution);
    columnMenu.update();

    hookControl();
}

From source file:net.karlmartens.ui.widget.VisibleColumnsContribution.java

License:Apache License

@Override
protected IContributionItem[] getContributionItems() {
    final IMenuManager menu = getMenuManager();
    menu.removeAll();// www.  ja v  a2  s . co  m

    final IContributionItem[] items = new IContributionItem[_table.getColumnCount()];
    for (int i = 0; i < items.length; i++) {
        final TableColumn column = _table.getColumn(i);
        if (!column.isHideable())
            continue;

        menu.add(new ActionContributionItem(new ToggleColumnVisibiltyAction(column)));
    }

    menu.update();

    if (menu.isEmpty())
        return new IContributionItem[0];

    return new IContributionItem[] { menu };
}

From source file:org.dawnsci.common.widgets.spinner.FloatSpinner.java

License:Open Source License

/**
 * Method creates a right-click menu for a FloatSpinner with options for resetting to original value, and for setting the increment.
 * @param increments an array of doubles representing the different increments allowed
 * @param resetObject the object from which the resetGetter is invoked
 * @param resetMethod the method that gets the original value
 *//*w w  w  .  ja  v a2 s  .c  om*/
public void createMenu(final double[] increments, final Object resetObject, final Method resetMethod) {
    final MenuManager popupMenu = new MenuManager();
    popupMenu.setRemoveAllWhenShown(true);
    getControl().setMenu(popupMenu.createContextMenu(getControl()));
    popupMenu.addMenuListener(new IMenuListener() {
        @Override
        public void menuAboutToShow(IMenuManager manager) {
            Action cutAction = new Action("Cut") {
                @Override
                public void run() {
                    spinner.cut();
                }
            };
            Action copyAction = new Action("Copy") {
                @Override
                public void run() {
                    spinner.copy();
                }
            };
            Action pasteAction = new Action("Paste") {
                @Override
                public void run() {
                    spinner.paste();
                }
            };

            popupMenu.add(cutAction);
            popupMenu.add(copyAction);
            popupMenu.add(pasteAction);
            popupMenu.add(new Separator());

            popupMenu.add(new Action("Reset") {
                @Override
                public void run() {
                    Object[] params = new Object[0];

                    try {
                        resetMethod.invoke(resetObject, params);
                    } catch (IllegalArgumentException e) {
                        logger.error("Can't invoke method (illegal argument).", e);
                    } catch (IllegalAccessException e) {
                        logger.error("Can't invoke method (illegal access).", e);
                    } catch (InvocationTargetException e) {
                        logger.error("Can't invoke method (invokation target).", e);
                    }
                }
            });

            manager.update();
        }
    });
}