Modernize and harden Delphi VCL Inspector — DPI, painting, lifecycle, docs, example - #3
Open
erdesigns-eu wants to merge 8 commits into
Open
Modernize and harden Delphi VCL Inspector — DPI, painting, lifecycle, docs, example#3erdesigns-eu wants to merge 8 commits into
erdesigns-eu wants to merge 8 commits into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
Description
Assignimplementations with self-assignment guards, proper deep-copy semantics, and consistentOnChangenotifications, and fixed severalAssigncode paths to callinheritedwhere appropriate.DeactivateEditor, safeIsItemOwnedchecks, making Enter/Escape behavior explicit for the inline editor, deactivating editors when items are removed or control is disabled, and making property value writes safe usingVarSameValueandDisplayTextconversion forNull/Emptyvariants.Scalehelper based onCurrentPPI, guarded bitmap/set-size calls withMax(1, ...)to avoid invalid dimensions, respected disabled text colors, and fixed gutter/splitter hit testing and splitter drag math for scaled coordinates.BeginUpdate/EndUpdate, avoiding updates while deferred, and removing redundant double scroll updates; also improved scroll range clamping withMax(0, ...).examples/InspectorDemo) demonstrating categories, collapsed category, editable and edit-button properties, event handlers and a style selector; added a succinct professionalREADME.mdand a Delphi.gitignore.Testing
System.Variantsusage, XML comment patterns, and scaled geometry tokens (Scale(PropertyOptions.Height)) inInspector.pas.git -c core.whitespace=cr-at-eol diff --check,git check-ignorefor example artifacts, and automated whitespace/line ending checks; these succeeded in this environment.dcc32) was not available in the environment and therefore was not executed; manual Delphi compile-and-test is required on Windows to validate VCL Styles rendering, runtime DPI/per-monitor behavior, and editor interactions.Codex Task