From 38548f13f3f87157be1067e12bb3e0ec3e37006b Mon Sep 17 00:00:00 2001 From: kike-garbo Date: Mon, 31 Jul 2023 16:20:43 +0200 Subject: [PATCH 1/2] 'Allows Parameters' should no be Primary. The component should show Annotation categories by default. --- .../Components/ObjectStyles/CategoryIdentity.cs | 8 ++++---- .../Components/ObjectStyles/QueryCategories.cs | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/RhinoInside.Revit.GH/Components/ObjectStyles/CategoryIdentity.cs b/src/RhinoInside.Revit.GH/Components/ObjectStyles/CategoryIdentity.cs index 8f64abce9..31725da38 100644 --- a/src/RhinoInside.Revit.GH/Components/ObjectStyles/CategoryIdentity.cs +++ b/src/RhinoInside.Revit.GH/Components/ObjectStyles/CategoryIdentity.cs @@ -31,12 +31,12 @@ public CategoryIdentity() : base ParamDefinition.Create>("Type", "T", "Category type", relevance: ParamRelevance.Primary), ParamDefinition.Create("Parent", "P", "Parent category", relevance: ParamRelevance.Occasional), ParamDefinition.Create("Name", "N", "Category name"), - ParamDefinition.Create("Is Visible UI", "VUI", "Category is exposed in UI", relevance: ParamRelevance.Secondary), + ParamDefinition.Create("Is Visible UI", "VUI", "Category is exposed in UI", relevance: ParamRelevance.Primary), ParamDefinition.Create("Is Subcategory", "ISC", "Is subcategory"), - ParamDefinition.Create("Allows Subcategories", "ASC", "Category allows subcategories to be added", relevance: ParamRelevance.Secondary), - ParamDefinition.Create("Allows Parameters", "AP", "Category allows bound parameters", relevance: ParamRelevance.Primary), + ParamDefinition.Create("Allows Subcategories", "ASC", "Category allows subcategories to be added", relevance: ParamRelevance.Tertiary), + ParamDefinition.Create("Allows Parameters", "AP", "Category allows bound parameters", relevance: ParamRelevance.Secondary), ParamDefinition.Create("Has Material Quantities", "HMQ", "Category has material quantities", relevance: ParamRelevance.Secondary), - ParamDefinition.Create("Cuttable", "C", "Category is cuttable", relevance: ParamRelevance.Secondary), + ParamDefinition.Create("Cuttable", "C", "Category is cuttable", relevance: ParamRelevance.Tertiary), }; protected override void TrySolveInstance(IGH_DataAccess DA) diff --git a/src/RhinoInside.Revit.GH/Components/ObjectStyles/QueryCategories.cs b/src/RhinoInside.Revit.GH/Components/ObjectStyles/QueryCategories.cs index 46083dfd6..46b27beab 100644 --- a/src/RhinoInside.Revit.GH/Components/ObjectStyles/QueryCategories.cs +++ b/src/RhinoInside.Revit.GH/Components/ObjectStyles/QueryCategories.cs @@ -58,12 +58,12 @@ public QueryCategories() : base ParamDefinition.Create>("Type", "T", "Category type", ARDB.CategoryType.Model, optional: true, relevance: ParamRelevance.Primary), ParamDefinition.Create("Parent", "P", "Parent category", optional: true, relevance: ParamRelevance.Occasional), ParamDefinition.Create("Name", "N", "Category name", optional: true), - ParamDefinition.Create("Is Visible UI", "VUI", "Category is exposed in UI", defaultValue: true, optional: true, relevance: ParamRelevance.Secondary), + ParamDefinition.Create("Is Visible UI", "VUI", "Category is exposed in UI", defaultValue: true, optional: true, relevance: ParamRelevance.Primary), ParamDefinition.Create("Is Subcategory", "ISC", "Is subcategory", defaultValue: false, optional: true), - ParamDefinition.Create("Allows Subcategories", "ASC", "Category allows subcategories to be added", optional: true, relevance: ParamRelevance.Secondary), - ParamDefinition.Create("Allows Parameters", "AP", "Category allows bound parameters", defaultValue: true, optional: true, relevance: ParamRelevance.Primary), + ParamDefinition.Create("Allows Subcategories", "ASC", "Category allows subcategories to be added", optional: true, relevance: ParamRelevance.Tertiary), + ParamDefinition.Create("Allows Parameters", "AP", "Category allows bound parameters", defaultValue: true, optional: true, relevance: ParamRelevance.Secondary), ParamDefinition.Create("Has Material Quantities", "HMQ", "Category has material quantities", defaultValue: true, optional: true, relevance: ParamRelevance.Secondary), - ParamDefinition.Create("Cuttable", "C", "Category is cuttable", defaultValue: true, optional: true, relevance: ParamRelevance.Secondary), + ParamDefinition.Create("Cuttable", "C", "Category is cuttable", defaultValue: true, optional: true, relevance: ParamRelevance.Tertiary), }; protected override ParamDefinition[] Outputs => outputs; From a08070af3d255ff2b2c4fdfe3ab2397c71b81f11 Mon Sep 17 00:00:00 2001 From: kike-garbo Date: Mon, 31 Jul 2023 16:59:39 +0200 Subject: [PATCH 2/2] Improved `ZuiComponent` Help to show all possible parameters. --- .../Components/ZuiComponent.cs | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/src/RhinoInside.Revit.GH/Components/ZuiComponent.cs b/src/RhinoInside.Revit.GH/Components/ZuiComponent.cs index 9c418d0b5..eb07d5daa 100644 --- a/src/RhinoInside.Revit.GH/Components/ZuiComponent.cs +++ b/src/RhinoInside.Revit.GH/Components/ZuiComponent.cs @@ -7,6 +7,7 @@ using Grasshopper; using Grasshopper.GUI; using Grasshopper.GUI.Canvas; +using Grasshopper.GUI.HTML; using Grasshopper.Kernel; using Grasshopper.Kernel.Attributes; using Grasshopper.Kernel.Parameters; @@ -642,6 +643,46 @@ void Menu_HideUnconnectedParameters(object sender, EventArgs e) } #endregion + #region Help + protected override string HtmlHelp_Source() + { + string text = HelpDescription + "


" + Environment.NewLine; + text += GenerateParameterHelp(); + + var formatter = new GH_HtmlFormatter(this, Name, text); + formatter.AddRemark($"This component is a ZUI component. Zoom in on it to enable the parameters managment UI visible."); + + return formatter.HtmlFormat(); + } + + protected new string GenerateParameterHelp() + { + string text = string.Empty; + if (Inputs.Length > 0) + { + text += $"Input parameters:
{Environment.NewLine}
{Environment.NewLine}"; + foreach (var item in Inputs) text += GenerateParameterHelp(item.Param); + text += $"

{Environment.NewLine}"; + } + + if (Outputs.Length > 0) + { + text += $"Output parameters:
{Environment.NewLine}
{Environment.NewLine}"; + foreach (var item in Outputs) text += GenerateParameterHelp(item.Param); + text += $"

{Environment.NewLine}"; + } + + return text; + } + + private new string GenerateParameterHelp(IGH_Param param) + { + var description = $"
{param.Name} ({param.TypeName})
{Environment.NewLine}"; + description += $"
{param.Description}
{Environment.NewLine}"; + return description; + } + #endregion + #region IO protected static ParamDefinition FindDefinition(ParamDefinition[] list, string name) {