Commit Graph

217 Commits

Author SHA1 Message Date
Vadim Zeitlin
409f747ed9 Don't require skipping "page changed" event in wxMSW wxNotebook.
wxMSW wxNotebook implementation used to handle EVT_NOTEBOOK_PAGE_CHANGED event
to update the currently shown page which meant that page changing was broken
if the user code handled and didn't skip this event.

As the other ports don't require the user code to skip this event, don't do
this in wxMSW neither and always update the selected page unconditionally.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-11-07 19:33:10 +00:00
Vadim Zeitlin
60d5c563d2 Avoid events when implicitly selecting first wxBookCtrl page.
The first page added to a wxBookCtrlBase-derived control is always selected,
even if "bSelect" argument of AddPage() was false. This is necessary because
a non-empty book control must always have a selection but the "selection
changed" event generated when doing it is unexpected.

Fix this by not generating any events when the first page is implicitly
selected.

Closes #12075.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65967 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-31 13:33:34 +00:00
Vadim Zeitlin
681be2ef80 Refactor: use wxBookCtrlBase::m_selection in all derived classes.
All book control classes with the exception of wxGTK wxNotebook stored the
currently selected page in m_selection or m_nSelection (or, in wxUniv
wxNotebook case, m_sel) variable. Remove all of them and add m_selection
directly to the base class itself so that it can be reused everywhere.

Closes #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65931 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:36 +00:00
Vadim Zeitlin
f48a115976 No real changes, just use const_cast<> instead of C casts.
Replace many comments indicating that the C cast used was really a
const_cast<> with the proper cast itself. There is no reason to not use it any
longer, all the supported compilers understand it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65861 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-22 14:17:30 +00:00
Václav Slavík
8138f406a2 Reduce flicker when removing wxNotebook page.
wxMSW implementation hides all pages except the selected one. But when
removing selected page from the control, this invariant is temporarily
broken and this results in visible flicker. Hiding the page as soon as
it gets removed fixes it.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65454 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-01 13:28:43 +00:00
Vadim Zeitlin
d931703342 Inherit notebook background recursively under wxMSW.
With MSWSetTransparentBackground() hack only the panel which was the immediate
child of wxNotebook (i.e. its page) inherited the notebook background but not
its children. This resulted in jarring background discontinuities when nested
panels were used.

Fix this by inheriting notebook background in all child panels by testing for
the return value of the parents MSWHasInheritableBackground() method in
wxPanel::HasTransparentBackground() recursively.

Closes #12317.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65238 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-08-10 21:48:17 +00:00
Václav Slavík
4a0dcc87af Fix Shift+TAB navigation from wxNotebook.
When the focus was on a tab label, Shift+TAB didn't move it out of the
notebook to the preceding control, as it should. Instead, focus moved to
the last control in the current notebook page.

This change fixes it, TAB and Shift-TAB cycling through controls now
behaves identically modulo direction.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64432 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-30 12:21:49 +00:00
Robert Roebling
bb93b4a819 non-PCH compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-23 18:44:24 +00:00
Vadim Zeitlin
ebfee17940 Simplify and correct MSW selection of background brush for children painting.
Check for the transparency of the window background in MSWGetBgBrush() itself
and let MSWGetBgBrushForChild() just return the brush to be used.

This required adding a MSW-specific hack to wxPanel to allow inheriting
background of wxNotebook by its children which is slightly ugly but is exactly
what we need to do in this case and makes the rest of the code much simpler.

Also add a possibility to set the background of the page containing the
control being tested to the widgets sample to test for background inheritance.
This shows problems with wxSlider and wxRadioBox backgrounds but they're not
new with this patch.

Closes #12057.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64372 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-21 12:51:20 +00:00
Václav Slavík
8c62319a81 Fix incorrect painting of backgrounds inside notebook.
Children without transparent background (e.g. wxListBox) were still
pained using notebook's background brush. They shouldn't, it should
apply only to transparent-bg controls.

This fix is not perfect, see #12057.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64314 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-05-16 13:21:03 +00:00
Vadim Zeitlin
937d5b6075 Return old, not new, selection from wxMSW wxNotebook::ChangeSelection().
The function is documented to return the old selection and not the new one, so
correct it to behave as expected.

Closes #11646.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63219 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-01-23 13:20:54 +00:00
Vadim Zeitlin
b8797d96ca No real changes, just change type of MSWGetBgBrush() argument.
Pass wxWindow instead of HWND to it as in most cases we already have wxWindow
for the HWND we have and calling wxFindWinFromHandle() once more is
unnecessary.

