Ejemplo n.º 1
0
        private CommandGroup CreateCommandGroup(int groupId, string title, string toolTip,
                                                Enum[] cmds, bool isContextMenu, swSelectType_e contextMenuSelectType)
        {
            int cmdGroupErr = 0;

            bool ignorePrevious = false;

            object registryIDs;

            bool getDataResult = m_CmdMgr.GetGroupDataFromRegistry(groupId, out registryIDs);

            var knownIDs = new int[cmds.Length];

            for (int i = 0; i < cmds.Length; i++)
            {
                knownIDs[i] = (int)cmds.GetValue(i);
            }

            if (getDataResult)
            {
                ignorePrevious = !CompareIDs(registryIDs as int[], knownIDs);
            }

            CommandGroup cmdGroup;

            if (isContextMenu)
            {
                cmdGroup            = m_CmdMgr.AddContextMenu(groupId, title);
                cmdGroup.SelectType = (int)contextMenuSelectType;
            }
            else
            {
                cmdGroup = m_CmdMgr.CreateCommandGroup2(groupId, title, toolTip,
                                                        toolTip, -1, ignorePrevious, ref cmdGroupErr);
            }

            return(cmdGroup);
        }