public override GH_ObjectResponse RespondToMouseDoubleClick(GH_Canvas sender, GH_CanvasMouseEvent e) { RectangleF rec = GrabBound; if (rec.Contains(e.CanvasLocation)) { Grasshopper.Kernel.Special.GH_NumberSlider hiddenSlider = new Grasshopper.Kernel.Special.GH_NumberSlider(); hiddenSlider.Slider.Maximum = (decimal)MaxValue; hiddenSlider.Slider.Minimum = (decimal)MinValue; hiddenSlider.Slider.DecimalPlaces = noDigits; hiddenSlider.Slider.Type = noDigits == 0 ? Grasshopper.GUI.Base.GH_SliderAccuracy.Integer : Grasshopper.GUI.Base.GH_SliderAccuracy.Float; hiddenSlider.Name = Owner.Name + " Slider"; hiddenSlider.Slider.Value = (decimal)CurrentValue; Grasshopper.GUI.GH_NumberSliderPopup gH_MenuSliderForm = new Grasshopper.GUI.GH_NumberSliderPopup(); GH_WindowsFormUtil.CenterFormOnCursor(gH_MenuSliderForm, true); gH_MenuSliderForm.Setup(hiddenSlider); //hiddenSlider.PopupEditor(); var res = gH_MenuSliderForm.ShowDialog(); if (res == DialogResult.OK) { first = true; MaxValue = (double)hiddenSlider.Slider.Maximum; MinValue = (double)hiddenSlider.Slider.Minimum; CurrentValue = (double)hiddenSlider.Slider.Value; noDigits = hiddenSlider.Slider.Type == Grasshopper.GUI.Base.GH_SliderAccuracy.Integer ? 0 : hiddenSlider.Slider.DecimalPlaces; ChangeMaxMin(MaxValue, MinValue); Owner.OnDisplayExpired(false); Owner.ExpireSolution(true); return(GH_ObjectResponse.Handled); } } return(GH_ObjectResponse.Ignore); }
// Display Form: Displays the NSGA-II Editor Form public void DisplayEditor() { if (editor == null || editor.IsDisposed) { editor = new NSGAII_Editor(this); } GH_WindowsFormUtil.CenterFormOnCursor(editor, true); editor.Show(); }
void OpenForm(object sender, EventArgs e) { if (form.Visible) { form.Hide(); } else { form.Show(Instances.DocumentEditor); GH_WindowsFormUtil.CenterFormOnCursor(form, true); } }
public void ShowOptimizationWindow() { var owner = Grasshopper.Instances.DocumentEditor; if (_optimizationWindow == null || _optimizationWindow.IsDisposed) { _optimizationWindow = new BackgroundForm(this) { StartPosition = FormStartPosition.Manual }; GH_WindowsFormUtil.CenterFormOnWindow(_optimizationWindow, owner, true); owner.FormShepard.RegisterForm(_optimizationWindow); } _optimizationWindow.Show(owner); }
private void Canvas_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Oemtilde) { GH_Canvas gH_Canvas = Instances.ActiveCanvas; ImportPackageForm importPackageForm = new ImportPackageForm(); GH_WindowsFormUtil.CenterFormOnCursor(importPackageForm, limitToScreen: true); Form form = gH_Canvas.FindForm(); if (form != null && form is GH_DocumentEditor) { ((GH_DocumentEditor)form).FormShepard.RegisterForm(importPackageForm); } importPackageForm.Show(Instances.ActiveCanvas.FindForm()); } }
public void DisplayForm() { var owner = Grasshopper.Instances.DocumentEditor; if (window == null || window.IsDisposed) { if (!HasBeenLinked) { window = new TrainerWindow(); } else { window = new TrainerWindow(this);// (this) { StartPosition = FormStartPosition.Manual }; } GH_WindowsFormUtil.CenterFormOnWindow(window, owner, true); owner.FormShepard.RegisterForm(window); } window.Show(owner); AddRuntimeMessage(GH_RuntimeMessageLevel.Remark, "Window opened"); }
public override GH_ObjectResponse RespondToMouseDoubleClick(GH_Canvas sender, GH_CanvasMouseEvent e) { if (base.Owner.Graph == null) { return((GH_ObjectResponse)3); } GH_GraphEditor val = new GH_GraphEditor(); val.SetGraph(base.Owner.Container); GH_WindowsFormUtil.CenterFormOnCursor((Form)(object)val, true); DialogResult dialogResult = val.ShowDialog(Instances.DocumentEditor); if (dialogResult == DialogResult.OK) { val.Graph.LockGrips = base.Owner.Container.LockGrips; base.Owner.Container = val.Graph; } ((Component)(object)val).Dispose(); return((GH_ObjectResponse)3); }
public void ShowOptimizationWindow() { if (SolverList.PresetNames.Count == 0) { MessageBox.Show("No solvers found!", "FrOG Error"); return; } var owner = Grasshopper.Instances.DocumentEditor; if (OptimizationWindow == null || OptimizationWindow.IsDisposed) { OptimizationWindow = new OptimizationWindow(this) { StartPosition = FormStartPosition.Manual }; GH_WindowsFormUtil.CenterFormOnWindow(OptimizationWindow, owner, true); owner.FormShepard.RegisterForm(OptimizationWindow); } OptimizationWindow.Show(owner); }
void Menu_DeleteElements(object sender, EventArgs args) { var doc = Revit.ActiveUIDocument?.Document; var elementIds = ToElementIds(VolatileData). Where(x => x.Document.Equals(doc)). Select(x => x.Id); if (elementIds.Any()) { using (new External.EditScope()) { using ( var taskDialog = new TaskDialog(MethodBase.GetCurrentMethod().DeclaringType.FullName) { MainIcon = External.UI.TaskDialogIcons.IconWarning, TitleAutoPrefix = false, Title = "Delete Elements", MainInstruction = "Are you sure you want to delete those elements?", CommonButtons = TaskDialogCommonButtons.Yes | TaskDialogCommonButtons.No, DefaultButton = TaskDialogResult.Yes, AllowCancellation = true, #if REVIT_2020 EnableMarqueeProgressBar = true #endif } ) { taskDialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink1, "Show elements"); taskDialog.AddCommandLink(TaskDialogCommandLinkId.CommandLink2, "Manage element collection"); var result = TaskDialogResult.None; bool highlight = false; do { var elements = elementIds.ToArray(); taskDialog.ExpandedContent = $"{elements.Length} elements and its depending elements will be deleted."; if (highlight) { Revit.ActiveUIDocument?.Selection.SetElementIds(elements); } switch (result = taskDialog.Show()) { case TaskDialogResult.CommandLink1: Revit.ActiveUIDocument?.ShowElements(elements); highlight = true; break; case TaskDialogResult.CommandLink2: using (var dataManager = new GH_PersistentDataEditor()) { var elementCollection = new GH_Structure <IGH_Goo>(); elementCollection.AppendRange(elementIds.Select(x => Types.Element.FromElementId(doc, x))); dataManager.SetData(elementCollection, new Types.Element()); GH_WindowsFormUtil.CenterFormOnCursor(dataManager, true); if (dataManager.ShowDialog(Revit.MainWindowHandle) == System.Windows.Forms.DialogResult.OK) { elementIds = dataManager.GetData <IGH_Goo>().AllData(true).OfType <Types.Element>().Select(x => x.Value); } } break; case TaskDialogResult.Yes: try { using (var transaction = new DB.Transaction(doc, "Delete elements")) { transaction.Start(); doc.Delete(elements); transaction.Commit(); } ClearData(); ExpireDownStreamObjects(); OnPingDocument().NewSolution(false); } catch (Autodesk.Revit.Exceptions.ArgumentException) { TaskDialog.Show("Delete elements", $"One or more of the {TypeName} cannot be deleted."); } break; } }while (result == TaskDialogResult.CommandLink1 || result == TaskDialogResult.CommandLink2); } } } }
private void SelectFontHandler(object sender, EventArgs e) { var form = GH_FontPicker.CreateFontPickerWindow(Settings.Font); form.CreateControl(); var picker = form.Controls.OfType <GH_FontPicker>().FirstOrDefault(); if (picker == null) { return; } var panel = form.Controls.OfType <Panel>().FirstOrDefault(); if (panel == null) { return; } var pickerType = typeof(GH_FontPicker); var sizeScroller = pickerType.GetField("_SizeScroller", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(picker) as GH_DigitScroller; var boldChecker = pickerType.GetField("_BoldCheck", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(picker) as CheckBox; var italicChecker = pickerType.GetField("_ItalicCheck", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(picker) as CheckBox; var fontScroller = pickerType.GetField("_FontList", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(picker) as GH_FontList; sizeScroller.ValueChanged += PreviewFontChangedHandler; boldChecker.CheckedChanged += PreviewFontChangedHandler; italicChecker.CheckedChanged += PreviewFontChangedHandler; fontScroller.MouseClick += PreviewFontChangedHandler; var defaultButton = new Button() { Text = "Default", Width = Grasshopper.Global_Proc.UiAdjust(80), Dock = DockStyle.Right, DialogResult = DialogResult.Yes }; defaultButton.Click += DefaultFontHandler; panel.Controls.Add(defaultButton); var editor = Grasshopper.Instances.DocumentEditor; GH_WindowsFormUtil.CenterFormOnWindow(form, editor, true); var result = form.ShowDialog(editor); if (result == DialogResult.OK) { var font = form.Tag as Font; if (font != null) { Settings.ResetFonts(); Settings.Font = font; } } else if (result == DialogResult.Yes) { Settings.ResetFonts(); Settings.Font = GH_FontServer.StandardItalic; } Grasshopper.Instances.ActiveCanvas?.Refresh(); sizeScroller.ValueChanged -= PreviewFontChangedHandler; boldChecker.CheckedChanged -= PreviewFontChangedHandler; italicChecker.CheckedChanged -= PreviewFontChangedHandler; fontScroller.MouseClick -= PreviewFontChangedHandler; defaultButton.Click -= DefaultFontHandler; void PreviewFontChangedHandler(object s, EventArgs args) { var font = picker.SelectedFont; if (font != null) { var currentFont = Settings.Font; Settings.Font = font; Grasshopper.Instances.ActiveCanvas?.Refresh(); Settings.Font = currentFont; } } void DefaultFontHandler(object s, EventArgs args) { } }