Esempio n. 1
0
        /// <summary>
        /// Wraps the specified action by assigning it's handlers and returning
        /// the menu item related to it.
        /// </summary>
        /// <param name="action">The action to wrap.</param>
        /// <returns>The menu item for the action.</returns>
        private static T WrapAction <T>(Moai.Platform.Menus.Action action) where T : ToolStripItem, new()
        {
            T mi = new T();

            if (action == null)
            {
                mi.Text    = "ERROR! UNKNOWN ACTION";
                mi.Enabled = false;
                return(mi);
            }
            action.SyncDataChanged += (sender, e) =>
            {
                ActionWrapper.ActionSyncDataChanged(action.GetSyncData() as Moai.Platform.Menus.Action.ActionSyncData, mi);
            };
            action.OnInitialize();
            ActionWrapper.ActionSyncDataChanged(action.GetSyncData() as Moai.Platform.Menus.Action.ActionSyncData, mi);
            mi.Click += new EventHandler((sender, e) => { action.OnActivate(); });
            return(mi);
        }
Esempio n. 2
0
        internal static MenuStrip GetMainMenu(DynamicGroupAction group)
        {
            MenuStrip ms = new MenuStrip();

            foreach (Moai.Platform.Menus.Action a in group.Actions)
            {
                if (a is DynamicGroupAction)
                {
                    ms.Items.Add(ActionWrapper.GetMenuItems(a as DynamicGroupAction));
                }
                else if (a is SeperatorAction)
                {
                    ms.Items.Add("-");
                }
                else
                {
                    ms.Items.Add(ActionWrapper.WrapAction <ToolStripMenuItem>(a));
                }
            }
            return(ms);
        }
Esempio n. 3
0
        public static ContextMenuStrip GetContextMenu(Moai.Platform.Menus.Action[] actions)
        {
            ContextMenuStrip ctx = new ContextMenuStrip();

            foreach (Moai.Platform.Menus.Action a in actions)
            {
                if (a is DynamicGroupAction)
                {
                    ctx.Items.Add(ActionWrapper.GetMenuItems(a as DynamicGroupAction));
                }
                else if (a is SeperatorAction)
                {
                    ctx.Items.Add("-");
                }
                else
                {
                    ctx.Items.Add(ActionWrapper.WrapAction <ToolStripMenuItem>(a));
                }
            }
            return(ctx);
        }
Esempio n. 4
0
        internal static ToolStrip GetToolBar(DynamicGroupAction group)
        {
            ToolStrip ts = new ToolStrip();

            foreach (Moai.Platform.Menus.Action a in group.Actions)
            {
                if (a is DynamicGroupAction)
                {
                    ts.Items.Add(ActionWrapper.GetToolItems(a as DynamicGroupAction));
                }
                else if (a is SeperatorAction)
                {
                    ts.Items.Add("-");
                }
                else
                {
                    ts.Items.Add(ActionWrapper.WrapAction <ToolStripButton>(a));
                }
            }
            return(ts);
        }
Esempio n. 5
0
        private static ToolStripDropDownButton GetToolItems(DynamicGroupAction group)
        {
            ToolStripDropDownButton mi = ActionWrapper.WrapAction <ToolStripDropDownButton>(group);

            mi.DropDown.Items.Clear();
            foreach (Moai.Platform.Menus.Action a in group.Actions)
            {
                if (a is DynamicGroupAction)
                {
                    mi.DropDown.Items.Add(ActionWrapper.GetMenuItems(a as DynamicGroupAction));
                }
                else if (a is SeperatorAction)
                {
                    mi.DropDown.Items.Add("-");
                }
                else
                {
                    mi.DropDown.Items.Add(ActionWrapper.WrapAction <ToolStripMenuItem>(a));
                }
            }
            return(mi);
        }