Add wxAuiDefaultDockArt::GetPaneButtonBitmap() Add a helper function for accessing pane icons to avoid having to make the new wxBitmapBundle-valued member fields protected and leave them private to e.g. allow their initialization on demand only. No real changes.
Revert "add wxCheckBox to toolbar samples" This reverts commit f6f1f05edcecd9ea64f3a1836bb8e76beacb14d1 because it's not really useful for demonstrating any capabilities and it makes samples windows too wide.
Simplify wxAuiToolBarItem initialization Initialize members in their declarations, use (defaulted) assignment operator instead of reimplementing it in Assign() and remove redundant assignments to new wxAuiToolBarItem fields in wxAuiToolBar::AddXXX(). No real changes.
Change initial values of some wxAuiToolBarItem fields Don't set m_dropDown and m_sticky to true initially, this didn't make much sense because most items don't have drop downs and are not sticky. Also change the default m_minSize value from (0,0) to (-1,-1) as the code in wxAuiToolBar always effectively initialized it with it. This is a backwards-incompatible change, formally, but as application code shouldn't ever create wxAuiToolBarItem objects (because it can't do anything useful with them) but only receive them from wxAuiToolBar, and because this commit doesn't change the values of the fields of these objects, it shouldn't have any consequences in practice.
Simplify tool size calculation code in wxAuiGenericToolBarArt Call GetTextExtent() only once and store its result instead of calling it from 3 different places. Also rely on GetTextExtent() returning (0,0) for the empty string and remove checks for the label being empty.
Check that wxAUI_TB_HORZ_LAYOUT isn't used with wxAUI_TB_VERTICAL Combining these styles doesn't make sense, so assert if this happens to point out probably mistake in the code creating toolbar.
Document wxAuiGenericToolBarArt and wxAuiMSWToolBarArt too This will provide a way to document functions overridden in them to behave differently from the base implementation in wxAuiToolBarArt, if nothing else.
Add support for rendering text vertically to wxAuiToolBar This will actually allow to use text for vertical toolbar items. This commit is best viewed ignoring whitespace-only changes.
Add wxAUI_TB_VERT_TEXT_{DOWN,UP} styles
These styles provide a simple way to specify that the text should be
shown and set its direction when using vertical toolbars.
Add support for drawing "minimized" button in AUI panes The button is not functional yet.
Don't forcible reset item min size to (1,1) in wxAUI This had been already done once back in 5c62cb6c7d (wxAUI: maintain minimum size of panes across dock/undock., 2006-07-05) before being added back in dec588bd6e (reverted an earlier patch that was causing problems, 2006-07-08) but it's not clear at all what kind of problems not doing this was causing, while it's very clear that doing this results in problems due to the window minimum size not being respected. Try (un?)reverting this one more time: if we run into problems due to this commit and have to undo it, hopefully these problems will at least be documented in a comment and/or commit message this time.
Use best size normally in wxAuiToolBar This class used min size instead of best size and updating min size when its best size changed, probably due to the fact that min size was getting reset by wxAuiManager all the time due to the code removed in the parent commit. But as this code has been removed now, we can also simplify wxAuiToolBar and not touch its min size any more.
Add initial support for minimized panes to wxAUI Show buttons allowing to hide or restore the pane in the special minimized panes toolbars and allow configuring where such toolbars can be created.
Synchronize minimizable pane button position with its state If the pane is floated, remove the button if it was shown in a dock for the panes that can be minimized, and if it is docked again, show it again but in the dock corresponding to the new frame position.
Don't leave empty docking toolbars on the screen If a docking toolbar becomes empty, e.g. due to moving all panes that would be docked in it to another side of the window, remove it as it becomes useless.
Remove closed panes from docking toolbars If a pane is closed, remove it from the docking toolbar too. This also takes care of not using dangling pointer if the pane being closed is being destroyed as well.
Show text only optionally for minimized panes By default, show only their icons and provide ShowTextForMinPanes() to enable showing their titles as well.
Ensure that closed panes are not shown in docking toolbars later After the changes of the previous commit, closed panes were not shown in the docking toolbars immediately after closing them, but could still be shown in them if the toolbar was created later. Fix this by remembering that the pane was closed in its state field and skipping over closed panes when adding panes to the dock later.
Show pane title as tooltip for its button when minimized This should add some clarity, as icons are not always enough and the text may not be shown.
Allow minimized pane icon to be different from the normal one Add wxAuiPaneInfo::IconMin() which can be used to set the icon to shown when the pane is minimized. This is useful especially in the case when normal icon is not set at all, as the minimized pane button really must have an icon. Show it in the sample using some completely random items (which is not ideal, but there are no good looking standard icons that would make sense here).
Add wxAUI_TB_ROTATE_ICON_WITH_TEXT style Don't always rotate icons in the vertical toolbars to match the text orientation, this has unexpectedly turned out to be very controversial, so don't do this by default and require the use of a special style to do it.
Remove duplicated comment for wxAUI_ORIENTATION_MASK This comment was for wxAUI_TB_TEXT and didn't make sense here. Leave wxAUI_ORIENTATION_MASK itself just in case anything relies on it being here.
Make minimized pane docking toolbars more configurable Allow showing either icons or text or both of them in them and also allow to optionally rotate the icons to match the text orientation.
Remove unnecessary override of wxAuiMinDock::DoSetSize() This is a leftover from debugging toolbar resizing.
Refactor: extract code in wxAuiManager::GetContainingDockSize() No real changes, this is just a pure refactoring extracting the code for finding the size of the containing dock into a reusable function.
Remove unnecessary call to Show() when restoring minimized pane wxAuiManager::Update() will show the window after a call to wxAuiPaneInfo::Show() anyhow, so this isn't really necessary and might just result in flicker due to showing the window at a wrong location.
Preserve size of the minimized panes Remember the size of the dock containing them, so that it is recreated with the same size when restoring them later.
Informally deprecate wxGLApp It is not really needed for anything and while there is no good reason to remove it (breaking code which depends on it by inheriting from this class), mention that it shouldn't be used in the new code and stop overriding GetXVisualInfo() in it when not using GTK 2, as it's the only port which actually needs it.
Add make_unique fallback implementation Define it ourselves if the standard library doesn't provide it (as is the case for the still supported g++ 4.8).
Allow choosing between GLX and EGL during run-time The same library binary can now be used to use either GLX or EGL for wxGLCanvas implementation instead of the choice being done at build time (by either always using EGL if it is enabled or always using GLX otherwise). New wxGLCanvas::PreferGLX() function (available only if wxHAS_GLX is defined) can be used to request using GLX even if EGL is available, otherwise EGL is used by default, just as before. Additionally new "opengl.egl" system option can be used to the same effect, mostly to allow users to set "wx_opengl_egl" environment variable to 0 to use GLX if possible, i.e. with X11 and not Wayland.
Remove redundant eglBindAPI() call Since the changes of a88a56b9fe (Fix OpenGL ES creation in EGL-based wxGLCanvas implementation, 2025-12-06) this call is not needed any more, as we'll call eglBindAPI() with the correct API to use when we know it later.
Document wxGLCanvas::GetGLXVersion() This function has been available since more or less always and is now used in the OpenGL cube sample, so it seems like it ought to be public.
Add wxGLCanvas::GetEGLVersion() to wxGTK and wxX11 Provide this function if only for consistency with GetGLXVersion().
Make wxGLContextX11 ctor code a bit shorter and more clear It wasn't obvious why did we duplicate identical code for attributes initialization before, so stop duplicating it and write a comment explaining what's going on here and why we can't just initialize the various variables from the provided or fallback attributes directly. No real changes.
Merge branch 'aui-minimize' Add support for minimizing panes to wxAUI. See #26009.
Merge branch 'runtime-egl' Make it possible to choose during run-time between using GLX and EGL. See #26023.
Don't hang handling wxEVT_CHAR_HOOK while IME is used in wxMSW Not skipping the event in wxEVT_CHAR_HOOK event handler could completely freeze the program due to IME getting in some broken state. Avoid this by ensuring we always let the message hook it installs have the keyboard messages when it is active. See #26027. Closes #22473.
—
View it on GitLab.
You're receiving this email because of your account on gitlab.com. Manage all notifications · Help