Example usage for org.eclipse.jface.action IMenuCreator IMenuCreator

List of usage examples for org.eclipse.jface.action IMenuCreator IMenuCreator

Introduction

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

Prototype

IMenuCreator

Source Link

Usage

From source file:ch.elexis.actions.AgendaActions.java

License:Open Source License

private static void makeActions() {

    delTerminAction = new LockRequestingRestrictedAction<Termin>(ACLContributor.DELETE_APPOINTMENTS,
            Messages.AgendaActions_deleteDate) {
        {/*w  ww  .  j  a v a 2s.  co m*/
            setImageDescriptor(Images.IMG_DELETE.getImageDescriptor());
            setToolTipText(Messages.AgendaActions_deleteDate);
        }

        @Override
        public Termin getTargetedObject() {
            return (Termin) ElexisEventDispatcher.getSelected(Termin.class);
        }

        @Override
        public void doRun(Termin element) {
            element.delete();
            ElexisEventDispatcher.reload(Termin.class);
        }
    };
    terminStatusAction = new Action(Messages.AgendaActions_state, Action.AS_DROP_DOWN_MENU) {
        Menu mine = null;
        Listener showListener = null;
        {
            setMenuCreator(new IMenuCreator() {
                public void dispose() {
                    if (mine != null) {
                        removeShowListener();
                        mine.dispose();
                    }
                }

                public Menu getMenu(Control parent) {
                    mine = new Menu(parent);
                    fillMenu();
                    addShowListener();
                    return mine;
                }

                public Menu getMenu(Menu parent) {
                    mine = new Menu(parent);
                    fillMenu();
                    addShowListener();
                    return mine;
                }

                private void removeShowListener() {
                    if (mine != null && showListener != null) {
                        mine.removeListener(SWT.Show, showListener);
                    }
                }

                private void addShowListener() {
                    if (mine != null) {
                        removeShowListener();
                        showListener = new Listener() {
                            @Override
                            public void handleEvent(Event event) {
                                Menu menu = (Menu) event.widget;
                                Termin actTermin = (Termin) ElexisEventDispatcher.getSelected(Termin.class);
                                if (actTermin != null) {
                                    String actTerminStatus = actTermin.getStatus();
                                    if (actTerminStatus != null) {
                                        for (MenuItem menuItem : menu.getItems()) {
                                            menuItem.setSelection(
                                                    StringUtils.equals(actTerminStatus, menuItem.getText()));
                                        }
                                    }
                                }
                            }
                        };
                        mine.addListener(SWT.Show, showListener);
                    }
                }
            });
        }

        void fillMenu() {
            for (String t : Termin.TerminStatus) {
                MenuItem it = new MenuItem(mine, SWT.CHECK);
                it.setText(t);
                it.addSelectionListener(new SelectionAdapter() {
                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        Termin act = (Termin) ElexisEventDispatcher.getSelected(Termin.class);
                        AcquireLockBlockingUi.aquireAndRun(act, new ILockHandler() {
                            @Override
                            public void lockFailed() {
                                // do nothing

                            }

                            @Override
                            public void lockAcquired() {
                                MenuItem it = (MenuItem) e.getSource();
                                act.setStatus(it.getText());
                                ElexisEventDispatcher.reload(Termin.class);
                            }
                        });
                    }
                });
            }
        }
    };
}

From source file:ch.elexis.agenda.ui.AgendaParallel.java

License:Open Source License

