Compare commits

...
63 Commits
Author SHA1 Message Date
iambossandClaude Opus 5 18f3e36226 chore(Hi.WinForm): bump VersionBuild to 3.1.156
Carried over from a deploy.py run -- incrementPackageID bumps VersionBuild but
deploy.py only auto-commits HiAPI-docsite-2025.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-05 20:11:15 +08:00
iambossandClaude Opus 5 545be22235 build(Hi.WinForm): keep the package line on 3.1 and resume the build counter
The 3.2 line is retracted -- the major version stays fixed for commercial
positioning, so 3.1 remains the development line. Version stamp only; no code
changed on the way out or back.

VersionBuild resumes at 154, where it stood before the detour, instead of
restarting from the 139 the feed serves. Everything between was built locally and
stamped into real assemblies even though deploy.py deliberately withholds the
upload until the API has settled commercially, and re-minting a spent number with
different code is the one failure that yields two Hi.WinForm.dll claiming the same
version. Next upload is 3.1.155; the 139 -> 155 gap on the feed is intended.

3.2.1 was packed locally and never uploaded, so nothing outside this machine saw
the 3.2 line at all.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-01 14:27:47 +08:00
iambossandClaude Opus 5 1dff436028 build(Hi.WinForm): start the 3.2 package line and restart VersionBuild
The 3.1 line ends at Hi.WinForm 3.1.139 -- tag v3.1.139, part of the aligned
hinc-suite/3.1.175 set. master now produces 3.2 and VersionBuild restarts at 0,
so the first published 3.2 package is 3.2.1: IncrementPackageID.targets bumps
before the build, not after it.

