Package com.smartgwt.client.widgets.menu

Examples of com.smartgwt.client.widgets.menu.MenuItem


            if (null == resource) {
                // if the resource is gone just skip it
                continue;
            }

            MenuItem item = new MenuItem(resource.getName());
            item.setIcon(ImageManager.getResourceIcon(resource));

            // build a subMenu to display a disambiguated resource
            item.setAttribute(AncestryUtil.RESOURCE_ID, resourceId);
            item.setAttribute(AncestryUtil.RESOURCE_NAME, resource.getName());
            item.setAttribute(AncestryUtil.RESOURCE_ANCESTRY, resource.getAncestry());
            item.setAttribute(AncestryUtil.RESOURCE_TYPE_ID, resource.getResourceType().getId());
            item.setAttribute(AncestryUtil.RESOURCE_ANCESTRY_TYPES, typesWrapper);

            Menu ancestryMenu = new Menu();
            MenuItem ancestryItem = new MenuItem(AncestryUtil.getAncestryHoverHTML(item, -1));
            ancestryItem.setEnabled(false);
            ancestryMenu.setItems(ancestryItem);
            ancestryMenu.setSubmenuDirection("left");
            ancestryMenu.setAutoWidth();
            item.setSubmenu(ancestryMenu);

            item.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {
                public void onClick(MenuItemClickEvent event) {
                    CoreGUI.goToView(LinkManager.getResourceLink(resourceId));
                }
            });

            items.add(item);
        }

        if (!recentResourceIds.isEmpty() && !recentGroupIds.isEmpty()) {
            items.add(new MenuItemSeparator());
        }

        for (final Integer groupId : recentGroupIds) {
            ResourceGroupComposite groupComposite = favorites.getGroupComposite(groupId);
            if (null == groupComposite) {
                // if the resource group is gone just skip it
                continue;
            }
            final ResourceGroup group = groupComposite.getResourceGroup();

            MenuItem item = new MenuItem(String.valueOf(groupId));
            item.setTitle(group.getName());
            item.setIcon(ImageManager.getGroupIcon(group.getGroupCategory(),
                groupComposite.getExplicitAvailabilityType()));

            item.addClickHandler(new com.smartgwt.client.widgets.menu.events.ClickHandler() {
                public void onClick(MenuItemClickEvent event) {
                    CoreGUI.goToView(LinkManager.getResourceGroupLink(group));
                }
            });
            items.add(item);
View Full Code Here


        final ResourceComposite resourceComposite, final ResourceType resourceType) {
        final Resource resource = resourceComposite.getResource();
        final ResourcePermission resourcePermission = resourceComposite.getResourcePermission();

        // resource name
        resourceContextMenu.setItems(new MenuItem(resource.getName()));

        // resource type name
        resourceContextMenu.addItem(new MenuItem(MSG.view_tree_common_contextMenu_type_name_label(resourceType
            .getName())));

        // separator
        resourceContextMenu.addItem(new MenuItemSeparator());

        // refresh node
        MenuItem refresh = new MenuItem(MSG.common_button_refresh());
        refresh.addClickHandler(new ClickHandler() {

            public void onClick(MenuItemClickEvent event) {
                contextMenuRefresh(treeGrid, node, false);
            }
        });
        resourceContextMenu.addItem(refresh);




        // separator
        resourceContextMenu.addItem(new MenuItemSeparator());

        // child resources
        MenuItem childResources = new MenuItem(MSG.view_tabs_common_child_resources());
        boolean childResourcesEnabled = resourceType.getChildResourceTypes() != null
            && !resourceType.getChildResourceTypes().isEmpty();
        childResources.setEnabled(childResourcesEnabled);
        if (childResourcesEnabled) {
            childResources.addClickHandler(new ClickHandler() {
                public void onClick(MenuItemClickEvent event) {
                    CoreGUI.goToView(LinkManager.getResourceTabLink(resource.getId(), "Inventory", "Children"));
                }
            });
        }
        resourceContextMenu.addItem(childResources);

        // plugin config
        MenuItem pluginConfiguration = new MenuItem(MSG.view_tabs_common_connectionSettings());
        boolean pluginConfigEnabled = resourceType.getPluginConfigurationDefinition() != null;
        pluginConfiguration.setEnabled(pluginConfigEnabled);
        if (pluginConfigEnabled) {
            pluginConfiguration.addClickHandler(new ClickHandler() {

                public void onClick(MenuItemClickEvent event) {
                    CoreGUI.goToView(LinkManager.getResourceTabLink(resource.getId(), "Inventory", "ConnectionSettings"));
                }
            });
        }
        resourceContextMenu.addItem(pluginConfiguration);

        // resource config
        MenuItem resourceConfiguration = new MenuItem(MSG.view_tree_common_contextMenu_resourceConfiguration());
        boolean resourceConfigEnabled = resourcePermission.isConfigureRead()
            && resourceType.getResourceConfigurationDefinition() != null;
        resourceConfiguration.setEnabled(resourceConfigEnabled);
        if (resourceConfigEnabled) {
            resourceConfiguration.addClickHandler(new ClickHandler() {

                public void onClick(MenuItemClickEvent event) {
                    CoreGUI.goToView(LinkManager.getResourceTabLink(resource.getId(), "Configuration", "Current"));
                }
            });
        }
        resourceContextMenu.addItem(resourceConfiguration);

        // separator
        resourceContextMenu.addItem(new MenuItemSeparator());

        // Operations Menu
        MenuItem operations = new MenuItem(MSG.common_title_operations());
        boolean operationsEnabled = (resourcePermission.isControl() && (resourceType.getOperationDefinitions() != null) && !resourceType
            .getOperationDefinitions().isEmpty());
        operations.setEnabled(operationsEnabled);
        if (operationsEnabled) {
            Menu opSubMenu = new Menu();

            //sort the display items alphabetically
            TreeSet<String> ordered = new TreeSet<String>();
            Map<String, OperationDefinition> definitionMap = new HashMap<String, OperationDefinition>();
            for (OperationDefinition o : resourceType.getOperationDefinitions()) {
                ordered.add(o.getDisplayName());
                definitionMap.put(o.getDisplayName(), o);
            }
            for (String displayName : ordered) {
                final OperationDefinition operationDefinition = definitionMap.get(displayName);

                MenuItem operationItem = new MenuItem(operationDefinition.getDisplayName());
                operationItem.addClickHandler(new ClickHandler() {

                    public void onClick(MenuItemClickEvent event) {
                        String viewPath = LinkManager.getResourceTabLink(resource.getId(),
                            ResourceDetailView.Tab.Operations.NAME, "Schedules") + "/0/" + operationDefinition.getId();
                        CoreGUI.goToView(viewPath);
View Full Code Here

        }
    }

    private void addMenu(String name, boolean enabled, List<Resource> singletonChildren, Resource resource,
        Map<String, ResourceType> displayNameMap, boolean isCreate) {
        MenuItem menu = new MenuItem(name);
        if (enabled) {
            Menu subMenu = new Menu();
            singletonChildren = (null == singletonChildren) ? new ArrayList<Resource>() : singletonChildren;
            Menu filteredSubMenu = checkForSingletons(singletonChildren, resource, displayNameMap, subMenu, isCreate);
            menu.setSubmenu(filteredSubMenu);
        } else {
            menu.setEnabled(false);
        }
        resourceContextMenu.addItem(menu);
    }
View Full Code Here

    private Menu checkForSingletons(List<Resource> singletonChildren, final Resource resource,
        Map<String, ResourceType> displayNameMap, Menu subMenu, final boolean isCreate) {

        Set<String> displayNames = displayNameMap.keySet();
        for (final String displayName : displayNames) {
            MenuItem itemToAdd = new MenuItem(displayName);
            final ResourceType type = displayNameMap.get(displayName);
            boolean exists = false;

            // disable the menu item for a singleton type that already has a singleton child resource
            if (type.isSingleton()) {
                for (Resource child : singletonChildren) {
                    exists = child.getResourceType().equals(displayNameMap.get(displayName));
                    if (exists) {
                        break;
                    }
                }
            }

            // omit the type's menu item if the singleton already exists, otherwise add the necessary click handler.
            // note: we omit as opposed to disable the menu item to match the behavior of the buttons in the Inventory
            // -> Child Resources view, which has no facility to do the analogous disabling.
            if (!exists) {
                itemToAdd.addClickHandler(new ClickHandler() {
                    public void onClick(MenuItemClickEvent event) {
                        if (isCreate) {
                            ResourceFactoryCreateWizard.showCreateWizard(resource, type);
                        } else {
                            ResourceFactoryImportWizard.showImportWizard(resource, type);
View Full Code Here

            throw new IllegalStateException("Unsupported context [" + context + "]");
        }
        for (Iterator<String> i = valueMap.keySet().iterator(); i.hasNext();) {
            String portletKey = i.next();
            String portletName = valueMap.get(portletKey);
            MenuItem menuItem = new MenuItem(portletName);
            menuItem.setAttribute("portletKey", portletKey);
            addPortletMenu.addItem(menuItem);
        }

        addPortlet = new IMenuButton(MSG.common_title_add_portlet(), addPortletMenu);
        addPortlet.setIcon("[skin]/images/actions/add.png");
        addPortlet.setAutoFit(true);

        addPortletMenu.addItemClickHandler(new ItemClickHandler() {
            public void onItemClick(ItemClickEvent itemClickEvent) {
                String key = itemClickEvent.getItem().getAttribute("portletKey");
                String name = itemClickEvent.getItem().getTitle();
                try {
                    addPortlet(key, name);
                } catch (Exception ex) {
                    CoreGUI.getErrorHandler().handleError(MSG.view_dashboardsManager_error3(), ex);
                }
            }
        });

        CanvasItem addCanvas = new CanvasItem();
        addCanvas.setShowTitle(false);
        addCanvas.setCanvas(addPortlet);
        addCanvas.setStartRow(false);
        addCanvas.setEndRow(false);

        ColorButtonItem picker = new ColorButtonItem("colorButton", MSG.common_title_background());
        picker.setStartRow(false);
        picker.setEndRow(false);
        picker.setCurrentColor(storedDashboard.getConfiguration().getSimpleValue(Dashboard.CFG_BACKGROUND, "transparent"));
        picker.setColorSelectedHandler(new ColorSelectedHandler() {
            @Override
            public void onColorSelected(ColorSelectedEvent event) {
                String selectedColor = event.getColor();
                if (selectedColor != null) {
                    setBackgroundColor(selectedColor);
                    storedDashboard.getConfiguration().put(new PropertySimple(Dashboard.CFG_BACKGROUND, selectedColor));
                    save();
                }
            }
        });

        //refresh interval
        Menu refreshMenu = new Menu();
        refreshMenu.setShowShadow(true);
        refreshMenu.setShadowDepth(10);
        refreshMenu.setAutoWidth();
        refreshMenu.setHeight(15);
        ClickHandler menuClick = new ClickHandler() {
            @Override
            public void onClick(MenuItemClickEvent event) {
                String selection = event.getItem().getTitle();
                refreshInterval = 0;
                if (selection != null) {
                    if (selection.equals(STOP)) {
                        refreshInterval = STOP_VALUE;
                    } else if (selection.equals(REFRESH1)) {
                        refreshInterval = REFRESH1_VALUE;
                    } else if (selection.equals(REFRESH5)) {
                        refreshInterval = REFRESH5_VALUE;
                    } else if (selection.equals(REFRESH10)) {
                        refreshInterval = REFRESH10_VALUE;
                    } else {//unable to locate value disable refresh
                        refreshInterval = STOP_VALUE;//
                    }
                    UserSessionManager.getUserPreferences().setPageRefreshInterval(refreshInterval,
                        new UpdatePortletRefreshCallback());
                }
            }
        };

        String[] refreshIntervals = { STOP, REFRESH1, REFRESH5, REFRESH10 };
        Integer[] refreshValues = { STOP_VALUE, REFRESH1_VALUE, REFRESH5_VALUE, REFRESH10_VALUE };
        refreshMenuMappings = new HashMap<Integer, String>();
        refreshMenuItems = new MenuItem[refreshIntervals.length];
        int retrievedRefreshInterval = REFRESH1_VALUE;
        if (null != UserSessionManager.getUserPreferences()) {
            retrievedRefreshInterval = UserSessionManager.getUserPreferences().getPageRefreshInterval();
        }
        for (int i = 0; i < refreshIntervals.length; i++) {
            MenuItem item = new MenuItem(refreshIntervals[i], "");
            item.addClickHandler(menuClick);
            refreshMenuMappings.put(refreshValues[i], refreshIntervals[i]);
            if (retrievedRefreshInterval == refreshValues[i]) {
                item.setIcon(ImageManager.getAvailabilityIcon(true));
            }
            refreshMenuItems[i] = item;
        }

        refreshMenu.setItems(refreshMenuItems);
View Full Code Here

            }
            String currentSelection = refreshMenuMappings.get(retrievedRefreshInterval);
            if (currentSelection != null) {
                //iterate over menu items and update icon details
                for (int i = 0; i < refreshMenuItems.length; i++) {
                    MenuItem menu = refreshMenuItems[i];
                    if (currentSelection.equals(menu.getTitle())) {
                        menu.setIcon(ImageManager.getAvailabilityIcon(true));
                    } else {
                        menu.setIcon("");
                    }
                    refreshMenuItems[i] = menu;
                }
                //update the menu
                refreshMenuButton.getMenu().setItems(refreshMenuItems);
View Full Code Here

   
    setItems(items.toArray(new MenuItem[items.size()]));
  }
 
  private void addBugReportItem() {
    bugReportItem = new MenuItem("Report a bug or request a new feature");
    bugReportItem.setIcon(Imgs.BUG.get());
    bugReportItem.addClickHandler(new ClickHandler(){
      public void onClick(MenuItemClickEvent event) {
        ReportIssue.report(view);
      }});
View Full Code Here

      }});
    items.add(bugReportItem);
  }

  private void addOfflineAvailabilityItem() {
    MenuItem offlineAvailabilityItem = new MenuItem("Configure offline availability");
    offlineAvailabilityItem.setIcon(Imgs.DISCONNECTED.get());
    offlineAvailabilityItem.addClickHandler(new ClickHandler(){
      public void onClick(MenuItemClickEvent event) {
        new OfflineAvailabilityConfig(view);
      }});
    items.add(offlineAvailabilityItem);
  }
View Full Code Here

      }});
    items.add(offlineAvailabilityItem);
  }

  private void addRecentChangelogItem() {
    MenuItem changes = new MenuItem("Show recent changes");
    changes.setIcon(Imgs.TOOLTIP.get());
    changes.addClickHandler(new ClickHandler(){
      public void onClick(MenuItemClickEvent event) {
        view.getChangelogHelper().draw(); //show from version 0 onwards
        view.showTooltips(StaticConfig.VERSION_ID-1);
      }});
    items.add(changes);
View Full Code Here

    items.add(changes);
   
  }

  private void addResetSettings() {
    MenuItem reset = new MenuItem("Reset my settings");
    reset.setIcon(Imgs.CROSS.get());
    reset.addClickHandler(new ClickHandler(){
      public void onClick(MenuItemClickEvent event) {
        LocalStorageHelper.clearSettings();
        Window.Location.reload();
      }});
    items.add(reset);
View Full Code Here

TOP

Related Classes of com.smartgwt.client.widgets.menu.MenuItem

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.