private void makePrivateActions() {
    dayFwdAction = new Action(Messages.AgendaParallel_dayForward) {
        {/*from  w  w  w .  ja v  a  2 s.co  m*/
            setToolTipText(Messages.AgendaParallel_showNextDay);
            setImageDescriptor(Images.IMG_NEXT.getImageDescriptor());
        }

        @Override
        public void run() {
            agenda.addDays(1);
            for (String s : getDisplayedResources()) {
                checkDay(s, null);
            }
            refresh();
        }
    };

    dayBackAction = new Action(Messages.AgendaParallel_dayBack) {
        {
            setToolTipText(Messages.AgendaParallel_showPreviousDay);
            setImageDescriptor(Images.IMG_PREVIOUS.getImageDescriptor());
        }

        @Override
        public void run() {
            agenda.addDays(-1);
            for (String s : getDisplayedResources()) {
                checkDay(s, null);
            }

            refresh();
        }
    };
    showCalendarAction = new Action(Messages.AgendaParallel_selectDay) {
        {
            setToolTipText(Messages.AgendaParallel_showCalendarForSelcetion);
            // setImageDescriptor(Activator.getImageDescriptor("icons/calendar.png"));
        }

        @Override
        public void run() {
            DateSelectorDialog dsl = new DateSelectorDialog(getViewSite().getShell(), agenda.getActDate());
            if (dsl.open() == Dialog.OK) {
                agenda.setActDate(dsl.getSelectedDate());
                for (String s : getDisplayedResources()) {
                    checkDay(s, null);
                }

                refresh();
            }
        }
    };

    final IAction zoomAction = new Action(Messages.AgendaParallel_zoom, Action.AS_DROP_DOWN_MENU) {
        Menu mine;
        {
            setToolTipText(Messages.AgendaParallel_setZoomFactor);
            setImageDescriptor(Activator.getImageDescriptor("icons/zoom.png")); //$NON-NLS-1$
            setMenuCreator(new IMenuCreator() {

                public void dispose() {
                    mine.dispose();
                }

                public Menu getMenu(Control parent) {
                    mine = new Menu(parent);
                    fillMenu();
                    return mine;
                }

                public Menu getMenu(Menu parent) {
                    mine = new Menu(parent);
                    fillMenu();
                    return mine;
                }
            });
        }

        private void fillMenu() {
            String currentFactorString = CoreHub.localCfg.get(PreferenceConstants.AG_PIXEL_PER_MINUTE, "0.4");
            int currentFactor = (int) (Float.parseFloat(currentFactorString) * 100);
            for (String s : new String[] { "40", "60", "80", "100", "120", "140", "160", "200", "300", "400", //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$//$NON-NLS-5$//$NON-NLS-6$//$NON-NLS-7$//$NON-NLS-8$//$NON-NLS-9$
                    "500" }) {
                MenuItem it = new MenuItem(mine, SWT.RADIO);
                it.setText(s + "%"); //$NON-NLS-1$
                it.setData(s);
                it.setSelection(Integer.parseInt(s) == currentFactor);
                it.addSelectionListener(new SelectionAdapter() {

                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        MenuItem mi = (MenuItem) e.getSource();
                        int scale = Integer.parseInt((String) mi.getData()); //$NON-NLS-1$
                        double factor = scale / 100.0;
                        CoreHub.localCfg.set(PreferenceConstants.AG_PIXEL_PER_MINUTE, Double.toString(factor));
                        sheet.recalc();
                    }

                });
            }
        }
    };
    IToolBarManager tmr = getViewSite().getActionBars().getToolBarManager();

    tmr.add(new Separator());
    tmr.add(dayBackAction);
    tmr.add(showCalendarAction);
    tmr.add(dayFwdAction);
    tmr.add(new Separator());
    tmr.add(zoomAction);
    tmr.add(new Separator("agenda_right")); //$NON-NLS-1$
}

From source file:ch.elexis.agenda.ui.week.AgendaWeek.java

License:Open Source License

