public void Add (RadioActionEntry[] entries, int value, ChangedHandler changed) { RadioAction[] group = null; RadioAction[] actions = new RadioAction[entries.Length]; for (int i = 0; i < entries.Length; i++) { actions[i] = new RadioAction (entries[i].name, entries[i].label, entries[i].tooltip, entries[i].stock_id, entries[i].value); actions[i].Group = group; group = actions[i].Group; actions[i].Active = value == entries[i].value; if (entries[i].accelerator == null) Add (actions[i]); else Add (actions[i], entries[i].accelerator); } // Add the ChangedHandler when we're done adding all the actions. // Otherwise, setting the Active property will trigger a premature event. if (changed != null) actions[0].Changed += changed; }
void AddActions () { ActionEntry[] actions = new ActionEntry[] { new ActionEntry ("FileMenu", null, "_File", null, null, null), new ActionEntry ("PreferencesMenu", null, "_Preferences", null, null, null), new ActionEntry ("ColorMenu", null, "_Color", null, null, null), new ActionEntry ("ShapeMenu", null, "_Shape", null, null, null), new ActionEntry ("HelpMenu", null, "_Help", null, null, null), new ActionEntry ("New", Stock.New, "_New", "<control>N", "Create a new file", new EventHandler (ActionActivated)), new ActionEntry ("Open", Stock.Open, "_Open", "<control>O", "Open a file", new EventHandler (ActionActivated)), new ActionEntry ("Save", Stock.Save, "_Save", "<control>S", "Save current file", new EventHandler (ActionActivated)), new ActionEntry ("SaveAs", Stock.SaveAs, "Save _As", null, "Save to a file", new EventHandler (ActionActivated)), new ActionEntry ("Quit", Stock.Quit, "_Quit", "<control>Q", "Quit", new EventHandler (ActionActivated)), new ActionEntry ("About", null, "_About", "<control>A", "About", new EventHandler (ActionActivated)), new ActionEntry ("Logo", "demo-gtk-logo", null, null, "Gtk#", new EventHandler (ActionActivated)) }; ToggleActionEntry[] toggleActions = new ToggleActionEntry[] { new ToggleActionEntry ("Bold", Stock.Bold, "_Bold", "<control>B", "Bold", new EventHandler (ActionActivated), true) }; RadioActionEntry[] colorActions = new RadioActionEntry[] { new RadioActionEntry ("Red", null, "_Red", "<control>R", "Blood", (int)Color.Red), new RadioActionEntry ("Green", null, "_Green", "<control>G", "Grass", (int)Color.Green), new RadioActionEntry ("Blue", null, "_Blue", "<control>B", "Sky", (int)Color.Blue) }; RadioActionEntry[] shapeActions = new RadioActionEntry[] { new RadioActionEntry ("Square", null, "_Square", "<control>S", "Square", (int)Shape.Square), new RadioActionEntry ("Rectangle", null, "_Rectangle", "<control>R", "Rectangle", (int)Shape.Rectangle), new RadioActionEntry ("Oval", null, "_Oval", "<control>O", "Egg", (int)Shape.Oval) }; ActionGroup group = new ActionGroup ("AppWindowActions"); group.Add (actions); group.Add (toggleActions); group.Add (colorActions, (int)Color.Red, new ChangedHandler (RadioActionActivated)); group.Add (shapeActions, (int)Shape.Square, new ChangedHandler (RadioActionActivated)); UIManager uim = new UIManager (); uim.InsertActionGroup (group, 0); uim.AddWidget += new AddWidgetHandler (AddWidget); uim.AddUiFromString (uiInfo); AddAccelGroup (uim.AccelGroup); }
public void SocetServerMenu() { ui.InsertActionGroup(dynGroupSocket, 0); mergeIdSocket = ui.NewMergeId(); string nameStopC = "StopConsole"; string labelStopC = String.Format("Stop Remote Console"); Gtk.Action actionStopC = new Gtk.Action(nameStopC, labelStopC); actionStopC.Activated += delegate(object sender, EventArgs e) { MainClass.MainWindow.StopSocetServer(); }; dynGroupSocket.Add(actionStopC); ui.AddUi(mergeIdSocket, "/menubar/ToolsAction/remoteconsole", nameStopC, nameStopC, UIManagerItemType.Menuitem, false); string nameStartC = "StartConsole"; string labelStartC = String.Format("Start Remote Console"); Gtk.Action actionStartC = new Gtk.Action(nameStartC, labelStartC ); actionStartC.Activated += delegate(object sender, EventArgs e) { MainClass.MainWindow.StartSocetServer(MainClass.Settings.RemoteIpAdress); }; dynGroupSocket.Add(actionStartC); ui.AddUi(mergeIdSocket, "/menubar/ToolsAction/remoteconsole", nameStartC, nameStartC, UIManagerItemType.Menuitem, false); /*string nameRestarC = "RestartConsole"; string labelRestartC = String.Format("Restart Remote Console"); Gtk.Action actionRestartC = new Gtk.Action(nameRestarC, labelRestartC); actionRestartC.Activated += delegate(object sender, EventArgs e) { MainClass.MainWindow.StopSocetServer(); MainClass.MainWindow.StartSocetServer(MainClass.Settings.RemoteIpAdress); }; dynGroupSocket.Add(actionRestartC); ui.AddUi(mergeIdSocket, "/menubar/ToolsAction/remoteconsole", nameRestarC, nameRestarC, UIManagerItemType.Menuitem, false); */ ui.AddUi(mergeIdSocket, "/menubar/ToolsAction/remoteconsole", null, null, UIManagerItemType.Separator, false); List<string> listIp = Moscrif.IDE.Tool.Network.GetIpAdress(); int i=0; int indxIP = 0; List<RadioActionEntry> listIP = new List<RadioActionEntry>(); foreach (string ip in listIp){ string name = "ipAdress" + ip; string label = String.Format("{0}", ip); RadioActionEntry rae = new RadioActionEntry(name,null,label,null,null,i); listIP.Add(rae); ui.AddUi(mergeIdSocket, "/menubar/ToolsAction/remoteconsole", name, name, UIManagerItemType.Menuitem, false); if(MainClass.Settings.RemoteIpAdress == ip){ indxIP =i; } i++; } RadioActionEntry[] ipEntries =listIP.ToArray(); dynGroupSocket.Add(ipEntries,indxIP, new ChangedHandler (RadioActionActivated)); MainClass.Settings.RemoteIpAdress = listIP[indxIP].label; }
public DemoUIManager () : base ("UI Manager") { ActionEntry[] entries = new ActionEntry[] { new ActionEntry ("FileMenu", null, "_File", null, null, null), new ActionEntry ("PreferencesMenu", null, "_Preferences", null, null, null), new ActionEntry ("ColorMenu", null, "_Color", null, null, null), new ActionEntry ("ShapeMenu", null, "_Shape", null, null, null), new ActionEntry ("HelpMenu", null, "_Help", null, null, null), new ActionEntry ("New", Stock.New, "_New", "<control>N", "Create a new file", new EventHandler (ActionActivated)), new ActionEntry ("Open", Stock.Open, "_Open", "<control>O", "Open a file", new EventHandler (ActionActivated)), new ActionEntry ("Save", Stock.Save, "_Save", "<control>S", "Save current file", new EventHandler (ActionActivated)), new ActionEntry ("SaveAs", Stock.SaveAs, "Save _As", null, "Save to a file", new EventHandler (ActionActivated)), new ActionEntry ("Quit", Stock.Quit, "_Quit", "<control>Q", "Quit", new EventHandler (ActionActivated)), new ActionEntry ("About", null, "_About", "<control>A", "About", new EventHandler (ActionActivated)), new ActionEntry ("Logo", "demo-gtk-logo", null, null, "Gtk#", new EventHandler (ActionActivated)) }; ToggleActionEntry[] toggleEntries = new ToggleActionEntry[] { new ToggleActionEntry ("Bold", Stock.Bold, "_Bold", "<control>B", "Bold", new EventHandler (ActionActivated), true) }; RadioActionEntry[] colorEntries = new RadioActionEntry[] { new RadioActionEntry ("Red", null, "_Red", "<control>R", "Blood", (int)Color.Red), new RadioActionEntry ("Green", null, "_Green", "<control>G", "Grass", (int)Color.Green), new RadioActionEntry ("Blue", null, "_Blue", "<control>B", "Sky", (int)Color.Blue) }; RadioActionEntry[] shapeEntries = new RadioActionEntry[] { new RadioActionEntry ("Square", null, "_Square", "<control>S", "Square", (int)Shape.Square), new RadioActionEntry ("Rectangle", null, "_Rectangle", "<control>R", "Rectangle", (int)Shape.Rectangle), new RadioActionEntry ("Oval", null, "_Oval", "<control>O", "Egg", (int)Shape.Oval) }; ActionGroup actions = new ActionGroup ("group"); actions.Add (entries); actions.Add (toggleEntries); actions.Add (colorEntries, (int)Color.Red, new ChangedHandler (RadioActionActivated)); actions.Add (shapeEntries, (int)Shape.Oval, new ChangedHandler (RadioActionActivated)); UIManager uim = new UIManager (); uim.InsertActionGroup (actions, 0); AddAccelGroup (uim.AccelGroup); uim.AddUiFromString (uiInfo); VBox box1 = new VBox (false, 0); Add (box1); box1.PackStart (uim.GetWidget ("/MenuBar"), false, false, 0); Label label = new Label ("Type\n<alt>\nto start"); label.SetSizeRequest (200, 200); label.SetAlignment (0.5f, 0.5f); box1.PackStart (label, true, true, 0); HSeparator separator = new HSeparator (); box1.PackStart (separator, false, true, 0); VBox box2 = new VBox (false, 10); box2.BorderWidth = 10; box1.PackStart (box2, false, true, 0); Button button = new Button ("close"); button.Clicked += new EventHandler (CloseClicked); box2.PackStart (button, true, true, 0); button.CanDefault = true; button.GrabDefault (); ShowAll (); }