[Git][wxwidgets/wxwidgets][master] 94 commits: Avoid using Tab and Shift+Tab as accelerators

2 views
Skip to first unread message

Vadim Zeitlin (@_VZ_)

unread,
Oct 28, 2025, 7:47:55 PMOct 28
to wx-commi...@googlegroups.com

Vadim Zeitlin pushed to branch master at wxWidgets / wxWidgets

Commits:

  • e4fc22b1
    by Vadim Zeitlin at 2025-08-02T16:40:48+02:00
    Avoid using Tab and Shift+Tab as accelerators
    
    This doesn't work in wxGTK and results in a debug warning on the sample
    startup.
    
  • 98299a53
    by Vadim Zeitlin at 2025-08-03T02:52:24+02:00
    Make wxStyledTextCtrl::TextHeight() const
    
    This function isn't declared as "get" in the Scintilla interface file
    but it's still one, semantically, so make it const in C++.
    
  • 57321c6e
    by Vadim Zeitlin at 2025-08-04T02:01:01+02:00
    Experiment with document map in wxSTC sample
    
    Add a menu item showing a dialog with the document and its map.
    
  • 5c90cf49
    by Vadim Zeitlin at 2025-08-04T02:06:46+02:00
    Make the overlay more opaque while dragging under non-MSW too
    
    Unfortunately opacity needs to be handled differently for wxMSW and the
    others.
    
  • 9bf20b80
    by Vadim Zeitlin at 2025-08-22T23:30:47+02:00
    Prevent Scintilla from handling double clicks in the map
    
    This results in unwanted text selection and messes up mouse capture, so
    don't let it process this event.
    
  • d3dd2294
    by Vadim Zeitlin at 2025-08-24T17:56:10+02:00
    Don't scroll when starting to drag
    
    Add forgotten return to prevent falling through to the logic for
    clicking outside of the thumb when clicking on it.
    
  • d6739889
    by Vadim Zeitlin at 2025-08-24T17:56:10+02:00
    Add convenient GetThumbTopPos() function
    
    Just extract it from DrawVisibleZone().
    
    No real changes, this is just a refactoring.
    
  • 86e0b4db
    by Vadim Zeitlin at 2025-08-24T17:56:10+02:00
    Simplify and improve map thumb positioning logic
    
    Cache often used values for efficiency.
    
    Avoid recursive calls to our Sync{Edit,Map}Position() by using a flag to
    block the unwanted notifications.
    
    Fix thumb positioning while dragging.
    
  • 5089cbc1
    by Vadim Zeitlin at 2025-08-26T00:26:55+02:00
    Handle double clicks in the map as simple clicks
    
    This is much more useful than ignoring them as some clicks in a series
    of clicks could be unintentionally lost/ignored before.
    
  • 246f8a65
    by Vadim Zeitlin at 2025-08-26T19:47:01+02:00
    Don't allow Ctrl+mouse wheel zooming in the map
    
    Still allow scrolling using just the mouse wheel.
    
  • 4ccc8253
    by Vadim Zeitlin at 2025-08-26T23:25:48+02:00
    Prevent removing the document or the map ShowDocumentMap()
    
    Don't allow un-splitting wxSplitterWindow.
    
  • 7a9ae5fe
    by Vadim Zeitlin at 2025-08-27T12:42:58+02:00
    REVERT: Experiment with word wrap
    
  • b9198771
    by Vadim Zeitlin at 2025-08-30T19:25:06+02:00
    Prevent removing the document or the map in ShowDocumentMap()
    
    Don't allow un-splitting wxSplitterWindow.
    
  • 57713dd8
    by Vadim Zeitlin at 2025-08-30T19:27:39+02:00
    Merge branch 'master' into stc-document-map
    
    Pull in the performance-related changes in order to use them in this
    branch.
    
  • 1ad623e9
    by Vadim Zeitlin at 2025-08-30T19:45:40+02:00
    Store backing store bitmap in wxStyledTextCtrl
    
    Avoid recreating this bitmap in each call to OnPaint().
    
  • 0cae6fee
    by Vadim Zeitlin at 2025-08-30T19:45:40+02:00
    Use wxBitmap object and not pointer in SurfaceImpl
    
    There is no need to dynamically allocate this object when we can just
    use null bitmap instead of null pointer.
    
    Using the object is simpler, safer and could be marginally faster.
    
  • 0adeee4f
    by Vadim Zeitlin at 2025-08-30T19:45:40+02:00
    Store the last 8 used brushes in wxSTC implementation
    
    This avoid constantly recreating the background brush which is used
    multiple times on every repaint.
    
  • 2bb24ff4
    by Vadim Zeitlin at 2025-08-30T19:45:40+02:00
    Reuse the same string buffer for STC-to-wx string conversions
    
    This avoids a lot of memory allocation while redrawing the window and
    results in noticeable performance improvement.
    
  • 097e4e53
    by Vadim Zeitlin at 2025-08-30T19:45:40+02:00
    Avoid casting arbitrary wxDC to wxMemoryDC in wxSTC
    
    Even though all the device contexts used here are currently of either
    wxMemoryDC or wxBufferedPaintDC (deriving from wxMemoryDC) type, casting
    them to wxMemoryDC is still dangerous and prevents from the code being
    ever changed to use other wxDC types.
    
    No real changes, just make the code safer.
    
  • 33731354
    by Vadim Zeitlin at 2025-08-30T19:45:40+02:00
    Disable bounding box updates for wxDCs used in wxSTC
    
    This is another micro-optimization for the drawing code.
    
  • 0fbfa476
    by Vadim Zeitlin at 2025-09-01T17:23:21+02:00
    Make VisibleFromDocLine/DocLineFromVisible() const too
    
    These functions names don't start with "Get" but they still don't modify
    the control and so should be const.
    
  • 08b041c1
    by Vadim Zeitlin at 2025-09-01T17:24:07+02:00
    Use variable instead of hardcoded number for folding margin
    
    Make the comparison more understandable and avoid hardcoding "2".
    
  • df2f85d0
    by Vadim Zeitlin at 2025-09-01T17:25:03+02:00
    Do not set the lexer for the map wxSTC instance
    
    Apparently using the same lexer for 2 controls sharing the same document
    doesn't work, this results in problems with syntax highlighting and
    folding not working at all.
    
    Simply not doing this fixes these problems while still showing the
    correct syntax highlighting in the map, as it shares the same document.
    
  • 87e81bce
    by Vadim Zeitlin at 2025-09-01T17:26:52+02:00
    Use number of displayed, and not document, lines in the map code
    
    We really care about the number of physical, i.e. "display", lines
    appearing in the window and not the number of logical, or "document",
    lines.
    
    They are the same as long as no lines are either wrapped or folded but
    become different as soon as either of them is used.
    
  • 0a19b1a6
    by Vadim Zeitlin at 2025-09-01T22:42:44+02:00
    Add wxStyledTextCtrl::GetDisplayLineCount()
    
    This is a convenient, even if trivial, function.
    
  • 2fae0eae
    by Vadim Zeitlin at 2025-09-08T15:36:05+02:00
    Merge branch 'master' into stc-document-map
    
  • 96be24e5
    by Vadim Zeitlin at 2025-09-08T15:36:49+02:00
    Wrap lines in the main document used with the map for testing
    
  • cc089bf7
    by Vadim Zeitlin at 2025-09-09T18:59:26+02:00
    Add separate m_isDragging instead of reusing m_dragOffset
    
    The value of m_dragOffset will possibly become negative after the
    upcoming changes, so don't rely on the special value -1 meaning that we
    are not dragging any more.
    
    No real changes.
    
  • 7db30030
    by Vadim Zeitlin at 2025-09-09T18:59:26+02:00
    Initialize m_mapLineHeight only once
    
    It doesn't change even if the window is resized.
    
    No real changes.
    
  • 4150ab89
    by Vadim Zeitlin at 2025-09-09T18:59:26+02:00
    Collect information about visible lines in LinesInfo struct
    
    This makes it simpler to check if any of the relevant variables have
    changed and update them all at once.
    
  • f7d62775
    by Vadim Zeitlin at 2025-09-09T18:59:26+02:00
    Rename GetMapLineAtPoint() to GetDocLineAtMapPoint()
    
    Make it clear that this function returns the logical/document line and
    not the physical/display line.
    
    No real changes.
    
  • 4a440d60
    by Vadim Zeitlin at 2025-09-10T01:46:28+02:00
    Sync map and document properly when lines are wrapped
    
    Don't assume that display and document lines are the same any longer.
    
    This complicates things a lot, notably while dragging because we can't
    simply find the correct first line for the editor any longer but need to
    search for it iteratively because the size of the thumb now depends on
    its position, as different regions of the document may wrap differently.
    
    Also synchronize the map with the document when it is repainted and not
    resized because line wrapping is done in the background after the resize
    and we don't have the correct mapping between the display and document
    lines yet in the wxEVT_SIZE handler -- but we eventually get it for the
    last wxEVT_PAINT provoked by it.
    
  • 4444810c
    by Vadim Zeitlin at 2025-09-29T20:55:02+02:00
    Merge remote-tracking branch 'origin/master' into stc-document-map
    
  • 2ef91eb6
    by Vadim Zeitlin at 2025-10-02T15:09:47+02:00
    Rename all "editor" variables to start with "edit" instead
    
    Use consistent naming instead of using "editorFoo" for some things and
    "editBar" for the other ones.
    
    No real changes.
    
  • bc322eb6
    by Vadim Zeitlin at 2025-10-02T23:51:27+02:00
    Fix multiple bugs in determining position when dragging
    
    Improve the initial estimate: old method was more precise when display
    and document lines matched up (i.e. without wrapping) but could result
    in completely wrong value when they were very different.
    
    Add proper range checking to avoid ending up with an invalid editor
    first visible line.
    
    Ensure that we don't enter an infinite loop when there are two first
    visible lines values resulting in the thumb position close to but
    either just above or below the correct one.
    
  • c35886ae
    by Vadim Zeitlin at 2025-10-10T17:32:32+02:00
    Merge branch 'master' into stc-document-map
    
  • 187f68f2
    by Vadim Zeitlin at 2025-10-13T14:40:00+02:00
    Replace {map,edit}Display with {map,edit}Max in LinesInfo
    
    No real changes, just store the maximum possible values for the first
    visible line in both controls instead of storing the number of display
    lines as we only really need the former.
    
  • f0d9d909
    by Vadim Zeitlin at 2025-10-13T15:10:26+02:00
    Improve skipping scroll events caused by the program itself
    
    Don't use a single m_updateBlocked flag which was reset too early,
    before the re-wrapping happened, and so didn't really avoid processing
    the scroll events due to the program itself.
    
    Remember the last first line value we set instead and ignore events
    scrolling to this line instead.
    
  • 5500f3d3
    by Vadim Zeitlin at 2025-10-13T15:20:43+02:00
    Really fix map sync when lines can be wrapped
    
    The assumption that first visible lines of the map and the editor are
    proportional doesn't hold in this case, only the thumb position and the
    first visible line in the editor must be proportional to each other in
    order to accurately represent the position in the document.
    
  • 9396c198
    by Vadim Zeitlin at 2025-10-13T17:42:01+02:00
    Add MapVisibleFromEditVisible() helper function
    
    No real changes, just simplify the code a bit by adding a trivial
    function performing a commonly needed mapping.
    
  • 87c8ce01
    by Vadim Zeitlin at 2025-10-13T18:02:20+02:00
    Fix scrolling the editor while dragging the thumb
    
    Find the candidate middle of the thumb directly from the first visible
    line in the editor, we don't need to compute the first visible map line
    (especially as we did it wrongly) for this.
    
    Get rid of m_dragLastY which is not needed to get a reasonably accurate
    initial estimation.
    
  • 58cd52d2
    by Vadim Zeitlin at 2025-10-13T18:19:56+02:00
    Fix SyncEditPosition() for the case of wrapped lines too
    
    We need to iteratively find the first editor line such that the
    corresponding first map line is the desired one.
    
  • 7d7caf4a
    by Vadim Zeitlin at 2025-10-13T18:38:37+02:00
    Extract iteration algorithm in its own function
    
    Avoid duplicating the same code in different functions that need to
    iteratively find the correct first visible line in the editor.
    
  • 42ac97b1
    by Vadim Zeitlin at 2025-10-13T18:46:58+02:00
    Increase the line number margin width
    
    It wasn't big enough to show 4 digit numbers.
    
  • b11d995e
    by Vadim Zeitlin at 2025-10-16T23:46:45+02:00
    Add wxStyledTextCtrl::SetMirrorFoldingCtrl()
    
    This can be used to mirror folding in one control to another one and
    will be used by wxStyledTextCtrlMiniMap to keep its folds synchronized
    with those in the main control automatically.
    
  • 68a55e9c
    by Vadim Zeitlin at 2025-10-16T23:48:49+02:00
    Synchronize folding in the map and the main editor
    
    Also don't hide fold margin any longer to allow testing folding.
    
  • 42e87852
    by Vadim Zeitlin at 2025-10-16T23:54:39+02:00
    Add Edit::ToggleLineNumbers() to the sample
    
    Make it a bit simpler to show line numbers when showing the minimap.
    
  • f0b72c36
    by Vadim Zeitlin at 2025-10-17T02:11:02+02:00
    Move wxStyledTextCtrlMiniMap from stc sample to the library
    
    After experimenting with this code in the sample, move it to its
    permanent place in the library.
    
    This commit is best viewed using Git --color-moved option and ignoring
    whitespace changes.
    
  • 6d52485e
    by Vadim Zeitlin at 2025-10-17T02:11:02+02:00
    Add documentation for wxStyledTextCtrlMiniMap
    
    There is not much to document, as this class needs to be just created
    and left to its own devices.
    
  • b3449e10
    by Vadim Zeitlin at 2025-10-17T17:28:24+02:00
    Add possibility to customize wxStyledTextCtrlMiniMap thumb colours
    
    Default grey may not be always appropriate.
    
  • c39b5d94
    by Vadim Zeitlin at 2025-10-19T15:07:58+02:00
    Don't scroll wxStyledTextCtrl used by wxStyledTextCtrlMiniMap
    
    Scrolling the control using wxWindow::ScrollWindow() corrupted the thumb
    drawn on top of it, as parts of it were scrolled away. There doesn't
    seem to be any way to prevent this from happening, so make it possible
    to avoid using ScrollWindow() completely by adding new SetCustomDrawn()
    function and using it in wxStyledTextCtrlMiniMap.
    
    This fixes visual thumb corruption under wxMSW when scrolling the map by
    small increments, e.g. using mouse wheel or the scrollbar arrows.
    
  • 4c8a6296
    by Vadim Zeitlin at 2025-10-20T19:06:37+02:00
    Refresh the map when syncing its position even when not scrolling
    
    If the entire map fits into the map window, the map first visible line
    never changes as it always remains as 0, however we still need to
    refresh the map to show the new thumb position properly.
    
  • 8c3ca651
    by Blake-Madden at 2025-10-20T16:25:36-04:00
    Fix wrong colors being copied and returned
    
  • e2581a0a
    by Blake-Madden at 2025-10-20T16:29:40-04:00
    Add bitmap and pointer validations
    
  • 62384e2d
    by Blake-Madden at 2025-10-20T16:30:16-04:00
    Add consistent use of wxDynamicCast
    
  • 68cf7695
    by Blake-Madden at 2025-10-20T16:30:44-04:00
    Fix wrong flag being toggled in toolbar
    
  • ba29bc86
    by Blake-Madden at 2025-10-20T16:33:24-04:00
    Fix DeletePage when zero is given
    Would then try to call SetActivePage with max size_t. Code is now simplified and stays within boundary of the number of pages.
    
  • 362f29ae
    by Blake-Madden at 2025-10-20T17:13:02-04:00
    Undo bitmap check that didn't serve a purpose
    
  • 8014390a
    by Vadim Zeitlin at 2025-10-21T01:21:50+02:00
    Don't sync edit after map changes originating from the editor
    
    If the change in the map scrolling position is due to a change in the
    editor contents, we don't need to synchronize the editor with the map
    and, in fact, it is wrong to do it as deleting text at the bottom of the
    editor could result in the editor being scrolled to the top if the map
    was scrolled to the top due to it fitting the window now when it didn't
    fit it before.
    
  • 647d79aa
    by Vadim Zeitlin at 2025-10-21T01:34:57+02:00
    Rename wxSTC::SetMirrorFoldingCtrl() to SetMirrorCtrl()
    
    This function will be used to synchronize other changes than just the
    folds in the upcoming commit, so stop using "Folding" in its name.
    
  • 104d1d40
    by Vadim Zeitlin at 2025-10-21T01:47:44+02:00
    Make generating of mirroring methods more maintainable
    
    Instead of requiring to provide the full implementation of all methods
    that must be forwarded to m_mirrorCtrl, define a list of such methods
    and handle all of them in a single place.
    
    This will make adding new methods to mirror much simpler.
    
  • 9d75245d
    by Vadim Zeitlin at 2025-10-21T02:05:45+02:00
    Synchronize markers with the mirror control too
    
    Add a demo marker to the sample to verify that it is shown in the map as
    well.
    
  • e17485d4
    by Vadim Zeitlin at 2025-10-21T02:08:39+02:00
    Merge branch 'master' into stc-document-map
    
    Resolve conflicts in Xcode projects by regenerating them.
    
  • 1fd6aa04
    by Vadim Zeitlin at 2025-10-21T15:20:58+02:00
    Don't explicitly refresh the map when the editor contents change
    
    This seems to be unnecessary, as the map contents is updated anyhow, and
    just results in extra flicker as seen when e.g. maintaining a key
    pressed on autorepeat in the editor.
    
  • 3d94c35f
    by Vadim Zeitlin at 2025-10-21T16:29:40+02:00
    Don't synchronize map position on resize to avoid unwanted jumps
    
    Map position may change when its size changes, but this shouldn't result
    in a change in the editor position, as it did before this change because
    calling SyncMapPosition() from wxEVT_SIZE handler resulted in a
    subsequent call to SyncEditPosition() when we received a V_SCROLL update
    from Scintilla.
    
    Stop doing this from this handler and instead remember the last "set"
    (actually, "known") map position to avoid reacting to the corresponding
    V_SCROLL change.
    
    Note that just setting m_lastSetMapFirst but continuing to call
    SyncMapPosition() from here didn't quite work because Scintilla seems to
    not be in a consistent state yet when this event handler is executed
    when maximizing the window containing the map and the map position could
    pass by some small intermediate value (2 seen in the sample) before
    finally jumping to 0, which prevented us from filtering this update out.
    
    Updating map only from wxEVT_PAINT handler doesn't seem to result in any
    visual problems and avoids this problem.
    
  • 5af5010f
    by Vadim Zeitlin at 2025-10-21T16:53:16+02:00
    Don't hide editor vertical scrollbar when using minimap
    
    This looks nicer but loses potentially useful functionality of the
    editor scrollbar which may be used to scroll the editor even if the text
    is short enough to fit entirely in the map, and so when the map doesn't
    have any scrollbar at all.
    
    Document the possibility of hiding it scrollbar for people who still
    want to do it.
    
  • b5255ef9
    by Vadim Zeitlin at 2025-10-21T17:36:05+02:00
    Add wxStyledTextCtrlMiniMap::SetEdit()
    
    Allow changing the editor associated with the map or even resetting it
    completely, so that the map doesn't show anything.
    
    Also make the relationship between the editor and the map safer, by
    avoid leaving dangling pointers when either of them is destroyed.
    
  • d6d2a39d
    by Blake-Madden at 2025-10-21T19:48:30-04:00
    When dynamic cast was used and pointer wasn't check, replace with DEBUG type check and static_cast
    Other existing dynamic casts where return pointer was validated is left in place.
    
  • af620627
    by Blake-Madden at 2025-10-21T19:53:56-04:00
    Add pointer check to suppress PREFast null deref warning
    
  • 8a8bbbe5
    by Blake-Madden at 2025-10-21T20:01:32-04:00
    Use wxASSERT_MSG where needed
    
  • 32a009d2
    by Vadim Zeitlin at 2025-10-23T01:49:19+02:00
    Fix document pointer memory leak in wxStyledTextCtrlMiniMap
    
    Remove the extraneous call to AddRefDocument(), SetDocPointer() already
    does this internally and doing this in wxStyledTextCtrlMiniMap code just
    ensured that we leaked the associated document.
    
  • 3e937bbd
    by Vadim Zeitlin at 2025-10-25T23:45:18+02:00
    Recalculate wxGenericTreeCtrl line height after font change
    
    This ensures that the items always consume as much space as they need
    vertically and not more.
    
    Closes #16428.
    
  • 1c589b1c
    by Vadim Zeitlin at 2025-10-25T23:57:44+02:00
    Remove unnecessary wxDC::SetFont() calls in wxGenericTreeCtrl
    
    There is no need to set the normal font when using wxPaintDC or wxInfoDC
    as they already use this font by default.
    
  • 77c13c47
    by Vadim Zeitlin at 2025-10-25T23:58:42+02:00
    Move macOS-specific font selection to GetClassDefaultAttributes()
    
    It doesn't make much sense to return one font from this function and
    then override it using Mac-specific font in InitVisualAttributes().
    
    Instead, return the correct font for the current platform from
    GetClassDefaultAttributes() and don't override it later.
    
  • f89eee94
    by Vadim Zeitlin at 2025-10-26T00:06:42+02:00
    Remove dcUsesNormalFont from wxGenericTreeCtrl::DoCalculateSize()
    
    We don't need to use this parameter, the DC passed to DoCalculateSize()
    always has the correct font selected into it.
    
  • 947766c2
    by Vadim Zeitlin at 2025-10-26T00:09:18+02:00
    Remove wxGenericTreeCtrl::m_normalFont
    
    This seems to be completely redundant with wxWindow::m_font, so just use
    it instead.
    
  • cf8fb309
    by vvs31415 at 2025-10-26T18:33:11+01:00
    Do not use wxItemId::m_pItem directly
    
    Call public wxItemId::GetID() instead.
    
    No real changes.
    
    Closes #25926.
    
  • e1e53aa6
    by Vadim Zeitlin at 2025-10-26T18:51:28+01:00
    Don't export wxGenericTreeItem from wx shared libraries
    
    This is unnecessary as this class definition is private anyhow.
    
  • 9d96531d
    by Vadim Zeitlin at 2025-10-26T19:18:22+01:00
    Replace dynamic array use in wxGenericTreeCtrl with vector
    
    Stop using deprecate macro-based dynamic array class, as it's private it
    can be replaced with a vector.
    
    As a side effect, sorting tree branches is now re-entrant and we don't
    need to use the ugly s_treeBeingSorted hack.
    
  • 4b004dce
    by julbean at 2025-10-26T22:23:50+01:00
    Document wxOSX_FILEDIALOG_ALWAYS_SHOW_TYPES constant
    
    This will make it available in wxPython, so that the programs that need
    it could use the symbolic constant instead of its string expansion.
    
    Also fix a typo: does -> do
    
    Closes #25920.
    
  • fec49ff9
    by Blake-Madden at 2025-10-27T12:18:32-04:00
    Add and use new wxCheckedStaticCast helper
    
  • 6f9bd5e4
    by Vadim Zeitlin at 2025-10-28T23:45:49+01:00
    Document limitations of wxStyledTextCtrlMiniMap synchronization
    
    Mention that only folds and markers updated after associating the map
    with the control are automatically propagated to it and that the
    application needs to do it manually for the pre-existing ones.
    
  • 798a28a0
    by Robert Roebling at 2025-10-28T23:58:30+01:00
    Document wxHeaderCtrlSimple::DeleteAllColumns()
    
  • 00bd397c
    by Robert Roebling at 2025-10-28T23:58:30+01:00
    Fix parameter name in wxHeaderCtrl::ShowSortIndicator()
    
    Use more useful "ascending".
    
  • 4bf0f348
    by Vadim Zeitlin at 2025-10-29T00:00:33+01:00
    Merge branch 'RibbonReview' of github.com:Blake-Madden/wxWidgets
    
    Fix minor issues in wxRibbonBar code and add a generally useful
    wxCheckedStaticCast helper.
    
    See #25900.
    
  • 7ede53bf
    by Vadim Zeitlin at 2025-10-29T00:02:16+01:00
    Merge branch 'generic-tree-font'
    
    Improve font handling in wxGenericTreeCtrl.
    
    See #25851, #25927.
    
  • 7a4682a6
    by Arrigo Marchiori at 2025-10-29T00:15:24+01:00
    Work around MinGW thread local variables bug in wxTranslations
    
    Use a helper class storing per-thread untranslated strings in global
    variables but still ensuring that their cleanup happens for each thread
    when using this compiler as, due to a known bug in their implementation
    in MinGW (see https://github.com/msys2/MINGW-packages/issues/2519),
    member variables can't be used in thread local variables dtors.
    
    Closes #25897.
    
    Closes #25928.
    
  • 471c7106
    by ssrlive at 2025-10-29T00:19:10+01:00
    Improve precise wxTreeCtrl best size calculation
    
    Try to compute the size of the items manually, even if GetBoundingRect()
    doesn't return it, as it happens when the items are collapsed.
    
    This ensures the tree control best size is big enough to show the tree
    fully expanded.
    
    Replaces #25843.
    
    Closes #25839.
    
    See #25930.
    
    Co-authored-by: Vadim Zeitlin <va...@wxwidgets.org>
    
  • 467f14bf
    by Vadim Zeitlin at 2025-10-29T00:19:58+01:00
    Merge branch 'treectrl-generic-modernize'
    
    Modernize wxGenericTreeCtrl a bit.
    
    See #25931.
    
  • de3d441a
    by vvs31415 at 2025-10-29T00:25:40+01:00
    Add full wxImageHandler constructor and use it in derived classes
    
    Provide a ctor which can be used to fully initialize the base class
    instead of forcing all image handlers to initialize their member
    variables manually and use it in all the standard image handlers.
    
    Closes #25933.
    
    Co-authored-by: Vadim Zeitlin <va...@wxwidgets.org>
    
  • 8d677e18
    by Vadim Zeitlin at 2025-10-29T00:27:09+01:00
    Merge branch 'headerctrl-doc-fixes'
    
    Improve wxHeaderCtrlSimple documentation.
    
    Closes #25934.
    
  • dc4b7f7d
    by Vadim Zeitlin at 2025-10-29T00:27:52+01:00
    Merge branch 'stc-document-map-wrap'
    
    Add wxStyledTextCtrlMiniMap class showing a "mini map" of wxSTC.
    
    See #25887.
    
  • 1ec01aba
    by Vadim Zeitlin at 2025-10-29T00:31:52+01:00
    Merge branch 'stc-document-map'
    
    Merge the correct wxStyledTextCtrlMiniMap branch.
    
    This supersedes wrong accidental merge in the parent commit.
    
    See #25887.
    
  • bd14cf2d
    by Vadim Zeitlin at 2025-10-29T00:33:59+01:00
    Fix wxHeaderCtrl documentation after recent parameter change
    
    Correct a problem introduced in 00bd397cf2 (Fix parameter name in
    wxHeaderCtrl::ShowSortIndicator(), 2025-10-28) which wrongly renamed the
    parameter but not its documentation.
    
    See #25934.
    

59 changed files:

The diff was not included because it is too large.
Reply all
Reply to author
Forward
0 new messages