Example usage for org.eclipse.jface.action AbstractGroupMarker isGroupMarker

List of usage examples for org.eclipse.jface.action AbstractGroupMarker isGroupMarker

Introduction

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

Prototype

@Override
public boolean isGroupMarker() 

Source Link

Document

The AbstractGroupMarker implementation of this IContributionItem method returns true iff the id is not null.

Usage

From source file:com.google.code.t4eclipse.tools.ktable.model.EclipseModelDataProvider.java

License:Open Source License

public MainMenuItemModel[] getMainMenuModelList() {

    List<MainMenuItemModel> list = new ArrayList<MainMenuItemModel>();

    WorkbenchWindow window = (WorkbenchWindow) PlatformUI.getWorkbench().getActiveWorkbenchWindow();
    MenuManager menuMgr = window.getMenuManager();

    MenuItem[] menuItems = menuMgr.getMenu().getItems();
    for (int i = 0; i < menuItems.length; i++) {

        IContributionItem data = (IContributionItem) menuItems[i].getData();
        MainMenuItemModel model = new MainMenuItemModel();
        model.top = true;//  ww w  .ja va 2s.  com
        model.separator = false;
        model.group = false;
        model.menuStr = menuItems[i].getText();
        String topLevelPath = data.getId();
        model.path = topLevelPath;
        list.add(model);

        if (data instanceof MenuManager) {
            MenuManager mm = (MenuManager) data;

            // get items
            IContributionItem[] items = mm.getItems();
            for (IContributionItem item : items) {

                if (item instanceof AbstractGroupMarker) {
                    AbstractGroupMarker agm = (AbstractGroupMarker) item;
                    if (agm.isGroupMarker()) {
                        MainMenuItemModel groupModel = new MainMenuItemModel();
                        groupModel.top = false;
                        groupModel.separator = agm.isSeparator();
                        groupModel.group = true;
                        groupModel.path = topLevelPath + "/" + agm.getId();
                        list.add(groupModel);
                    } else {
                        MainMenuItemModel sepModel = new MainMenuItemModel();
                        sepModel.top = false;
                        sepModel.separator = agm.isSeparator();
                        sepModel.group = false;
                        list.add(sepModel);
                    }

                } else if (item instanceof SubContributionItem) {
                    SubContributionItem sub = (SubContributionItem) item;
                    IContributionItem subInternal = sub.getInnerItem();
                    if (subInternal instanceof AbstractGroupMarker) {
                        AbstractGroupMarker agm = (AbstractGroupMarker) subInternal;
                        if (agm.isGroupMarker()) {
                            MainMenuItemModel groupModel = new MainMenuItemModel();
                            groupModel.top = false;
                            groupModel.separator = agm.isSeparator();
                            groupModel.group = true;
                            groupModel.path = topLevelPath + "/" + agm.getId();
                            list.add(groupModel);
                        } else {
                            MainMenuItemModel sepModel = new MainMenuItemModel();
                            sepModel.top = false;
                            sepModel.separator = agm.isSeparator();
                            sepModel.group = false;
                            list.add(sepModel);
                        }
                    } else {

                        String menuStr = getMenuStr(item, menuItems[i]);
                        if (menuStr != null) {
                            MainMenuItemModel menuitemmodel = new MainMenuItemModel();
                            menuitemmodel.top = false;
                            menuitemmodel.separator = false;
                            menuitemmodel.group = false;
                            menuitemmodel.menuStr = menuStr;
                            list.add(menuitemmodel);
                        }
                    }

                } else {
                    String menuStr = getMenuStr(item, menuItems[i]);
                    if (menuStr != null) {
                        MainMenuItemModel sepModel = new MainMenuItemModel();
                        sepModel.top = false;
                        sepModel.separator = false;
                        sepModel.group = false;
                        sepModel.menuStr = menuStr;
                        list.add(sepModel);
                    }
                }

                // ////////////////function print menumanger
            }
        }
        if (data instanceof SubContributionItem) {
            SubContributionItem subi = (SubContributionItem) data;
            IContributionItem innerI = subi.getInnerItem();
            if (innerI instanceof MenuManager) {
                MenuManager mm = (MenuManager) innerI;

                IContributionItem[] items = mm.getItems();
                for (IContributionItem item : items) {
                    // ////////////////function print menumanger

                    if (item instanceof AbstractGroupMarker) {
                        AbstractGroupMarker agm = (AbstractGroupMarker) item;
                        if (agm.isGroupMarker()) {
                            MainMenuItemModel groupModel = new MainMenuItemModel();
                            groupModel.top = false;
                            groupModel.separator = agm.isSeparator();
                            groupModel.group = true;
                            groupModel.path = topLevelPath + "/" + agm.getId();
                            list.add(groupModel);
                        } else {
                            MainMenuItemModel sepModel = new MainMenuItemModel();
                            sepModel.top = false;
                            sepModel.separator = agm.isSeparator();
                            sepModel.group = false;
                            list.add(sepModel);
                        }

                    } else if (item instanceof SubContributionItem) {
                        SubContributionItem sub = (SubContributionItem) item;
                        IContributionItem subInternal = sub.getInnerItem();
                        if (subInternal instanceof AbstractGroupMarker) {
                            AbstractGroupMarker agm = (AbstractGroupMarker) subInternal;
                            if (agm.isGroupMarker()) {
                                MainMenuItemModel groupModel = new MainMenuItemModel();
                                groupModel.top = false;
                                groupModel.separator = agm.isSeparator();
                                groupModel.group = true;
                                groupModel.path = topLevelPath + "/" + agm.getId();
                                list.add(groupModel);
                            } else {
                                MainMenuItemModel sepModel = new MainMenuItemModel();
                                sepModel.top = false;
                                sepModel.separator = agm.isSeparator();
                                sepModel.group = false;
                                list.add(sepModel);
                            }
                        } else {
                            String menuStr = getMenuStr(item, menuItems[i]);
                            if (menuStr != null) {
                                MainMenuItemModel sepModel = new MainMenuItemModel();
                                sepModel.top = false;
                                sepModel.separator = false;
                                sepModel.group = false;
                                sepModel.menuStr = menuStr;
                                list.add(sepModel);
                            }
                        }

                    } else {
                        String menuStr = getMenuStr(item, menuItems[i]);
                        if (menuStr != null) {
                            MainMenuItemModel sepModel = new MainMenuItemModel();
                            sepModel.top = false;
                            sepModel.separator = false;
                            sepModel.group = false;
                            sepModel.menuStr = menuStr;
                            list.add(sepModel);
                        }

                    }

                }
            }
        }

    }
    return list.toArray(new MainMenuItemModel[0]);
}