예제 #1
0
 public void AddPath(string menuPath, string menuItemPath)
 {
     ActionMenuPath path = new ActionMenuPath (menuPath, menuItemPath);
     uninitialized_actions.Add (ui.GetAction (menuPath).Name, path);
     if (uninitialized_actions.Count == 1)
         ui.PreActivate += HandlePreActivate;
 }
예제 #2
0
        public void AddPath(string menuPath, string menuItemPath)
        {
            ActionMenuPath path = new ActionMenuPath(menuPath, menuItemPath);

            uninitialized_actions.Add(ui.GetAction(menuPath).Name, path);
            if (uninitialized_actions.Count == 1)
            {
                ui.PreActivate += HandlePreActivate;
            }
        }
예제 #3
0
        private void HandlePreActivate(object sender, PreActivateArgs args)
        {
            if (uninitialized_actions.ContainsKey(args.Action.Name))
            {
                ActionMenuPath path = uninitialized_actions[args.Action.Name];

                Widget item = (path.AfterMenuItem != null)
                    ? ui.GetWidget(String.Format("{0}/{1}", path.MenuPath, path.AfterMenuItem))
                    : null;

                InsertProxy(args.Action, ui.GetWidget(path.MenuPath), item);

                uninitialized_actions.Remove(args.Action.Name);
                if (uninitialized_actions.Count == 0)
                {
                    ui.PreActivate -= HandlePreActivate;
                }
            }
        }