diff --git a/App/wwwroot/HiAPI-docsite/api/Hi.WinForm.Disp.RenderingForm.html b/App/wwwroot/HiAPI-docsite/api/Hi.WinForm.Disp.RenderingForm.html
index db14f0e..ce7a35d 100644
--- a/App/wwwroot/HiAPI-docsite/api/Hi.WinForm.Disp.RenderingForm.html
+++ b/App/wwwroot/HiAPI-docsite/api/Hi.WinForm.Disp.RenderingForm.html
@@ -204,12 +204,6 @@ This class is usually used for debug due to its simplicity.
Shape Mode SubMenu
-Set ShapeMode to Solid Bounding Shape if <xref:Hi.HiNcKits.AppService>.<xref:Hi.HiNcKits.AppService.EnablePhysics> is false on GUI initialization.
+Set ShapeMode to Solid Bounding Shape if EnablePhysics is false on GUI initialization.
Solid Bounding Shape Ratio Button
Detail Physics Shape Ratio Button
-Visible if <xref:Hi.HiNcKits.AppService>.<xref:Hi.HiNcKits.AppService.EnablePhysics> is true.
Output Shot Files Section
-Visible if <xref:Hi.HiNcKits.AppService>.<xref:Hi.HiNcKits.AppService.EnablePhysics> is true.
+Visible if EnablePhysics is true.
Enable Write Shot Files CheckBox
@@ -142,7 +142,7 @@ Visible if <xref:Hi.HiNcKits.AppService>.<xref:Hi.HiNcKits.AppService.E
Optimization Files Section
-Visible if <xref:Hi.HiNcKits.AppService>.<xref:Hi.HiNcKits.AppService.EnablePhysics> is true.
+Visible if EnablePhysics is true.
Both webservice and win-desktop applications use LocalProjectService events for monitoring <xref:Hi.MachiningProcs.MachiningProject.PacePlayer> status changes.
+
Both webservice and win-desktop applications use LocalProjectService events for monitoring PacePlayer status changes.
In webservice applications, the PlayerStatusService subscribes to these LocalProjectService events and broadcasts status changes via PlayerStatusHub using SignalR for real-time communication.
Win-desktop applications can directly subscribe to LocalProjectService events for status updates.
Alter the background color of the Status Text Field if the status changed.
@@ -162,7 +162,7 @@
Players/PlayerStatusService.cs
SignalR Implementation (Webapi Only)
-
PlayerStatusHub provides real-time player status updates, with methods GetPlayerStatus() and event PlayerStatusUpdated. PlayerStatusService monitors LocalProjectService events (<xref:Hi.MachiningProcs.LocalProjectService.PacePlayer_IsRunningChangedEvent>, <xref:Hi.MachiningProcs.LocalProjectService.PacePlayer_IsLockedChangedEvent>, <xref:Hi.MachiningProcs.LocalProjectService.PacePlayer_IsFinishedChangedEvent>, <xref:Hi.MachiningProcs.LocalProjectService.PacePlayer_ResetedEvent>) and broadcasts changes via SignalR. The JavaScript component connects to /playerStatusHub and listens for status updates. API endpoints include /api/player/start, /api/player/pause, /api/player/resume, /api/player/run-line, /api/player/run-step, /api/player/stop, and /api/player/reset.
+
PlayerStatusHub provides real-time player status updates, with methods GetPlayerStatus() and event PlayerStatusUpdated. PlayerStatusService monitors PacePlayer events (IsRunningChangedEvent, IsLockedChangedEvent, IsFinishedChangedEvent, ResetedEvent) and broadcasts changes via SignalR. The JavaScript component connects to /playerStatusHub and listens for status updates. API endpoints include /api/player/start, /api/player/pause, /api/player/resume, /api/player/run-line, /api/player/run-step, /api/player/stop, and /api/player/reset.
The resx of MachiningStep contains the translation of PresentAttribute.Name, apply the translation to the GUI. If the translation not existed, use the original value.
SelectedStepInfoHub provides real-time step updates with method GetSelectedStepInfo() and event SelectedStepInfoUpdated. SelectedStepInfoService monitors <xref:Hi.MachiningProcs.LocalProjectService.ClStrip_PosSelected> and <xref:Hi.MachiningProcs.LocalProjectService.ClStrip_MachiningStepSelected> events and broadcasts updates. The JavaScript component connects to /selectedStepInfoHub to receive step change notifications and update the UI accordingly.
+
SelectedStepInfoHub provides real-time step updates with method GetSelectedStepInfo() and event SelectedStepInfoUpdated. SelectedStepInfoService monitors PosSelected and MachiningStepSelected events and broadcasts updates. The JavaScript component connects to /selectedStepInfoHub to receive step change notifications and update the UI accordingly.
The model <xref:Hi.HiNcKits.AppService> is from its parent component.
+
The model UserService is from its parent component.
Layout
Graphic-Cache SubMenu
@@ -101,7 +101,7 @@
Behavior
-
Graphic-Cache Input Text Field and Graphic-Cache Slider bind the <xref:Hi.HiNcKits.AppConfig>.<xref:Hi.HiNcKits.AppConfig.GraphicCacheMb>. The limit text fields also bind to the properties of <xref:Hi.HiNcKits.AppConfig>.
+
Graphic-Cache Input Text Field and Graphic-Cache Slider bind the GraphicCacheMb. The limit text fields also bind to the properties of UserConfig.
The model of the UI is <xref:Hi.HiNcKits.AppService>.
-<xref:Hi.HiNcKits.AppService> contains <xref:Hi.HiNcKits.AppConfig>, which is rapidly used in the GUI.
The model <xref:Hi.HiNcKits.AppService> is from its parent component. The <xref:Hi.HiNcKits.AppService>.<xref:Hi.HiNcKits.AppService.AppConfig> is rapidly used.
-
The model of Candidate Keys Panel is <xref:Hi.HiNcKits.AppService.CandidateStepPresentKeyList>.
-The model of Displayed Keys Panel is <xref:Hi.HiNcKits.AppConfig.DisplayedStepPresentKeyList>.
Step Present Preference Page (or window)
@@ -124,9 +124,9 @@ The model of Displayed Keys Panel is <xref:Hi.HiNcKits.AppConfig.DisplayedSte
The categories are not defined for programming logic but only for user experience. So decide and define the categories in the GUI here only.
Since the Keys are not all come from the properties of MachiningStep, a category panel (Category Other Panel) for the uncategoried keys is required.
-
The keys in the Displayed Keys Panel is in sequence of <xref:Hi.HiNcKits.AppConfig.DisplayedStepPresentKeyList>. User tune the sequence and remove key by the Displayed Keys Panel. User add and remove the key from the ToggleButtons in Candidate Keys Panel. Those UI control items are required.
+
The keys in the Displayed Keys Panel is in sequence of DisplayedStepPresentKeyList. User tune the sequence and remove key by the Displayed Keys Panel. User add and remove the key from the ToggleButtons in Candidate Keys Panel. Those UI control items are required.
To both Candidate Keys Panel and Displayed Keys Panel:
-Apply PresentAttribute.Name as Key label by <xref:Hi.HiNcKits.AppService.StepPresentAccessDictionary>. Apply the key to the button tooltip.
The resx of MachiningStep contains the translation of PresentAttribute.Name, apply the translation to the GUI. If the translation not existed, use the original value.
SessionMessageHub provides real-time message updates with method GetSessionMessages(string filterFlags, string filterText, int limit) and event SessionMessagesUpdated. SessionMessageService monitors <xref:Hi.MachiningProcs.LocalProjectService.SessionMessageHost_CollectionItemChanged> and broadcasts updates. The service uses LooseRunner for non-blocking async operations. The JavaScript component connects to /sessionMessageHub to receive real-time message updates.
+
SessionMessageHub provides real-time message updates with method GetSessionMessages(string filterFlags, string filterText, int limit) and event SessionMessagesUpdated. SessionMessageService monitors CollectionItemChanged and broadcasts updates. The service uses LooseRunner for non-blocking async operations. The JavaScript component connects to /sessionMessageHub to receive real-time message updates.
RenderingCanvas.Displayee is the machine tool (MachiningProject.MachiningEquipment.MachiningChain)
-
Load button load the machine tool to MachiningProject.MachiningEquipment.MachiningChain and MachiningProject.MachiningEquipment.MachiningChainFile by XFactory.Default.GenByFile.
Paste
-Set AppService.SelectedItem to the model.
+Set SelectedItem to the model.
Set by reference is default. Apply Duplicated-Set if explicitly required.
At this stage, the simulation process is similar to video playback, which can be:
Started
@@ -141,7 +141,7 @@
Run one step
Reset
-
The <xref:Hi.MachiningProcs.MachiningProject.PacePlayer> controls the execution pace of the simulation, allowing you to observe the machining process in detail or run it at full speed.
+
The PacePlayer controls the execution pace of the simulation, allowing you to observe the machining process in detail or run it at full speed.
View the Analysis During Process or Result
SessionMessageHost contains a sequence of simulation messages and step data, which can be used to monitor and analyze the simulation process and results.
diff --git a/App/wwwroot/HiAPI-docsite/index.json b/App/wwwroot/HiAPI-docsite/index.json
index 3bb61cf..7efda50 100644
--- a/App/wwwroot/HiAPI-docsite/index.json
+++ b/App/wwwroot/HiAPI-docsite/index.json
@@ -1867,7 +1867,7 @@
"api/Hi.MachiningProcs.DynamicMachiningProjectDisplayee0.html": {
"href": "api/Hi.MachiningProcs.DynamicMachiningProjectDisplayee0.html",
"title": "Class DynamicMachiningProjectDisplayee0 | HiAPI-C# 2025",
- "summary": "Class DynamicMachiningProjectDisplayee0 Namespace Hi.MachiningProcs Assembly HiNc.dll Provides display capabilities for a milling course. obsoleted. public class DynamicMachiningProjectDisplayee0 : IDisplayee, IExpandToBox3d, IGetAnchor, IGetTopoIndex Inheritance object DynamicMachiningProjectDisplayee0 Implements IDisplayee IExpandToBox3d IGetAnchor IGetTopoIndex Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors DynamicMachiningProjectDisplayee0(LocalProjectService) Initializes a new instance of the DynamicMachiningProjectDisplayee0 class with default settings. public DynamicMachiningProjectDisplayee0(LocalProjectService machiningProjectHost) Parameters machiningProjectHost LocalProjectService Function that returns the host milling course DynamicMachiningProjectDisplayee0(LocalProjectService, BitArray, Action) Initializes a new instance of the DynamicMachiningProjectDisplayee0 class. public DynamicMachiningProjectDisplayee0(LocalProjectService localProjectService, BitArray renderingFlagBitArray, Action setRenderingFlagFunc) Parameters localProjectService LocalProjectService Function that returns the host milling course renderingFlagBitArray BitArray Initial rendering flag bit array setRenderingFlagFunc Action Function that sets the rendering flags Properties LocalProjectService Function that returns the host milling course. public LocalProjectService LocalProjectService { get; set; } Property Value LocalProjectService MachiningProject Gets the current milling course from the host function. public MachiningProject MachiningProject { get; } Property Value MachiningProject RenderingFlagBitArray Gets or sets the bit array that controls which elements are rendered. public BitArray RenderingFlagBitArray { get; set; } Property Value BitArray Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Gets the root anchor for the display hierarchy based on current rendering flags. public Anchor GetAnchor() Returns Anchor The root anchor to use for rendering"
+ "summary": "Class DynamicMachiningProjectDisplayee0 Namespace Hi.MachiningProcs Assembly HiNc.dll Provides display capabilities for a milling course. obsoleted. public class DynamicMachiningProjectDisplayee0 : IDisplayee, IExpandToBox3d, IGetAnchor, IGetTopoIndex Inheritance object DynamicMachiningProjectDisplayee0 Implements IDisplayee IExpandToBox3d IGetAnchor IGetTopoIndex Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors DynamicMachiningProjectDisplayee0(LocalProjectService) Initializes a new instance of the DynamicMachiningProjectDisplayee0 class with default settings. public DynamicMachiningProjectDisplayee0(LocalProjectService machiningProjectHost) Parameters machiningProjectHost LocalProjectService Function that returns the host milling course DynamicMachiningProjectDisplayee0(LocalProjectService, BitArray, Action) Initializes a new instance of the DynamicMachiningProjectDisplayee0 class. public DynamicMachiningProjectDisplayee0(LocalProjectService localProjectService, BitArray renderingFlagBitArray, Action setRenderingFlagFunc) Parameters localProjectService LocalProjectService Function that returns the host milling course renderingFlagBitArray BitArray Initial rendering flag bit array setRenderingFlagFunc Action Function that sets the rendering flags Properties LocalProjectService Function that returns the host milling course. public LocalProjectService LocalProjectService { get; set; } Property Value LocalProjectService MachiningProject Gets the current milling course from the host function. public MachiningProject MachiningProject { get; } Property Value MachiningProject RenderingFlagBitArray Gets or sets the bit array that controls which elements are rendered. public BitArray RenderingFlagBitArray { get; set; } Property Value BitArray Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Gets the root anchor for the display hierarchy based on current rendering flags. public Anchor GetAnchor() Returns Anchor The root anchor to use for rendering"
},
"api/Hi.MachiningProcs.IMachiningProjectGetter.html": {
"href": "api/Hi.MachiningProcs.IMachiningProjectGetter.html",
@@ -1927,7 +1927,7 @@
"api/Hi.MachiningProcs.MachiningProjectDisplayee.html": {
"href": "api/Hi.MachiningProcs.MachiningProjectDisplayee.html",
"title": "Class MachiningProjectDisplayee | HiAPI-C# 2025",
- "summary": "Class MachiningProjectDisplayee Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a displayable wrapper for a machining project. public class MachiningProjectDisplayee : IDisplayee, IExpandToBox3d, IGetAnchor, IGetTopoIndex Inheritance object MachiningProjectDisplayee Implements IDisplayee IExpandToBox3d IGetAnchor IGetTopoIndex Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProjectDisplayee(LocalProjectService) Initializes a new instance of the MachiningProjectDisplayee class with default rendering flags. public MachiningProjectDisplayee(LocalProjectService localProjectService) Parameters localProjectService LocalProjectService Properties HeidenhainCoordinateEntryDisplayee Gets the Heidenhain coordinate entry displayee for Heidenhain-based coordinate systems. public HeidenhainCoordinateEntryDisplayee HeidenhainCoordinateEntryDisplayee { get; } Property Value HeidenhainCoordinateEntryDisplayee IsoCoordinateEntryDisplayee Gets the ISO coordinate entry displayee for ISO-based coordinate systems. public IsoCoordinateEntryDisplayee IsoCoordinateEntryDisplayee { get; } Property Value IsoCoordinateEntryDisplayee LocalProjectService Gets or sets the function that provides the machining project. public LocalProjectService LocalProjectService { get; set; } Property Value LocalProjectService MachiningProject Gets the current milling course from the host function. public MachiningProject MachiningProject { get; } Property Value MachiningProject RenderingFlagBitArray Gets or sets the bit array that controls which elements are rendered. public BitArray RenderingFlagBitArray { get; set; } Property Value BitArray Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor"
+ "summary": "Class MachiningProjectDisplayee Namespace Hi.MachiningProcs Assembly HiNc.dll Represents a displayable wrapper for a machining project. public class MachiningProjectDisplayee : IDisplayee, IExpandToBox3d, IGetAnchor, IGetTopoIndex Inheritance object MachiningProjectDisplayee Implements IDisplayee IExpandToBox3d IGetAnchor IGetTopoIndex Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DispUtil.Display(IDisplayee, Bind, Mat4d) DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) TopoUtil.Display(IGetAnchor, Bind, Dictionary) TopoUtil.ExpandToBox3d(IGetAnchor, Box3d, Dictionary) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors MachiningProjectDisplayee(LocalProjectService) Initializes a new instance of the MachiningProjectDisplayee class with default rendering flags. public MachiningProjectDisplayee(LocalProjectService localProjectService) Parameters localProjectService LocalProjectService Properties HeidenhainCoordinateEntryDisplayee Gets the Heidenhain coordinate entry displayee for Heidenhain-based coordinate systems. public HeidenhainCoordinateEntryDisplayee HeidenhainCoordinateEntryDisplayee { get; } Property Value HeidenhainCoordinateEntryDisplayee IsoCoordinateEntryDisplayee Gets the ISO coordinate entry displayee for ISO-based coordinate systems. public IsoCoordinateEntryDisplayee IsoCoordinateEntryDisplayee { get; } Property Value IsoCoordinateEntryDisplayee LocalProjectService Gets or sets the function that provides the machining project. public LocalProjectService LocalProjectService { get; set; } Property Value LocalProjectService MachiningProject Gets the current milling course from the host function. public MachiningProject MachiningProject { get; } Property Value MachiningProject RenderingFlagBitArray Gets or sets the bit array that controls which elements are rendered. public BitArray RenderingFlagBitArray { get; set; } Property Value BitArray Methods Display(Bind) Display function called in DispEngine rendering loop. public void Display(Bind bind) Parameters bind Bind Bind with DispEngine. See Bind. ExpandToBox3d(Box3d) Expands the destination box. This function is usually used to compute the bounding box of elements. public void ExpandToBox3d(Box3d dst) Parameters dst Box3d Destination box GetAnchor() Get key anchor. (i.e. root anchor) public Anchor GetAnchor() Returns Anchor key anchor"
},
"api/Hi.MachiningProcs.MachiningSession.html": {
"href": "api/Hi.MachiningProcs.MachiningSession.html",
@@ -4327,7 +4327,7 @@
"api/Hi.Physics.TemperatureVsHardness.html": {
"href": "api/Hi.Physics.TemperatureVsHardness.html",
"title": "Class TemperatureVsHardness | HiAPI-C# 2025",
- "summary": "Class TemperatureVsHardness Namespace Hi.Physics Assembly HiMech.dll Represents the relationship between temperature and hardness for materials. public record TemperatureVsHardness : IAdditionOperators, IMultiplyOperators, IEquatable Inheritance object TemperatureVsHardness Implements IAdditionOperators IMultiplyOperators IEquatable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TemperatureVsHardness(TemperatureVsHardness) Initializes a new instance of the TemperatureVsHardness record by copying from another instance. public TemperatureVsHardness(TemperatureVsHardness src) Parameters src TemperatureVsHardness The source instance to copy from. TemperatureVsHardness(double, double) Represents the relationship between temperature and hardness for materials. public TemperatureVsHardness(double Temperature_K, double VickerHardness_Ndmm2) Parameters Temperature_K double The temperature in Kelvin. VickerHardness_Ndmm2 double The Vickers hardness in Newtons per square millimeter. Properties Temperature_K The temperature in Kelvin. public double Temperature_K { get; init; } Property Value double VickerHardness_Ndmm2 The Vickers hardness in Newtons per square millimeter. public double VickerHardness_Ndmm2 { get; init; } Property Value double Operators operator +(TemperatureVsHardness, TemperatureVsHardness) Adds two values together to compute their sum. public static TemperatureVsHardness operator +(TemperatureVsHardness left, TemperatureVsHardness right) Parameters left TemperatureVsHardness The value to which right is added. right TemperatureVsHardness The value which is added to left. Returns TemperatureVsHardness The sum of left and right. operator *(TemperatureVsHardness, double) Multiplies two values together to compute their product. public static TemperatureVsHardness operator *(TemperatureVsHardness left, double right) Parameters left TemperatureVsHardness The value which right multiplies. right double The value which multiplies left. Returns TemperatureVsHardness The product of left multiplied by right."
+ "summary": "Class TemperatureVsHardness Namespace Hi.Physics Assembly HiMech.dll Represents the relationship between temperature and hardness for materials. public record TemperatureVsHardness : IAdditionOperators, IMultiplyOperators, IEquatable Inheritance object TemperatureVsHardness Implements IAdditionOperators IMultiplyOperators IEquatable Inherited Members object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) object.ToString() Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors TemperatureVsHardness(TemperatureVsHardness) Initializes a new instance of the TemperatureVsHardness record by copying from another instance. public TemperatureVsHardness(TemperatureVsHardness src) Parameters src TemperatureVsHardness The source instance to copy from. TemperatureVsHardness(double, double) Represents the relationship between temperature and hardness for materials. public TemperatureVsHardness(double Temperature_K, double VickerHardness_Ndmm2) Parameters Temperature_K double The temperature in Kelvin. VickerHardness_Ndmm2 double The Vickers hardness in Newtons per square millimeter. Properties Temperature_K The temperature in Kelvin. public double Temperature_K { get; init; } Property Value double VickerHardness_Ndmm2 The Vickers hardness in Newtons per square millimeter. public double VickerHardness_Ndmm2 { get; init; } Property Value double Operators operator +(TemperatureVsHardness, TemperatureVsHardness) Adds two values together to compute their sum. public static TemperatureVsHardness operator +(TemperatureVsHardness left, TemperatureVsHardness right) Parameters left TemperatureVsHardness The value to which right is added. right TemperatureVsHardness The value that is added to left. Returns TemperatureVsHardness The sum of left and right. operator *(TemperatureVsHardness, double) Multiplies two values together to compute their product. public static TemperatureVsHardness operator *(TemperatureVsHardness left, double right) Parameters left TemperatureVsHardness The value that right multiplies. right double The value that multiplies left. Returns TemperatureVsHardness The product of left multiplied by right."
},
"api/Hi.Physics.ThermalLayer1D.html": {
"href": "api/Hi.Physics.ThermalLayer1D.html",
@@ -4582,12 +4582,12 @@
"api/Hi.WinForm.Disp.RenderingCanvas.html": {
"href": "api/Hi.WinForm.Disp.RenderingCanvas.html",
"title": "Class RenderingCanvas | HiAPI-C# 2025",
- "summary": "Class RenderingCanvas Namespace Hi.WinForm.Disp Assembly Hi.WinForm.dll Window Form Displayer. public class RenderingCanvas : UserControl, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable, IContainerControl Inheritance object MarshalByRefObject Component Control ScrollableControl ContainerControl UserControl RenderingCanvas Implements IDropTarget ISynchronizeInvoke IWin32Window IBindableComponent IComponent IDisposable IContainerControl Inherited Members UserControl.ValidateChildren() UserControl.ValidateChildren(ValidationConstraints) UserControl.OnCreateControl() UserControl.OnLoad(EventArgs) UserControl.OnResize(EventArgs) UserControl.OnMouseDown(MouseEventArgs) UserControl.AutoSize UserControl.AutoSizeMode UserControl.AutoValidate UserControl.BorderStyle UserControl.CreateParams UserControl.DefaultSize UserControl.AutoSizeChanged UserControl.AutoValidateChanged UserControl.Load ContainerControl.AdjustFormScrollbars(bool) ContainerControl.OnAutoValidateChanged(EventArgs) ContainerControl.OnFontChanged(EventArgs) ContainerControl.OnLayout(LayoutEventArgs) ContainerControl.OnMove(EventArgs) ContainerControl.OnParentChanged(EventArgs) ContainerControl.PerformAutoScale() ContainerControl.ScaleMinMaxSize(float, float, bool) ContainerControl.ProcessDialogChar(char) ContainerControl.ProcessDialogKey(Keys) ContainerControl.ProcessCmdKey(ref Message, Keys) ContainerControl.ProcessMnemonic(char) ContainerControl.ProcessTabKey(bool) ContainerControl.RescaleConstantsForDpi(int, int) ContainerControl.Select(bool, bool) ContainerControl.UpdateDefaultButton() ContainerControl.Validate() ContainerControl.Validate(bool) ContainerControl.AutoScaleDimensions ContainerControl.AutoScaleFactor ContainerControl.AutoScaleMode ContainerControl.BindingContext ContainerControl.CanEnableIme ContainerControl.ActiveControl ContainerControl.CurrentAutoScaleDimensions ContainerControl.ParentForm ScrollableControl.ScrollStateAutoScrolling ScrollableControl.ScrollStateHScrollVisible ScrollableControl.ScrollStateVScrollVisible ScrollableControl.ScrollStateUserHasScrolled ScrollableControl.ScrollStateFullDrag ScrollableControl.GetScrollState(int) ScrollableControl.OnMouseWheel(MouseEventArgs) ScrollableControl.OnRightToLeftChanged(EventArgs) ScrollableControl.OnPaintBackground(PaintEventArgs) ScrollableControl.OnPaddingChanged(EventArgs) ScrollableControl.OnVisibleChanged(EventArgs) ScrollableControl.ScaleControl(SizeF, BoundsSpecified) ScrollableControl.SetDisplayRectLocation(int, int) ScrollableControl.ScrollControlIntoView(Control) ScrollableControl.ScrollToControl(Control) ScrollableControl.OnScroll(ScrollEventArgs) ScrollableControl.SetAutoScrollMargin(int, int) ScrollableControl.SetScrollState(int, bool) ScrollableControl.AutoScroll ScrollableControl.AutoScrollMargin ScrollableControl.AutoScrollPosition ScrollableControl.AutoScrollMinSize ScrollableControl.DisplayRectangle ScrollableControl.HScroll ScrollableControl.HorizontalScroll ScrollableControl.VScroll ScrollableControl.VerticalScroll ScrollableControl.Scroll Control.GetAccessibilityObjectById(int) Control.SetAutoSizeMode(AutoSizeMode) Control.GetAutoSizeMode() Control.GetPreferredSize(Size) Control.AccessibilityNotifyClients(AccessibleEvents, int) Control.AccessibilityNotifyClients(AccessibleEvents, int, int) Control.BeginInvoke(Delegate) Control.BeginInvoke(Action) Control.BeginInvoke(Delegate, params object[]) Control.BringToFront() Control.Contains(Control) Control.CreateAccessibilityInstance() Control.CreateControlsInstance() Control.CreateGraphics() Control.CreateHandle() Control.CreateControl() Control.DefWndProc(ref Message) Control.DestroyHandle() Control.DoDragDrop(object, DragDropEffects) Control.DoDragDrop(object, DragDropEffects, Bitmap, Point, bool) Control.DrawToBitmap(Bitmap, Rectangle) Control.EndInvoke(IAsyncResult) Control.FindForm() Control.GetTopLevel() Control.RaiseKeyEvent(object, KeyEventArgs) Control.RaiseMouseEvent(object, MouseEventArgs) Control.Focus() Control.FromChildHandle(nint) Control.FromHandle(nint) Control.GetChildAtPoint(Point, GetChildAtPointSkip) Control.GetChildAtPoint(Point) Control.GetContainerControl() Control.GetScaledBounds(Rectangle, SizeF, BoundsSpecified) Control.GetNextControl(Control, bool) Control.GetStyle(ControlStyles) Control.Hide() Control.InitLayout() Control.Invalidate(Region) Control.Invalidate(Region, bool) Control.Invalidate() Control.Invalidate(bool) Control.Invalidate(Rectangle) Control.Invalidate(Rectangle, bool) Control.Invoke(Action) Control.Invoke(Delegate) Control.Invoke(Delegate, params object[]) Control.Invoke(Func) Control.InvokePaint(Control, PaintEventArgs) Control.InvokePaintBackground(Control, PaintEventArgs) Control.IsKeyLocked(Keys) Control.IsInputChar(char) Control.IsMnemonic(char, string) Control.LogicalToDeviceUnits(int) Control.LogicalToDeviceUnits(Size) Control.ScaleBitmapLogicalToDevice(ref Bitmap) Control.NotifyInvalidate(Rectangle) Control.InvokeOnClick(Control, EventArgs) Control.OnAutoSizeChanged(EventArgs) Control.OnBackColorChanged(EventArgs) Control.OnBackgroundImageChanged(EventArgs) Control.OnBackgroundImageLayoutChanged(EventArgs) Control.OnBindingContextChanged(EventArgs) Control.OnCausesValidationChanged(EventArgs) Control.OnContextMenuStripChanged(EventArgs) Control.OnCursorChanged(EventArgs) Control.OnDataContextChanged(EventArgs) Control.OnDockChanged(EventArgs) Control.OnEnabledChanged(EventArgs) Control.OnForeColorChanged(EventArgs) Control.OnNotifyMessage(Message) Control.OnParentBackColorChanged(EventArgs) Control.OnParentBackgroundImageChanged(EventArgs) Control.OnParentBindingContextChanged(EventArgs) Control.OnParentCursorChanged(EventArgs) Control.OnParentDataContextChanged(EventArgs) Control.OnParentEnabledChanged(EventArgs) Control.OnParentFontChanged(EventArgs) Control.OnParentForeColorChanged(EventArgs) Control.OnParentRightToLeftChanged(EventArgs) Control.OnParentVisibleChanged(EventArgs) Control.OnPrint(PaintEventArgs) Control.OnTabIndexChanged(EventArgs) Control.OnTabStopChanged(EventArgs) Control.OnTextChanged(EventArgs) Control.OnClick(EventArgs) Control.OnClientSizeChanged(EventArgs) Control.OnControlAdded(ControlEventArgs) Control.OnControlRemoved(ControlEventArgs) Control.OnHandleCreated(EventArgs) Control.OnLocationChanged(EventArgs) Control.OnHandleDestroyed(EventArgs) Control.OnDoubleClick(EventArgs) Control.OnDragEnter(DragEventArgs) Control.OnDragOver(DragEventArgs) Control.OnDragLeave(EventArgs) Control.OnDragDrop(DragEventArgs) Control.OnGiveFeedback(GiveFeedbackEventArgs) Control.OnEnter(EventArgs) Control.InvokeGotFocus(Control, EventArgs) Control.OnGotFocus(EventArgs) Control.OnHelpRequested(HelpEventArgs) Control.OnInvalidated(InvalidateEventArgs) Control.OnKeyDown(KeyEventArgs) Control.OnKeyPress(KeyPressEventArgs) Control.OnKeyUp(KeyEventArgs) Control.OnLeave(EventArgs) Control.InvokeLostFocus(Control, EventArgs) Control.OnLostFocus(EventArgs) Control.OnMarginChanged(EventArgs) Control.OnMouseDoubleClick(MouseEventArgs) Control.OnMouseClick(MouseEventArgs) Control.OnMouseCaptureChanged(EventArgs) Control.OnMouseEnter(EventArgs) Control.OnMouseLeave(EventArgs) Control.OnDpiChangedBeforeParent(EventArgs) Control.OnDpiChangedAfterParent(EventArgs) Control.OnMouseHover(EventArgs) Control.OnMouseMove(MouseEventArgs) Control.OnMouseUp(MouseEventArgs) Control.OnPaint(PaintEventArgs) Control.OnQueryContinueDrag(QueryContinueDragEventArgs) Control.OnRegionChanged(EventArgs) Control.OnPreviewKeyDown(PreviewKeyDownEventArgs) Control.OnSizeChanged(EventArgs) Control.OnChangeUICues(UICuesEventArgs) Control.OnStyleChanged(EventArgs) Control.OnSystemColorsChanged(EventArgs) Control.OnValidating(CancelEventArgs) Control.OnValidated(EventArgs) Control.PerformLayout() Control.PerformLayout(Control, string) Control.PointToClient(Point) Control.PointToScreen(Point) Control.PreProcessMessage(ref Message) Control.PreProcessControlMessage(ref Message) Control.ProcessKeyEventArgs(ref Message) Control.ProcessKeyMessage(ref Message) Control.ProcessKeyPreview(ref Message) Control.RaiseDragEvent(object, DragEventArgs) Control.RaisePaintEvent(object, PaintEventArgs) Control.RecreateHandle() Control.RectangleToClient(Rectangle) Control.RectangleToScreen(Rectangle) Control.ReflectMessage(nint, ref Message) Control.Refresh() Control.ResetMouseEventArgs() Control.ResetText() Control.ResumeLayout() Control.ResumeLayout(bool) Control.Scale(SizeF) Control.Select() Control.SelectNextControl(Control, bool, bool, bool, bool) Control.SendToBack() Control.SetBounds(int, int, int, int) Control.SetBounds(int, int, int, int, BoundsSpecified) Control.SetBoundsCore(int, int, int, int, BoundsSpecified) Control.SetClientSizeCore(int, int) Control.SizeFromClientSize(Size) Control.SetStyle(ControlStyles, bool) Control.SetTopLevel(bool) Control.SetVisibleCore(bool) Control.RtlTranslateAlignment(HorizontalAlignment) Control.RtlTranslateAlignment(LeftRightAlignment) Control.RtlTranslateAlignment(ContentAlignment) Control.RtlTranslateHorizontal(HorizontalAlignment) Control.RtlTranslateLeftRight(LeftRightAlignment) Control.RtlTranslateContent(ContentAlignment) Control.Show() Control.SuspendLayout() Control.Update() Control.UpdateBounds() Control.UpdateBounds(int, int, int, int) Control.UpdateBounds(int, int, int, int, int, int) Control.UpdateZOrder() Control.UpdateStyles() Control.OnImeModeChanged(EventArgs) Control.InvokeAsync(Action, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func>, CancellationToken) Control.AccessibilityObject Control.AccessibleDefaultActionDescription Control.AccessibleDescription Control.AccessibleName Control.AccessibleRole Control.AllowDrop Control.Anchor Control.AutoScrollOffset Control.LayoutEngine Control.DataContext Control.BackColor Control.BackgroundImage Control.BackgroundImageLayout Control.Bottom Control.Bounds Control.CanFocus Control.CanRaiseEvents Control.CanSelect Control.Capture Control.CausesValidation Control.CheckForIllegalCrossThreadCalls Control.ClientRectangle Control.ClientSize Control.CompanyName Control.ContainsFocus Control.ContextMenuStrip Control.Controls Control.Created Control.Cursor Control.DataBindings Control.DefaultBackColor Control.DefaultCursor Control.DefaultFont Control.DefaultForeColor Control.DefaultMargin Control.DefaultMaximumSize Control.DefaultMinimumSize Control.DefaultPadding Control.DeviceDpi Control.IsDisposed Control.Disposing Control.Dock Control.DoubleBuffered Control.Enabled Control.Focused Control.Font Control.FontHeight Control.ForeColor Control.Handle Control.HasChildren Control.Height Control.IsHandleCreated Control.InvokeRequired Control.IsAccessible Control.IsAncestorSiteInDesignMode Control.IsMirrored Control.Left Control.Location Control.Margin Control.MaximumSize Control.MinimumSize Control.ModifierKeys Control.MouseButtons Control.MousePosition Control.Name Control.Parent Control.ProductName Control.ProductVersion Control.RecreatingHandle Control.Region Control.RenderRightToLeft Control.ResizeRedraw Control.Right Control.RightToLeft Control.ScaleChildren Control.Site Control.Size Control.TabIndex Control.TabStop Control.Tag Control.Text Control.Top Control.TopLevelControl Control.ShowKeyboardCues Control.ShowFocusCues Control.UseWaitCursor Control.Visible Control.Width Control.PreferredSize Control.Padding Control.DefaultImeMode Control.ImeMode Control.ImeModeBase Control.PropagatingImeMode Control.BackColorChanged Control.BackgroundImageChanged Control.BackgroundImageLayoutChanged Control.BindingContextChanged Control.CausesValidationChanged Control.ClientSizeChanged Control.ContextMenuStripChanged Control.CursorChanged Control.DockChanged Control.EnabledChanged Control.FontChanged Control.ForeColorChanged Control.LocationChanged Control.MarginChanged Control.RegionChanged Control.RightToLeftChanged Control.SizeChanged Control.TabIndexChanged Control.TabStopChanged Control.TextChanged Control.VisibleChanged Control.Click Control.ControlAdded Control.ControlRemoved Control.DataContextChanged Control.DragDrop Control.DragEnter Control.DragOver Control.DragLeave Control.GiveFeedback Control.HandleCreated Control.HandleDestroyed Control.HelpRequested Control.Invalidated Control.PaddingChanged Control.Paint Control.QueryContinueDrag Control.QueryAccessibilityHelp Control.DoubleClick Control.Enter Control.GotFocus Control.KeyDown Control.KeyPress Control.KeyUp Control.Layout Control.Leave Control.LostFocus Control.MouseClick Control.MouseDoubleClick Control.MouseCaptureChanged Control.MouseDown Control.MouseEnter Control.MouseLeave Control.DpiChangedBeforeParent Control.DpiChangedAfterParent Control.MouseHover Control.MouseMove Control.MouseUp Control.MouseWheel Control.Move Control.PreviewKeyDown Control.Resize Control.ChangeUICues Control.StyleChanged Control.SystemColorsChanged Control.Validating Control.Validated Control.ParentChanged Control.ImeModeChanged Component.Dispose() Component.GetService(Type) Component.ToString() Component.Container Component.DesignMode Component.Events Component.Disposed MarshalByRefObject.GetLifetimeService() MarshalByRefObject.InitializeLifetimeService() MarshalByRefObject.MemberwiseClone(bool) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RenderingCanvas(params IDisplayee[]) Ctor. public RenderingCanvas(params IDisplayee[] displayees) Parameters displayees IDisplayee[] displayees Properties DispEngine DispEngine. public DispEngine DispEngine { get; } Property Value DispEngine Methods Dispose(bool) Clean up any resources being used. protected override void Dispose(bool disposing) Parameters disposing bool true if managed resources should be disposed; otherwise, false. IsInputKey(Keys) Determines whether the specified key is a regular input key or a special key that requires preprocessing. protected override bool IsInputKey(Keys keyData) Parameters keyData Keys One of the Keys values. Returns bool true if the specified key is a regular input key; otherwise, false. WndProc(ref Message) Processes Windows messages. protected override void WndProc(ref Message m) Parameters m Message The Windows Message to process."
+ "summary": "Class RenderingCanvas Namespace Hi.WinForm.Disp Assembly Hi.WinForm.dll Window Form Displayer. public class RenderingCanvas : UserControl, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable, IContainerControl Inheritance object MarshalByRefObject Component Control ScrollableControl ContainerControl UserControl RenderingCanvas Implements IDropTarget ISynchronizeInvoke IWin32Window IBindableComponent IComponent IDisposable IContainerControl Inherited Members UserControl.ValidateChildren() UserControl.ValidateChildren(ValidationConstraints) UserControl.OnCreateControl() UserControl.OnLoad(EventArgs) UserControl.OnResize(EventArgs) UserControl.OnMouseDown(MouseEventArgs) UserControl.AutoSize UserControl.AutoSizeMode UserControl.AutoValidate UserControl.BorderStyle UserControl.CreateParams UserControl.DefaultSize UserControl.AutoSizeChanged UserControl.AutoValidateChanged UserControl.Load ContainerControl.AdjustFormScrollbars(bool) ContainerControl.OnAutoValidateChanged(EventArgs) ContainerControl.OnFontChanged(EventArgs) ContainerControl.OnLayout(LayoutEventArgs) ContainerControl.OnMove(EventArgs) ContainerControl.OnParentChanged(EventArgs) ContainerControl.PerformAutoScale() ContainerControl.ScaleMinMaxSize(float, float, bool) ContainerControl.ProcessDialogChar(char) ContainerControl.ProcessDialogKey(Keys) ContainerControl.ProcessCmdKey(ref Message, Keys) ContainerControl.ProcessMnemonic(char) ContainerControl.ProcessTabKey(bool) ContainerControl.RescaleConstantsForDpi(int, int) ContainerControl.Select(bool, bool) ContainerControl.UpdateDefaultButton() ContainerControl.Validate() ContainerControl.Validate(bool) ContainerControl.AutoScaleDimensions ContainerControl.AutoScaleFactor ContainerControl.AutoScaleMode ContainerControl.BindingContext ContainerControl.CanEnableIme ContainerControl.ActiveControl ContainerControl.CurrentAutoScaleDimensions ContainerControl.ParentForm ScrollableControl.ScrollStateAutoScrolling ScrollableControl.ScrollStateHScrollVisible ScrollableControl.ScrollStateVScrollVisible ScrollableControl.ScrollStateUserHasScrolled ScrollableControl.ScrollStateFullDrag ScrollableControl.GetScrollState(int) ScrollableControl.OnMouseWheel(MouseEventArgs) ScrollableControl.OnRightToLeftChanged(EventArgs) ScrollableControl.OnPaintBackground(PaintEventArgs) ScrollableControl.OnPaddingChanged(EventArgs) ScrollableControl.OnVisibleChanged(EventArgs) ScrollableControl.ScaleControl(SizeF, BoundsSpecified) ScrollableControl.SetDisplayRectLocation(int, int) ScrollableControl.ScrollControlIntoView(Control) ScrollableControl.ScrollToControl(Control) ScrollableControl.OnScroll(ScrollEventArgs) ScrollableControl.SetAutoScrollMargin(int, int) ScrollableControl.SetScrollState(int, bool) ScrollableControl.AutoScroll ScrollableControl.AutoScrollMargin ScrollableControl.AutoScrollPosition ScrollableControl.AutoScrollMinSize ScrollableControl.DisplayRectangle ScrollableControl.HScroll ScrollableControl.HorizontalScroll ScrollableControl.VScroll ScrollableControl.VerticalScroll ScrollableControl.Scroll Control.GetAccessibilityObjectById(int) Control.SetAutoSizeMode(AutoSizeMode) Control.GetAutoSizeMode() Control.GetPreferredSize(Size) Control.AccessibilityNotifyClients(AccessibleEvents, int) Control.AccessibilityNotifyClients(AccessibleEvents, int, int) Control.BeginInvoke(Delegate) Control.BeginInvoke(Action) Control.BeginInvoke(Delegate, params object[]) Control.BringToFront() Control.Contains(Control) Control.CreateAccessibilityInstance() Control.CreateControlsInstance() Control.CreateGraphics() Control.CreateHandle() Control.CreateControl() Control.DefWndProc(ref Message) Control.DestroyHandle() Control.DoDragDropAsJson(T, DragDropEffects) Control.DoDragDropAsJson(T, DragDropEffects, Bitmap, Point, bool) Control.DoDragDrop(object, DragDropEffects) Control.DoDragDrop(object, DragDropEffects, Bitmap, Point, bool) Control.DrawToBitmap(Bitmap, Rectangle) Control.EndInvoke(IAsyncResult) Control.FindForm() Control.GetTopLevel() Control.RaiseKeyEvent(object, KeyEventArgs) Control.RaiseMouseEvent(object, MouseEventArgs) Control.Focus() Control.FromChildHandle(nint) Control.FromHandle(nint) Control.GetChildAtPoint(Point, GetChildAtPointSkip) Control.GetChildAtPoint(Point) Control.GetContainerControl() Control.GetScaledBounds(Rectangle, SizeF, BoundsSpecified) Control.GetNextControl(Control, bool) Control.GetStyle(ControlStyles) Control.Hide() Control.InitLayout() Control.Invalidate(Region) Control.Invalidate(Region, bool) Control.Invalidate() Control.Invalidate(bool) Control.Invalidate(Rectangle) Control.Invalidate(Rectangle, bool) Control.Invoke(Action) Control.Invoke(Delegate) Control.Invoke(Delegate, params object[]) Control.Invoke(Func) Control.InvokePaint(Control, PaintEventArgs) Control.InvokePaintBackground(Control, PaintEventArgs) Control.IsKeyLocked(Keys) Control.IsInputChar(char) Control.IsMnemonic(char, string) Control.LogicalToDeviceUnits(int) Control.LogicalToDeviceUnits(Size) Control.ScaleBitmapLogicalToDevice(ref Bitmap) Control.NotifyInvalidate(Rectangle) Control.InvokeOnClick(Control, EventArgs) Control.OnAutoSizeChanged(EventArgs) Control.OnBackColorChanged(EventArgs) Control.OnBackgroundImageChanged(EventArgs) Control.OnBackgroundImageLayoutChanged(EventArgs) Control.OnBindingContextChanged(EventArgs) Control.OnCausesValidationChanged(EventArgs) Control.OnContextMenuStripChanged(EventArgs) Control.OnCursorChanged(EventArgs) Control.OnDataContextChanged(EventArgs) Control.OnDockChanged(EventArgs) Control.OnEnabledChanged(EventArgs) Control.OnForeColorChanged(EventArgs) Control.OnNotifyMessage(Message) Control.OnParentBackColorChanged(EventArgs) Control.OnParentBackgroundImageChanged(EventArgs) Control.OnParentBindingContextChanged(EventArgs) Control.OnParentCursorChanged(EventArgs) Control.OnParentDataContextChanged(EventArgs) Control.OnParentEnabledChanged(EventArgs) Control.OnParentFontChanged(EventArgs) Control.OnParentForeColorChanged(EventArgs) Control.OnParentRightToLeftChanged(EventArgs) Control.OnParentVisibleChanged(EventArgs) Control.OnPrint(PaintEventArgs) Control.OnTabIndexChanged(EventArgs) Control.OnTabStopChanged(EventArgs) Control.OnTextChanged(EventArgs) Control.OnClick(EventArgs) Control.OnClientSizeChanged(EventArgs) Control.OnControlAdded(ControlEventArgs) Control.OnControlRemoved(ControlEventArgs) Control.OnHandleCreated(EventArgs) Control.OnLocationChanged(EventArgs) Control.OnHandleDestroyed(EventArgs) Control.OnDoubleClick(EventArgs) Control.OnDragEnter(DragEventArgs) Control.OnDragOver(DragEventArgs) Control.OnDragLeave(EventArgs) Control.OnDragDrop(DragEventArgs) Control.OnGiveFeedback(GiveFeedbackEventArgs) Control.OnEnter(EventArgs) Control.InvokeGotFocus(Control, EventArgs) Control.OnGotFocus(EventArgs) Control.OnHelpRequested(HelpEventArgs) Control.OnInvalidated(InvalidateEventArgs) Control.OnKeyDown(KeyEventArgs) Control.OnKeyPress(KeyPressEventArgs) Control.OnKeyUp(KeyEventArgs) Control.OnLeave(EventArgs) Control.InvokeLostFocus(Control, EventArgs) Control.OnLostFocus(EventArgs) Control.OnMarginChanged(EventArgs) Control.OnMouseDoubleClick(MouseEventArgs) Control.OnMouseClick(MouseEventArgs) Control.OnMouseCaptureChanged(EventArgs) Control.OnMouseEnter(EventArgs) Control.OnMouseLeave(EventArgs) Control.OnDpiChangedBeforeParent(EventArgs) Control.OnDpiChangedAfterParent(EventArgs) Control.OnMouseHover(EventArgs) Control.OnMouseMove(MouseEventArgs) Control.OnMouseUp(MouseEventArgs) Control.OnPaint(PaintEventArgs) Control.OnQueryContinueDrag(QueryContinueDragEventArgs) Control.OnRegionChanged(EventArgs) Control.OnPreviewKeyDown(PreviewKeyDownEventArgs) Control.OnSizeChanged(EventArgs) Control.OnChangeUICues(UICuesEventArgs) Control.OnStyleChanged(EventArgs) Control.OnSystemColorsChanged(EventArgs) Control.OnValidating(CancelEventArgs) Control.OnValidated(EventArgs) Control.PerformLayout() Control.PerformLayout(Control, string) Control.PointToClient(Point) Control.PointToScreen(Point) Control.PreProcessMessage(ref Message) Control.PreProcessControlMessage(ref Message) Control.ProcessKeyEventArgs(ref Message) Control.ProcessKeyMessage(ref Message) Control.ProcessKeyPreview(ref Message) Control.RaiseDragEvent(object, DragEventArgs) Control.RaisePaintEvent(object, PaintEventArgs) Control.RecreateHandle() Control.RectangleToClient(Rectangle) Control.RectangleToScreen(Rectangle) Control.ReflectMessage(nint, ref Message) Control.Refresh() Control.ResetMouseEventArgs() Control.ResetText() Control.ResumeLayout() Control.ResumeLayout(bool) Control.Scale(SizeF) Control.Select() Control.SelectNextControl(Control, bool, bool, bool, bool) Control.SendToBack() Control.SetBounds(int, int, int, int) Control.SetBounds(int, int, int, int, BoundsSpecified) Control.SetBoundsCore(int, int, int, int, BoundsSpecified) Control.SetClientSizeCore(int, int) Control.SizeFromClientSize(Size) Control.SetStyle(ControlStyles, bool) Control.SetTopLevel(bool) Control.SetVisibleCore(bool) Control.RtlTranslateAlignment(HorizontalAlignment) Control.RtlTranslateAlignment(LeftRightAlignment) Control.RtlTranslateAlignment(ContentAlignment) Control.RtlTranslateHorizontal(HorizontalAlignment) Control.RtlTranslateLeftRight(LeftRightAlignment) Control.RtlTranslateContent(ContentAlignment) Control.Show() Control.SuspendLayout() Control.Update() Control.UpdateBounds() Control.UpdateBounds(int, int, int, int) Control.UpdateBounds(int, int, int, int, int, int) Control.UpdateZOrder() Control.UpdateStyles() Control.OnImeModeChanged(EventArgs) Control.InvokeAsync(Action, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func>, CancellationToken) Control.AccessibilityObject Control.AccessibleDefaultActionDescription Control.AccessibleDescription Control.AccessibleName Control.AccessibleRole Control.AllowDrop Control.Anchor Control.AutoScrollOffset Control.LayoutEngine Control.DataContext Control.BackColor Control.BackgroundImage Control.BackgroundImageLayout Control.Bottom Control.Bounds Control.CanFocus Control.CanRaiseEvents Control.CanSelect Control.Capture Control.CausesValidation Control.CheckForIllegalCrossThreadCalls Control.ClientRectangle Control.ClientSize Control.CompanyName Control.ContainsFocus Control.ContextMenuStrip Control.Controls Control.Created Control.Cursor Control.DataBindings Control.DefaultBackColor Control.DefaultCursor Control.DefaultFont Control.DefaultForeColor Control.DefaultMargin Control.DefaultMaximumSize Control.DefaultMinimumSize Control.DefaultPadding Control.DeviceDpi Control.IsDisposed Control.Disposing Control.Dock Control.DoubleBuffered Control.Enabled Control.Focused Control.Font Control.FontHeight Control.ForeColor Control.Handle Control.HasChildren Control.Height Control.IsHandleCreated Control.InvokeRequired Control.IsAccessible Control.IsAncestorSiteInDesignMode Control.IsMirrored Control.Left Control.Location Control.Margin Control.MaximumSize Control.MinimumSize Control.ModifierKeys Control.MouseButtons Control.MousePosition Control.Name Control.Parent Control.ProductName Control.ProductVersion Control.RecreatingHandle Control.Region Control.RenderRightToLeft Control.ResizeRedraw Control.Right Control.RightToLeft Control.ScaleChildren Control.Site Control.Size Control.TabIndex Control.TabStop Control.Tag Control.Text Control.Top Control.TopLevelControl Control.ShowKeyboardCues Control.ShowFocusCues Control.UseWaitCursor Control.Visible Control.Width Control.PreferredSize Control.Padding Control.DefaultImeMode Control.ImeMode Control.ImeModeBase Control.PropagatingImeMode Control.BackColorChanged Control.BackgroundImageChanged Control.BackgroundImageLayoutChanged Control.BindingContextChanged Control.CausesValidationChanged Control.ClientSizeChanged Control.ContextMenuStripChanged Control.CursorChanged Control.DockChanged Control.EnabledChanged Control.FontChanged Control.ForeColorChanged Control.LocationChanged Control.MarginChanged Control.RegionChanged Control.RightToLeftChanged Control.SizeChanged Control.TabIndexChanged Control.TabStopChanged Control.TextChanged Control.VisibleChanged Control.Click Control.ControlAdded Control.ControlRemoved Control.DataContextChanged Control.DragDrop Control.DragEnter Control.DragOver Control.DragLeave Control.GiveFeedback Control.HandleCreated Control.HandleDestroyed Control.HelpRequested Control.Invalidated Control.PaddingChanged Control.Paint Control.QueryContinueDrag Control.QueryAccessibilityHelp Control.DoubleClick Control.Enter Control.GotFocus Control.KeyDown Control.KeyPress Control.KeyUp Control.Layout Control.Leave Control.LostFocus Control.MouseClick Control.MouseDoubleClick Control.MouseCaptureChanged Control.MouseDown Control.MouseEnter Control.MouseLeave Control.DpiChangedBeforeParent Control.DpiChangedAfterParent Control.MouseHover Control.MouseMove Control.MouseUp Control.MouseWheel Control.Move Control.PreviewKeyDown Control.Resize Control.ChangeUICues Control.StyleChanged Control.SystemColorsChanged Control.Validating Control.Validated Control.ParentChanged Control.ImeModeChanged Component.Dispose() Component.GetService(Type) Component.ToString() Component.Container Component.DesignMode Component.Events Component.Disposed MarshalByRefObject.GetLifetimeService() MarshalByRefObject.InitializeLifetimeService() MarshalByRefObject.MemberwiseClone(bool) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Constructors RenderingCanvas(params IDisplayee[]) Ctor. public RenderingCanvas(params IDisplayee[] displayees) Parameters displayees IDisplayee[] displayees Properties DispEngine DispEngine. public DispEngine DispEngine { get; } Property Value DispEngine Methods Dispose(bool) Clean up any resources being used. protected override void Dispose(bool disposing) Parameters disposing bool true if managed resources should be disposed; otherwise, false. IsInputKey(Keys) Determines whether the specified key is a regular input key or a special key that requires preprocessing. protected override bool IsInputKey(Keys keyData) Parameters keyData Keys One of the Keys values. Returns bool true if the specified key is a regular input key; otherwise, false. WndProc(ref Message) Processes Windows messages. protected override void WndProc(ref Message m) Parameters m Message The Windows Message to process."
},
"api/Hi.WinForm.Disp.RenderingForm.html": {
"href": "api/Hi.WinForm.Disp.RenderingForm.html",
"title": "Class RenderingForm | HiAPI-C# 2025",
- "summary": "Class RenderingForm Namespace Hi.WinForm.Disp Assembly Hi.WinForm.dll A Form contains RenderingCanvas. This class is usually used for debug due to its simplicity. public class RenderingForm : Form, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable, IContainerControl, IGetDispEngine Inheritance object MarshalByRefObject Component Control ScrollableControl ContainerControl Form RenderingForm Implements IDropTarget ISynchronizeInvoke IWin32Window IBindableComponent IComponent IDisposable IContainerControl IGetDispEngine Inherited Members Form.SetVisibleCore(bool) Form.OnFormCornerPreferenceChanged(EventArgs) Form.OnFormBorderColorChanged(EventArgs) Form.OnFormCaptionBackColorChanged(EventArgs) Form.OnFormCaptionTextColorChanged(EventArgs) Form.Activate() Form.ActivateMdiChild(Form) Form.AddOwnedForm(Form) Form.AdjustFormScrollbars(bool) Form.Close() Form.CreateAccessibilityInstance() Form.CreateControlsInstance() Form.CreateHandle() Form.DefWndProc(ref Message) Form.ProcessMnemonic(char) Form.CenterToParent() Form.CenterToScreen() Form.LayoutMdi(MdiLayout) Form.OnActivated(EventArgs) Form.OnBackgroundImageChanged(EventArgs) Form.OnBackgroundImageLayoutChanged(EventArgs) Form.OnClosing(CancelEventArgs) Form.OnClosed(EventArgs) Form.OnFormClosing(FormClosingEventArgs) Form.OnFormClosed(FormClosedEventArgs) Form.OnCreateControl() Form.OnDeactivate(EventArgs) Form.OnEnabledChanged(EventArgs) Form.OnEnter(EventArgs) Form.OnFontChanged(EventArgs) Form.OnGotFocus(EventArgs) Form.OnHandleCreated(EventArgs) Form.OnHandleDestroyed(EventArgs) Form.OnHelpButtonClicked(CancelEventArgs) Form.OnLayout(LayoutEventArgs) Form.OnLoad(EventArgs) Form.OnMaximizedBoundsChanged(EventArgs) Form.OnMaximumSizeChanged(EventArgs) Form.OnMinimumSizeChanged(EventArgs) Form.OnInputLanguageChanged(InputLanguageChangedEventArgs) Form.OnInputLanguageChanging(InputLanguageChangingEventArgs) Form.OnVisibleChanged(EventArgs) Form.OnMdiChildActivate(EventArgs) Form.OnMenuStart(EventArgs) Form.OnMenuComplete(EventArgs) Form.OnPaint(PaintEventArgs) Form.OnResize(EventArgs) Form.OnDpiChanged(DpiChangedEventArgs) Form.OnGetDpiScaledSize(int, int, ref Size) Form.OnRightToLeftLayoutChanged(EventArgs) Form.OnShown(EventArgs) Form.OnTextChanged(EventArgs) Form.ProcessCmdKey(ref Message, Keys) Form.ProcessDialogKey(Keys) Form.ProcessDialogChar(char) Form.ProcessKeyPreview(ref Message) Form.ProcessTabKey(bool) Form.RemoveOwnedForm(Form) Form.Select(bool, bool) Form.ScaleMinMaxSize(float, float, bool) Form.GetScaledBounds(Rectangle, SizeF, BoundsSpecified) Form.ScaleControl(SizeF, BoundsSpecified) Form.SetBoundsCore(int, int, int, int, BoundsSpecified) Form.SetClientSizeCore(int, int) Form.SetDesktopBounds(int, int, int, int) Form.SetDesktopLocation(int, int) Form.Show(IWin32Window) Form.ShowAsync(IWin32Window) Form.ShowDialog() Form.ShowDialog(IWin32Window) Form.ShowDialogAsync() Form.ShowDialogAsync(IWin32Window) Form.ToString() Form.UpdateDefaultButton() Form.OnResizeBegin(EventArgs) Form.OnResizeEnd(EventArgs) Form.OnStyleChanged(EventArgs) Form.ValidateChildren() Form.ValidateChildren(ValidationConstraints) Form.WndProc(ref Message) Form.AcceptButton Form.ActiveForm Form.ActiveMdiChild Form.AllowTransparency Form.AutoScroll Form.AutoSize Form.AutoSizeMode Form.AutoValidate Form.BackColor Form.FormBorderStyle Form.CancelButton Form.ClientSize Form.ControlBox Form.CreateParams Form.DefaultImeMode Form.DefaultSize Form.DesktopBounds Form.DesktopLocation Form.DialogResult Form.HelpButton Form.Icon Form.IsMdiChild Form.IsMdiContainer Form.IsRestrictedWindow Form.KeyPreview Form.Location Form.MaximizedBounds Form.MaximumSize Form.MainMenuStrip Form.MinimumSize Form.MaximizeBox Form.MdiChildren Form.MdiChildrenMinimizedAnchorBottom Form.MdiParent Form.MinimizeBox Form.Modal Form.Opacity Form.OwnedForms Form.Owner Form.RestoreBounds Form.RightToLeftLayout Form.ShowInTaskbar Form.ShowIcon Form.ShowWithoutActivation Form.Size Form.SizeGripStyle Form.StartPosition Form.Text Form.TopLevel Form.TopMost Form.TransparencyKey Form.FormCornerPreference Form.FormBorderColor Form.FormCaptionBackColor Form.FormCaptionTextColor Form.WindowState Form.AutoSizeChanged Form.AutoValidateChanged Form.HelpButtonClicked Form.MaximizedBoundsChanged Form.MaximumSizeChanged Form.MinimumSizeChanged Form.Activated Form.Deactivate Form.FormClosing Form.FormBorderColorChanged Form.FormCaptionBackColorChanged Form.FormCaptionTextColorChanged Form.FormCornerPreferenceChanged Form.FormClosed Form.Load Form.MdiChildActivate Form.MenuComplete Form.MenuStart Form.InputLanguageChanged Form.InputLanguageChanging Form.RightToLeftLayoutChanged Form.Shown Form.DpiChanged Form.ResizeBegin Form.ResizeEnd ContainerControl.OnAutoValidateChanged(EventArgs) ContainerControl.OnMove(EventArgs) ContainerControl.OnParentChanged(EventArgs) ContainerControl.PerformAutoScale() ContainerControl.RescaleConstantsForDpi(int, int) ContainerControl.Validate() ContainerControl.Validate(bool) ContainerControl.AutoScaleDimensions ContainerControl.AutoScaleFactor ContainerControl.AutoScaleMode ContainerControl.BindingContext ContainerControl.CanEnableIme ContainerControl.ActiveControl ContainerControl.CurrentAutoScaleDimensions ContainerControl.ParentForm ScrollableControl.ScrollStateAutoScrolling ScrollableControl.ScrollStateHScrollVisible ScrollableControl.ScrollStateVScrollVisible ScrollableControl.ScrollStateUserHasScrolled ScrollableControl.ScrollStateFullDrag ScrollableControl.GetScrollState(int) ScrollableControl.OnMouseWheel(MouseEventArgs) ScrollableControl.OnRightToLeftChanged(EventArgs) ScrollableControl.OnPaintBackground(PaintEventArgs) ScrollableControl.OnPaddingChanged(EventArgs) ScrollableControl.SetDisplayRectLocation(int, int) ScrollableControl.ScrollControlIntoView(Control) ScrollableControl.ScrollToControl(Control) ScrollableControl.OnScroll(ScrollEventArgs) ScrollableControl.SetAutoScrollMargin(int, int) ScrollableControl.SetScrollState(int, bool) ScrollableControl.AutoScrollMargin ScrollableControl.AutoScrollPosition ScrollableControl.AutoScrollMinSize ScrollableControl.DisplayRectangle ScrollableControl.HScroll ScrollableControl.HorizontalScroll ScrollableControl.VScroll ScrollableControl.VerticalScroll ScrollableControl.Scroll Control.GetAccessibilityObjectById(int) Control.SetAutoSizeMode(AutoSizeMode) Control.GetAutoSizeMode() Control.GetPreferredSize(Size) Control.AccessibilityNotifyClients(AccessibleEvents, int) Control.AccessibilityNotifyClients(AccessibleEvents, int, int) Control.BeginInvoke(Delegate) Control.BeginInvoke(Action) Control.BeginInvoke(Delegate, params object[]) Control.BringToFront() Control.Contains(Control) Control.CreateGraphics() Control.CreateControl() Control.DestroyHandle() Control.DoDragDrop(object, DragDropEffects) Control.DoDragDrop(object, DragDropEffects, Bitmap, Point, bool) Control.DrawToBitmap(Bitmap, Rectangle) Control.EndInvoke(IAsyncResult) Control.FindForm() Control.GetTopLevel() Control.RaiseKeyEvent(object, KeyEventArgs) Control.RaiseMouseEvent(object, MouseEventArgs) Control.Focus() Control.FromChildHandle(nint) Control.FromHandle(nint) Control.GetChildAtPoint(Point, GetChildAtPointSkip) Control.GetChildAtPoint(Point) Control.GetContainerControl() Control.GetNextControl(Control, bool) Control.GetStyle(ControlStyles) Control.Hide() Control.InitLayout() Control.Invalidate(Region) Control.Invalidate(Region, bool) Control.Invalidate() Control.Invalidate(bool) Control.Invalidate(Rectangle) Control.Invalidate(Rectangle, bool) Control.Invoke(Action) Control.Invoke(Delegate) Control.Invoke(Delegate, params object[]) Control.Invoke(Func) Control.InvokePaint(Control, PaintEventArgs) Control.InvokePaintBackground(Control, PaintEventArgs) Control.IsKeyLocked(Keys) Control.IsInputChar(char) Control.IsInputKey(Keys) Control.IsMnemonic(char, string) Control.LogicalToDeviceUnits(int) Control.LogicalToDeviceUnits(Size) Control.ScaleBitmapLogicalToDevice(ref Bitmap) Control.NotifyInvalidate(Rectangle) Control.InvokeOnClick(Control, EventArgs) Control.OnAutoSizeChanged(EventArgs) Control.OnBackColorChanged(EventArgs) Control.OnBindingContextChanged(EventArgs) Control.OnCausesValidationChanged(EventArgs) Control.OnContextMenuStripChanged(EventArgs) Control.OnCursorChanged(EventArgs) Control.OnDataContextChanged(EventArgs) Control.OnDockChanged(EventArgs) Control.OnForeColorChanged(EventArgs) Control.OnNotifyMessage(Message) Control.OnParentBackColorChanged(EventArgs) Control.OnParentBackgroundImageChanged(EventArgs) Control.OnParentBindingContextChanged(EventArgs) Control.OnParentCursorChanged(EventArgs) Control.OnParentDataContextChanged(EventArgs) Control.OnParentEnabledChanged(EventArgs) Control.OnParentFontChanged(EventArgs) Control.OnParentForeColorChanged(EventArgs) Control.OnParentRightToLeftChanged(EventArgs) Control.OnParentVisibleChanged(EventArgs) Control.OnPrint(PaintEventArgs) Control.OnTabIndexChanged(EventArgs) Control.OnTabStopChanged(EventArgs) Control.OnClick(EventArgs) Control.OnClientSizeChanged(EventArgs) Control.OnControlAdded(ControlEventArgs) Control.OnControlRemoved(ControlEventArgs) Control.OnLocationChanged(EventArgs) Control.OnDoubleClick(EventArgs) Control.OnDragEnter(DragEventArgs) Control.OnDragOver(DragEventArgs) Control.OnDragLeave(EventArgs) Control.OnDragDrop(DragEventArgs) Control.OnGiveFeedback(GiveFeedbackEventArgs) Control.InvokeGotFocus(Control, EventArgs) Control.OnHelpRequested(HelpEventArgs) Control.OnInvalidated(InvalidateEventArgs) Control.OnKeyDown(KeyEventArgs) Control.OnKeyPress(KeyPressEventArgs) Control.OnKeyUp(KeyEventArgs) Control.OnLeave(EventArgs) Control.InvokeLostFocus(Control, EventArgs) Control.OnLostFocus(EventArgs) Control.OnMarginChanged(EventArgs) Control.OnMouseDoubleClick(MouseEventArgs) Control.OnMouseClick(MouseEventArgs) Control.OnMouseCaptureChanged(EventArgs) Control.OnMouseDown(MouseEventArgs) Control.OnMouseEnter(EventArgs) Control.OnMouseLeave(EventArgs) Control.OnDpiChangedBeforeParent(EventArgs) Control.OnDpiChangedAfterParent(EventArgs) Control.OnMouseHover(EventArgs) Control.OnMouseMove(MouseEventArgs) Control.OnMouseUp(MouseEventArgs) Control.OnQueryContinueDrag(QueryContinueDragEventArgs) Control.OnRegionChanged(EventArgs) Control.OnPreviewKeyDown(PreviewKeyDownEventArgs) Control.OnSizeChanged(EventArgs) Control.OnChangeUICues(UICuesEventArgs) Control.OnSystemColorsChanged(EventArgs) Control.OnValidating(CancelEventArgs) Control.OnValidated(EventArgs) Control.PerformLayout() Control.PerformLayout(Control, string) Control.PointToClient(Point) Control.PointToScreen(Point) Control.PreProcessMessage(ref Message) Control.PreProcessControlMessage(ref Message) Control.ProcessKeyEventArgs(ref Message) Control.ProcessKeyMessage(ref Message) Control.RaiseDragEvent(object, DragEventArgs) Control.RaisePaintEvent(object, PaintEventArgs) Control.RecreateHandle() Control.RectangleToClient(Rectangle) Control.RectangleToScreen(Rectangle) Control.ReflectMessage(nint, ref Message) Control.Refresh() Control.ResetMouseEventArgs() Control.ResetText() Control.ResumeLayout() Control.ResumeLayout(bool) Control.Scale(SizeF) Control.Select() Control.SelectNextControl(Control, bool, bool, bool, bool) Control.SendToBack() Control.SetBounds(int, int, int, int) Control.SetBounds(int, int, int, int, BoundsSpecified) Control.SizeFromClientSize(Size) Control.SetStyle(ControlStyles, bool) Control.SetTopLevel(bool) Control.RtlTranslateAlignment(HorizontalAlignment) Control.RtlTranslateAlignment(LeftRightAlignment) Control.RtlTranslateAlignment(ContentAlignment) Control.RtlTranslateHorizontal(HorizontalAlignment) Control.RtlTranslateLeftRight(LeftRightAlignment) Control.RtlTranslateContent(ContentAlignment) Control.Show() Control.SuspendLayout() Control.Update() Control.UpdateBounds() Control.UpdateBounds(int, int, int, int) Control.UpdateBounds(int, int, int, int, int, int) Control.UpdateZOrder() Control.UpdateStyles() Control.OnImeModeChanged(EventArgs) Control.InvokeAsync(Action, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func>, CancellationToken) Control.AccessibilityObject Control.AccessibleDefaultActionDescription Control.AccessibleDescription Control.AccessibleName Control.AccessibleRole Control.AllowDrop Control.Anchor Control.AutoScrollOffset Control.LayoutEngine Control.DataContext Control.BackgroundImage Control.BackgroundImageLayout Control.Bottom Control.Bounds Control.CanFocus Control.CanRaiseEvents Control.CanSelect Control.Capture Control.CausesValidation Control.CheckForIllegalCrossThreadCalls Control.ClientRectangle Control.CompanyName Control.ContainsFocus Control.ContextMenuStrip Control.Controls Control.Created Control.Cursor Control.DataBindings Control.DefaultBackColor Control.DefaultCursor Control.DefaultFont Control.DefaultForeColor Control.DefaultMargin Control.DefaultMaximumSize Control.DefaultMinimumSize Control.DefaultPadding Control.DeviceDpi Control.IsDisposed Control.Disposing Control.Dock Control.DoubleBuffered Control.Enabled Control.Focused Control.Font Control.FontHeight Control.ForeColor Control.Handle Control.HasChildren Control.Height Control.IsHandleCreated Control.InvokeRequired Control.IsAccessible Control.IsAncestorSiteInDesignMode Control.IsMirrored Control.Left Control.Margin Control.ModifierKeys Control.MouseButtons Control.MousePosition Control.Name Control.Parent Control.ProductName Control.ProductVersion Control.RecreatingHandle Control.Region Control.RenderRightToLeft Control.ResizeRedraw Control.Right Control.RightToLeft Control.ScaleChildren Control.Site Control.TabIndex Control.TabStop Control.Tag Control.Top Control.TopLevelControl Control.ShowKeyboardCues Control.ShowFocusCues Control.UseWaitCursor Control.Visible Control.Width Control.PreferredSize Control.Padding Control.ImeMode Control.ImeModeBase Control.PropagatingImeMode Control.BackColorChanged Control.BackgroundImageChanged Control.BackgroundImageLayoutChanged Control.BindingContextChanged Control.CausesValidationChanged Control.ClientSizeChanged Control.ContextMenuStripChanged Control.CursorChanged Control.DockChanged Control.EnabledChanged Control.FontChanged Control.ForeColorChanged Control.LocationChanged Control.MarginChanged Control.RegionChanged Control.RightToLeftChanged Control.SizeChanged Control.TabIndexChanged Control.TabStopChanged Control.TextChanged Control.VisibleChanged Control.Click Control.ControlAdded Control.ControlRemoved Control.DataContextChanged Control.DragDrop Control.DragEnter Control.DragOver Control.DragLeave Control.GiveFeedback Control.HandleCreated Control.HandleDestroyed Control.HelpRequested Control.Invalidated Control.PaddingChanged Control.Paint Control.QueryContinueDrag Control.QueryAccessibilityHelp Control.DoubleClick Control.Enter Control.GotFocus Control.KeyDown Control.KeyPress Control.KeyUp Control.Layout Control.Leave Control.LostFocus Control.MouseClick Control.MouseDoubleClick Control.MouseCaptureChanged Control.MouseDown Control.MouseEnter Control.MouseLeave Control.DpiChangedBeforeParent Control.DpiChangedAfterParent Control.MouseHover Control.MouseMove Control.MouseUp Control.MouseWheel Control.Move Control.PreviewKeyDown Control.Resize Control.ChangeUICues Control.StyleChanged Control.SystemColorsChanged Control.Validating Control.Validated Control.ParentChanged Control.ImeModeChanged Component.Dispose() Component.GetService(Type) Component.Container Component.DesignMode Component.Events Component.Disposed MarshalByRefObject.GetLifetimeService() MarshalByRefObject.InitializeLifetimeService() MarshalByRefObject.MemberwiseClone(bool) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties Displayee public IDisplayee Displayee { get; set; } Property Value IDisplayee DisplayerMap See Call(string, params IDisplayee[]) to get the information. public static ConcurrentDictionary DisplayerMap { get; } Property Value ConcurrentDictionary RenderingCanvas The contained RenderingCanvas. public RenderingCanvas RenderingCanvas { get; } Property Value RenderingCanvas Methods Call(string, params IDisplayee[]) Create and obtain a RenderingForm if the key has not existed; Otherwise, the old one is obtained. displayees are set to the obtained RenderingForm. The dictionary of this function is DisplayerMap. public static RenderingForm Call(string key, params IDisplayee[] displayees) Parameters key string key displayees IDisplayee[] The displayees set to the obtained RenderingForm. Returns RenderingForm A RenderingForm obtained by the key. Dispose(bool) Clean up any resources being used. protected override void Dispose(bool disposing) Parameters disposing bool true if managed resources should be disposed; otherwise, false. GetDispEngine() Get DispEngine. public DispEngine GetDispEngine() Returns DispEngine DispEngine"
+ "summary": "Class RenderingForm Namespace Hi.WinForm.Disp Assembly Hi.WinForm.dll A Form contains RenderingCanvas. This class is usually used for debug due to its simplicity. public class RenderingForm : Form, IDropTarget, ISynchronizeInvoke, IWin32Window, IBindableComponent, IComponent, IDisposable, IContainerControl, IGetDispEngine Inheritance object MarshalByRefObject Component Control ScrollableControl ContainerControl Form RenderingForm Implements IDropTarget ISynchronizeInvoke IWin32Window IBindableComponent IComponent IDisposable IContainerControl IGetDispEngine Inherited Members Form.SetVisibleCore(bool) Form.OnFormCornerPreferenceChanged(EventArgs) Form.OnFormBorderColorChanged(EventArgs) Form.OnFormCaptionBackColorChanged(EventArgs) Form.OnFormCaptionTextColorChanged(EventArgs) Form.Activate() Form.ActivateMdiChild(Form) Form.AddOwnedForm(Form) Form.AdjustFormScrollbars(bool) Form.Close() Form.CreateAccessibilityInstance() Form.CreateControlsInstance() Form.CreateHandle() Form.DefWndProc(ref Message) Form.ProcessMnemonic(char) Form.CenterToParent() Form.CenterToScreen() Form.LayoutMdi(MdiLayout) Form.OnActivated(EventArgs) Form.OnBackgroundImageChanged(EventArgs) Form.OnBackgroundImageLayoutChanged(EventArgs) Form.OnFormClosing(FormClosingEventArgs) Form.OnFormClosed(FormClosedEventArgs) Form.OnCreateControl() Form.OnDeactivate(EventArgs) Form.OnEnabledChanged(EventArgs) Form.OnEnter(EventArgs) Form.OnFontChanged(EventArgs) Form.OnGotFocus(EventArgs) Form.OnHandleCreated(EventArgs) Form.OnHandleDestroyed(EventArgs) Form.OnHelpButtonClicked(CancelEventArgs) Form.OnLayout(LayoutEventArgs) Form.OnLoad(EventArgs) Form.OnMaximizedBoundsChanged(EventArgs) Form.OnMaximumSizeChanged(EventArgs) Form.OnMinimumSizeChanged(EventArgs) Form.OnInputLanguageChanged(InputLanguageChangedEventArgs) Form.OnInputLanguageChanging(InputLanguageChangingEventArgs) Form.OnVisibleChanged(EventArgs) Form.OnMdiChildActivate(EventArgs) Form.OnMenuStart(EventArgs) Form.OnMenuComplete(EventArgs) Form.OnPaint(PaintEventArgs) Form.OnResize(EventArgs) Form.OnDpiChanged(DpiChangedEventArgs) Form.OnGetDpiScaledSize(int, int, ref Size) Form.OnRightToLeftLayoutChanged(EventArgs) Form.OnShown(EventArgs) Form.OnTextChanged(EventArgs) Form.ProcessCmdKey(ref Message, Keys) Form.ProcessDialogKey(Keys) Form.ProcessDialogChar(char) Form.ProcessKeyPreview(ref Message) Form.ProcessTabKey(bool) Form.RemoveOwnedForm(Form) Form.Select(bool, bool) Form.ScaleMinMaxSize(float, float, bool) Form.GetScaledBounds(Rectangle, SizeF, BoundsSpecified) Form.ScaleControl(SizeF, BoundsSpecified) Form.SetBoundsCore(int, int, int, int, BoundsSpecified) Form.SetClientSizeCore(int, int) Form.SetDesktopBounds(int, int, int, int) Form.SetDesktopLocation(int, int) Form.Show(IWin32Window) Form.ShowAsync(IWin32Window) Form.ShowDialog() Form.ShowDialog(IWin32Window) Form.ShowDialogAsync() Form.ShowDialogAsync(IWin32Window) Form.ToString() Form.UpdateDefaultButton() Form.OnResizeBegin(EventArgs) Form.OnResizeEnd(EventArgs) Form.OnStyleChanged(EventArgs) Form.ValidateChildren() Form.ValidateChildren(ValidationConstraints) Form.WndProc(ref Message) Form.AcceptButton Form.ActiveForm Form.ActiveMdiChild Form.AllowTransparency Form.AutoScroll Form.AutoSize Form.AutoSizeMode Form.AutoValidate Form.BackColor Form.FormBorderStyle Form.CancelButton Form.ClientSize Form.ControlBox Form.CreateParams Form.DefaultImeMode Form.DefaultSize Form.DesktopBounds Form.DesktopLocation Form.DialogResult Form.HelpButton Form.Icon Form.IsMdiChild Form.IsMdiContainer Form.IsRestrictedWindow Form.KeyPreview Form.Location Form.MaximizedBounds Form.MaximumSize Form.MainMenuStrip Form.MinimumSize Form.MaximizeBox Form.MdiChildren Form.MdiChildrenMinimizedAnchorBottom Form.MdiParent Form.MinimizeBox Form.Modal Form.Opacity Form.OwnedForms Form.Owner Form.RestoreBounds Form.RightToLeftLayout Form.FormScreenCaptureMode Form.ShowInTaskbar Form.ShowIcon Form.ShowWithoutActivation Form.Size Form.SizeGripStyle Form.StartPosition Form.Text Form.TopLevel Form.TopMost Form.TransparencyKey Form.FormCornerPreference Form.FormBorderColor Form.FormCaptionBackColor Form.FormCaptionTextColor Form.WindowState Form.AutoSizeChanged Form.AutoValidateChanged Form.HelpButtonClicked Form.MaximizedBoundsChanged Form.MaximumSizeChanged Form.MinimumSizeChanged Form.Activated Form.Deactivate Form.FormClosing Form.FormBorderColorChanged Form.FormCaptionBackColorChanged Form.FormCaptionTextColorChanged Form.FormCornerPreferenceChanged Form.FormClosed Form.Load Form.MdiChildActivate Form.MenuComplete Form.MenuStart Form.InputLanguageChanged Form.InputLanguageChanging Form.RightToLeftLayoutChanged Form.Shown Form.DpiChanged Form.ResizeBegin Form.ResizeEnd ContainerControl.OnAutoValidateChanged(EventArgs) ContainerControl.OnMove(EventArgs) ContainerControl.OnParentChanged(EventArgs) ContainerControl.PerformAutoScale() ContainerControl.RescaleConstantsForDpi(int, int) ContainerControl.Validate() ContainerControl.Validate(bool) ContainerControl.AutoScaleDimensions ContainerControl.AutoScaleFactor ContainerControl.AutoScaleMode ContainerControl.BindingContext ContainerControl.CanEnableIme ContainerControl.ActiveControl ContainerControl.CurrentAutoScaleDimensions ContainerControl.ParentForm ScrollableControl.ScrollStateAutoScrolling ScrollableControl.ScrollStateHScrollVisible ScrollableControl.ScrollStateVScrollVisible ScrollableControl.ScrollStateUserHasScrolled ScrollableControl.ScrollStateFullDrag ScrollableControl.GetScrollState(int) ScrollableControl.OnMouseWheel(MouseEventArgs) ScrollableControl.OnRightToLeftChanged(EventArgs) ScrollableControl.OnPaintBackground(PaintEventArgs) ScrollableControl.OnPaddingChanged(EventArgs) ScrollableControl.SetDisplayRectLocation(int, int) ScrollableControl.ScrollControlIntoView(Control) ScrollableControl.ScrollToControl(Control) ScrollableControl.OnScroll(ScrollEventArgs) ScrollableControl.SetAutoScrollMargin(int, int) ScrollableControl.SetScrollState(int, bool) ScrollableControl.AutoScrollMargin ScrollableControl.AutoScrollPosition ScrollableControl.AutoScrollMinSize ScrollableControl.DisplayRectangle ScrollableControl.HScroll ScrollableControl.HorizontalScroll ScrollableControl.VScroll ScrollableControl.VerticalScroll ScrollableControl.Scroll Control.GetAccessibilityObjectById(int) Control.SetAutoSizeMode(AutoSizeMode) Control.GetAutoSizeMode() Control.GetPreferredSize(Size) Control.AccessibilityNotifyClients(AccessibleEvents, int) Control.AccessibilityNotifyClients(AccessibleEvents, int, int) Control.BeginInvoke(Delegate) Control.BeginInvoke(Action) Control.BeginInvoke(Delegate, params object[]) Control.BringToFront() Control.Contains(Control) Control.CreateGraphics() Control.CreateControl() Control.DestroyHandle() Control.DoDragDropAsJson(T, DragDropEffects) Control.DoDragDropAsJson(T, DragDropEffects, Bitmap, Point, bool) Control.DoDragDrop(object, DragDropEffects) Control.DoDragDrop(object, DragDropEffects, Bitmap, Point, bool) Control.DrawToBitmap(Bitmap, Rectangle) Control.EndInvoke(IAsyncResult) Control.FindForm() Control.GetTopLevel() Control.RaiseKeyEvent(object, KeyEventArgs) Control.RaiseMouseEvent(object, MouseEventArgs) Control.Focus() Control.FromChildHandle(nint) Control.FromHandle(nint) Control.GetChildAtPoint(Point, GetChildAtPointSkip) Control.GetChildAtPoint(Point) Control.GetContainerControl() Control.GetNextControl(Control, bool) Control.GetStyle(ControlStyles) Control.Hide() Control.InitLayout() Control.Invalidate(Region) Control.Invalidate(Region, bool) Control.Invalidate() Control.Invalidate(bool) Control.Invalidate(Rectangle) Control.Invalidate(Rectangle, bool) Control.Invoke(Action) Control.Invoke(Delegate) Control.Invoke(Delegate, params object[]) Control.Invoke(Func) Control.InvokePaint(Control, PaintEventArgs) Control.InvokePaintBackground(Control, PaintEventArgs) Control.IsKeyLocked(Keys) Control.IsInputChar(char) Control.IsInputKey(Keys) Control.IsMnemonic(char, string) Control.LogicalToDeviceUnits(int) Control.LogicalToDeviceUnits(Size) Control.ScaleBitmapLogicalToDevice(ref Bitmap) Control.NotifyInvalidate(Rectangle) Control.InvokeOnClick(Control, EventArgs) Control.OnAutoSizeChanged(EventArgs) Control.OnBackColorChanged(EventArgs) Control.OnBindingContextChanged(EventArgs) Control.OnCausesValidationChanged(EventArgs) Control.OnContextMenuStripChanged(EventArgs) Control.OnCursorChanged(EventArgs) Control.OnDataContextChanged(EventArgs) Control.OnDockChanged(EventArgs) Control.OnForeColorChanged(EventArgs) Control.OnNotifyMessage(Message) Control.OnParentBackColorChanged(EventArgs) Control.OnParentBackgroundImageChanged(EventArgs) Control.OnParentBindingContextChanged(EventArgs) Control.OnParentCursorChanged(EventArgs) Control.OnParentDataContextChanged(EventArgs) Control.OnParentEnabledChanged(EventArgs) Control.OnParentFontChanged(EventArgs) Control.OnParentForeColorChanged(EventArgs) Control.OnParentRightToLeftChanged(EventArgs) Control.OnParentVisibleChanged(EventArgs) Control.OnPrint(PaintEventArgs) Control.OnTabIndexChanged(EventArgs) Control.OnTabStopChanged(EventArgs) Control.OnClick(EventArgs) Control.OnClientSizeChanged(EventArgs) Control.OnControlAdded(ControlEventArgs) Control.OnControlRemoved(ControlEventArgs) Control.OnLocationChanged(EventArgs) Control.OnDoubleClick(EventArgs) Control.OnDragEnter(DragEventArgs) Control.OnDragOver(DragEventArgs) Control.OnDragLeave(EventArgs) Control.OnDragDrop(DragEventArgs) Control.OnGiveFeedback(GiveFeedbackEventArgs) Control.InvokeGotFocus(Control, EventArgs) Control.OnHelpRequested(HelpEventArgs) Control.OnInvalidated(InvalidateEventArgs) Control.OnKeyDown(KeyEventArgs) Control.OnKeyPress(KeyPressEventArgs) Control.OnKeyUp(KeyEventArgs) Control.OnLeave(EventArgs) Control.InvokeLostFocus(Control, EventArgs) Control.OnLostFocus(EventArgs) Control.OnMarginChanged(EventArgs) Control.OnMouseDoubleClick(MouseEventArgs) Control.OnMouseClick(MouseEventArgs) Control.OnMouseCaptureChanged(EventArgs) Control.OnMouseDown(MouseEventArgs) Control.OnMouseEnter(EventArgs) Control.OnMouseLeave(EventArgs) Control.OnDpiChangedBeforeParent(EventArgs) Control.OnDpiChangedAfterParent(EventArgs) Control.OnMouseHover(EventArgs) Control.OnMouseMove(MouseEventArgs) Control.OnMouseUp(MouseEventArgs) Control.OnQueryContinueDrag(QueryContinueDragEventArgs) Control.OnRegionChanged(EventArgs) Control.OnPreviewKeyDown(PreviewKeyDownEventArgs) Control.OnSizeChanged(EventArgs) Control.OnChangeUICues(UICuesEventArgs) Control.OnSystemColorsChanged(EventArgs) Control.OnValidating(CancelEventArgs) Control.OnValidated(EventArgs) Control.PerformLayout() Control.PerformLayout(Control, string) Control.PointToClient(Point) Control.PointToScreen(Point) Control.PreProcessMessage(ref Message) Control.PreProcessControlMessage(ref Message) Control.ProcessKeyEventArgs(ref Message) Control.ProcessKeyMessage(ref Message) Control.RaiseDragEvent(object, DragEventArgs) Control.RaisePaintEvent(object, PaintEventArgs) Control.RecreateHandle() Control.RectangleToClient(Rectangle) Control.RectangleToScreen(Rectangle) Control.ReflectMessage(nint, ref Message) Control.Refresh() Control.ResetMouseEventArgs() Control.ResetText() Control.ResumeLayout() Control.ResumeLayout(bool) Control.Scale(SizeF) Control.Select() Control.SelectNextControl(Control, bool, bool, bool, bool) Control.SendToBack() Control.SetBounds(int, int, int, int) Control.SetBounds(int, int, int, int, BoundsSpecified) Control.SizeFromClientSize(Size) Control.SetStyle(ControlStyles, bool) Control.SetTopLevel(bool) Control.RtlTranslateAlignment(HorizontalAlignment) Control.RtlTranslateAlignment(LeftRightAlignment) Control.RtlTranslateAlignment(ContentAlignment) Control.RtlTranslateHorizontal(HorizontalAlignment) Control.RtlTranslateLeftRight(LeftRightAlignment) Control.RtlTranslateContent(ContentAlignment) Control.Show() Control.SuspendLayout() Control.Update() Control.UpdateBounds() Control.UpdateBounds(int, int, int, int) Control.UpdateBounds(int, int, int, int, int, int) Control.UpdateZOrder() Control.UpdateStyles() Control.OnImeModeChanged(EventArgs) Control.InvokeAsync(Action, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func, CancellationToken) Control.InvokeAsync(Func>, CancellationToken) Control.AccessibilityObject Control.AccessibleDefaultActionDescription Control.AccessibleDescription Control.AccessibleName Control.AccessibleRole Control.AllowDrop Control.Anchor Control.AutoScrollOffset Control.LayoutEngine Control.DataContext Control.BackgroundImage Control.BackgroundImageLayout Control.Bottom Control.Bounds Control.CanFocus Control.CanRaiseEvents Control.CanSelect Control.Capture Control.CausesValidation Control.CheckForIllegalCrossThreadCalls Control.ClientRectangle Control.CompanyName Control.ContainsFocus Control.ContextMenuStrip Control.Controls Control.Created Control.Cursor Control.DataBindings Control.DefaultBackColor Control.DefaultCursor Control.DefaultFont Control.DefaultForeColor Control.DefaultMargin Control.DefaultMaximumSize Control.DefaultMinimumSize Control.DefaultPadding Control.DeviceDpi Control.IsDisposed Control.Disposing Control.Dock Control.DoubleBuffered Control.Enabled Control.Focused Control.Font Control.FontHeight Control.ForeColor Control.Handle Control.HasChildren Control.Height Control.IsHandleCreated Control.InvokeRequired Control.IsAccessible Control.IsAncestorSiteInDesignMode Control.IsMirrored Control.Left Control.Margin Control.ModifierKeys Control.MouseButtons Control.MousePosition Control.Name Control.Parent Control.ProductName Control.ProductVersion Control.RecreatingHandle Control.Region Control.RenderRightToLeft Control.ResizeRedraw Control.Right Control.RightToLeft Control.ScaleChildren Control.Site Control.TabIndex Control.TabStop Control.Tag Control.Top Control.TopLevelControl Control.ShowKeyboardCues Control.ShowFocusCues Control.UseWaitCursor Control.Visible Control.Width Control.PreferredSize Control.Padding Control.ImeMode Control.ImeModeBase Control.PropagatingImeMode Control.BackColorChanged Control.BackgroundImageChanged Control.BackgroundImageLayoutChanged Control.BindingContextChanged Control.CausesValidationChanged Control.ClientSizeChanged Control.ContextMenuStripChanged Control.CursorChanged Control.DockChanged Control.EnabledChanged Control.FontChanged Control.ForeColorChanged Control.LocationChanged Control.MarginChanged Control.RegionChanged Control.RightToLeftChanged Control.SizeChanged Control.TabIndexChanged Control.TabStopChanged Control.TextChanged Control.VisibleChanged Control.Click Control.ControlAdded Control.ControlRemoved Control.DataContextChanged Control.DragDrop Control.DragEnter Control.DragOver Control.DragLeave Control.GiveFeedback Control.HandleCreated Control.HandleDestroyed Control.HelpRequested Control.Invalidated Control.PaddingChanged Control.Paint Control.QueryContinueDrag Control.QueryAccessibilityHelp Control.DoubleClick Control.Enter Control.GotFocus Control.KeyDown Control.KeyPress Control.KeyUp Control.Layout Control.Leave Control.LostFocus Control.MouseClick Control.MouseDoubleClick Control.MouseCaptureChanged Control.MouseDown Control.MouseEnter Control.MouseLeave Control.DpiChangedBeforeParent Control.DpiChangedAfterParent Control.MouseHover Control.MouseMove Control.MouseUp Control.MouseWheel Control.Move Control.PreviewKeyDown Control.Resize Control.ChangeUICues Control.StyleChanged Control.SystemColorsChanged Control.Validating Control.Validated Control.ParentChanged Control.ImeModeChanged Component.Dispose() Component.GetService(Type) Component.Container Component.DesignMode Component.Events Component.Disposed MarshalByRefObject.GetLifetimeService() MarshalByRefObject.InitializeLifetimeService() MarshalByRefObject.MemberwiseClone(bool) object.Equals(object) object.Equals(object, object) object.GetHashCode() object.GetType() object.MemberwiseClone() object.ReferenceEquals(object, object) Extension Methods DuplicateUtil.TryDuplicate(TSelf, params object[]) InvokeUtil.SelfInvoke(TSrc, Action) InvokeUtil.SelfInvoke(TSrc, Func) ColorUtil.GetGloomyColor(object, double, double) NameUtil.GetSelectionName(object) StringUtil.GetPropertyStringIfToStringNotOverloaded(object, bool, bool) LockUtil.Lock(object) Properties Displayee public IDisplayee Displayee { get; set; } Property Value IDisplayee DisplayerMap See Call(string, params IDisplayee[]) to get the information. public static ConcurrentDictionary DisplayerMap { get; } Property Value ConcurrentDictionary RenderingCanvas The contained RenderingCanvas. public RenderingCanvas RenderingCanvas { get; } Property Value RenderingCanvas Methods Call(string, params IDisplayee[]) Create and obtain a RenderingForm if the key has not existed; Otherwise, the old one is obtained. displayees are set to the obtained RenderingForm. The dictionary of this function is DisplayerMap. public static RenderingForm Call(string key, params IDisplayee[] displayees) Parameters key string key displayees IDisplayee[] The displayees set to the obtained RenderingForm. Returns RenderingForm A RenderingForm obtained by the key. Dispose(bool) Clean up any resources being used. protected override void Dispose(bool disposing) Parameters disposing bool true if managed resources should be disposed; otherwise, false. GetDispEngine() Get DispEngine. public DispEngine GetDispEngine() Returns DispEngine DispEngine"
},
"api/Hi.WinForm.Disp.html": {
"href": "api/Hi.WinForm.Disp.html",
@@ -4817,12 +4817,12 @@
"brief/dev-doc/build-hinc/initialize-hiapi.html": {
"href": "brief/dev-doc/build-hinc/initialize-hiapi.html",
"title": "Initialize HiAPI at Application Entry Point | HiAPI-C# 2025",
- "summary": "Initialize HiAPI at Application Entry Point At the application entry point, you need to initialize HiAPI and set the exiting event. AppEnd() Important Regardless of whether you use the DI-based version or the legacy flow, you must call LocalApp.AppBegin() at application startup and LocalApp.AppEnd() on shutdown to initialize and release licensing, display engine, and background resources."
+ "summary": "Initialize HiAPI at Application Entry Point At the application entry point, you need to initialize HiAPI and set the exiting event. AppBegin AppEnd Important Regardless of whether you use the DI-based version or the legacy flow, you must call LocalApp.AppBegin() at application startup and LocalApp.AppEnd() on shutdown to initialize and release licensing, display engine, and background resources."
},
"brief/dev-doc/build-hinc/main-panel.html": {
"href": "brief/dev-doc/build-hinc/main-panel.html",
"title": "Main Panel | HiAPI-C# 2025",
- "summary": "Main Panel Key Model WPF Single-User Desktop Application: Self-hosted LocalProjectService Web Service Application: Service inherits from IProjectService Other Model: Main Panel Layout Top Navigation Menu Project Menu Dropdown Project Path Text Field New MenuItem Load MenuItem Save MenuItem Save As MenuItem Environment Menu Dropdown Machine Tool MenuItem Open Machine Tool Page Sole window in WPF app. The page manages .. Controller MenuItem Open Controller Page Tool House MenuItem Fixture MenuItem Open Fixture Page Workpiece MenuItem Open Workpiece Page Mission MenuItem Open Mission Page Player MenuItem Link to Player Panel (Not exist on WPF app.) Player Belonged Tool Bars. See Player Panel. Shows only if the Main Panel content is Player Panel. Preference Menu Dropdown Help MenuItem HiAPI Version label A label to show the HiNc library version. Log MenuItem Open Log Viewer to display application logs for the current day. The Log Viewer provides real-time access to system logs with filtering and download capabilities. It reads log files from the server's log directory and presents them in a formatted, searchable interface. Users can refresh the log content or download the current day's log file for offline analysis. Central Page Panel Message Section on Main Panel Behavior of Navigation Menu/Project Project Path Text Field Shows the Project Path if the project is assinged. Tip Project Path Text Field should not be button style. It should be a pure text field that can be selected and copied. The Project Menu Managing MachiningProject. To New (create), Save and Save As the MachiningProject, See DemoBuildGeomOnlyMachiningProject for the example. To Load MachiningProject, See DemoUseMachiningProject for the example. Show message for the actions result (successed or has exception) by MessageHost. Tip Recommmand using static function of MessageHost to do the job. Read document of MessageHost to ensure the proper usage. On project loaded (Navigation Menu/Project/Load MenuItem) , set the Player.Panel.RenderingCanvas.DispEngine to SetViewToIsometricView(). Tip Using async to comfort the process WPF Application Specification Limit the GUI that only single Page/Window existed in the application for the sub window from the Main Panel, include Mission, Workpiece and Fixture. Don't create the Player MenuItem if the target application is WPF Application. Since the Main panel is the Player Panel and the panel is fixed to the main panel. Web-Page Application Specification Apply Player Panel as the default panel. Application Specification and Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow Web Page Application Source Code Path Environments/PreferenceController.cs Environments/ProjectController.cs wwwroot/app.js wwwroot/index.html wwwroot/preference/log-viewer.js Web Page Application Specification The page and URL are bi-directional."
+ "summary": "Main Panel Key Model WPF Single-User Desktop Application: Self-hosted LocalProjectService Web Service Application: Service inherits from IProjectService Other Model: UserService Main Panel Layout Top Navigation Menu Project Menu Dropdown Project Path Text Field New MenuItem Load MenuItem Save MenuItem Save As MenuItem Environment Menu Dropdown Machine Tool MenuItem Open Machine Tool Page Sole window in WPF app. The page manages MachiningEquipment.MachiningChain. Controller MenuItem Open Controller Page Tool House MenuItem Fixture MenuItem Open Fixture Page Workpiece MenuItem Open Workpiece Page Mission MenuItem Open Mission Page Player MenuItem Link to Player Panel (Not exist on WPF app.) Player Belonged Tool Bars. See Player Panel. Shows only if the Main Panel content is Player Panel. Preference Menu Dropdown Help MenuItem HiAPI Version label A label to show the HiNc library version. Log MenuItem Open Log Viewer to display application logs for the current day. The Log Viewer provides real-time access to system logs with filtering and download capabilities. It reads log files from the server's log directory and presents them in a formatted, searchable interface. Users can refresh the log content or download the current day's log file for offline analysis. Central Page Panel Message Section on Main Panel Behavior of Navigation Menu/Project Project Path Text Field Shows the Project Path if the project is assinged. Tip Project Path Text Field should not be button style. It should be a pure text field that can be selected and copied. The Project Menu Managing MachiningProject. To New (create), Save and Save As the MachiningProject, See DemoBuildGeomOnlyMachiningProject for the example. To Load MachiningProject, See DemoUseMachiningProject for the example. Show message for the actions result (successed or has exception) by MessageHost. Tip Recommmand using static function of MessageHost to do the job. Read document of MessageHost to ensure the proper usage. On project loaded (Navigation Menu/Project/Load MenuItem) , set the Player.Panel.RenderingCanvas.DispEngine to SetViewToIsometricView(). Tip Using async to comfort the process WPF Application Specification Limit the GUI that only single Page/Window existed in the application for the sub window from the Main Panel, include Mission, Workpiece and Fixture. Don't create the Player MenuItem if the target application is WPF Application. Since the Main panel is the Player Panel and the panel is fixed to the main panel. Web-Page Application Specification Apply Player Panel as the default panel. Application Specification and Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow Web Page Application Source Code Path Environments/PreferenceController.cs Environments/ProjectController.cs wwwroot/app.js wwwroot/index.html wwwroot/preference/log-viewer.js Web Page Application Specification The page and URL are bi-directional."
},
"brief/dev-doc/build-hinc/mech/cutter/apt-profile-panel.html": {
"href": "brief/dev-doc/build-hinc/mech/cutter/apt-profile-panel.html",
@@ -4842,12 +4842,12 @@
"brief/dev-doc/build-hinc/mech/cutter/milling-cutter-panel.html": {
"href": "brief/dev-doc/build-hinc/mech/cutter/milling-cutter-panel.html",
"title": "Milling Cutter Panel | HiAPI-C# 2025",
- "summary": "Milling Cutter Panel The key model is MillingCutter. Layout Milling Cutter Panel Tabs Flute-Profile Tab Upper-Beam Tab Geometry Management Control ExtendedCylinder option is enabled. Property Tab Insert-Cutter Tab Material Tab Flute-Contours Tab Flute-Inner-Beam Tab Optimization Tab Info Tab Name TextField (editable) AbstractNote TextField (readonly) Note TextField (editable) Flute-Profile Tab Profile Type Selection Dropdown APT General (GeneralApt) APT Ball (BallApt) APT Column (ColumnApt) APT Cone (ConeApt) APT Taper (TaperApt) Custom Spinning Profile (CustomSpinningProfile) Profile Configuration Panel Dynamic component based on selected profile type See DemoBuildMachiningProject for creating the apt profile and setting to the cutter. See APT Panel for APT-based Profile Configuration Panel. The APT series option is all wrap by AptProfile but with different property AptProfile.Apt assigned. Custom Spinning Profile Panel Geometry Management Control Property Tab Visible if . is true. Integral Mode Selection Dropdown Solid End Insert End Cutter/Shank Mass Input Field (g) Show the label ‘Cutter Mass’ if the Cutter is Solid End Integral Mode; Show the label ‘Shank Mass’ if the Cutter is Insert End Integral Mode. Value format “G4” Auto Update CheckBox The model is ShankMassAssignmentMode. When enabled: field becomes readonly and shows calculated value. When disabled: field is editable Functionality Note: The value is calculate by the volume and density. The volume is the inner beam volume and the upper beam volume. Hone Radius (μm) Input Field Relief Angle (deg) Input Field Minimum Available Cutting Thickness (μm) Readonly field with format “G4” Shows calculated value from GetMinimumUncutChipThickness_um(ICuttingPara). The argument (cutting parameter) is obtained by the MachiningProject..CuttingPara. Series pass the models by the GUI if needed. Note Label Show Workpiece Cutting Parameter Name. Label Text \"Reference: Workpiece Cutting Parameter - {CuttingPara.Name}\". Since the thickness depdents on the Workpiece Cutting Parameter and hone radius. Insert-Cutter Tab Visible if . is true and Integral Mode is Insert End. Insert Number Input field Insert Mass Input field (g) Format “G4” Insert Thickness Input field (mm) Format “G4” The Insert Thickness is for computing heat transfer. Material Tab Visible if . is true. Shank Material (visible only for Integral Mode is Insert End mode) Material File Selector Apply IStructureMaterial Menu Dropdown Browse Button Browse Resource Button Readonly Name TextBox (Name) ToolTip by Note from the material Flute Material Material File Selector Apply CutterMaterial Menu Dropdown Browse Button Browse Resource Button Readonly Name TextBox (Name) ToolTip by Note from the material Coating Panel Show note that the sequence starts from surface, i.e. from outer to inner. Manages CoatingLayerList Exists sequence management. The first layer has the remark: Air-Exposing Coating. ThermalLayer1D Component Tip Keep the child components to one line. After Coating Material is manual loaded, set the PreferedThickness_um to the Length_um and update the corresponding field. Coating Material Material File Selector Apply CoatingMaterial Menu Dropdown Browse Button Browse Resource Button Readonly Name TextBox (Name) ToolTip by Note from the material Thickness Input Field (um) (editable) Length_um Use format “G4” If the cutter is Solid End, the Shank Material should keep the same with Flute Material. i.e. Set the Shank Material when Flute Material set. Default Resource The default resources of Material exist in Resource folder under application folder (Not project folder). Set the corresponding default folder of the File Selector to the Resource sub folder: “Resource/StructureMaterial” “Resource/CutterMaterial” “Resource/CoatingMaterial” Flute-Contours Tab Visible if . is true. This part manages FluteContourTray. Contour Tray Selection Dropdown Uniform Contour Tray (UniformContourTray) Free Contour Tray (FreeContourTray) Unset Contour Tray Configuration Panel Dynamic component based on selected contour tray type For Uniform Contour Tray: Track Number Input Field Baseline Contour Configuration //building For Free Contour Tray: Individual contour configuration for each flute //building Add/Remove contour controls Flute-Inner-Beam Tab Visible if . is true. This part manages InnerBeamProfile. Profile Type Selection Dropdown Flute Dependent Ratio Profile (FluteDependentRatioProfile) Const Ratio Profile (ConstRatioProfile) Custom Spinning Profile (CustomSpinningProfile) Unset Profile Configuration Panel Dynamic component based on selected profile type For Flute Dependent Ratio Profile: Radius Ratio Number Field (readonly) Label also shows the additional information: ‘Dependent on flute num xxx’, the ‘xxx’ is the flute number that pass by MillingCutter.FluteContourTray. Series pass the model by the GUI if needed. For Const Ratio Profile: Radius Ratio Number Field (editable) For Custom Spinning Profile: Geometry Management Control Optimization Tab Visible if . is true. This part manages MillingCutterOptOption. Enable Optimization Checkbox Controls whether optimization limits are active When optimization is enabled: Limit by Theoretical Minimum Feed Per Tooth Checkbox Shows calculated minimum uncut chip thickness value. To get the value, MachiningProject..CuttingPara and MillingCutter are required. Series pass the model by the GUI if needed. When checked, enforces minimum feed constraint Min Feed Per Tooth (mm) Number Field Step (If UI supported): 0.01 Max Feed Per Tooth (mm) Number Field Step (If UI supported): 0.01 Safety Factor for Yielding Number Field Step (If UI supported): 0.1 Default value typically around 2.0 Source Code Path See this page for git repository. WPF Application Source Code Path Mech/ToolHouse/MillingCutterPanel Mech/ToolHouse/AptProfilePanel Mech/ToolHouse/MaterialTabPanel Mech/ToolHouse/PropertyTabPanel Web Page Application Source Code Path wwwroot/mech/cutter/milling-cutter-panel.js wwwroot/mech/cutter/apt-profile-panel.js wwwroot/mech/cutter/material-tab-panel.js wwwroot/mech/cutter/property-tab-panel.js Controller/Mech/MechController.cs"
+ "summary": "Milling Cutter Panel The key model is MillingCutter. Layout Milling Cutter Panel Tabs Flute-Profile Tab Upper-Beam Tab Geometry Management Control ExtendedCylinder option is enabled. Property Tab Insert-Cutter Tab Material Tab Flute-Contours Tab Flute-Inner-Beam Tab Optimization Tab Info Tab Name TextField (editable) AbstractNote TextField (readonly) Note TextField (editable) Flute-Profile Tab Profile Type Selection Dropdown APT General (GeneralApt) APT Ball (BallApt) APT Column (ColumnApt) APT Cone (ConeApt) APT Taper (TaperApt) Custom Spinning Profile (CustomSpinningProfile) Profile Configuration Panel Dynamic component based on selected profile type See DemoBuildMachiningProject for creating the apt profile and setting to the cutter. See APT Panel for APT-based Profile Configuration Panel. The APT series option is all wrap by AptProfile but with different property AptProfile.Apt assigned. Custom Spinning Profile Panel Geometry Management Control Property Tab Visible if EnablePhysics is true. Integral Mode Selection Dropdown Solid End Insert End Cutter/Shank Mass Input Field (g) Show the label ‘Cutter Mass’ if the Cutter is Solid End Integral Mode; Show the label ‘Shank Mass’ if the Cutter is Insert End Integral Mode. Value format “G4” Auto Update CheckBox The model is ShankMassAssignmentMode. When enabled: field becomes readonly and shows calculated value. When disabled: field is editable Functionality Note: The value is calculate by the volume and density. The volume is the inner beam volume and the upper beam volume. Hone Radius (μm) Input Field Relief Angle (deg) Input Field Minimum Available Cutting Thickness (μm) Readonly field with format “G4” Shows calculated value from GetMinimumUncutChipThickness_um(ICuttingPara). The argument (cutting parameter) is obtained by the Workpiece.CuttingPara. Series pass the models by the GUI if needed. Note Label Show Workpiece Cutting Parameter Name. Label Text \"Reference: Workpiece Cutting Parameter - {CuttingPara.Name}\". Since the thickness depdents on the Workpiece Cutting Parameter and hone radius. Insert-Cutter Tab Visible if EnablePhysics is true and Integral Mode is Insert End. Insert Number Input field Insert Mass Input field (g) Format “G4” Insert Thickness Input field (mm) Format “G4” The Insert Thickness is for computing heat transfer. Material Tab Visible if EnablePhysics is true. Shank Material (visible only for Integral Mode is Insert End mode) Material File Selector Apply IStructureMaterial Menu Dropdown Browse Button Browse Resource Button Readonly Name TextBox (Name) ToolTip by Note from the material Flute Material Material File Selector Apply CutterMaterial Menu Dropdown Browse Button Browse Resource Button Readonly Name TextBox (Name) ToolTip by Note from the material Coating Panel Show note that the sequence starts from surface, i.e. from outer to inner. Manages CoatingLayerList Exists sequence management. The first layer has the remark: Air-Exposing Coating. ThermalLayer1D Component Tip Keep the child components to one line. After Coating Material is manual loaded, set the PreferedThickness_um to the Length_um and update the corresponding field. Coating Material Material File Selector Apply CoatingMaterial Menu Dropdown Browse Button Browse Resource Button Readonly Name TextBox (Name) ToolTip by Note from the material Thickness Input Field (um) (editable) Length_um Use format “G4” If the cutter is Solid End, the Shank Material should keep the same with Flute Material. i.e. Set the Shank Material when Flute Material set. Default Resource The default resources of Material exist in Resource folder under application folder (Not project folder). Set the corresponding default folder of the File Selector to the Resource sub folder: “Resource/StructureMaterial” “Resource/CutterMaterial” “Resource/CoatingMaterial” Flute-Contours Tab Visible if EnablePhysics is true. This part manages FluteContourTray. Contour Tray Selection Dropdown Uniform Contour Tray (UniformContourTray) Free Contour Tray (FreeContourTray) Unset Contour Tray Configuration Panel Dynamic component based on selected contour tray type For Uniform Contour Tray: Track Number Input Field Baseline Contour Configuration //building For Free Contour Tray: Individual contour configuration for each flute //building Add/Remove contour controls Flute-Inner-Beam Tab Visible if EnablePhysics is true. This part manages InnerBeamProfile. Profile Type Selection Dropdown Flute Dependent Ratio Profile (FluteDependentRatioProfile) Const Ratio Profile (ConstRatioProfile) Custom Spinning Profile (CustomSpinningProfile) Unset Profile Configuration Panel Dynamic component based on selected profile type For Flute Dependent Ratio Profile: Radius Ratio Number Field (readonly) Label also shows the additional information: ‘Dependent on flute num xxx’, the ‘xxx’ is the flute number that pass by MillingCutter.FluteContourTray. Series pass the model by the GUI if needed. For Const Ratio Profile: Radius Ratio Number Field (editable) For Custom Spinning Profile: Geometry Management Control Optimization Tab Visible if EnablePhysics is true. This part manages MillingCutterOptOption. Enable Optimization Checkbox Controls whether optimization limits are active When optimization is enabled: Limit by Theoretical Minimum Feed Per Tooth Checkbox Shows calculated minimum uncut chip thickness value. To get the value, Workpiece.CuttingPara and MillingCutter are required. Series pass the model by the GUI if needed. When checked, enforces minimum feed constraint Min Feed Per Tooth (mm) Number Field Step (If UI supported): 0.01 Max Feed Per Tooth (mm) Number Field Step (If UI supported): 0.01 Safety Factor for Yielding Number Field Step (If UI supported): 0.1 Default value typically around 2.0 Source Code Path See this page for git repository. WPF Application Source Code Path Mech/ToolHouse/MillingCutterPanel Mech/ToolHouse/AptProfilePanel Mech/ToolHouse/MaterialTabPanel Mech/ToolHouse/PropertyTabPanel Web Page Application Source Code Path wwwroot/mech/cutter/milling-cutter-panel.js wwwroot/mech/cutter/apt-profile-panel.js wwwroot/mech/cutter/material-tab-panel.js wwwroot/mech/cutter/property-tab-panel.js Controller/Mech/MechController.cs"
},
"brief/dev-doc/build-hinc/mech/fixture-page.html": {
"href": "brief/dev-doc/build-hinc/mech/fixture-page.html",
"title": "Fixture Page | HiAPI-C# 2025",
- "summary": "Fixture Page The page triggers by Main Panel. The key model is Fixture and FixtureEditorDisplayeeConfig. Fixture is assigned from the Main Panel's MachiningProject..Fixture. FixtureEditorDisplayeeConfig is from . which assigned from the parent component. Layout Fixture Page Management Panel Head Line Object Management Menu Button file extension is Fixture The pointed Editor Panel is Management Tabs Panel Title Label Management Tabs Panel Geometry Tab (Apply Geometry Management Control to set the Fixture.Geom.) Anchor Tab (Apply Transformer Manage Panel to set the following tabs) Geom To Workpiece Tab Geom To Table Tab Viewer Panel Viewer ToolBar RenderingCanvas Tool Bar SetupDisplayee Options ToolBar Options of FixtureEditorDisplayee RenderingCanvas The DispEngine.Displayee is FixtureEditorDisplayee (Apply the model FixtureEditorDisplayeeConfig). Tip Add a resizable splition bar between Manage Panel and Viewer Panel. Behavior Call Fixture.ClearGeomCache() on geometry set or changed. Call RenderCanvas.DispEngine.SetViewToIsometricView() on geometry set. (Since the assumption of the shape set raise larger viewer changed than content changed, only adjust view of the setter event.) Source Code Path See this page for git repository. WPF Application Source Code Path Mech/Fixtures/FixturePage Mech/Fixtures/FixtureWindow Web Page Application Source Code Path wwwroot/mech/fixture-page.js Controller/Mech/MechController.cs"
+ "summary": "Fixture Page The page triggers by Main Panel. The key model is Fixture and FixtureEditorDisplayeeConfig. Fixture is assigned from the Main Panel's Fixture. FixtureEditorDisplayeeConfig is from UserConfig which assigned from the parent component. Layout Fixture Page Management Panel Head Line Object Management Menu Button file extension is Fixture The pointed Editor Panel is Management Tabs Panel Title Label Management Tabs Panel Geometry Tab (Apply Geometry Management Control to set the Fixture.Geom.) Anchor Tab (Apply Transformer Manage Panel to set the following tabs) Geom To Workpiece Tab Geom To Table Tab Viewer Panel Viewer ToolBar RenderingCanvas Tool Bar SetupDisplayee Options ToolBar Options of FixtureEditorDisplayee RenderingCanvas The DispEngine.Displayee is FixtureEditorDisplayee (Apply the model FixtureEditorDisplayeeConfig). Tip Add a resizable splition bar between Manage Panel and Viewer Panel. Behavior Call Fixture.ClearGeomCache() on geometry set or changed. Call RenderCanvas.DispEngine.SetViewToIsometricView() on geometry set. (Since the assumption of the shape set raise larger viewer changed than content changed, only adjust view of the setter event.) Source Code Path See this page for git repository. WPF Application Source Code Path Mech/Fixtures/FixturePage Mech/Fixtures/FixtureWindow Web Page Application Source Code Path wwwroot/mech/fixture-page.js Controller/Mech/MechController.cs"
},
"brief/dev-doc/build-hinc/mech/holder/cylindroid-holder-panel.html": {
"href": "brief/dev-doc/build-hinc/mech/holder/cylindroid-holder-panel.html",
@@ -4872,12 +4872,12 @@
"brief/dev-doc/build-hinc/mech/stick-tool-panel/index.html": {
"href": "brief/dev-doc/build-hinc/mech/stick-tool-panel/index.html",
"title": "Stick Tool Panel | HiAPI-C# 2025",
- "summary": "Stick Tool Panel The term stick is for not only milling, but other remover like electric discharge machining tool. The key model is MillingTool. Other model: . Layout Head Line Object Management Menu Button file extension is MillingTool the pointed Editor Panel is Stick Tool Management Panel Title Label Stick Tool Management Panel Cutter Tab Cutter Panel Holder Tab Holder Panel Clamping Tab Exposed-Cutter-Height TextField Preserved-Distance-Between-Flute-and-Spindle-Nose TextField Intelligent Holder Tab Visible if . is true. Info Tab Abstract Note TextField (readonly) Note TextField (editable) Note The Exposed-Cutter-Height and Preserved-Distance-Between-Flute-and-Spindle-Nose are directly related. Each value changed if each other value is changed. Step by Step Build Guide Build the Stick Tool Panel Layout framework. Since the framework helps to check of the child componenet. Build accessory part of the framework. Object Management Menu Button Info Tab Clamping Tab Build Holder Panel and the related holder type panel. Build Cutter Panel and the related cutter type panel. Source Code Path See this page for git repository. WPF Application Source Code Path Mech/ToolHouse/StickToolPanel Web Page Application Source Code Path wwwroot/mech/stick-tool-panel.js Controller/Mech/MechController.cs"
+ "summary": "Stick Tool Panel The term stick is for not only milling, but other remover like electric discharge machining tool. The key model is MillingTool. Other model: UserService. Layout Head Line Object Management Menu Button file extension is MillingTool the pointed Editor Panel is Stick Tool Management Panel Title Label Stick Tool Management Panel Cutter Tab Cutter Panel Holder Tab Holder Panel Clamping Tab Exposed-Cutter-Height TextField Preserved-Distance-Between-Flute-and-Spindle-Nose TextField Intelligent Holder Tab Visible if EnablePhysics is true. Info Tab Abstract Note TextField (readonly) Note TextField (editable) Note The Exposed-Cutter-Height and Preserved-Distance-Between-Flute-and-Spindle-Nose are directly related. Each value changed if each other value is changed. Step by Step Build Guide Build the Stick Tool Panel Layout framework. Since the framework helps to check of the child componenet. Build accessory part of the framework. Object Management Menu Button Info Tab Clamping Tab Build Holder Panel and the related holder type panel. Build Cutter Panel and the related cutter type panel. Source Code Path See this page for git repository. WPF Application Source Code Path Mech/ToolHouse/StickToolPanel Web Page Application Source Code Path wwwroot/mech/stick-tool-panel.js Controller/Mech/MechController.cs"
},
"brief/dev-doc/build-hinc/mech/tool-house-page.html": {
"href": "brief/dev-doc/build-hinc/mech/tool-house-page.html",
"title": "Tool House Page | HiAPI-C# 2025",
- "summary": "Tool House Page The page triggers by Main Panel. The key model is MachiningToolHouse. The model is delivered by the host GUI. Layout Tool House Page Tool List Panel The panel has CRUD (and Duplicate) of the tools. Read and Update the selected tool by the Selected Tool Editor Panel. Head Line Object Management Menu Button file extension is MachiningToolHouse The pointed Editor Panel is Tool List Title Label Batch Action Menu Select All Button De-Select All Button (splition bar) Duplication Button Remove Button Create Tool Button Tool List Selection Checkbox (for batch action) Editable Tool ID TextField Editable Note/Abstract TextField Selected Tool Editor Panel Stick Tool Panel Viewer Panel Viewer ToolBar Title Label RenderingCanvas Tool Bar EditorDisplayee Options ToolBar EditorDisplayee Options Menu Dropdown Head Label: Cutter Show Cutter CheckBox (Options of MillingCutterEditorDisplayee) Shape Mode SubMenu Set ShapeMode to Solid Bounding Shape if . is false on GUI initialization. Solid Bounding Shape Ratio Button Detail Physics Shape Ratio Button Visible if . is true. (spliter) Head Label: Holder Show Holder CheckBox (Options of HolderEditorDisplayee) Show Geometry Anchor CheckBox Show Spindle Buckle CheckBox Show Cutter Buckle CheckBox Rendering Mode SubMenu Solid CheckBox Edge CheckBox Hide CheckBox RenderingCanvas The DispEngine.Displayee is MillingToolEditorDisplayee. Tip Do not apply new window for tool creation. Assume the workflow is user create a default content tool and then user setup it in by the edit panel. Add a resizable splition bar between Tool List Panel, Selected Tool Editor Panel and Viewer Panel. The options of MillingCutterEditorDisplayee and HolderEditorDisplayee is enabled only if the upper level options are enabled, i.e. ShowCutter and ShowHolder. Use less layer of EditorDisplayee Options ToolBar for user convenient. Flatten the options of the children displayee except the ratio button group. The Tool ID can not be repeated. When create new tool, assign a new tool ID (maybe the largest ID plus 1). When a tool is entered, call the renderingCanvas.DispEngine.SetViewToHomeView(). Duplication Button Use Duplicate(params object[]) to duplicate the tool. Note/Abstract TextField The Note/Abstract TextField shows note if note existed and is not empty string; otherwise it shows the AbstractNote. The tooltip is the abstract note. Source Code Path See this page for git repository. WPF Application Source Code Path Mech/ToolHouse/ToolHousePage Mech/ToolHouse/ToolHouseWindow Web Page Application Source Code Path wwwroot/mech/tool-house-page.js Controller/Mech/MechController.cs"
+ "summary": "Tool House Page The page triggers by Main Panel. The key model is MachiningToolHouse. The model UserService is delivered by the host GUI. Layout Tool House Page Tool List Panel The panel has CRUD (and Duplicate) of the tools. Read and Update the selected tool by the Selected Tool Editor Panel. Head Line Object Management Menu Button file extension is MachiningToolHouse The pointed Editor Panel is Tool List Title Label Batch Action Menu Select All Button De-Select All Button (splition bar) Duplication Button Remove Button Create Tool Button Tool List Selection Checkbox (for batch action) Editable Tool ID TextField Editable Note/Abstract TextField Selected Tool Editor Panel Stick Tool Panel Viewer Panel Viewer ToolBar Title Label RenderingCanvas Tool Bar EditorDisplayee Options ToolBar EditorDisplayee Options Menu Dropdown Head Label: Cutter Show Cutter CheckBox (Options of MillingCutterEditorDisplayee) Shape Mode SubMenu Set ShapeMode to Solid Bounding Shape if EnablePhysics is false on GUI initialization. Solid Bounding Shape Ratio Button Detail Physics Shape Ratio Button Visible if EnablePhysics is true. (spliter) Head Label: Holder Show Holder CheckBox (Options of HolderEditorDisplayee) Show Geometry Anchor CheckBox Show Spindle Buckle CheckBox Show Cutter Buckle CheckBox Rendering Mode SubMenu Solid CheckBox Edge CheckBox Hide CheckBox RenderingCanvas The DispEngine.Displayee is MillingToolEditorDisplayee. Tip Do not apply new window for tool creation. Assume the workflow is user create a default content tool and then user setup it in by the edit panel. Add a resizable splition bar between Tool List Panel, Selected Tool Editor Panel and Viewer Panel. The options of MillingCutterEditorDisplayee and HolderEditorDisplayee is enabled only if the upper level options are enabled, i.e. ShowCutter and ShowHolder. Use less layer of EditorDisplayee Options ToolBar for user convenient. Flatten the options of the children displayee except the ratio button group. The Tool ID can not be repeated. When create new tool, assign a new tool ID (maybe the largest ID plus 1). When a tool is entered, call the renderingCanvas.DispEngine.SetViewToHomeView(). Duplication Button Use Duplicate(params object[]) to duplicate the tool. Note/Abstract TextField The Note/Abstract TextField shows note if note existed and is not empty string; otherwise it shows the AbstractNote. The tooltip is the abstract note. Source Code Path See this page for git repository. WPF Application Source Code Path Mech/ToolHouse/ToolHousePage Mech/ToolHouse/ToolHouseWindow Web Page Application Source Code Path wwwroot/mech/tool-house-page.js Controller/Mech/MechController.cs"
},
"brief/dev-doc/build-hinc/mech/topo/transformers.html": {
"href": "brief/dev-doc/build-hinc/mech/topo/transformers.html",
@@ -4887,7 +4887,7 @@
"brief/dev-doc/build-hinc/mech/workpiece-page.html": {
"href": "brief/dev-doc/build-hinc/mech/workpiece-page.html",
"title": "Workpiece Page | HiAPI-C# 2025",
- "summary": "Workpiece Page The page triggers by Main Panel. The key model is Workpiece and WorkpieceEditorDisplayeeConfig. Which is assigned from the Main Panel's MachiningProject.. FixtureEditorDisplayeeConfig is from . which assigned from the parent component. Layout Workpiece Page Management Panel Head Line Object Management Menu Button file extension is Workpiece The pointed Editor Panel is Management Tabs Panel Title Label Management Tabs Panel Raw Shape Tab Raw Geometry Source DropDown (Common Geometry and Runtime Geometry are EXCLUSIVE) Common Geometry Apply Geometry Management Control Runtime Geometry Apply Runtime Geometry Panel Target Shape Tab Geometry Management Control Anchor Tab Geom To Fixture Tab Transformer Manage Panel Geom To Program-Zero Tab Transformer Manage Panel Runtime Tab Initial Resolution Dropdown (powers of 2) 0.0009765625 0.001953125 0.00390625 0.0078125 0.015625 0.03125 0.0625 0.125 0.25 0.5 1 2 4 8 16 Material Tab Visible if . is true. Workpiece Material File Selector Browse Button The initial directory is the project directory. Browse Resource Button The directory is the Default Resource directory. Readonly File Path TextBox Readonly Name TextBox (Name) ToolTip: Note Cutting Parameter File Selector Browse Button The initial directory is the project directory. Browse Resource Button The directory is the Default Resource directory. Readonly File Path TextBox Readonly Name TextBox (Name) ToolTip: Note Viewer Panel Viewer ToolBar RenderingCanvas Tool Bar SetupDisplayee Options ToolBar Options of WorkpieceEditorDisplayee RenderingCanvas The DispEngine.Displayee is WorkpieceEditorDisplayee (Apply the model WorkpieceEditorDisplayeeConfig). Tip Add a resizable splition bar between Manage Panel and Viewer Panel. Default Resource The default resources of Workpiece Material and Cutting Parameter exist in Resource folder under application folder (Not project folder). Set the default folder of the File Selector to the Resource sub folder: “Resource/WorkpieceMaterial” “Resource/CuttingParameter” Behavior Call WorkpieceEditorDisplayee.ClearRawGeomCache() on Raw Shape set or changed. Call WorkpieceEditorDisplayee.ClearIdealGeomCache() on Target Shape set or changed. Call RenderCanvas.DispEngine.SetViewToIsometricView() on Raw Shape set or Target Shape set. (Since the assumption of the shape set raise larger viewer changed than content changed, only adjust view of the setter event.) Keep Portability of the Material properties. Source Code Path See this page for git repository. WPF Application Source Code Path Mech/Workpieces/WorkpiecePage Mech/Workpieces/WorkpieceWindow Web Page Application Source Code Path wwwroot/mech/workpiece-page.js Controller/Mech/MechController.cs"
+ "summary": "Workpiece Page The page triggers by Main Panel. The key model is Workpiece and WorkpieceEditorDisplayeeConfig. Which is assigned from the Main Panel's Workpiece. FixtureEditorDisplayeeConfig is from UserConfig which assigned from the parent component. Layout Workpiece Page Management Panel Head Line Object Management Menu Button file extension is Workpiece The pointed Editor Panel is Management Tabs Panel Title Label Management Tabs Panel Raw Shape Tab Raw Geometry Source DropDown (Common Geometry and Runtime Geometry are EXCLUSIVE) Common Geometry Apply Geometry Management Control Runtime Geometry Apply Runtime Geometry Panel Target Shape Tab Geometry Management Control Anchor Tab Geom To Fixture Tab Transformer Manage Panel Geom To Program-Zero Tab Transformer Manage Panel Runtime Tab Initial Resolution Dropdown (powers of 2) 0.0009765625 0.001953125 0.00390625 0.0078125 0.015625 0.03125 0.0625 0.125 0.25 0.5 1 2 4 8 16 Material Tab Visible if EnablePhysics is true. Workpiece Material File Selector Browse Button The initial directory is the project directory. Browse Resource Button The directory is the Default Resource directory. Readonly File Path TextBox Readonly Name TextBox (Name) ToolTip: Note Cutting Parameter File Selector Browse Button The initial directory is the project directory. Browse Resource Button The directory is the Default Resource directory. Readonly File Path TextBox Readonly Name TextBox (Name) ToolTip: Note Viewer Panel Viewer ToolBar RenderingCanvas Tool Bar SetupDisplayee Options ToolBar Options of WorkpieceEditorDisplayee RenderingCanvas The DispEngine.Displayee is WorkpieceEditorDisplayee (Apply the model WorkpieceEditorDisplayeeConfig). Tip Add a resizable splition bar between Manage Panel and Viewer Panel. Default Resource The default resources of Workpiece Material and Cutting Parameter exist in Resource folder under application folder (Not project folder). Set the default folder of the File Selector to the Resource sub folder: “Resource/WorkpieceMaterial” “Resource/CuttingParameter” Behavior Call WorkpieceEditorDisplayee.ClearRawGeomCache() on Raw Shape set or changed. Call WorkpieceEditorDisplayee.ClearIdealGeomCache() on Target Shape set or changed. Call RenderCanvas.DispEngine.SetViewToIsometricView() on Raw Shape set or Target Shape set. (Since the assumption of the shape set raise larger viewer changed than content changed, only adjust view of the setter event.) Keep Portability of the Material properties. Source Code Path See this page for git repository. WPF Application Source Code Path Mech/Workpieces/WorkpiecePage Mech/Workpieces/WorkpieceWindow Web Page Application Source Code Path wwwroot/mech/workpiece-page.js Controller/Mech/MechController.cs"
},
"brief/dev-doc/build-hinc/message-section-on-main-panel.html": {
"href": "brief/dev-doc/build-hinc/message-section-on-main-panel.html",
@@ -4897,7 +4897,7 @@
"brief/dev-doc/build-hinc/mission/ListCommand-panel.html": {
"href": "brief/dev-doc/build-hinc/mission/ListCommand-panel.html",
"title": "List Command Panel | HiAPI-C# 2025",
- "summary": "List Command Panel The key model is ListCommand. Assistant Model MachiningProject Layout Columns Layout (Two column with one splition bar) Command Entry List Panel Provide entrys for selection The model is CommandEntryList. Head Line Add Command Dropdown Button (Note that Dropdown is not combobox.) Buttons for adding: PreSettingCommand Content Panel: PreSetting Command Panel Note This command sets up initial parameters before NC simulation which attempt to take the effect. NcOptOptionCommand Content Panel: NcOptOption Panel Note This command is also a type of pre-setting that should be applied before NC simulation which attempt to take the effect. NcFileCommand Content Panel: NcFile Command Panel NcCodeCommand ScriptCommand Content Panel: Script Command Panel PostExecutionCommand Content Panel: PostExecution Command Panel Remove Command Button Move Up Command Button Move Down Command Button Command Entrys Selection Panel (Each) Command Entry Box: The boxes are multi-selectable for re-order, remove and etc.. The boxes are draggable for re-order. Enable CheckBox The model is IsEnabled. Tip Show the label text. Title Label Apply GetCommandTitle if the command is inherited from ITitleCommand; otherwise, show the class name. Tip Apply style changed if the entry is selected. If there is only one PreSettingCommand in the list and at the begining, Keep it at begining when items adding, shows a “pin at begining” label with a pin icon. If there is only one PostExecutionCommand in the list and at the end, Keep it at end when items adding, shows a “pin at end” label a pin icon. Support file drag from the external application (such as file explorer), files drag into the Command Entrys List Panel is equivalent to create NcFileCommands (with the EnablingWrapper) and set the file into the NC File Command. Vertical Splition Bar The bar can be drag to tune the width. Selected Command Content Panel The model is Command. The panel is based on command type Tip The width of the entry block should expand to fulfill the content block. Tip Use Disabled Style for command panels if the Enable checkbox is not checked. Note Each command entry can be individually enabled or disabled without removing it from the list. Features Update the Title Label if the Command is updated by the Command Content Panel. Source Code Path See this page for git repository. WPF Application Source Code Path Mission/ListCommandPanel Web Page Application Source Code Path wwwroot/mission/panels/list-command-panel.html (Component HTML) wwwroot/mission/panels/list-command-panel.css (Component styles) wwwroot/mission/panels/list-command-panel.js (JavaScript component with full ListCommand logic) Controller/MissionController.cs (REST API - ListCommand CRUD operations)"
+ "summary": "List Command Panel The key model is ListCommand. Assistant Model MachiningProject UserService Layout Columns Layout (Two column with one splition bar) Command Entry List Panel Provide entrys for selection The model is CommandEntryList. Head Line Add Command Dropdown Button (Note that Dropdown is not combobox.) Buttons for adding: PreSettingCommand Content Panel: PreSetting Command Panel Note This command sets up initial parameters before NC simulation which attempt to take the effect. NcOptOptionCommand Content Panel: NcOptOption Panel Note This command is also a type of pre-setting that should be applied before NC simulation which attempt to take the effect. NcFileCommand Content Panel: NcFile Command Panel NcCodeCommand ScriptCommand Content Panel: Script Command Panel PostExecutionCommand Content Panel: PostExecution Command Panel Remove Command Button Move Up Command Button Move Down Command Button Command Entrys Selection Panel (Each) Command Entry Box: The boxes are multi-selectable for re-order, remove and etc.. The boxes are draggable for re-order. Enable CheckBox The model is IsEnabled. Tip Show the label text. Title Label Apply GetCommandTitle if the command is inherited from ITitleCommand; otherwise, show the class name. Tip Apply style changed if the entry is selected. If there is only one PreSettingCommand in the list and at the begining, Keep it at begining when items adding, shows a “pin at begining” label with a pin icon. If there is only one PostExecutionCommand in the list and at the end, Keep it at end when items adding, shows a “pin at end” label a pin icon. Support file drag from the external application (such as file explorer), files drag into the Command Entrys List Panel is equivalent to create NcFileCommands (with the EnablingWrapper) and set the file into the NC File Command. Vertical Splition Bar The bar can be drag to tune the width. Selected Command Content Panel The model is Command. The panel is based on command type Tip The width of the entry block should expand to fulfill the content block. Tip Use Disabled Style for command panels if the Enable checkbox is not checked. Note Each command entry can be individually enabled or disabled without removing it from the list. Features Update the Title Label if the Command is updated by the Command Content Panel. Source Code Path See this page for git repository. WPF Application Source Code Path Mission/ListCommandPanel Web Page Application Source Code Path wwwroot/mission/panels/list-command-panel.html (Component HTML) wwwroot/mission/panels/list-command-panel.css (Component styles) wwwroot/mission/panels/list-command-panel.js (JavaScript component with full ListCommand logic) Controller/MissionController.cs (REST API - ListCommand CRUD operations)"
},
"brief/dev-doc/build-hinc/mission/NcCodeCommand-panel.html": {
"href": "brief/dev-doc/build-hinc/mission/NcCodeCommand-panel.html",
@@ -4917,12 +4917,12 @@
"brief/dev-doc/build-hinc/mission/PostExecutionCommand-panel.html": {
"href": "brief/dev-doc/build-hinc/mission/PostExecutionCommand-panel.html",
"title": "PostExecutionCommand Panel | HiAPI-C# 2025",
- "summary": "PostExecutionCommand Panel Key Model PostExecutionCommand Assistant Model MachiningProject Layout Output Step Files Section Enable Write Step Files CheckBox The model is EnableWriteStepFiles. Step File Template Label Step File Template Text Field The model is StepFileTemplate. Default value: “Output/[NcName].step.csv” Apply one line layout to the label and the text field. Output Shot Files Section Visible if . is true. Enable Write Shot Files CheckBox The model is EnableWriteShotFiles. Shot File Template Text Field The model is ShotFileTemplate. Default value: Output/[NcName].shot.csv Shot File Time Resolution (ms) Number Field The model is ShotFileTimeResolution_ms. Default value: 1 Optimization Files Section Visible if . is true. Enable Optimize To Files CheckBox The model is EnableOptimizeToFiles. Optimization File Template Text Field The model is OptimizationFileTemplate. Default value: “Output/Opt-[NcName]” Geometry Difference Section Enable Geom Diff CheckBox The model is EnableGeomDiff. Geom Diff Detect Radius Number Field (with Unit) One Line layout The model is GeomDiffDetectRadius_mm. Default value: 1 Source Code Path See this page for git repository. WPF Application Source Code Path Mission/PostExecutionCommandPanel Web Page Application Source Code Path wwwroot/mission/panels/postexecution-command-panel.html (Component HTML) wwwroot/mission/panels/postexecution-command-panel.css (Component styles) wwwroot/mission/panels/postexecution-command-panel.js (JavaScript component) Controller/MissionController.cs (REST API - PostExecution command endpoints)"
+ "summary": "PostExecutionCommand Panel Key Model PostExecutionCommand Assistant Model MachiningProject UserService Layout Output Step Files Section Enable Write Step Files CheckBox The model is EnableWriteStepFiles. Step File Template Label Step File Template Text Field The model is StepFileTemplate. Default value: “Output/[NcName].step.csv” Apply one line layout to the label and the text field. Output Shot Files Section Visible if EnablePhysics is true. Enable Write Shot Files CheckBox The model is EnableWriteShotFiles. Shot File Template Text Field The model is ShotFileTemplate. Default value: Output/[NcName].shot.csv Shot File Time Resolution (ms) Number Field The model is ShotFileTimeResolution_ms. Default value: 1 Optimization Files Section Visible if EnablePhysics is true. Enable Optimize To Files CheckBox The model is EnableOptimizeToFiles. Optimization File Template Text Field The model is OptimizationFileTemplate. Default value: “Output/Opt-[NcName]” Geometry Difference Section Enable Geom Diff CheckBox The model is EnableGeomDiff. Geom Diff Detect Radius Number Field (with Unit) One Line layout The model is GeomDiffDetectRadius_mm. Default value: 1 Source Code Path See this page for git repository. WPF Application Source Code Path Mission/PostExecutionCommandPanel Web Page Application Source Code Path wwwroot/mission/panels/postexecution-command-panel.html (Component HTML) wwwroot/mission/panels/postexecution-command-panel.css (Component styles) wwwroot/mission/panels/postexecution-command-panel.js (JavaScript component) Controller/MissionController.cs (REST API - PostExecution command endpoints)"
},
"brief/dev-doc/build-hinc/mission/PreSettingCommand-panel.html": {
"href": "brief/dev-doc/build-hinc/mission/PreSettingCommand-panel.html",
"title": "PreSettingCommand Panel | HiAPI-C# 2025",
- "summary": "PreSettingCommand Panel Key Model PreSettingCommand Assistant Model MachiningProject Layout Machining Resolution Label (with Unit) Machining Resolution ComboBox The model is MachiningResolution_mm. Default value: 0.125 Options (powers of 2) 0.0009765625 0.001953125 0.00390625 0.0078125 0.015625 0.03125 0.0625 0.125 0.25 0.5 1 2 4 8 16 Note The Machining Resolution is initialized from workpiece's InitResolution if available. Machining Motion Resolution Setting The model is MachiningMotionResolution. Motion Resolution Label Type ComboBox (Feed Per Cycle, Feed Per Tooth, Fixed) FixedMachiningMotionResolution Section If MachiningMotionResolution is FixedMachiningMotionResolution, show the panel. Linear Resolution Label (with Unit) Linear Resolution Number Input Field Angle Resolution Label (with Unit) Angle Resolution Number Input Field Detection Settings Setting Enable Collision Detection CheckBox The model is EnableCollisionDetection. Default value: true Enable Pause On Failure CheckBox The model is EnablePauseOnFailure. Default value: false Enable Physics CheckBox The model is EnablePhysics. Source Code Path See this page for git repository. WPF Application Source Code Path Mission/PreSettingCommandPanel Web Page Application Source Code Path wwwroot/mission/panels/presetting-command-panel.html (Component HTML) wwwroot/mission/panels/presetting-command-panel.css (Component styles) wwwroot/mission/panels/presetting-command-panel.js (JavaScript component) Controller/MissionController.cs (REST API - PreSetting command endpoints)"
+ "summary": "PreSettingCommand Panel Key Model PreSettingCommand Assistant Model MachiningProject UserService Layout Machining Resolution Label (with Unit) Machining Resolution ComboBox The model is MachiningResolution_mm. Default value: 0.125 Options (powers of 2) 0.0009765625 0.001953125 0.00390625 0.0078125 0.015625 0.03125 0.0625 0.125 0.25 0.5 1 2 4 8 16 Note The Machining Resolution is initialized from workpiece's InitResolution if available. Machining Motion Resolution Setting The model is MachiningMotionResolution. Motion Resolution Label Type ComboBox (Feed Per Cycle, Feed Per Tooth, Fixed) FixedMachiningMotionResolution Section If MachiningMotionResolution is FixedMachiningMotionResolution, show the panel. Linear Resolution Label (with Unit) Linear Resolution Number Input Field Angle Resolution Label (with Unit) Angle Resolution Number Input Field Detection Settings Setting Enable Collision Detection CheckBox The model is EnableCollisionDetection. Default value: true Enable Pause On Failure CheckBox The model is EnablePauseOnFailure. Default value: false Enable Physics CheckBox The model is EnablePhysics. Source Code Path See this page for git repository. WPF Application Source Code Path Mission/PreSettingCommandPanel Web Page Application Source Code Path wwwroot/mission/panels/presetting-command-panel.html (Component HTML) wwwroot/mission/panels/presetting-command-panel.css (Component styles) wwwroot/mission/panels/presetting-command-panel.js (JavaScript component) Controller/MissionController.cs (REST API - PreSetting command endpoints)"
},
"brief/dev-doc/build-hinc/mission/SimpleSessionCommand-panel.html": {
"href": "brief/dev-doc/build-hinc/mission/SimpleSessionCommand-panel.html",
@@ -4932,7 +4932,7 @@
"brief/dev-doc/build-hinc/mission/index.html": {
"href": "brief/dev-doc/build-hinc/mission/index.html",
"title": "Mission Page | HiAPI-C# 2025",
- "summary": "Mission Page Key model: PlayerCommand. Assistant Model MachiningProject Layout Mission Page Head Line Object Management Menu Button file extension is ShellCommand The pointed Editor Panel is Mission Edit Panel Mission Type Selection Section Mission Type Label Mission Type ComboBox Mission Edit Panel Content depends on the Mission Type Selection. Mission Type Selection ComboBox The options: Script Command Panel for ScriptCommand. List Command Panel for ListCommand. Step by Step Building Guide create the Mission Page window and Mission Page panel. build the options panel and set into the Mission Page panel. Build List Command Panel. Build Script Command Panel. Source Code Path See this page for git repository. WPF Application Source Code Path Mission/MissionWindow Mission/MissionPanel Web Page Application Source Code Path wwwroot/mission/mission-panel.html (Main panel HTML) wwwroot/mission/mission-panel.css (Styles) wwwroot/mission/mission-panel.js (JavaScript component) Controller/MissionController.cs (REST API endpoints)"
+ "summary": "Mission Page Key model: PlayerCommand. Assistant Model MachiningProject UserService Layout Mission Page Head Line Object Management Menu Button file extension is ShellCommand The pointed Editor Panel is Mission Edit Panel Mission Type Selection Section Mission Type Label Mission Type ComboBox Mission Edit Panel Content depends on the Mission Type Selection. Mission Type Selection ComboBox The options: Script Command Panel for ScriptCommand. List Command Panel for ListCommand. Step by Step Building Guide create the Mission Page window and Mission Page panel. build the options panel and set into the Mission Page panel. Build List Command Panel. Build Script Command Panel. Source Code Path See this page for git repository. WPF Application Source Code Path Mission/MissionWindow Mission/MissionPanel Web Page Application Source Code Path wwwroot/mission/mission-panel.html (Main panel HTML) wwwroot/mission/mission-panel.css (Styles) wwwroot/mission/mission-panel.js (JavaScript component) Controller/MissionController.cs (REST API endpoints)"
},
"brief/dev-doc/build-hinc/mission/script-command-panel.html": {
"href": "brief/dev-doc/build-hinc/mission/script-command-panel.html",
@@ -4942,7 +4942,7 @@
"brief/dev-doc/build-hinc/player/index.html": {
"href": "brief/dev-doc/build-hinc/player/index.html",
"title": "Player Panel | HiAPI-C# 2025",
- "summary": "Player Panel The model of the player panel is MachiningProject and . Step by Step Program Construction Check List Create the Player Panel Layout and set Player Panel/RenderingCanvas. Set behavior of RenderingCanvas. Create Player Tool Bar. Create layout of Player extended RenderingCanvas Tool Bar. Complete Behavior of Navigation Menu/Player on the Main Panel. Build behavior of Player extended RenderingCanvas Tool Bar Set behavior of Behavior of CL Strip Buttons and Fit View Button. Set behavior of Behavior of Project Rendering Items DropDown. Set notification to Player extended RenderingCanvas Tool Bar if project changed by Main Panel. Set Player Panel as default panel on Page Panel when open the main window. The related toolbar has to be set, too. Build Session Message Panel. Build Step Present Preference Page Build Selected-Step Info Panel Belonged Tool Bars Player Tool Bar RenderingCanvas Tool Bar Player extended RenderingCanvas Tool Bar Layout of Player Panel Central RenderingCanvas vertical splition bar (draggable to resize the width of the two div) Side Panel Upper Selected-Step Info Panel horizontal splition bar (draggable to resize the height of the two panel) Lower Session Message Panel Behavior of Player Panel/RenderingCanvas On initializing, create MachiningProjectDisplayee and set it to RenderingCanvas.DispEngine.Displayee. The MachiningProjectDisplayee constructor argument is from the model MachiningProject from Player Panel. Dispose RenderingCanvas on Player Panel disposing. Source Code Path and Specification See this page for git repository. WPF Application Source Code Path Play/PlayerPanel Webapi Application Source Code Path wwwroot/player/player-panel.js wwwroot/player/player-panel.html Players/PlayerController.cs Players/PlayerStatusHub.cs Players/PlayerStatusService.cs Players/SessionMessageHub.cs Players/SessionMessageService.cs Players/SelectedStepInfoHub.cs Players/SelectedStepInfoService.cs"
+ "summary": "Player Panel The model of the player panel is LocalProjectService and UserService. Step by Step Program Construction Check List Create the Player Panel Layout and set Player Panel/RenderingCanvas. Set behavior of RenderingCanvas. Create Player Tool Bar. Create layout of Player extended RenderingCanvas Tool Bar. Complete Behavior of Navigation Menu/Player on the Main Panel. Build behavior of Player extended RenderingCanvas Tool Bar Set behavior of Behavior of CL Strip Buttons and Fit View Button. Set behavior of Behavior of Project Rendering Items DropDown. Set notification to Player extended RenderingCanvas Tool Bar if project changed by Main Panel. Set Player Panel as default panel on Page Panel when open the main window. The related toolbar has to be set, too. Build Session Message Panel. Build Step Present Preference Page Build Selected-Step Info Panel Belonged Tool Bars Player Tool Bar RenderingCanvas Tool Bar Player extended RenderingCanvas Tool Bar Layout of Player Panel Central RenderingCanvas vertical splition bar (draggable to resize the width of the two div) Side Panel Upper Selected-Step Info Panel horizontal splition bar (draggable to resize the height of the two panel) Lower Session Message Panel Behavior of Player Panel/RenderingCanvas On initializing, create MachiningProjectDisplayee and set it to RenderingCanvas.DispEngine.Displayee. The MachiningProjectDisplayee constructor argument is from the model LocalProjectService from Player Panel. Dispose RenderingCanvas on Player Panel disposing. Source Code Path and Specification See this page for git repository. WPF Application Source Code Path Play/PlayerPanel Webapi Application Source Code Path wwwroot/player/player-panel.js wwwroot/player/player-panel.html Players/PlayerController.cs Players/PlayerStatusHub.cs Players/PlayerStatusService.cs Players/SessionMessageHub.cs Players/SessionMessageService.cs Players/SelectedStepInfoHub.cs Players/SelectedStepInfoService.cs"
},
"brief/dev-doc/build-hinc/player/player-extended-renderingcanvas-tool-bar.html": {
"href": "brief/dev-doc/build-hinc/player/player-extended-renderingcanvas-tool-bar.html",
@@ -4952,32 +4952,32 @@
"brief/dev-doc/build-hinc/player/player-tool-bar.html": {
"href": "brief/dev-doc/build-hinc/player/player-tool-bar.html",
"title": "Player Tool Bar | HiAPI-C# 2025",
- "summary": "Player Tool Bar Layout Player Tool Bar Status Text Field Start Button Pause Button Run-One-Line Button Run-One-Step Button Stop Button Reset Button Behavior of Player Tool Bar See the example code to: complete the behavior of the buttons and Status Text Field. The rapidly used buttons should has hotkey. At least the following buttons: Run One Line Button Run One Step Button Start/Continue Pause Both webservice and win-desktop applications use LocalProjectService events for monitoring status changes. In webservice applications, the PlayerStatusService subscribes to these LocalProjectService events and broadcasts status changes via PlayerStatusHub using SignalR for real-time communication. Win-desktop applications can directly subscribe to LocalProjectService events for status updates. Alter the background color of the Status Text Field if the status changed. Warning style color Running Secondary style color Paused No Project Success style color Finished Ready The action of Reset Button should be async for user experience. Tip Use icon instead of text to the tool bar button. Run One Line Button and Run One Step Button use the same icon, use the different color to resolve them. Run One Line Button > default color with green seasoned Run One Step Button > default color with blue seasoned The other button use the default color is enough. Source Code Path See this page for git repository. WPF Application Source Code Path Play/PlayerToolBar Web Page Application Source Code Path wwwroot/player/player-tool-bar.js Players/PlayerController.cs Players/PlayerStatusHub.cs Players/PlayerStatusService.cs SignalR Implementation (Webapi Only) PlayerStatusHub provides real-time player status updates, with methods GetPlayerStatus() and event PlayerStatusUpdated. PlayerStatusService monitors LocalProjectService events (, , , ) and broadcasts changes via SignalR. The JavaScript component connects to /playerStatusHub and listens for status updates. API endpoints include /api/player/start, /api/player/pause, /api/player/resume, /api/player/run-line, /api/player/run-step, /api/player/stop, and /api/player/reset. Razor Page Source Code @using Hi.Common.PathUtils; @using Hi.HiNcKits; @using Hi.MachiningProcs @using Hi.MillingProcs; @using Hi.Numerical.FilePlayers; @inject HiNcHost hiNcHost @{ MachiningProject machiningProject = hiNcHost.MachiningProject; var localProjectService = hiNcHost.LocalProjectService; bool disabledByMachiningProject = machiningProject == null; }
using Hi.Common; using Hi.MachiningProcs; using Hi.Parallels; using Microsoft.AspNetCore.Components; namespace HiNcRcl.Areas.Player { public partial class PlayerButtonGroup : IAsyncDisposable { [Parameter] public string Tid { set; get; } = System.Guid.NewGuid().ToString(); StringLocalizer Loc { get; } = new StringLocalizer(typeof(PlayerDiv)); SemaphoreSlim DisposeSemaphore { get; } = new SemaphoreSlim(1); MachiningProject MachiningProject => hiNcHost.MachiningProject; LocalProjectService LocalProjectService => hiNcHost.LocalProjectService; bool disposedValue = false; /// protected override async Task OnAfterRenderAsync(bool firstRender) { base.OnAfterRender(firstRender); if (firstRender) { using var _ = await DisposeSemaphore.EmbraceAsync(); if (disposedValue) return; var machiningProject = MachiningProject; if (machiningProject != null) { LocalProjectService.PacePlayer.IsLockedChangedEvent += EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsRunningChangedEvent += EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsFinishedChangedEvent += EnumerablePlayer_IsLockedEventHandler; } } } /// public async ValueTask DisposeAsync() { using var _ = await DisposeSemaphore.EmbraceAsync(); var machiningProject = MachiningProject; if (machiningProject != null) { LocalProjectService.PacePlayer.IsLockedChangedEvent -= EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsRunningChangedEvent -= EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsFinishedChangedEvent -= EnumerablePlayer_IsLockedEventHandler; } disposedValue = true; await ValueTask.CompletedTask; } private void EnumerablePlayer_IsLockedEventHandler(bool obj) { InvokeAsync(StateHasChanged).ConfigureAwait(false); } public async Task StartOrContinue() { await Task.Run(() => { var pacePlayer = LocalProjectService.PacePlayer; if (!pacePlayer.IsLocked) { pacePlayer.Start(); } else if (!pacePlayer.IsRunning && !pacePlayer.IsFinished) { pacePlayer.Resume(); } }).ShowIfCatched(this); } public async Task Pause() { await Task.Run(() => { LocalProjectService.PacePlayer.Pause(); }).ShowIfCatched(this); } public async Task RunToLineEnd() { await Task.Run(() => { LocalProjectService.NcRunner.RunToLineEnd(); }).ShowIfCatched(this); } public async Task RunToNextPace() { await Task.Run(() => { LocalProjectService.PacePlayer.RunToNextPace(); }).ShowIfCatched(this); } public async Task Break() { await Task.Run(() => { LocalProjectService.PacePlayer.Terminate(); }).ShowIfCatched(this); } public async Task Reset() { await Task.Run(() => { LocalProjectService.PacePlayer.Reset(); }).ShowIfCatched(this); } } }"
+ "summary": "Player Tool Bar Layout Player Tool Bar Status Text Field Start Button Pause Button Run-One-Line Button Run-One-Step Button Stop Button Reset Button Behavior of Player Tool Bar See the example code to: complete the behavior of the buttons and Status Text Field. The rapidly used buttons should has hotkey. At least the following buttons: Run One Line Button Run One Step Button Start/Continue Pause Both webservice and win-desktop applications use LocalProjectService events for monitoring PacePlayer status changes. In webservice applications, the PlayerStatusService subscribes to these LocalProjectService events and broadcasts status changes via PlayerStatusHub using SignalR for real-time communication. Win-desktop applications can directly subscribe to LocalProjectService events for status updates. Alter the background color of the Status Text Field if the status changed. Warning style color Running Secondary style color Paused No Project Success style color Finished Ready The action of Reset Button should be async for user experience. Tip Use icon instead of text to the tool bar button. Run One Line Button and Run One Step Button use the same icon, use the different color to resolve them. Run One Line Button > default color with green seasoned Run One Step Button > default color with blue seasoned The other button use the default color is enough. Source Code Path See this page for git repository. WPF Application Source Code Path Play/PlayerToolBar Web Page Application Source Code Path wwwroot/player/player-tool-bar.js Players/PlayerController.cs Players/PlayerStatusHub.cs Players/PlayerStatusService.cs SignalR Implementation (Webapi Only) PlayerStatusHub provides real-time player status updates, with methods GetPlayerStatus() and event PlayerStatusUpdated. PlayerStatusService monitors PacePlayer events (IsRunningChangedEvent, IsLockedChangedEvent, IsFinishedChangedEvent, ResetedEvent) and broadcasts changes via SignalR. The JavaScript component connects to /playerStatusHub and listens for status updates. API endpoints include /api/player/start, /api/player/pause, /api/player/resume, /api/player/run-line, /api/player/run-step, /api/player/stop, and /api/player/reset. Razor Page Source Code @using Hi.Common.PathUtils; @using Hi.HiNcKits; @using Hi.MachiningProcs @using Hi.MillingProcs; @using Hi.Numerical.FilePlayers; @inject HiNcHost hiNcHost @{ MachiningProject machiningProject = hiNcHost.MachiningProject; var localProjectService = hiNcHost.LocalProjectService; bool disabledByMachiningProject = machiningProject == null; }
using Hi.Common; using Hi.MachiningProcs; using Hi.Parallels; using Microsoft.AspNetCore.Components; namespace HiNcRcl.Areas.Player { public partial class PlayerButtonGroup : IAsyncDisposable { [Parameter] public string Tid { set; get; } = System.Guid.NewGuid().ToString(); StringLocalizer Loc { get; } = new StringLocalizer(typeof(PlayerDiv)); SemaphoreSlim DisposeSemaphore { get; } = new SemaphoreSlim(1); MachiningProject MachiningProject => hiNcHost.MachiningProject; LocalProjectService LocalProjectService => hiNcHost.LocalProjectService; bool disposedValue = false; /// protected override async Task OnAfterRenderAsync(bool firstRender) { base.OnAfterRender(firstRender); if (firstRender) { using var _ = await DisposeSemaphore.EmbraceAsync(); if (disposedValue) return; var machiningProject = MachiningProject; if (machiningProject != null) { LocalProjectService.PacePlayer.IsLockedChangedEvent += EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsRunningChangedEvent += EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsFinishedChangedEvent += EnumerablePlayer_IsLockedEventHandler; } } } /// public async ValueTask DisposeAsync() { using var _ = await DisposeSemaphore.EmbraceAsync(); var machiningProject = MachiningProject; if (machiningProject != null) { LocalProjectService.PacePlayer.IsLockedChangedEvent -= EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsRunningChangedEvent -= EnumerablePlayer_IsLockedEventHandler; LocalProjectService.PacePlayer.IsFinishedChangedEvent -= EnumerablePlayer_IsLockedEventHandler; } disposedValue = true; await ValueTask.CompletedTask; } private void EnumerablePlayer_IsLockedEventHandler(bool obj) { InvokeAsync(StateHasChanged).ConfigureAwait(false); } public async Task StartOrContinue() { await Task.Run(() => { var pacePlayer = LocalProjectService.PacePlayer; if (!pacePlayer.IsLocked) { pacePlayer.Start(); } else if (!pacePlayer.IsRunning && !pacePlayer.IsFinished) { pacePlayer.Resume(); } }).ShowIfCatched(this); } public async Task Pause() { await Task.Run(() => { LocalProjectService.PacePlayer.Pause(); }).ShowIfCatched(this); } public async Task RunToLineEnd() { await Task.Run(() => { LocalProjectService.NcRunner.RunToLineEnd(); }).ShowIfCatched(this); } public async Task RunToNextPace() { await Task.Run(() => { LocalProjectService.PacePlayer.RunToNextPace(); }).ShowIfCatched(this); } public async Task Break() { await Task.Run(() => { LocalProjectService.PacePlayer.Terminate(); }).ShowIfCatched(this); } public async Task Reset() { await Task.Run(() => { LocalProjectService.PacePlayer.Reset(); }).ShowIfCatched(this); } } }"
},
"brief/dev-doc/build-hinc/player/selected-step-info-panel.html": {
"href": "brief/dev-doc/build-hinc/player/selected-step-info-panel.html",
"title": "Selected-Step Info Panel | HiAPI-C# 2025",
- "summary": "Selected-Step Info Panel The panel locates on the Player Panel. The model is MachiningStep and . The MachiningStep is assigned by .PosSelected. Show step infomation from .. The resx of MachiningStep contains the translation of PresentAttribute.Name, apply the translation to the GUI. If the translation not existed, use the original value. See Also Step Present Preference Page. Sample Code Refer the code to show step infomation. internal static void ShowStepPresent( UserService userEnv, MachiningStep machiningStep) { foreach (var entry in userEnv.DisplayedStepPresentAccessList) { var present = entry.Value.Present; var valueText = string.Format(\"{0:\" + present.DataFormatString + \"}\", entry.Value.GetValueFunc.Invoke(machiningStep)); Console.WriteLine($\"{present.ShortName}: {valueText} {present.TailUnitString} ({present.Name} [{entry.Key}])\"); } } SignalR Implementation (Webapi Only) SelectedStepInfoHub provides real-time step updates with method GetSelectedStepInfo() and event SelectedStepInfoUpdated. SelectedStepInfoService monitors and events and broadcasts updates. The JavaScript component connects to /selectedStepInfoHub to receive step change notifications and update the UI accordingly. Source Code Path See this page for git repository. WPF Application Source Code Path Play/SelectedStepInfoPanel Web Page Application Source Code Path wwwroot/player/selected-step-info-panel.js (Vue component) wwwroot/player/selected-step-info-panel.css (Styles) Players/PlayerController.cs (REST API - GetSelectedStepInfo endpoint) Players/SelectedStepInfoService.cs (Business logic) Players/SelectedStepInfoHub.cs (SignalR Hub for real-time updates)"
+ "summary": "Selected-Step Info Panel The panel locates on the Player Panel. The model is MachiningStep and UserService. The MachiningStep is assigned by ClStrip.PosSelected. Show step infomation from DisplayedStepPresentAccessList. The resx of MachiningStep contains the translation of PresentAttribute.Name, apply the translation to the GUI. If the translation not existed, use the original value. See Also Step Present Preference Page. Sample Code Refer the code to show step infomation. internal static void ShowStepPresent( UserService userEnv, MachiningStep machiningStep) { foreach (var entry in userEnv.DisplayedStepPresentAccessList) { var present = entry.Value.Present; var valueText = string.Format(\"{0:\" + present.DataFormatString + \"}\", entry.Value.GetValueFunc.Invoke(machiningStep)); Console.WriteLine($\"{present.ShortName}: {valueText} {present.TailUnitString} ({present.Name} [{entry.Key}])\"); } } SignalR Implementation (Webapi Only) SelectedStepInfoHub provides real-time step updates with method GetSelectedStepInfo() and event SelectedStepInfoUpdated. SelectedStepInfoService monitors PosSelected and MachiningStepSelected events and broadcasts updates. The JavaScript component connects to /selectedStepInfoHub to receive step change notifications and update the UI accordingly. Source Code Path See this page for git repository. WPF Application Source Code Path Play/SelectedStepInfoPanel Web Page Application Source Code Path wwwroot/player/selected-step-info-panel.js (Vue component) wwwroot/player/selected-step-info-panel.css (Styles) Players/PlayerController.cs (REST API - GetSelectedStepInfo endpoint) Players/SelectedStepInfoService.cs (Business logic) Players/SelectedStepInfoHub.cs (SignalR Hub for real-time updates)"
},
"brief/dev-doc/build-hinc/preference/graphic-cache-dropdown.html": {
"href": "brief/dev-doc/build-hinc/preference/graphic-cache-dropdown.html",
"title": "Graphic-Cache SubMenu | HiAPI-C# 2025",
- "summary": "Graphic-Cache SubMenu The submenu locates on the Preference Menu Dropdown. The model is from its parent component. Layout Graphic-Cache SubMenu Graphic-Cache Lower Limit Input Text Field Graphic-Cache Upper Limit Input Text Field Graphic-Cache Input Text Field Graphic-Cache Slider Behavior Graphic-Cache Input Text Field and Graphic-Cache Slider bind the .. The limit text fields also bind to the properties of . Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow (be included in preference menu) Web Page Application Source Code Path wwwroot/player/player-extended-toolbar.js (includes graphic cache dropdown) Environments/PreferenceController.cs"
+ "summary": "Graphic-Cache SubMenu The submenu locates on the Preference Menu Dropdown. The model UserService is from its parent component. Layout Graphic-Cache SubMenu Graphic-Cache Lower Limit Input Text Field Graphic-Cache Upper Limit Input Text Field Graphic-Cache Input Text Field Graphic-Cache Slider Behavior Graphic-Cache Input Text Field and Graphic-Cache Slider bind the GraphicCacheMb. The limit text fields also bind to the properties of UserConfig. Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow (be included in preference menu) Web Page Application Source Code Path wwwroot/player/player-extended-toolbar.js (includes graphic cache dropdown) Environments/PreferenceController.cs"
},
"brief/dev-doc/build-hinc/preference/index.html": {
"href": "brief/dev-doc/build-hinc/preference/index.html",
"title": "Preference Menu Dropdown | HiAPI-C# 2025",
- "summary": "Preference Menu Dropdown The model of the UI is . contains , which is rapidly used in the GUI. The dropdown is on the Main Panel. Layout Preference Menu Dropdown Step Present Preference Button Graphic-Cache Dropdown Language Selection SubMenu Show Physics Options CheckBox The model is . The checkbox is disabled and unchecked if is false. Show Log Button See Message Section. The button does not exist on WPF application. Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow (include preference menu) Web Page Application Source Code Path wwwroot/preference/preference-menu.js Environments/PreferenceController.cs"
+ "summary": "Preference Menu Dropdown The model of the UI is UserService. UserService contains UserConfig, which is rapidly used in the GUI. The dropdown is on the Main Panel. Layout Preference Menu Dropdown Step Present Preference Button Graphic-Cache Dropdown Language Selection SubMenu Show Physics Options CheckBox The model is ShowPhysicsOptions. The checkbox is disabled and unchecked if IsPhysicsLicensed is false. Show Log Button See Message Section. The button does not exist on WPF application. Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow (include preference menu) Web Page Application Source Code Path wwwroot/preference/preference-menu.js Environments/PreferenceController.cs"
},
"brief/dev-doc/build-hinc/preference/language-selection-submenu.html": {
"href": "brief/dev-doc/build-hinc/preference/language-selection-submenu.html",
"title": "Language Selection SubMenu | HiAPI-C# 2025",
- "summary": "Language Selection SubMenu The submenu locates on the Preference Menu Dropdown. The model is from its parent component. Load the language preference on application start. Note Keep language resource on each UI componenets. Layout Language Selection SubMenu English Radio CheckBox Simlified Chinese Radio CheckBox Traditional Chinese Radio CheckBox Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow (In the preference menu) Web Page Application Source Code Path wwwroot/preference/preference-menu.js Controller/Preference/PreferenceController.cs"
+ "summary": "Language Selection SubMenu The submenu locates on the Preference Menu Dropdown. The model UserService is from its parent component. Load the language preference on application start. Note Keep language resource on each UI componenets. Layout Language Selection SubMenu English Radio CheckBox Simlified Chinese Radio CheckBox Traditional Chinese Radio CheckBox Source Code Path See this page for git repository. WPF Application Source Code Path MainWindow (In the preference menu) Web Page Application Source Code Path wwwroot/preference/preference-menu.js Controller/Preference/PreferenceController.cs"
},
"brief/dev-doc/build-hinc/preference/step-present-preference-page.html": {
"href": "brief/dev-doc/build-hinc/preference/step-present-preference-page.html",
"title": "Step Present Preference Page | HiAPI-C# 2025",
- "summary": "Step Present Preference Page The model is from its parent component. The . is rapidly used. The model of Candidate Keys Panel is . The model of Displayed Keys Panel is . Layout Step Present Preference Page (or window) Candidate Keys Panel Category A Panel Key a ToggleButton Key b ToggleButton ... Category B Panel ... ... Category Other Panel Displayed Keys Panel Key 1 Key 2 ... The categories are not defined for programming logic but only for user experience. So decide and define the categories in the GUI here only. Since the Keys are not all come from the properties of MachiningStep, a category panel (Category Other Panel) for the uncategoried keys is required. The keys in the Displayed Keys Panel is in sequence of . User tune the sequence and remove key by the Displayed Keys Panel. User add and remove the key from the ToggleButtons in Candidate Keys Panel. Those UI control items are required. To both Candidate Keys Panel and Displayed Keys Panel: Apply PresentAttribute.Name as Key label by . Apply the key to the button tooltip. The resx of MachiningStep contains the translation of PresentAttribute.Name, apply the translation to the GUI. If the translation not existed, use the original value. Categories Refer the code to design Categories: @using Hi.Common @using Hi.Geom @using Hi.Mech.Topo @{ string pCalss = \"d-flex flex-wrap gap-2\"; string cardTextClass = $\"card-text {pCalss}\"; }