void TreeviewGenerateActionsSelectionChanged(object sender, EventArgs e) { treeviewSelection.Model = null; foreach (TreeViewColumn column in treeviewSelection.Columns) { treeviewSelection.RemoveColumn(column); } TreeIter iter; if (treeviewGenerateActions.Selection.GetSelected(out iter)) { ICodeGenerator codeGenerator = (ICodeGenerator)generateActionsStore.GetValue(iter, 2); labelDescription.Text = codeGenerator.GenerateDescription; curInitializeObject = codeGenerator.InitalizeSelection(options, treeviewSelection); } else { labelDescription.Text = ""; curInitializeObject = null; } }
GenerateCodeWindow(CodeGenerationOptions options, MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext) : base(Gtk.WindowType.Toplevel) { this.options = options; this.Build(); scrolledwindow1.Child = treeviewGenerateActions; scrolledwindow1.ShowAll(); scrolledwindow2.Child = treeviewSelection; scrolledwindow2.ShowAll(); treeviewGenerateActions.Cancel += delegate { Destroy(); }; treeviewGenerateActions.Submit += delegate { treeviewSelection.GrabFocus(); }; treeviewSelection.Cancel += delegate { treeviewGenerateActions.GrabFocus(); }; treeviewSelection.Submit += delegate { if (curInitializeObject != null) { curInitializeObject.GenerateCode(); curInitializeObject = null; } Destroy(); }; WindowTransparencyDecorator.Attach(this); treeviewSelection.HeadersVisible = false; treeviewGenerateActions.HeadersVisible = false; treeviewGenerateActions.Model = generateActionsStore; TreeViewColumn column = new TreeViewColumn(); var pixbufRenderer = new CellRendererImage(); column.PackStart(pixbufRenderer, false); column.AddAttribute(pixbufRenderer, "image", 0); CellRendererText textRenderer = new CellRendererText(); column.PackStart(textRenderer, true); column.AddAttribute(textRenderer, "text", 1); column.Expand = true; treeviewGenerateActions.AppendColumn(column); treeviewGenerateActions.Selection.Changed += TreeviewGenerateActionsSelectionChanged; this.Remove(this.vbox1); BorderBox messageArea = new BorderBox(); messageArea.Add(vbox1); this.Add(messageArea); this.ShowAll(); int x = completionContext.TriggerXCoord; int y = completionContext.TriggerYCoord; int w, h; GetSize(out w, out h); int myMonitor = Screen.GetMonitorAtPoint(x, y); Gdk.Rectangle geometry = DesktopService.GetUsableMonitorGeometry(Screen, myMonitor); if (x + w > geometry.Right) { x = geometry.Right - w; } if (y + h > geometry.Bottom) { y = y - completionContext.TriggerTextHeight - h; } Move(x, y); }
GenerateCodeWindow (CodeGenerationOptions options, MonoDevelop.Ide.CodeCompletion.CodeCompletionContext completionContext) : base(Gtk.WindowType.Toplevel) { this.options = options; this.Build (); scrolledwindow1.Child = treeviewGenerateActions; scrolledwindow1.ShowAll (); scrolledwindow2.Child = treeviewSelection; scrolledwindow2.ShowAll (); treeviewGenerateActions.Cancel += delegate { Destroy (); }; treeviewGenerateActions.Submit += delegate { treeviewSelection.GrabFocus (); }; treeviewSelection.Cancel += delegate { treeviewGenerateActions.GrabFocus (); }; treeviewSelection.Submit += delegate { if (curInitializeObject != null) { curInitializeObject.GenerateCode (); curInitializeObject = null; } Destroy (); }; WindowTransparencyDecorator.Attach (this); treeviewSelection.HeadersVisible = false; treeviewGenerateActions.HeadersVisible = false; treeviewGenerateActions.Model = generateActionsStore; TreeViewColumn column = new TreeViewColumn (); var pixbufRenderer = new CellRendererImage (); column.PackStart (pixbufRenderer, false); column.AddAttribute (pixbufRenderer, "image", 0); CellRendererText textRenderer = new CellRendererText (); column.PackStart (textRenderer, true); column.AddAttribute (textRenderer, "text", 1); column.Expand = true; treeviewGenerateActions.AppendColumn (column); treeviewGenerateActions.Selection.Changed += TreeviewGenerateActionsSelectionChanged; this.Remove (this.vbox1); BorderBox messageArea = new BorderBox (); messageArea.Add (vbox1); this.Add (messageArea); this.ShowAll (); int x = completionContext.TriggerXCoord; int y = completionContext.TriggerYCoord; int w, h; GetSize (out w, out h); int myMonitor = Screen.GetMonitorAtPoint (x, y); Gdk.Rectangle geometry = DesktopService.GetUsableMonitorGeometry (Screen, myMonitor); if (x + w > geometry.Right) x = geometry.Right - w; if (y + h > geometry.Bottom) y = y - completionContext.TriggerTextHeight - h; Move (x, y); }
void TreeviewGenerateActionsSelectionChanged (object sender, EventArgs e) { treeviewSelection.Model = null; foreach (TreeViewColumn column in treeviewSelection.Columns) { treeviewSelection.RemoveColumn (column); } TreeIter iter; if (treeviewGenerateActions.Selection.GetSelected (out iter)) { ICodeGenerator codeGenerator = (ICodeGenerator)generateActionsStore.GetValue (iter, 2); labelDescription.Text = codeGenerator.GenerateDescription; curInitializeObject = codeGenerator.InitalizeSelection (options, treeviewSelection); } else { labelDescription.Text = ""; curInitializeObject = null; } }