private void makePrivateActions() {
    weekFwdAction = new Action(Messages.AgendaWeek_weekForward) {
        {/*  w w  w.j a  v  a  2s  .  c  om*/
            setToolTipText(Messages.AgendaWeek_showNextWeek);
            setImageDescriptor(Images.IMG_NEXT.getImageDescriptor());
        }

        @Override
        public void run() {
            agenda.addDays(7);
            TimeTool tt = new TimeTool();
            for (String s : getDisplayedDays()) {
                tt.set(s);
                checkDay(null, tt);
            }
            refresh();
        }
    };

    weekBackAction = new Action(Messages.AgendaWeek_weekBackward) {
        {
            setToolTipText(Messages.AgendaWeek_showPreviousWeek);
            setImageDescriptor(Images.IMG_PREVIOUS.getImageDescriptor());
        }

        @Override
        public void run() {
            agenda.addDays(-7);
            TimeTool tt = new TimeTool();
            for (String s : getDisplayedDays()) {
                tt.set(s);
                checkDay(null, tt);
            }
            refresh();
        }
    };
    showCalendarAction = new Action(Messages.AgendaWeek_selectWeek) {
        {
            setToolTipText(Messages.AgendaWeek_showCalendarToSelect);
            // setImageDescriptor(Activator.getImageDescriptor("icons/calendar.png"));
        }

        @Override
        public void run() {
            DateSelectorDialog dsl = new DateSelectorDialog(getViewSite().getShell(), agenda.getActDate());
            if (dsl.open() == Dialog.OK) {
                agenda.setActDate(dsl.getSelectedDate());
                TimeTool tt = new TimeTool();
                for (String s : getDisplayedDays()) {
                    tt.set(s);
                    checkDay(null, tt);
                }

                refresh();
            }
        }
    };

    final IAction zoomAction = new Action(Messages.AgendaWeek_zoom, Action.AS_DROP_DOWN_MENU) {
        Menu mine;
        {
            setToolTipText(Messages.AgendaWeek_setZoomFactor);
            setImageDescriptor(Activator.getImageDescriptor("icons/zoom.png")); //$NON-NLS-1$
            setMenuCreator(new IMenuCreator() {

                public void dispose() {
                    mine.dispose();
                }

                public Menu getMenu(Control parent) {
                    mine = new Menu(parent);
                    fillMenu();
                    return mine;
                }

                public Menu getMenu(Menu parent) {
                    mine = new Menu(parent);
                    fillMenu();
                    return mine;
                }
            });
        }

        private void fillMenu() {
            String currentFactorString = CoreHub.localCfg.get(PreferenceConstants.AG_PIXEL_PER_MINUTE, "0.4");
            int currentFactor = (int) (Float.parseFloat(currentFactorString) * 100);
            for (String s : new String[] { "40", "60", "80", "100", "120", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
                    "140", "160", "200", "300" }) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
                MenuItem it = new MenuItem(mine, SWT.RADIO);
                it.setText(s + "%"); //$NON-NLS-1$
                it.setData(s);
                it.setSelection(Integer.parseInt(s) == currentFactor);
                it.addSelectionListener(new SelectionAdapter() {

                    @Override
                    public void widgetSelected(SelectionEvent e) {
                        MenuItem mi = (MenuItem) e.getSource();
                        int scale = Integer.parseInt(mi.getText().split("%")[0]); //$NON-NLS-1$
                        double factor = scale / 100.0;
                        CoreHub.localCfg.set(PreferenceConstants.AG_PIXEL_PER_MINUTE, Double.toString(factor));
                        sheet.recalc();
                    }

                });
            }
        }
    };
    IToolBarManager tmr = getViewSite().getActionBars().getToolBarManager();
    tmr.add(new Separator());
    tmr.add(weekBackAction);
    tmr.add(showCalendarAction);
    tmr.add(weekFwdAction);
    tmr.add(new Separator());
    tmr.add(zoomAction);
}

From source file:ch.elexis.core.ui.contacts.views.PatientMenuPopulator.java

License:Open Source License