This also makes the code of MSWGetBgBrushForChild() slightly simpler.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62932 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-12-18 20:49:23 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
d93db33706 don't reset WS_EX_CONTROLPARENT bit in wxNotebook::MSWGetStyle(), this can result in freezing the program
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59897 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-27 22:37:22 +00:00
Vadim Zeitlin
49ac39e3f4 correct CalcSizeFromPage() for multiline notebooks (#2335)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57024 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-29 14:47:02 +00:00
Vadim Zeitlin
5c33522fca replace wx_{const,static,reinterpret}_cast with their standard C++ equivalents
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-02 02:39:52 +00:00
Paul Cornett
1e4db45055 move notebook event definition to common code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@55079 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-13 14:56:42 +00:00
Vadim Zeitlin
3e97a90518 use a single wxBookCtrlEvent class for all wxBookCtrlBase-derived controls (#9667)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54895 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-08-01 13:46:46 +00:00
Vadim Zeitlin
74052fe83b added more includes of wx/msw/dc.h needed since r52054 for wxMSW compilation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52074 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-02-25 02:13:36 +00:00
Julian Smart
8dba4c7230 Corrected wxRTTI for wxNotebook so dynamic casting to wxBookCtrlBase works
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50856 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-20 10:52:05 +00:00
Robert Roebling
888dde65f4 DC reorganization
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50348 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-30 13:48:22 +00:00
Václav Slavík
937013e0fd 1. added wxEvtHandler::SafelyProcessEvent() and wxWindow::HandleWindowEvent() to correctly handle exceptions in even handlers in wxGTK
2. use HandleWindowEvent() everywhere as more obvious and convenient shortcut for GetEventHandler()->ProcessEvent(); also for consistency with wxGTK where it's required

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50329 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-29 17:00:58 +00:00
Vadim Zeitlin
b013c97102 enable non-top tabs workaround for Vista too (replaces patch 1724221)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46269 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-02 13:17:46 +00:00
Julian Smart
b380533ca2 Give the correct colour for notebook pages under Vista with the default theme,
if we're using a solid colour background. wxUxThemeEngine::GetThemeColor doesn't
return the correct colour for Aero.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46236 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-29 13:15:33 +00:00
Václav Slavík
c9f7896861 first phase of transition to unified Unicode build:
1. changed c_str() to return wxCStrData (implicitly convertible to wxChar*)
2. added template type-safe wrappers for vararg functions
3. added wxUniChar class representing single Unicode character
4. changed wxString::operator[] and wxString::iterator to return wxUniChar


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44865 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-17 10:26:10 +00:00
Vadim Zeitlin
f4322df68b no changes, just removed TABs/trailing spaces
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44657 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-07 22:56:34 +00:00
Julian Smart
82c51a8ec9 Wine fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43351 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-12 16:07:59 +00:00
Vadim Zeitlin
6614aa496d fix for tabs drawing in RTL (patch 1552881)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-21 16:55:07 +00:00
Włodzimierz Skiba
11e70ae665 WinCE build fix.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41800 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 13:23:33 +00:00
Vadim Zeitlin
5482ee0766 change UpdateSelection() parameter type to int from size_t; also replaced remaining -1s with wxNOT_FOUND
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 12:10:01 +00:00
Vadim Zeitlin
a570e8f8fe added SendPageChanging/ChangedEvent() functions; fixed wxCocoa build broken by wxNotebook::ChangePage() change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 23:41:52 +00:00
Vadim Zeitlin
1d6fcbcc70 added wxBookCtrl::ChangeSelection() which is the same as SetSelection() but doesn't send the page change events (second part of patch 1553551)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41738 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 17:37:23 +00:00
Jamie Gadd
ebd9ec2931 Need to update the bg brush when the first page is added.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41642 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-05 21:34:54 +00:00
Václav Slavík
22a35096a0 renamed wxRect::Inside() to wxRect::Contains(), wxRect::Inside(wxRect) is too confusing
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41198 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-13 17:12:25 +00:00
Włodzimierz Skiba
57bd4c6031 Include wx/msw/wrap*.h according to pch support (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-07 19:01:45 +00:00
Włodzimierz Skiba
9804d5404a wxNB_HITTEST_* flags renamed to wxBK_HITTEST_* to serve all book controls.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40006 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-05 12:21:13 +00:00
Vadim Zeitlin
b3e5d05894 we don't need to override MSWTranslateMessage(), it was a wrong workaround for the bug fixed in rev 1.41 of src/msw/evtloop.cpp
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39913 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-30 23:00:11 +00:00
Vadim Zeitlin
669c595daf added an extra pixel to the margin in CalcSizeFromPage() (patch 1498847)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39829 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-25 23:43:11 +00:00
Vadim Zeitlin
d0a84b6338 fill in flags parameter of HitTest() for all book controls; added new wxNB_HITTEST_ONPAGE bit
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39719 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 15:54:24 +00:00
Włodzimierz Skiba
895cc20597 Use bottom flat notebook on PocketPC by default.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39635 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-08 13:12:20 +00:00
Julian Smart
90f9b8ef0c Reverted last wxBookCtrl change and added alignment check to notebook
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39588 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-06 12:53:31 +00:00
Włodzimierz Skiba
2bd6022f1c Include commctrl.h properly.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39471 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-30 07:43:05 +00:00
Włodzimierz Skiba
93fbbe0765 Include wx/control.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-26 10:15:44 +00:00
Włodzimierz Skiba
f38924e863 Include wx/dcmemory.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39106 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-08 07:58:37 +00:00
Włodzimierz Skiba
ed4b0fdca6 Include wx/dcclient.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39085 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-06 21:51:49 +00:00
Włodzimierz Skiba
670f993563 Include wx/app.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38945 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-28 12:44:37 +00:00
Włodzimierz Skiba
d5da0ce7cb Include wx/event.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38939 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-27 12:47:14 +00:00
Włodzimierz Skiba
e4db172a3b Include wx/log.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38920 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-26 08:21:31 +00:00
Jamie Gadd
5483756fdc Replace deprecated wxNB_* flags with wxBK_* used in last commit.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37518 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-12 08:43:01 +00:00
Julian Smart
7cc1ad299f Applied patch [ 1412216 ] non-themed fallback support for other wxNotebook orientation
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37490 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-11 15:41:40 +00:00