Commit Graph

44 Commits

Author SHA1 Message Date
Vadim Zeitlin
e211a451fe Re-realize wxAuiToolBar on DPI change to fix its layout
The layout of the toolbar depends on the size of its bitmaps, which
changes when the DPI does, so call Realize() again when this happens.

This fixes the layout of the toolbars in the aui sample when moving it
between screens using different DPI.
2021-12-12 23:16:28 +00:00
Vadim Zeitlin
9a5123afed Use wxBitmapBundle in wxAuiToolBar and wxAuiPaneInfo too
Allow specifying bitmap bundles instead of single bitmaps for the AUI
toolbar images and pane icons.
2021-11-14 18:55:42 +00:00
Ian McInerney
afbb334a26 Make IsCheckable true by default and switch to explicitly disallowing it
Also add a new accessor to wxAuiToolBarItem to make it easier to
determine when a tool can be checked.
2020-08-21 23:15:38 +01:00
Vadim Zeitlin
700eaff131 Add wxAuiToolBar::DestroyTool() and DestroyToolByIndex()
These new functions destroy the associated window too, unlike the
existing DeleteTool() and DeleteByIndex().

Closes #16552.
2020-03-15 17:09:51 +01:00
Vadim Zeitlin
67739303fd Don't force wxAuiToolBar size to be less than its parent
This results in the toolbar being too small to show any items in it
in wxGTK and wxOSX, because the parent window size is still the default
small one and not the actual size it will be when shown, when the size
of the toolbar is first set.

And it seems completely unnecessary to do this anyhow, as toolbar is
resized by wxAuiManager in any case.

Closes #18218.
2019-10-27 17:41:05 +01:00
Vadim Zeitlin
9e8352b5cb Document in comments that wxAuiToolBarArt element sizes use DIPs
This is not as good as relying on the type system, but better than
nothing.
2019-10-10 14:00:51 +02:00
Paul Cornett
7c3ce912e0 Use ctor-initializer rather than assignment for non-POD class members 2019-02-25 10:23:35 -08:00
Paul Cornett
1229ceb440 Remove unnecessary copy ctor/operator= definitions 2019-02-17 23:09:49 -08:00
Vadim Zeitlin
089eeea3ef Fix wxMSW build with wxUSE_UXTHEME==0
Make wxUxThemeIsActive() available even in this case to fix compilation
in some places and add the unavoidable preprocessor checks in other
ones.

Closes #18207.
2018-12-08 20:24:05 +01:00
Daniel Kulp
727a100a6a Handle wxEVT_SYS_COLOUR_CHANGED in wxAUI classes
Update the colours used when the system theme changes.

This is especially important to use the colour scheme compatible with
macOS 10.14+ dark mode.

Note that this commit is best viewed with "git diff --color-moved".

Closes https://github.com/wxWidgets/wxWidgets/pull/916
2018-12-03 19:48:32 +01:00
Maarten Bent
7a8e314736 Fix clicking on drop down button in wxAuiToolBar on wxMSW
The code handling the mouse events assumed the drop down button with was
10px, but wxAuiMSWToolBarArt uses a different width (14px). So clicking
on the left-most 4 pixels was not registered as a drop down click.

Allow the get (and set) the width of the drop down button of the
ToolBarArt.

Increase the detection area for drop down events, because the drop down
button is drawn 1 pixel larger than the actual size.

Rename some variables where dropdown was used instead of overflow.

Closes https://github.com/wxWidgets/wxWidgets/pull/939
2018-09-20 23:23:53 +02:00
Tobias Taschner
49b82e72f2 Add native wxAuiToolbarArt for MSW.
Using UXTheme or generic fallback for executables without manifest.
2016-02-10 20:40:45 +01:00
Tobias Taschner
c8c9f56e0c Prepare platform dependent wxAuiDefaultToolBarArt. 2016-02-10 20:40:30 +01:00
Paul Cornett
27a8d28029 more use of wxOVERRIDE 2015-09-06 17:20:42 -07:00
Dimitri Schoolwerth
8f8d58d193 Use wx-prefixed macros throughout the repository.
Change {DECLARE,IMPLEMENT}_*CLASS and {DECLARE,BEGIN,END}_EVENT_TABLE
occurrences to use the wx-prefixed version of the macros.
2015-04-23 22:00:35 +04:00
Vadim Zeitlin
3f66f6a5b3 Remove all lines containing cvs/svn "$Id$" keyword.
This keyword is not expanded by Git which means it's not replaced with the
correct revision value in the releases made using git-based scripts and it's
confusing to have lines with unexpanded "$Id$" in the released files. As
expanding them with Git is not that simple (it could be done with git archive
and export-subst attribute) and there are not many benefits in having them in
the first place, just remove all these lines.

If nothing else, this will make an eventual transition to Git simpler.

Closes #14487.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@74602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-07-26 16:02:46 +00:00
Vadim Zeitlin
ce7fe42e84 Provide shorter synonyms for wxEVT_XXX constants.
Use the same short names as are used by the event table macros for the event
type constants themselves. This makes them much more comfortable to use, e.g.
Bind(wxEVT_BUTTON) compared to Bind(wxEVT_COMMAND_BUTTON_CLICKED).

The old long names are still kept for backwards compatibility and shouldn't be
removed as it doesn't really cost anything to continue providing them, but all
new event types should only use the short versions.

