merge with master 201909 - #11
Open
livius2 wants to merge 868 commits into
Open
Conversation
… installation of VS/VSBuildTools could've been found
…ot platform specific. This fixes compiler warning in demp project MVCDemo.
… field. This should allow deriving classes to adjust this behavior more easily.
…tore if previous message was a double click,
…lue. of parameter ChildNodesOnly
…n the value. of parameter ChildNodesOnly" This reverts commit 9ace431.
…later deal with the fact that StartNode is nil
…ped(() from TVTHeader.HandleMessage(()
Added new DPM dspec file
Bumped dpm package patch version (no interface change)
Fix regression caused by previous fix for issue #1358
… current implementation, it might become invisible, if the text scaling in Windows is activated, while the overall scaling for the screen isn't
…tscaling fix: Adjusted height calculation for the text-editing-caret. With the…
…_PRINT
The header lives in the non-client area, and two separate mistakes made rendering
the tree into a caller supplied device context unusable.
WMPaint always fetched a window DC via GetDCEx to draw the header, ignoring the DC
that comes with the message. TWinControl.PaintTo performs WM_PAINT with the target
DC, so the client area ended up in the copy while the header was painted onto the
real window instead - the copy had no header at all. It now paints into Message.DC
when one is supplied.
That alone put the header two pixels off: PaintTo draws the border itself and then
moves the origin inside it, while FHeaderRect is relative to the outer window
corner, so the header was shifted by the border width and clipped on the opposite
edge. csPaintCopy marks exactly that case, and GetBorderDimensions returns negative
values, so adding them shifts back.
WMPrint drew the header regardless of the PRF_ flags, so a PRF_CLIENT only request
got the non-client header painted over the client area, which is the corrupted
border the reporter saw. It now checks PRF_NONCLIENT.
Measured on Delphi 13.1 / Win32 by rendering into an off-screen bitmap and counting
the pixels of a distinctively coloured header, so the result does not depend on
window visibility or theming:
before after
PaintTo 0 px 304 px, (362,2)-(377,20)
WM_PRINT, PRF_CLIENT only 38 px 0 px
WM_PRINT, PRF_CLIENT or PRF_NONCLIENT 304 px 304 px, unchanged
WM_PRINT, PRF_NONCLIENT 304 px 304 px, unchanged
PaintTo is now pixel identical to WM_PRINT with PRF_NONCLIENT.
Tests/VTPaintToIssue632Tests.pas covers all four cases. Three of them fail without
this change and one passes either way, guarding against over-correcting the case
that already worked. Suite goes from 135 passed / 5 failed to 138 passed / 2
failed; the two remaining failures are the pre-existing TestCopyHTML1 and
TestCopyHTML2, which also fail on an unmodified master here.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…rea and were trapped there Dropping a normal column in front of a fixed column made it fixed (deliberate behavior of TVirtualTreeColumn.SetPosition when a column enters the fixed area) - and since issue #1314 fixed columns lose coDraggable, so the column could never be dragged out again. Redirect the drop target in TVTHeader.DragTo(): when a non-fixed column is dragged over a fixed one, the target becomes the first non-fixed visible column instead. Drop mark and drop are consistent and the column lands right after the fixed area, staying normal and draggable. The programmatic path is unchanged: assigning Position directly still moves a column into the fixed area and makes it fixed. New regression test Tests/VTFixedColumnDragIssue1377Tests.pas drives DragIndex/DragTo/ColumnDropped directly and asserts the redirected target, the resulting position and the preserved options; it fails without the fix. A second test pins the unchanged programmatic behavior. Test suite: 2 pre-existing failures (TestCopyHTML1/2, also failing on unmodified master), no new failures. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Fix #632: header is missing from PaintTo and drawn for client-only WM_PRINT
…-zip Remove accidentally committed repro project from the repository root
…drag Fixed issue #1377: Normal columns could be dropped inside the fixed area and were trapped there
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.
No description provided.