Package org.jdesktop.wonderland.client.contextmenu

Examples of org.jdesktop.wonderland.client.contextmenu.SimpleContextMenuItem


    /**
     * @inheritDoc()
     */
    public ContextMenuItem[] getContextMenuItems(ContextEvent event) {
        return new ContextMenuItem[]{
            new SimpleContextMenuItem(BUNDLE.getString("Properties..."),
            null, new PropertiesListener())
        };
    }
View Full Code Here


    public synchronized void repaintMenuItem(ContextMenuItem menuItem) {
        // Tell the menu item to repaint itself. Reset the values on the
        // context menu, tell it to repaint.
        JMenuItem item = reverseMenuMap.get(menuItem);
        if (menuItem instanceof SimpleContextMenuItem) {
            SimpleContextMenuItem scmi = (SimpleContextMenuItem)menuItem;
            item.setText(scmi.getLabel());
            item.setEnabled(scmi.isEnabled());
            if (scmi.getImage() != null) {
                item.setIcon(new ImageIcon(scmi.getImage()));
            }
            item.repaint();
            contextMenu.pack();
            contextMenu.repaint();
        }
View Full Code Here

        // Only support SimpleContextMenuItems for now!
        if (!(menuItem instanceof SimpleContextMenuItem)) {
            logger.warning("Menu item type not supported: " + menuItem);
            return;
        }
        SimpleContextMenuItem simpleItem = (SimpleContextMenuItem)menuItem;

        // Creates the context menu item, using the image as an icon if it
        // exists.
        String name = simpleItem.getLabel();
        Image image = simpleItem.getImage();
        boolean isEnabled = simpleItem.isEnabled();

        JMenuItem item = null;
        if (image == null) {
            item = new JMenuItem(name);
        }
View Full Code Here

            // Find the listener to dispatch the action to
            ContextMenuItem menuItem = menuItemMap.get(item);
            if (menuItem != null && menuItem instanceof SimpleContextMenuItem) {
                // Only deal with SimpleMenuItems for now
                SimpleContextMenuItem scmi = (SimpleContextMenuItem)menuItem;
                ContextMenuActionListener listener = scmi.getActionListener();
                if (listener != null) {
                    listener.actionPerformed(
                            new ContextMenuItemEvent(menuItem, popupCell));
                }
            }
View Full Code Here

    /**
     * {@inheritDoc}
     */
    public ContextMenuItem[] getContextMenuItems(ContextEvent event) {
        final SimpleContextMenuItem editItem = new SimpleContextMenuItem(
                BUNDLE.getString("Edit..."), new EditContextListener());

        // if there is security on this cell, do some calculation to
        // figure out if the user has access to this cell
        Cell cell = event.getPrimaryCell();
        final SecurityComponent sc = cell.getComponent(SecurityComponent.class);
        if (sc != null) {
            // see if the permissions are available immediately
            if (sc.hasPermissions()) {
                editItem.setEnabled(canMove(sc));
            } else {
                Thread t = new Thread(new Runnable() {
                    public void run() {
                        editItem.setLabel(BUNDLE.getString("Edit..."));
                        editItem.setEnabled(canMove(sc));
                        editItem.fireMenuItemRepaintListeners();
                    }
                }, "Security check wait thread");
                t.start();

                // wait for a bit to see if the listener comes back
                // quickly
                try {
                    t.join(250);
                } catch (InterruptedException ie) {
                }

                if (t.isAlive()) {
                    // the thread isn't done -- add in a wait message
                    editItem.setLabel(BUNDLE.getString("Edit_Checking"));
                    editItem.setEnabled(false);
                }
            }
        }

        // return the edit item
View Full Code Here

      
        // only add take control item if the control arb supports taking
        // control
        if (!(app.getControlArb() instanceof ControlArbNone)) {
       
            menuItems.add(new SimpleContextMenuItem(
                               BUNDLE.getString("Take_Control"),
                               new ContextMenuActionListener() {
                                   public void actionPerformed(ContextMenuItemEvent event) {
                                       app.getControlArb().takeControl();
                                   }
                               }));
        }

        if (app.isShownInHUD()) {
            menuItems.add(new SimpleContextMenuItem(
                               BUNDLE.getString("Remove_from_HUD"),
                               new ContextMenuActionListener() {
                                   public void actionPerformed(ContextMenuItemEvent event) {
                                       app.setShowInHUD(false);
                                   }
                               }));
        } else {
            menuItems.add(new SimpleContextMenuItem(
                               BUNDLE.getString("Show_in_HUD"),
                               new ContextMenuActionListener() {
                                   public void actionPerformed(ContextMenuItemEvent event) {
                                       app.setShowInHUD(true);
                                   }
View Full Code Here

    /**
     * @inheritDoc()
     */
    public ContextMenuItem[] getContextMenuItems(ContextEvent event) {
        final SimpleContextMenuItem deleteItem = new SimpleContextMenuItem(
                BUNDLE.getString("Delete"), null, new DeleteListener());

        final SimpleContextMenuItem duplicateItem = new SimpleContextMenuItem(
                BUNDLE.getString("Duplicate"), null, new DuplicateListener());

        // find the security component for both this cell and it's parent,
        // if any
        final Cell cell = event.getPrimaryCell();
        final SecurityComponent sc = cell.getComponent(SecurityComponent.class);
        final SecurityComponent psc;
        if (cell.getParent() != null) {
            psc = cell.getParent().getComponent(SecurityComponent.class);
        } else {
            psc = null;
        }

        // see if we can check security locally, or if we have to make a
        // remote request
        if ((sc == null || sc.hasPermissions()) &&
                (psc == null || psc.hasPermissions())) {
            duplicateItem.setEnabled(canDuplicate(psc));
            deleteItem.setEnabled(canDelete(sc, psc));
        } else {
            Thread t = new Thread(new Runnable() {

                public void run() {
                    duplicateItem.setEnabled(canDuplicate(psc));
                    duplicateItem.setLabel(BUNDLE.getString("Duplicate"));
                    duplicateItem.fireMenuItemRepaintListeners();
                    deleteItem.setEnabled(canDelete(sc, psc));
                    deleteItem.setLabel(BUNDLE.getString("Delete"));
                    deleteItem.fireMenuItemRepaintListeners();
                }
            }, "Cell palette security check");
            t.start();

            // wait for a little bit to see if the check comes back
            // quickly
            try {
                t.join(250);
            } catch (InterruptedException ie) {
            }

            if (!t.isAlive()) {
                duplicateItem.setEnabled(false);
                duplicateItem.setLabel(BUNDLE.getString("Duplicate_Checking"));
                deleteItem.setEnabled(false);
                deleteItem.setLabel(BUNDLE.getString("Delete_Checking"));
            }
        }

View Full Code Here

    private static class ConfigureContextMenuFactory
            implements ContextMenuFactorySPI
    {
        public ContextMenuItem[] getContextMenuItems(ContextEvent event) {
            return new ContextMenuItem[] {
                new SimpleContextMenuItem(bundle.getString("Configure..."),
                        new ContextMenuActionListener()
                {
                    public void actionPerformed(ContextMenuItemEvent event) {
                        AvatarConfigFrame f = new AvatarConfigFrame();
                        f.setVisible(true);
View Full Code Here

        }
    }

    private synchronized ContextMenuItem getToFrontMenuItem() {
        if (toFrontMenuItem == null) {
            toFrontMenuItem = new SimpleContextMenuItem(
                    BUNDLE.getString("To_Front"),
                    new ContextMenuActionListener() {

                        public void actionPerformed(
                                ContextMenuItemEvent event) {
View Full Code Here

        return toFrontMenuItem;
    }

    private synchronized ContextMenuItem getToBackMenuItem() {
        if (toBackMenuItem == null) {
            toBackMenuItem = new SimpleContextMenuItem(
                    BUNDLE.getString("To_Back"),
                    new ContextMenuActionListener() {

                        public void actionPerformed(
                                ContextMenuItemEvent event) {
View Full Code Here

TOP

Related Classes of org.jdesktop.wonderland.client.contextmenu.SimpleContextMenuItem

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.