PatientMenuPopulator(PatientenListeView plv, final StructuredViewer structuredViewer) {
    mine = plv;/*  ww w  . j  a  v  a 2s .  c  om*/
    stickerAction = new RestrictedAction(AccessControlDefaults.KONTAKT_ETIKETTE,
            Messages.PatientMenuPopulator_StickerAction) { // $NON-NLS-1$
        {
            setToolTipText(Messages.PatientMenuPopulator_StickerToolTip); // $NON-NLS-1$
        }

        @Override
        public void doRun() {
            Patient p = mine.getSelectedPatient();
            AssignStickerDialog aed = new AssignStickerDialog(Hub.getActiveShell(), p);
            aed.open();
        }

    };
    delPatAction = new LockRequestingRestrictedAction<Patient>(AccessControlDefaults.KONTAKT_DELETE,
            Messages.PatientMenuPopulator_DeletePatientAction) {

        @Override
        public void doRun(Patient p) {
            if (MessageDialog.openConfirm(mine.getViewSite().getShell(),
                    Messages.PatientMenuPopulator_DeletePatientConfirm, p.getLabel()) == true) {
                if (p.delete(false) == false) {
                    SWTHelper.alert(Messages.PatientMenuPopulator_DeletePatientRejectCaption,
                            Messages.PatientMenuPopulator_DeletePatientRejectBody);
                } else {
                    mine.reload();
                }
            }
        }

        @Override
        public Patient getTargetedObject() {
            StructuredSelection selection = (StructuredSelection) structuredViewer.getSelection();
            if (selection != null) {
                return (Patient) selection.getFirstElement();
            }
            return null;
        }
    };
    exportKGAction = new Action(Messages.PatientMenuPopulator_ExportEMRAction, Action.AS_DROP_DOWN_MENU) { // $NON-NLS-1$
        Menu menu = null;

        {
            setToolTipText(Messages.PatientMenuPopulator_ExportEMRToolTip); // $NON-NLS-1$
            setMenuCreator(new IMenuCreator() {

                public void dispose() {
                    if (menu != null) {
                        menu.dispose();
                        menu = null;
                    }
                }

                public Menu getMenu(Control parent) {
                    menu = new Menu(parent);
                    createMenu();
                    return menu;
                }

                public Menu getMenu(Menu parent) {
                    menu = new Menu(parent);
                    createMenu();
                    return menu;
                }

            });
        }

        void createMenu() {
            Patient p = mine.getSelectedPatient();
            if (p != null) {
                List<IConfigurationElement> list = Extensions
                        .getExtensions(ExtensionPointConstantsUi.TRANSPORTER); // $NON-NLS-1$
                for (final IConfigurationElement ic : list) {
                    // TODO "Acceptable Types" is not part of
                    // ch.elexis.Transporter
                    // never was?! Should we remove this code? - mde
                    String handler = ic.getAttribute("AcceptableTypes"); //$NON-NLS-1$
                    if (handler == null) {
                        continue;
                    }
                    if (handler.contains("ch.elexis.data.Patient") //$NON-NLS-1$
                            || (handler.contains("ch.elexis.data.*"))) { //$NON-NLS-1$
                        MenuItem it = new MenuItem(menu, SWT.NONE);
                        it.setText(ic.getAttribute("name")); //$NON-NLS-1$
                        it.addSelectionListener(new SelectionAdapter() {
                            @Override
                            public void widgetSelected(SelectionEvent e) {
                                Patient pat = mine.getSelectedPatient();
                                try {
                                    IDataSender sender = (IDataSender) ic
                                            .createExecutableExtension("ExporterClass"); //$NON-NLS-1$
                                    sender.store(pat);
                                    sender.finalizeExport();
                                    SWTHelper.showInfo(Messages.PatientMenuPopulator_EMRExported, // $NON-NLS-1$
                                            MessageFormat.format(Messages.PatientMenuPopulator_ExportEmrSuccess, // $NON-NLS-1$
                                                    pat.getLabel()));
                                } catch (CoreException e1) {
                                    ExHandler.handle(e1);
                                } catch (XChangeException xx) {
                                    SWTHelper.showError(Messages.PatientMenuPopulator_ErrorCaption, // $NON-NLS-1$
                                            MessageFormat.format(Messages.PatientMenuPopulator_ExportEmrFailure, // $NON-NLS-1$
                                                    pat.getLabel()));

                                }
                            }
                        });

                    }
                }
            }
        }
    };
}

From source file:ch.elexis.views.PatientMenuPopulator.java

License:Open Source License

