Ejemplo n.º 1
0
        /// <summary>
        /// Method called when the window layout service's layouts changed event is triggered</summary>
        protected override void OnWindowLayoutServiceLayoutsChanged()
        {
            if (CommandService == null)
            {
                return;
            }

            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                var cmd = new WindowLayoutServiceCommand(layoutName);

                var shortcut = Input.Keys.None;
                {
                    // Restore the shortcut (if any)
                    IEnumerable <Input.Keys> keys;
                    if (m_dictCommandKeys.TryGetValue(layoutName, out keys))
                    {
                        shortcut = keys.First();
                    }
                }

                cmd.CommandInfo =
                    CommandService.RegisterCommand(
                        cmd,
                        StandardMenu.Window,
                        StandardCommandGroup.UILayout,
                        string.Format("{0}{1}{2}", MenuName, MenuSeparator, layoutName),
                        layoutName,
                        shortcut,
                        null,
                        CommandVisibility.Menu,
                        this);

                m_dictCommands[layoutName]    = cmd;
                m_dictCommandKeys[layoutName] = cmd.CommandInfo.Shortcuts;
            }

            // Clean up any lingering items
            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                if (!m_dictCommandKeys.ContainsKey(layoutName))
                {
                    m_dictCommandKeys.Remove(layoutName);
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Method called when the window layout service's layouts changed event is triggered</summary>
        protected override void OnWindowLayoutServiceLayoutsChanged()
        {
            if (CommandService == null)
            {
                return;
            }

            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                var cmd = new WindowLayoutServiceCommand(layoutName);

                Keys shortcut = Keys.None;
                {
                    // Restore the shortcut (if any)
                    IEnumerable <Keys> shortucts;
                    if (m_dictCommandKeys.TryGetValue(layoutName, out shortucts))
                    {
                        shortcut = shortucts.FirstOrDefault();
                    }
                }

                ICommandItem command = CommandService.RegisterCommand(
                    cmd,
                    StandardMenu.Window,
                    StandardCommandGroup.WindowLayoutItems,
                    MenuName + "/" + layoutName,
                    null,
                    shortcut, null,
                    CommandVisibility.Menu,
                    this).GetCommandItem();

                cmd.Command = command;
                m_dictCommands[layoutName]    = command;
                m_dictCommandKeys[layoutName] = command.Shortcuts;
            }

            // Clean up any lingering items
            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                if (!m_dictCommandKeys.ContainsKey(layoutName))
                {
                    m_dictCommandKeys.Remove(layoutName);
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Method called when the window layout service's layouts changed event is triggered</summary>
        protected override void OnWindowLayoutServiceLayoutsChanged()
        {
            if (CommandService == null)
                return;

            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                var cmd = new WindowLayoutServiceCommand(layoutName);

                Keys shortcut = Keys.None;
                {
                    // Restore the shortcut (if any)
                    IEnumerable<Keys> shortucts;
                    if (m_dictCommandKeys.TryGetValue(layoutName, out shortucts))
                        shortcut = shortucts.FirstOrDefault();
                }

                ICommandItem command = CommandService.RegisterCommand(
                        cmd,
                        StandardMenu.Window,
                        StandardCommandGroup.WindowLayoutItems,
                        MenuName + "/" + layoutName,
                        null,
                        shortcut, null,
                        CommandVisibility.Menu,
                        this).GetCommandItem();

                cmd.Command = command;
                m_dictCommands[layoutName] = command;
                m_dictCommandKeys[layoutName] = command.Shortcuts;
            }

            // Clean up any lingering items
            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                if (!m_dictCommandKeys.ContainsKey(layoutName))
                    m_dictCommandKeys.Remove(layoutName);
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Method called when the window layout service's layouts changed event is fired</summary>
        protected override void OnWindowLayoutServiceLayoutsChanged()
        {
            if (CommandService == null)
                return;

            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                var cmd = new WindowLayoutServiceCommand(layoutName);

                var shortcut = Input.Keys.None;
                {
                    // Restore the shortcut (if any)
                    IEnumerable<Input.Keys> keys;
                    if (m_dictCommandKeys.TryGetValue(layoutName, out keys))
                        shortcut = keys.First();
                }

                cmd.CommandInfo =
                    CommandService.RegisterCommand(
                        cmd,
                        StandardMenu.Window,
                        StandardCommandGroup.UILayout,
                        string.Format("{0}{1}{2}", MenuName, MenuSeparator, layoutName),
                        layoutName,
                        shortcut,
                        null,
                        CommandVisibility.Menu,
                        this);

                m_dictCommands[layoutName] = cmd;
                m_dictCommandKeys[layoutName] = cmd.CommandInfo.Shortcuts;
            }

            // Clean up any lingering items
            foreach (var layoutName in WindowLayoutService.Layouts)
            {
                if (!m_dictCommandKeys.ContainsKey(layoutName))
                    m_dictCommandKeys.Remove(layoutName);
            }
        }