// Enable the correct items and assign event handlers
        protected void SetupActionMenu(IMenuTreeNode node, BrowserTree tree, ActionMenuHelper partner)
        {
            // Set up the main action menu first
            // The main menu may not be used (embedded case)
            if (this != _actionMenuHelper && _actionMenuHelper != null)
            {
                _partner = _actionMenuHelper;
                _actionMenuHelper.SetupActionMenu(node, tree, this);
            }
            else
            {
                _partner = partner;
            }
            Disable();
            if (node.HasGetProp())
            {
                _menuItem[GETPROP].Enabled = true;
                SetHandler(GETPROP, new EventHandler(tree.TreeNodePopupClick));
            }
            if (node.HasSetProp())
            {
                _menuItem[SETPROP].Enabled = true;
                SetHandler(SETPROP, new EventHandler(tree.TreeNodePopupClickSet));
            }
            if (node.HasSetField())
            {
                _menuItem[SETFIELD].Enabled = true;
                SetHandler(SETFIELD, new EventHandler(tree.TreeNodePopupClickSet));
            }
            if (node.HasInvokeMeth())
            {
                _menuItem[INVOKEMETH].Enabled = true;
                SetHandler(INVOKEMETH, new EventHandler(tree.TreeNodePopupClick));
            }
            if (node.HasCreateObj())
            {
                _menuItem[CREATEOBJ].Enabled = true;
                SetHandler(CREATEOBJ, new EventHandler(tree.TreeNodePopupCreateObj));
            }
            if (node.HasCast())
            {
                _menuItem[CAST].Enabled = true;
                SetHandler(CAST, new EventHandler(tree.CastClick));
            }
            if (node.HasDesignSurface())
            {
                IDesignSurfaceNode dNode = (IDesignSurfaceNode)node;
                _menuItem[DESIGNSURFACE].Checked = dNode.OnDesignSurface;
                _menuItem[DESIGNSURFACE].Enabled = true;
                SetHandler(DESIGNSURFACE, new EventHandler(dNode.DesignSurfaceClick));
            }
            if (node.HasEventLogging())
            {
                IEventLoggingMenuNode dNode = (IEventLoggingMenuNode)node;
                _menuItem[EVENTLOGGING].Checked =
                    dNode.EventLogging;
                _menuItem[EVENTLOGGING].Enabled = true;
                SetHandler(EVENTLOGGING, new EventHandler(dNode.EventLoggingClick));
            }
            if (node.HasCut())
            {
                _menuItem[CUT].Enabled = true;
                SetHandler(CUT, new EventHandler(tree.TreeNodePopupCut));
            }
            if (node.HasCopy())
            {
                _menuItem[COPY].Enabled = true;
                SetHandler(COPY, new EventHandler(tree.TreeNodePopupCopy));
            }
            if (node.HasCopyText0())
            {
                _menuItem[COPY_TEXT].Enabled = true;
                SetHandler(COPY_TEXT, new EventHandler(tree.TreeNodePopupCopyText0));
            }
            if (node.HasCopyText1())
            {
                _menuItem[COPY_VALUE].Enabled = true;
                SetHandler(COPY_VALUE, new EventHandler(tree.TreeNodePopupCopyText1));
            }
            if (node.HasPaste())
            {
                _menuItem[PASTE].Enabled = true;
                SetHandler(PASTE, new EventHandler(tree.TreeNodePopupPaste));
            }
            if (node.HasDelete())
            {
                _menuItem[DELETE].Enabled = true;
                SetHandler(DELETE, new EventHandler(tree.TreeNodePopupDelete));
            }
            if (node.HasClose())
            {
                // Close deletes an item from the tree
                if (_closeMenuItem != null)
                {
                    _closeMenuItem.Enabled = true;
                }
                _menuItem[CLOSE].Enabled = true;
                SetHandler(CLOSE, new EventHandler(tree.TreeNodePopupDelete));
            }
            else
            {
                if (_closeMenuItem != null)
                {
                    _closeMenuItem.Enabled = false;
                }
            }

            /****
            *  if (node.HasRename())
            *  {
            *       _menuItem[RENAME].Enabled = true;
            *       SetHandler(RENAME,
            *                          new EventHandler(tree.TreeNodePopupRename));
            *  }
            ****/
            /*
             * if (node.HasConvert())
             * {
             *      _menuItem[CONVERT].Enabled = true;
             *      SetHandler(CONVERT,
             *                         new EventHandler(tree.ConvertClick));
             * }
             */
            if (node.HasRegister())
            {
                _menuItem[REGISTER].Enabled = true;
                SetHandler(REGISTER, new EventHandler(tree.RegisterClick));
            }
            if (node.HasUnregister())
            {
                _menuItem[UNREGISTER].Enabled = true;
                SetHandler(UNREGISTER, new EventHandler(tree.UnregisterClick));
            }
            if (node.HasRemoveFavorite())
            {
                _menuItem[REMOVEFAVORITE].Enabled = true;
                SetHandler(REMOVEFAVORITE, new EventHandler(tree.RemoveFavoriteClick));
            }
        }