PatientMenuPopulator(PatientenListeView plv) {
    mine = plv;/* ww  w .  j  a v  a  2 s . c  om*/
    stickerAction = new RestrictedAction(AccessControlDefaults.KONTAKT_ETIKETTE,
            Messages.getString("PatientMenuPopulator.StickerAction")) { //$NON-NLS-1$
        {
            setToolTipText(Messages.getString("PatientMenuPopulator.StickerToolTip")); //$NON-NLS-1$
        }

        @Override
        public void doRun() {
            Patient p = mine.getSelectedPatient();
            AssignStickerDialog aed = new AssignStickerDialog(Hub.getActiveShell(), p);
            aed.open();
        }

    };
    delPatAction = new Action(Messages.getString("PatientMenuPopulator.DeletePatientAction")) { //$NON-NLS-1$
        @Override
        public void run() {
            // access rights guard
            if (!Hub.acl.request(AccessControlDefaults.KONTAKT_DELETE)) {
                SWTHelper.alert(Messages.getString("PatientMenuPopulator.DeletePatientRefusalCaption"), //$NON-NLS-1$
                        Messages.getString("PatientMenuPopulator.DeletePatientRefusalBody")); //$NON-NLS-1$
                return;
            }

            Patient p = mine.getSelectedPatient();
            if (p != null) {
                if (MessageDialog.openConfirm(mine.getViewSite().getShell(),
                        Messages.getString("PatientMenuPopulator.DeletePatientConfirm"), //$NON-NLS-1$
                        p.getLabel()) == true) {
                    if (p.delete(false) == false) {
                        SWTHelper.alert(Messages.getString("PatientMenuPopulator.DeletePatientRejectCaption"), //$NON-NLS-1$
                                Messages.getString("PatientMenuPopulator.DeletePatientRejectBody")); //$NON-NLS-1$
                    } else {
                        mine.reload();
                    }
                }
            }
        }

    };
    exportKGAction = new Action(Messages.getString("PatientMenuPopulator.ExportEMRAction"), //$NON-NLS-1$
            Action.AS_DROP_DOWN_MENU) {
        Menu menu = null;
        {
            setToolTipText(Messages.getString("PatientMenuPopulator.ExportEMRToolTip")); //$NON-NLS-1$
            setMenuCreator(new IMenuCreator() {

                public void dispose() {
                    if (menu != null) {
                        menu.dispose();
                        menu = null;
                    }

                }

                public Menu getMenu(Control parent) {
                    menu = new Menu(parent);
                    createMenu();
                    return menu;
                }

                public Menu getMenu(Menu parent) {
                    menu = new Menu(parent);
                    createMenu();
                    return menu;
                }

            });
        }

        void createMenu() {
            Patient p = mine.getSelectedPatient();
            if (p != null) {
                List<IConfigurationElement> list = Extensions.getExtensions("ch.elexis.Transporter"); //$NON-NLS-1$
                for (final IConfigurationElement ic : list) {
                    String name = ic.getAttribute("name"); //$NON-NLS-1$
                    System.out.println(name);
                    String handler = ic.getAttribute("AcceptableTypes"); //$NON-NLS-1$
                    if (handler == null) {
                        continue;
                    }
                    if (handler.contains("ch.elexis.data.Patient") //$NON-NLS-1$
                            || (handler.contains("ch.elexis.data.*"))) { //$NON-NLS-1$
                        MenuItem it = new MenuItem(menu, SWT.NONE);
                        it.setText(ic.getAttribute("name")); //$NON-NLS-1$
                        it.addSelectionListener(new SelectionAdapter() {
                            @Override
                            public void widgetSelected(SelectionEvent e) {
                                Patient pat = mine.getSelectedPatient();
                                try {
                                    IDataSender sender = (IDataSender) ic
                                            .createExecutableExtension("ExporterClass"); //$NON-NLS-1$
                                    sender.store(pat);
                                    sender.finalizeExport();
                                    SWTHelper.showInfo(Messages.getString("PatientMenuPopulator.EMRExported"), //$NON-NLS-1$ 
                                            MessageFormat.format(
                                                    Messages.getString("PatientMenuPopulator.ExportEmrSuccess"), //$NON-NLS-1$
                                                    pat.getLabel()));
                                } catch (CoreException e1) {
                                    ExHandler.handle(e1);
                                } catch (XChangeException xx) {
                                    SWTHelper.showError(Messages.getString("PatientMenuPopulator.ErrorCaption"), //$NON-NLS-1$ 
                                            MessageFormat.format(
                                                    Messages.getString("PatientMenuPopulator.ExportEmrFailure"), //$NON-NLS-1$
                                                    pat.getLabel()));

                                }
                            }
                        });

                    }
                }
            }
        }
    };
}

From source file:com.aptana.browser.WebBrowserViewer.java

License:Open Source License

