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; }
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; } }
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; } } }