Closes #10661.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73850 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-04-25 10:11:03 +00:00
Vadim Zeitlin
526502d1b9 Add wxAUI_TB_PLAIN_BACKGROUND wxAuiToolBar style.
This style allows to use a plain, solid colour, background instead of the
default gradient one.

Closes #10585.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73423 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-21 11:19:00 +00:00
Vadim Zeitlin
72ae0b5169 Disallow drop downs on AUI check buttons.
This doesn't make much sense and disallowing it makes check items consistent
with radio ones as previously you could set up a dropdown for the former but
not for the latter.

Also update the documentation of the relevant methods.

Closes #14795.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72944 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-10 12:40:47 +00:00
Vadim Zeitlin
873271f05e Use wxAUI_TB_DEFAULT_STYLE instead of 0 as default style value.
No real changes.

See #14794.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-06 23:54:25 +00:00
Vadim Zeitlin
a69b365fbb Get rid of wxAuiToolBar::m_style and just use base class m_windowStyle.
This fixes an assert exposed by the addition of wxAuiToolBar::Create() in
r72785: as m_style was not initialized before, calling GetWindowStyle() from
wxControl::Create() returned wrong flags.

Fix this by just removing m_style completely, there doesn't seem to be any
need for it nor for overriding GetWindowStyleFlag().

See #13520.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-29 14:50:42 +00:00
Vadim Zeitlin
46e6720278 Add wxAuiToolBar::Create().
Implement two-step creation of wxAuiToolBar to allow doing it from XRC.

See #13520.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72785 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-27 01:27:19 +00:00
Vadim Zeitlin
3ac17397c5 Perform wxAuiToolBar idle updates from UpdateWindowUI(), not OnIdle().
No real changes, just optimize the idle updates by doing it from (less often
called) UpdateWindowUI() instead of EVT_IDLE handler.

Closes #10075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69594 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 16:51:10 +00:00
Vadim Zeitlin
9a29fe70bc Change variables naming convention in wxAUI code.
Use the standard wxWidgets camelCase convention instead of the
old_one_using_underscores for all the private variables.

Closes #13476.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 14:20:03 +00:00
Vadim Zeitlin
fb1e645577 Don't name variables "id" in public headers.
This name clashes with Objective-C reserved keyword and so prevents the
headers using it from being included from Objective-C++ code.

Closes #12832.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66546 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-03 18:43:30 +00:00
Vadim Zeitlin
4a21ea9d9e Improve mouse handling code in wxAuiToolBar.
Capture the mouse to handle mouse input on the buttons to ensure we always
reset the button when the mouse leaves it.

Closes #11784.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65669 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-29 13:45:56 +00:00
Vadim Zeitlin
f3cf14a905 Fix AUI compilation without PCH after recent changes.
r65061 broke PCH-less compilation as it used wxClientDC without (forward)
declaring it. Fix this and also correct wxAuiPaneInfo forward declaration.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65072 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-24 11:23:17 +00:00
Vadim Zeitlin
e5dcae09e6 Add support for auto-orientable toolbars to AUI.
Allow wxAUI to change the toolbar orientation depending on where is it docked.
It is also now possible to specify wxAUI_TB_VERTICAL or HORIZONTAL to force
the toolbar to be always oriented in the given sense and to prevent it from
being docked at the sides incompatible with it.

Closes #11712.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65061 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-07-23 23:33:10 +00:00
Benjamin Williams
0eefa65979 added ability to set tool alignment (#10174)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59855 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-25 15:56:23 +00:00
Benjamin Williams
8bc10f3280 added missing getters to wxAuiToolBar (#10182)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59854 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-25 14:23:14 +00:00
Benjamin Williams
e7b8af652f fix incorrect application of styles (#10171)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59851 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-25 13:42:35 +00:00
Vadim Zeitlin
9b11752c4f require semicolon after wxDECLARE/DEFINE_EVENT() (closes #10456)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 18:59:25 +00:00
Vadim Zeitlin
3c77890141 add more flexible and safer template Connect() overloads (#10000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Vadim Zeitlin
054f177b00 set svn properties correctly
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56103 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-06 09:29:12 +00:00
Benjamin Williams
7bce84396e applied patch from ticket 10015; wxToolBar compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56007 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-01 10:42:50 +00:00
Robin Dunn
e4a0fe083d remove another SWIG #if
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55867 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-25 16:08:36 +00:00
Robin Dunn
aadca0d5ac Revert last change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-25 15:34:44 +00:00
Robin Dunn
5879b22eeb Ignore the DECLARE_*()'s when swigging
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55844 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-24 23:43:03 +00:00
Francesco Montorsi
8e1903816a fix for gccxml
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55710 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-18 18:47:57 +00:00
Benjamin Williams
0766faa34e fix aui sample breakage; added some accessor methods to wxAuiToolBarItem
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55523 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-08 09:56:49 +00:00
Benjamin Williams
9578058d4e fixed a problem in the aui toolbar flags
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55435 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 14:45:47 +00:00
Benjamin Williams
e42f2c165f make members private in various wxAuiToolBar helper classes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55433 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 14:06:26 +00:00
Vadim Zeitlin
9da38912d3 include wx/control.h for the base class declaration (part of #9931)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55430 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-09-03 07:28:03 +00:00
Benjamin Williams
1154f91b6a added wxAuiToolBar
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55231 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-24 09:28:07 +00:00