private void createCommandBar(Composite parent) {
    final MenuManager menuManager = new MenuManager("#CommandMenu"); //$NON-NLS-1$
    MenuManager sizeMenuManager = new MenuManager(Messages.WebBrowserViewer_LBL_SetSize);
    sizeMenuManager.add(new Action(Messages.WebBrowserViewer_LBL_FullEditor) {

        @Override/*from w  w w  . j  av  a  2s  .c  om*/
        public void run() {
            currentSize = null;
            layout();
        }
    });
    menuManager.add(sizeMenuManager);

    BrowserSizeCategory[] categories = BrowserPlugin.getDefault().getBrowserConfigurationManager()
            .getSizeCategories();
    Arrays.sort(categories);
    MenuManager categoryMenuManager;
    BrowserSize[] sizes;
    for (BrowserSizeCategory category : categories) {
        // first level has the categories
        categoryMenuManager = new MenuManager(category.getName());
        sizeMenuManager.add(categoryMenuManager);

        sizes = category.getSizes();
        for (final BrowserSize size : sizes) {
            // then shows size configurations for each category
            categoryMenuManager.add(new Action(size.getName()) {

                @Override
                public void run() {
                    disposeImage();

                    currentSize = size;
                    boolean blackBackground = false;
                    BrowserBackgroundImage image = currentSize.getImage();
                    if (image != null) {
                        currentImage = image.getImageDescriptor().createImage();
                        blackBackground = image.isBlackBackground();
                    }
                    Color background = blackBackground ? getDisplay().getSystemColor(SWT.COLOR_BLACK)
                            : getDisplay().getSystemColor(SWT.COLOR_WHITE);
                    setBackground(background);
                    backgroundArea.setBackground(background);
                    resizeBackground();
                }
            });
        }
    }

    sizeMenuManager.add(new Action(Messages.WebBrowserViewer_LBL_Custom) {

        @Override
        public void run() {
            setCustomSize();
        }
    });

    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    Action action = new Action("Command", IAction.AS_DROP_DOWN_MENU) //$NON-NLS-1$
    {

        @Override
        public void run() {
            // not doing anything
        }
    };
    action.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_COMMAND));
    action.setMenuCreator(new IMenuCreator() {

        public void dispose() {
        }

        public Menu getMenu(Control parent) {
            return menuManager.createContextMenu(parent);
        }

        public Menu getMenu(Menu parent) {
            return null;
        }
    });
    toolBarManager.add(action);
    ToolBar sizeToolBar = toolBarManager.createControl(parent);
    sizeToolBar.setLayoutData(GridDataFactory.fillDefaults().create());
}

From source file:com.aptana.browser.WebBrowserViewer4Mac.java

License:Open Source License

protected void createCommandBar(Composite parent) {
    final MenuManager menuManager = new MenuManager("#CommandMenu"); //$NON-NLS-1$
    menuManager.add(new Action(Messages.WebBrowserViewer_LBL_FullEditor) {
        @Override/*from   www  .j a v  a 2  s. c  o  m*/
        public void run() {
            currentSize = null;
            layout();
        }
    });

    BrowserSizeCategory[] categories = BrowserPlugin.getDefault().getBrowserConfigurationManager()
            .getSizeCategories();
    Arrays.sort(categories);
    BrowserSize[] sizes;
    for (BrowserSizeCategory category : categories) {
        sizes = category.getSizes();
        for (final BrowserSize size : sizes) {
            // then shows size configurations for each category
            menuManager.add(new Action(size.getName()) {

                @Override
                public void run() {
                    disposeImage();

                    currentSize = size;
                    boolean blackBackground = false;
                    BrowserBackgroundImage image = currentSize.getImage();
                    if (image != null) {
                        currentImage = image.getImageDescriptor().createImage();
                        blackBackground = image.isBlackBackground();
                    }
                    Color background = blackBackground ? getDisplay().getSystemColor(SWT.COLOR_BLACK)
                            : getDisplay().getSystemColor(SWT.COLOR_WHITE);
                    setBackground(background);
                    backgroundArea.setBackground(background);
                    resizeBackground();
                }
            });
        }
    }

    menuManager.add(new Action(Messages.WebBrowserViewer_LBL_Custom) {

        @Override
        public void run() {
            setCustomSize();
        }
    });

    ToolBarManager toolBarManager = new ToolBarManager(SWT.FLAT);
    Action action = new Action(Messages.WebBrowserViewer_LBL_Set, IAction.AS_DROP_DOWN_MENU) //$NON-NLS-1$
    {

        @Override
        public void run() {
            // not doing anything
        }
    };
    action.setImageDescriptor(ImageResource.getImageDescriptor(ImageResource.IMG_ELCL_COMMAND));
    action.setMenuCreator(new IMenuCreator() {

        public void dispose() {
        }

        public Menu getMenu(Control parent) {
            return menuManager.createContextMenu(parent);
        }

        public Menu getMenu(Menu parent) {
            return null;
        }
    });
    toolBarManager.add(action);
    ToolBar sizeToolBar = toolBarManager.createControl(parent);
    sizeToolBar.setLayoutData(GridDataFactory.fillDefaults().create());
}