The 3.1.154 stamp this replaces was a local increment from a deploy run whose
upload step is commented out, so it never reached the feed and nothing depends on
it. Fixes for customers pinned to 3.1 come off the support/3.1 branch.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-26 18:00:18 +08:00
iambossandClaude Opus 4.8 edcf1722f9 chore(Hi.WinForm): bump VersionBuild
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-13 12:36:47 +08:00
iamboss fc8d0fbcd3 tune. 2026-07-07 18:52:19 +08:00
iamboss 7afd676b43 deploy fixed MRR drift and webservice CylindroidHolder buckle branch update issue. 2026-05-28 20:20:38 +08:00
iamboss 87c95ceebe deploy fixed MRR drift and webservice CylindroidHolder buckle branch update issue. 2026-05-28 19:34:21 +08:00
iamboss 9d0d53a01f update XML IO pattern. 2026-05-24 13:27:53 +08:00
iamboss 4e7a3517fd rename XFactory.Regs to XFactory.Generators. 2026-05-23 21:09:36 +08:00
iamboss efa521dc9a fix SoftNcRunner GM code normalization. 2026-05-16 17:42:11 +08:00
iamboss 37bb747250 fix SoftNcRunner GM code normalization. 2026-05-08 22:04:30 +08:00
iamboss 03fad683e8 fix SoftNcRunner GM code normalization. 2026-05-06 13:12:09 +08:00
iamboss dfc4b3a0b8 fix SoftNcRunner GM code normalization. 2026-04-26 07:42:13 +08:00
iamboss 7dd3fcc389 fix SoftNcRunner GM code normalization. 2026-04-22 19:23:21 +08:00
iamboss 390e69f84d fix SoftNcRunner GM code normalization. 2026-04-22 16:11:07 +08:00
iamboss 83d25f64d8 applying SoftNcRunner. 2026-04-21 18:40:08 +08:00
iamboss 9b369d5b5a tune. 2026-04-11 12:54:24 +08:00
iamboss 01bb16d592 chore: update related files 2026-04-08 16:31:07 +08:00
iamboss 418a100ea7 update ISO coordinate rendering for 3+2axis machine. 2026-04-06 14:58:50 +08:00
iamboss 724396416e fix blazor MechBuilderDiv StlFileDiv directory candidates. 2026-03-25 16:33:05 +08:00
iamboss cdf8d0cf86 fix bug of cubetree init SAT and triangles-tip-cube-corner margin case. 2026-03-25 12:34:46 +08:00
iamboss 1302191806 fix bug of G53.1 and remove NcEnv.SetToolHeightCompensationOnFeatureNormal property. 2026-03-19 17:19:00 +08:00
iamboss cecf30c100 fix issue of step.csv null reading. 2026-03-16 12:23:45 +08:00
iamboss c492b73c1d fix bug of flagTexts disappear by Sentence property type. 2026-03-11 11:14:23 +08:00
iamboss a5414e941a fix bug of opt arc circle offset. 2026-03-08 12:30:21 +08:00
iamboss 81bab49a98 fix rtcp on un-matched tool offset. 2026-03-06 01:16:50 +08:00
iamboss 556de3d8fb fix opt rotation code jumping at pi-cycle bounding. 2026-03-02 20:22:40 +08:00
iamboss ee6a4f5627 fix G68 mis-behavior. 2026-02-24 23:37:10 +08:00
iamboss 9624c90fcf fix postprocess precision. 2026-02-19 21:23:51 +08:00
iamboss de3496366c fix cubetree init crash. 2026-02-17 15:42:49 +08:00
iamboss ece6708959 add cubetree defect display. 2026-02-11 04:04:04 +08:00
iamboss 6afe61bcb9 update disp_engine_t and panel key code to web-based string instead of int64. 2026-02-10 21:53:12 +08:00
iamboss 5ef643617c add cubetree defect display. 2026-02-10 01:18:01 +08:00
iamboss f98f6fa65c add cubetree defect display. 2026-02-10 00:29:56 +08:00
iamboss a212bf59bc add cubetree defect display. 2026-02-09 22:34:35 +08:00
iamboss 62dfde069f fix obfuscar internal class issue. 2026-02-01 18:50:08 +08:00
iamboss 30212df73a tune. 2026-02-01 16:59:02 +08:00
iamboss 1a36993911 tune. 2026-02-01 16:33:28 +08:00
iamboss 2789f0efad fix siemens trafoof plain rotation. 2026-01-31 17:08:05 +08:00
iamboss a40772242d fix sqlite ubuntu login issue. 2026-01-31 10:44:32 +08:00
iamboss e7ad037590 fix siemens coordinate transform failed on succesive file running. 2026-01-30 20:49:43 +08:00
iamboss afbf42e8fc fix relief face collision from floating issue. 2026-01-26 03:46:03 +08:00
iamboss 174c4df540 fix 2026-01-26 03:33:28 +08:00
iamboss 8190d9a2e6 apply 2026-01-26 02:43:47 +08:00
iamboss 5788823aa2 build 2026-01-24 18:05:25 +08:00
iamboss 366c555c71 add 2026-01-22 02:20:28 +08:00
iamboss 0d51a3fb4f set 2026-01-17 15:58:42 +08:00
iamboss f5559a8842 fix 2026-01-15 23:27:50 +08:00
iamboss 51b71fc6a1 add 2026-01-08 20:45:10 +08:00
iamboss 30fa449dc9 tune. 2026-01-01 03:59:21 +08:00
iamboss e81242c2fa adjust 2025-12-30 15:36:42 +08:00
iamboss 53f0724d1e adjust 2025-12-29 11:48:49 +08:00
iamboss 139d17d0b9 fix 2025-12-27 11:54:43 +08:00
iamboss 8bd5d36026 seperate 2025-12-25 16:57:27 +08:00
iamboss 01de756d7f add 2025-12-23 13:31:30 +08:00
iamboss 85b3ce8e09 add 2025-12-22 23:29:11 +08:00
iamboss 7c6b7193df split runtime functions from MachiningProject to LocalProjectService. 2025-12-21 13:44:39 +08:00
iamboss b6d4f06195 cancel 2025-12-18 09:44:22 +08:00
iamboss aaeb90a4a9 cancel 2025-12-14 01:22:27 +08:00
iamboss 755716e5e1 cancel 2025-12-14 01:11:57 +08:00
iamboss 720fd826a3 remove 2025-12-13 15:08:29 +08:00
iamboss 5eaff4fee4 add 2025-12-12 13:10:31 +08:00
iamboss 427110aa3d fix 2025-12-11 12:41:47 +08:00
4 changed files with 67 additions and 23 deletions
+60 -20
View File
@@ -1,4 +1,4 @@
using System; using System;
using System.Windows.Forms; using System.Windows.Forms;
using System.Drawing; using System.Drawing;
using System.Drawing.Imaging; using System.Drawing.Imaging;
@@ -103,6 +103,10 @@ namespace Hi.WinForm.Disp
#endregion #endregion
#region Win32_Message_Handling #region Win32_Message_Handling
/// <summary>
/// Processes Windows messages, handling touch input and forwarding other messages to the base class.
/// </summary>
/// <param name="m">The Windows message to process.</param>
protected override void WndProc(ref Message m) protected override void WndProc(ref Message m)
{ {
if (m.Msg == WM_TOUCH) if (m.Msg == WM_TOUCH)
@@ -251,36 +255,72 @@ namespace Hi.WinForm.Disp
return true; return true;
} }
/// <summary>
/// Convert WinForms Keys to W3C KeyboardEvent.key string.
/// </summary>
static string WinFormsKeyToW3C(Keys key) => (key & Keys.KeyCode) switch
{
Keys.Home => "Home",
Keys.End => "End",
Keys.PageUp => "PageUp",
Keys.PageDown => "PageDown",
Keys.Left => "ArrowLeft",
Keys.Right => "ArrowRight",
Keys.Up => "ArrowUp",
Keys.Down => "ArrowDown",
Keys.LShiftKey or Keys.RShiftKey or Keys.ShiftKey => "Shift",
Keys.LControlKey or Keys.RControlKey or Keys.ControlKey => "Control",
Keys.LMenu or Keys.RMenu or Keys.Menu => "Alt",
Keys.Return => "Enter",
Keys.Escape => "Escape",
Keys.Back => "Backspace",
Keys.Tab => "Tab",
Keys.Delete => "Delete",
Keys.Insert => "Insert",
Keys.Space => " ",
Keys.F1 => "F1",
Keys.F2 => "F2",
Keys.F3 => "F3",
Keys.F4 => "F4",
Keys.F5 => "F5",
Keys.F6 => "F6",
Keys.F7 => "F7",
Keys.F8 => "F8",
Keys.F9 => "F9",
Keys.F10 => "F10",
Keys.F11 => "F11",
Keys.F12 => "F12",
>= Keys.A and <= Keys.Z => ((char)('a' + ((key & Keys.KeyCode) - Keys.A))).ToString(),
>= Keys.D0 and <= Keys.D9 => ((char)('0' + ((key & Keys.KeyCode) - Keys.D0))).ToString(),
_ => "Unidentified"
};
private void RenderingCanvas_KeyDown(object sender, KeyEventArgs e) private void RenderingCanvas_KeyDown(object sender, KeyEventArgs e)
{ {
Focus(); Focus();
DispEngine.KeyDown((long)e.KeyData); string key = WinFormsKeyToW3C(e.KeyData);
DispEngine.KeyDown(key);
// Map specific keys for view transformation
long key = (long)e.KeyData;
if (key == (long)Keys.LShiftKey || key == (long)Keys.RShiftKey || key == (long)Keys.ShiftKey)
key = (long)Keys.Shift;
DispEngine.KeyDownTransform(key, new key_table__transform_view_by_key_pressing_t() DispEngine.KeyDownTransform(key, new key_table__transform_view_by_key_pressing_t()
{ {
HOME = (long)Keys.Home, HOME = "Home",
PAGE_UP = (long)Keys.PageUp, PAGE_UP = "PageUp",
PAGE_DOWN = (long)Keys.PageDown, PAGE_DOWN = "PageDown",
F1 = (long)Keys.F1, F1 = "F1",
F2 = (long)Keys.F2, F2 = "F2",
F3 = (long)Keys.F3, F3 = "F3",
F4 = (long)Keys.F4, F4 = "F4",
SHIFT = (long)Keys.Shift, SHIFT = "Shift",
ARROW_LEFT = (long)Keys.Left, ARROW_LEFT = "ArrowLeft",
ARROW_RIGHT = (long)Keys.Right, ARROW_RIGHT = "ArrowRight",
ARROW_DOWN = (long)Keys.Down, ARROW_DOWN = "ArrowDown",
ARROW_UP = (long)Keys.Up ARROW_UP = "ArrowUp"
}); });
} }
private void RenderingCanvas_KeyUp(object sender, KeyEventArgs e) private void RenderingCanvas_KeyUp(object sender, KeyEventArgs e)
{ {
DispEngine.KeyUp((long)e.KeyData); DispEngine.KeyUp(WinFormsKeyToW3C(e.KeyData));
} }
#endregion #endregion
+3
View File
@@ -35,6 +35,9 @@ namespace Hi.WinForm.Disp
/// The contained <see cref="Disp.RenderingCanvas"/>. /// The contained <see cref="Disp.RenderingCanvas"/>.
/// </summary> /// </summary>
public RenderingCanvas RenderingCanvas { get; } public RenderingCanvas RenderingCanvas { get; }
/// <summary>
/// Gets or sets the displayee object for rendering.
/// </summary>
[DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
public IDisplayee Displayee public IDisplayee Displayee
{ {
+2 -2
View File
@@ -1,13 +1,13 @@
<Project Sdk="Microsoft.NET.Sdk"> <Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup> <PropertyGroup>
<OutputType>WinExe</OutputType> <OutputType>WinExe</OutputType>
<TargetFramework>net9.0-windows</TargetFramework> <TargetFramework>net10.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms> <UseWindowsForms>true</UseWindowsForms>
<AssemblyName>Hi.WinForm</AssemblyName> <AssemblyName>Hi.WinForm</AssemblyName>
<RootNamespace>$(AssemblyName)</RootNamespace> <RootNamespace>$(AssemblyName)</RootNamespace>
<Platforms>x64</Platforms> <Platforms>x64</Platforms>
<Description>WinForm Display module of HiAPI</Description> <Description>WinForm Display module of HiAPI</Description>
<VersionBuild>72</VersionBuild> <VersionBuild>156</VersionBuild>
<VersionPrefix>3.1.$(VersionBuild)</VersionPrefix> <VersionPrefix>3.1.$(VersionBuild)</VersionPrefix>
<PackageTags>HiAPI</PackageTags> <PackageTags>HiAPI</PackageTags>
<RuntimeIdentifiers>win-x64</RuntimeIdentifiers> <RuntimeIdentifiers>win-x64</RuntimeIdentifiers>
+2 -1
View File
@@ -16,7 +16,8 @@ namespace Hi.WinForm
[STAThread] [STAThread]
static void Main() static void Main()
{ {
License.LogInAll(); License.AbortMessageAction += Console.WriteLine;
License.LogInAll();
DispEngine.Init(); DispEngine.Init();
Application.ApplicationExit += (object sender, EventArgs e) => Application.ApplicationExit += (object sender, EventArgs e) =>
{ {