Esempio n. 1
0
        private static QMenu GetMenuItems(DynamicGroupAction group)
        {
            m_Log.Debug("Getting menu items for " + group.Text + ".");
            QMenu ctx = new QMenu(group.GetType().FullName);

            LinuxNativePool.Instance.Retain(ctx);
            foreach (Moai.Platform.Menus.Action a in group.Actions)
            {
                if (a is DynamicGroupAction)
                {
                    m_Log.Debug("Recursive menu add for " + a.GetType().FullName + ".");
                    ctx.AddMenu(ActionWrapper.GetMenuItems(a as DynamicGroupAction));
                }
                else if (a is SeperatorAction)
                {
                    ctx.AddSeparator();
                }
                else
                {
                    m_Log.Debug("Normal menu add for " + a.GetType().FullName + ".");
                    ctx.AddAction(ActionWrapper.WrapAction(a));
                }
            }
            ctx.Title = group.Text;
            return(ctx);
        }
Esempio n. 2
0
        internal static QMenuBar GetMainMenu(DynamicGroupAction group)
        {
            m_Log.Debug("Getting main menu for " + group.Text + ".");
            QMenuBar ms = new QMenuBar();

            LinuxNativePool.Instance.Retain(ms);
            foreach (Moai.Platform.Menus.Action a in group.Actions)
            {
                if (a is DynamicGroupAction)
                {
                    m_Log.Debug("Recursive menu add for " + a.GetType().FullName + ".");
                    ms.AddMenu(ActionWrapper.GetMenuItems(a as DynamicGroupAction));
                }
                else if (a is SeperatorAction)
                {
                    ms.AddSeparator();
                }
                else
                {
                    m_Log.Debug("Normal menu add for " + a.GetType().FullName + ".");
                    ms.AddAction(ActionWrapper.WrapAction(a));
                }
            }
            return(ms);
        }
Esempio n. 3
0
        public static QMenu GetContextMenu(Moai.Platform.Menus.Action[] actions)
        {
            m_Log.Debug("Getting context menu.");
            QMenu ctx = new QMenu();

            LinuxNativePool.Instance.Retain(ctx);
            foreach (Moai.Platform.Menus.Action a in actions)
            {
                if (a is DynamicGroupAction)
                {
                    ctx.AddMenu(ActionWrapper.GetMenuItems(a as DynamicGroupAction));
                }
                else if (a is SeperatorAction)
                {
                    ctx.AddSeparator();
                }
                else
                {
                    ctx.AddAction(ActionWrapper.WrapAction(a));
                }
            }
            return(ctx);
        }