From source file:com.aptana.ide.server.ui.views.actions.GenericAddServerAction.java

License:Open Source License

/**
 * //w  w  w.j av  a  2 s.  com
 */
public GenericAddServerAction() {
    super(Messages.GenericAddServerActionTITLE, Action.AS_DROP_DOWN_MENU);
    this.setImageDescriptor(ServerUIPlugin.getImageDescriptor("/icons/server/add_server.gif")); //$NON-NLS-1$
    this.setMenuCreator(new IMenuCreator() {

        public void dispose() {

        }

        public Menu getMenu(Control parent) {
            MenuManager mn = new MenuManager();
            fillManager(mn);
            return mn.createContextMenu(parent);
        }

        public Menu getMenu(Menu parent) {
            MenuManager mn = new MenuManager();
            fillManager(mn);
            Menu menu = new Menu(parent);
            mn.fill(menu, 0);
            return menu;
        }

    });
}

From source file:com.aptana.ide.server.ui.views.actions.OpenLogAction.java

License:Open Source License

/**
 * @param provider//from w  w w.  j  ava 2 s . com
 * @param style
 */
public OpenLogAction(ISelectionProvider provider, int style) {
    super("", style); //$NON-NLS-1$
    this.setImageDescriptor(ServerUIPlugin.getImageDescriptor("/icons/windowlist.png")); //$NON-NLS-1$
    this.setToolTipText(Messages.OpenLogAction_Title0);
    this.provider = provider;
    provider.addSelectionChangedListener(new ISelectionChangedListener() {

        public void selectionChanged(SelectionChangedEvent event) {
            OpenLogAction.this.selectionChanged(event);
        }

    });
    this.setMenuCreator(new IMenuCreator() {

        public void dispose() {

        }

        public Menu getMenu(Control parent) {
            MenuManager mn = new MenuManager();
            fillManager(mn);
            return mn.createContextMenu(parent);
        }

        public Menu getMenu(Menu parent) {
            MenuManager mn = new MenuManager();
            fillManager(mn);
            Menu menu = new Menu(parent);
            mn.fill(menu, 0);
            return menu;
        }

    });
}

From source file:com.microsoft.tfs.client.common.ui.framework.action.ToolbarPulldownAction.java

License:Open Source License

public ToolbarPulldownAction(final boolean showMenuForDefaultAction) {
    super(null, IAction.AS_DROP_DOWN_MENU);
    this.showMenuForDefaultAction = showMenuForDefaultAction;

    setEnabled(false);/*from   ww w  .  j av  a2 s  .  c om*/

    setMenuCreator(new IMenuCreator() {
        @Override
        public void dispose() {
            disposeSubActionMenu();
        }

        @Override
        public Menu getMenu(final Control parent) {
            return getSubActionMenu(parent);
        }

        @Override
        public Menu getMenu(final Menu parent) {
            return null;
        }
    });

    menuItemSelectionListener = new SelectionAdapter() {
        @Override
        public void widgetSelected(final SelectionEvent e) {
            if (!e.widget.isDisposed()) {
                final ActionContributionItem aci = (ActionContributionItem) e.widget.getData();
                final IAction subAction = aci.getAction();
                setDefaultSubAction(subAction);
            }
        }
    };

    subActionPropertyChangeListener = new IPropertyChangeListener() {
        @Override
        public void propertyChange(final PropertyChangeEvent event) {
            subActionPropertyChange(event);
        }
    };
}