Skip to content

Form designer, debugger and form creation support#2

Open
cmgeuze wants to merge 13 commits into
mainfrom
feature/uiautomation
Open

Form designer, debugger and form creation support#2
cmgeuze wants to merge 13 commits into
mainfrom
feature/uiautomation

Conversation

@cmgeuze

@cmgeuze cmgeuze commented Jul 7, 2026

Copy link
Copy Markdown
Member

Extends the OTA helper with form designer, form creation and debugger support:

  • FormCreator: generates the unit and .dfm source so the form class is exactly T<FormName>; default form size is 640x480.
  • FormEditor: sets component-reference (tkClass) properties such as ActivePage/DataSource/Images by referenced component name, resolves the native container for tabs/pages before creating child components, and renders a form to PNG via CaptureImage (TCustomForm.GetFormImage).
  • Event binding: new handlers are created through IDesigner.ShowMethod, so the method stub is written to the unit and the DFM binding stays in sync, mirroring the Object Inspector.
  • IToolsApiDebugger: source breakpoints, run/step/pause/terminate, deferred-aware expression evaluation and call stack via IOTADebuggerServices.
  • Documentation for module buffer/disk sync, form creation, the designer and the debugger.

cmgeuze added 13 commits July 6, 2026 21:20
…evaluate (deferred-aware) and call stack via IOTADebuggerServices
… tabs/pages), reject non-TWinControl containers, and CaptureImage (PNG via TCustomForm.GetFormImage)
…find window, list/find elements by AutomationId or Name, click via InvokePattern, set/get text via ValuePattern)
…) properties like ActivePage/DataSource/Images by referenced component Name
…riving external apps), not the RAD Studio OTA, so it belongs in the consumer, not this OTA helper
…T<FormName> class) instead of leaving it to the IDE default template, which mangled the class name; removes diagnostic logging
…reateForm, FormDesigner, CaptureImage) and the debugger
…e method stub is written to the unit (mirrors Object Inspector); without it the source stub and DFM binding were lost
…sApiStepMode (Exception_ becomes Exception), rename CurrentLocation to TryGetCurrentLocation, extract TToolsApiSourceFile to its own unit, split Evaluate into EvaluateOnce, begin/end on loops, inline vars, boolean parentheses and English evergreen comments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant