Commit Graph

71 Commits

Author SHA1 Message Date
Vadim Zeitlin
bfbdd37a1a Merge native MSW appearance for AUI toolbars
Closes https://github.com/wxWidgets/wxWidgets/pull/200
2016-02-13 12:31:49 +01:00
Vadim Zeitlin
86b1181233 Fix issue with AUI toolbar overflow button always showing up
When resizing a wxAuiToolbar, the overflow button always showed up, and the
SetOverflowVisible() doesn't work as expected. E.g.

	tb->SetOverflowVisible(!tb->GetToolFitsByIndex(tb->GetToolCount()-1));
	tb->Refresh()

This was caused by the logic in OnPaint() ignoring the m_overflowVisible flag
and always drawing (or not drawing) the overflow button.

Add a check for it to fix this.

Closes https://github.com/wxWidgets/wxWidgets/pull/212
2016-02-13 12:22:04 +01:00
Tobias Taschner
c8c9f56e0c Prepare platform dependent wxAuiDefaultToolBarArt. 2016-02-10 20:40:30 +01:00
Vadim Zeitlin
11f6ecce6b Fix crash when right clicking AUI toolbar while left button is pressed.
Ignore the unrelated mouse events during the item dragging.

This avoids a crash due to m_actionItem being NULL when right clicking an item
while the left mouse button is kept pressed.

Closes #16327.

(this is a forward port of 648d9ce1fb from 3.0)
2016-01-30 18:30:13 +01:00
Vadim Zeitlin
0e5f3612df Fix assert when adding controls to wxAuiToolBar.
The code was always wrong as it added the control to a new sizer when it was
still element of an old one, but this went unnoticed until the changes of
efce9b2306 which now trigger an assert.

Fix this by deleting the old sizer, and thus breaking the association between
it and the controls inside it, before adding the controls to the new one.

Closes #17080.
2015-07-31 16:40:09 +02: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
Stefan Csomor
f18d7097da adding wxFALLTHROUGH where until now we had comments, allows for code-analysis support
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76399 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-04-26 17:36:32 +00:00
Vadim Zeitlin
33ad33d447 Add wxOVERRIDE and use it in common and wxOSX code.
Make overriding virtual methods more explicit and enable additional checks
provided by C++11 compilers when "override" is used.

Closes #16100.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@76173 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-03-20 13:26:28 +00:00
Paul Cornett
95dfcdd678 avoid potential NULL pointer dereference, closes #15993
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75898 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-02-17 16:25:22 +00:00
Vadim Zeitlin
4db74850dc Don't pass input parameter by non-const reference unnecessarily.
This is confusing.

See #15893.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75659 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2014-01-20 14:45:23 +00:00
Vadim Zeitlin
0cf0dfae6b Don't crash in wxAuiToolBar::GetToolBarFits().
The code could crash if m_overflowVisible was true but m_overflowSizerItem was
NULL. Ideally this shouldn't happen in the first place, but it did, so at
least fix the crash for now -- and hopefully this code will be refactored to
make it more clear later.

Closes #15747.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@75400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-12-18 16:18:57 +00: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
Stefan Neis
c81f528fb7 No real changes, just spelling fixes. Closes #14998.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@73444 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2013-01-27 14:42:52 +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
51d2b636e8 Fix regression with wxAuiToolBar gripper and overflow members initialization.
The changes of r72785 moved m_gripperVisible and m_overflowVisible
initialization to Init() but this was too early as these fields depend on the
window style only set when it's really created, so re-initialize them to their
proper values in Create().

Closes #14794.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72914 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-11-06 23:54:47 +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
Paul Cornett
7d1214cd72 silence warnings about shadowed variables with GCC -Wshadow
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72611 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-10-04 15:55:06 +00:00
Vadim Zeitlin
c22118113a Reset hover item when mouse leaves wxAuiToolBar.
The hover item was not reset properly in some circumstances, do it now.

Also check for the item being disabled in SetHoverItem() itself instead of
doing it several times before calling it.

Closes #14189.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-04-16 14:33:35 +00:00
Vadim Zeitlin
f90b69e028 Move checks for m_art != NULL before code using m_art in wxAuiToolBar.
It doesn't make sense to check whether a pointer is NULL after using it, so do
the checks first.

In fact the m_art pointer probably can never be NULL at all as other code uses
it without checking and so these checks could probably be removed completely,
but keep them for now as I'm not totally sure if having NULL art provider is
really impossible.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70748 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-29 13:58:52 +00:00
Stefan Csomor
8c7fb50829 revert to using Update()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70487 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-31 17:37:31 +00:00
Stefan Csomor
10effff832 attempt to isolate which Update() calls are necessary at all, as they cause performance issues under OSX
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-30 16:30:59 +00:00
Vadim Zeitlin
03dc350fa6 Use IsThisEnabled() to test if AUI child is enabled, not IsEnabled().
IsEnabled() returns false if the parent window is disabled and calling
Enable() does not help with this, so we could keep trying and trying to enable
the window unsuccessfully if it was reenabled while its parent was disabled,
resulting in a never-ending stream of EVT_IDLE events.

Closes #13767.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70016 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-16 19:33:31 +00:00
Paul Cornett
71929371c2 fix warning about missing return statement, closes #13713
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-01 16:54:21 +00:00
Paul Cornett
36307fdf51 remove unused variables
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69880 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-01 08:16:42 +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
f5fccd52d4 Generate right click events for all kinds of items in wxAuiToolBar.
Don't generate wxEVT_COMMAND_AUITOOLBAR_RIGHT_CLICK for normal items only,
they can be useful for other ones too.

Note that this had been previously applied to 2.8 branch as r66926 but somehow
wasn't applied to the trunk.

Closes #10079.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69593 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-30 16:44:24 +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
776f4b8df8 No changes, just remove redundant code.
Don't call FindToolByPosition() again in wxAuiToolBar::OnLeftUp() when we just
called it above.

Closes #13600.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-27 22:48:46 +00:00
Vadim Zeitlin
0e27ef576e Don't duplicate wxImage::ConvertToDisabled() in wxAUI code.
Just reuse the existing function.

Also add an example of showing a disabled bitmap to the aui sample.

Closes #13303.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-07-09 23:36:44 +00:00
Vadim Zeitlin
026c6eff70 Correct the drawing of check tools with a drop down button in wxAuiToolBar.
This combination was simply not covered by the existing code, add the missing
DrawDropDownButton() call.

Closes #11139.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67743 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-14 14:18:14 +00:00
Vadim Zeitlin
587151f730 Reset the checked state of the first radio item in wxAuiToolBar too.
Fix the condition of the loop in wxAuiToolBar::ToggleTool() to also uncheck
the item with index 0 that was always excluded before because of "i > 0" check
in the loop.

Also exclude the item being turned on itself from the loops, it's useless to
reset its checked state only to turn it on again below.

Closes #11110.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67742 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-14 14:18:09 +00:00
Vadim Zeitlin
2347971e99 Draw wxAuiToolbar button text even if it has no bitmap.
Don't skip drawing the button label if it doesn't have any bitmap.

Closes #10303.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67739 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-14 14:17:59 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +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
a310c91c7c No changes, just clean up duplicate colour functions in wxAUI.
Reuse wxcolour::AlphaBlend() and ChangeLightness() methods instead of
duplicating them in wxAUI-specific wxAui{Blend,Step}Colour().

See #12532.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66312 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-03 12:40:23 +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
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
Paul Cornett
a243da29c8 make array data fully const
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-02 17:28:45 +00:00
Stefan Csomor
0a84f928e9 moving themeing include to private.h
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61987 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-21 12:57:12 +00:00
Vadim Zeitlin
b3b17ee743 Fix recurring typo in "theming".
It was (consistently) misspelt as "themeing" in several places.

Closes #11206.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61962 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-18 16:16:30 +00:00
Vadim Zeitlin
66ad30957a use wxAutoBufferedPaintDC to avoid needlessly double buffering under platforms which already do this natively (closes #10869)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60896 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-04 22:27:02 +00:00
Benjamin Williams
6fea4cdbff in wxAuiToolBar, make certain that IsChecked() returns correct value
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-05-14 10:31:00 +00:00
Vadim Zeitlin
4549681014 compilation fix after wxMouseState changes (closes #10756)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60437 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-30 12:23:00 +00:00
Benjamin Williams
e54e92e681 implement default width for toolbar labels
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60199 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-16 13:02:48 +00:00
Julian Smart
85ec29bc58 Fixed a bug whereby setting one element size set all element sizes.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60162 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-15 09:40:36 +00:00
Benjamin Williams
af2a1b423d applied patch fixing border problem (#10171)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59882 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-27 09:46:39 +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