Commit Graph

62 Commits

Author SHA1 Message Date
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
7e837615b9 No real changes, just replace -1 with wxNOT_FOUND in wxBookCtrl code.
Make the code consistently use wxNOT_FOUND instead of -1 everywhere.

See #12622.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-27 16:54:24 +00:00
Vadim Zeitlin
0dc44daa33 Allow use of report mode non-native wxListCtrl in wxListBook under Mac.
The use of wxListBook in report mode was disabled for wxOSX in r54001 and
r54318 (see #9484) because it created problems with the native wxListCtrl
implementation but the report mode can be used if we're using the generic
wxListCtrl version so do allow to use it if the system option governing the
choice of the version to use is set to "generic".

Of course, the real fix would be to correct the bugs in the native wxListCtrl
version and use report mode always but for now this at least restores correct
behaviour with the generic version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-16 19:36:29 +00:00
Vadim Zeitlin
175363f6b8 Implement wxBookCtrlBase::CalcSizeFromPage() in the base class.
The definition of this method was needlessly duplicated in all of
wx{Choice,List,Tool,Tree}book and in all of them except the first one it
didn't account correctly for the case when the size of the controller was
greater than the size of the page.

Avoid the duplication and fix the best size determination in such case by
providing a single, correct version of the function in the base class itself.

Closes #11793.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63632 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-05 23:55:19 +00:00
Vadim Zeitlin
1d2b7f06a3 No changes, just remove redundant GetControllerSize() definitions.
For some reasons wxBookCtrlBase::GetControllerSize() was redefined in several
derived classes even though it did exactly the same thing in all of them.

Leave only the base class version and remove the other ones.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63630 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-03-05 23:55:09 +00:00
Vadim Zeitlin
c22ace4dff fix a couple of harmless warnings during wxOSX build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61124 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-18 22:54:21 +00:00
Vadim Zeitlin
bd7bd09eb3 don't readd items in SetImageList() after changing the control mode, they are supposed to be preserved by wxListCtrl itself (correction for #9484)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-04-21 17:31:03 +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
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
905069b18f relay out the control after deleting any page, not just the last one (#9684); also extract the size event sending code in a separate function to be able to replace it with something better easier later
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54605 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-13 18:01:12 +00:00
Vadim Zeitlin
1a9a6eed36 disable report view mode under Mac as it hangs the native wxListCtrl implementation (continuation of #9484)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54318 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-21 16:10:52 +00:00
Vadim Zeitlin
c171812215 use report mode for the wxListbook list control if there are no images (#9484)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54001 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-06 23:50:21 +00:00
Robert Roebling
ad684023c5 Remove old event type compatibility
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-20 11:24:44 +00:00
Robert Roebling
a9a56347b8 Always rearrange wxListBook and send out size event, otherwise scrollbar overlaps icons
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@48751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-09-17 13:37:52 +00:00
Mattia Barbon
eafd76b02c Replace direct calls to ProcessEvent() with
GetEventHandler()->ProcessEvent().


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-09 16:43:23 +00:00
Vadim Zeitlin
447325a44f use wxID_ANY for internal controller control instead of wxID_CHOICE/LIST/TOOLBAR/TREEBOOKTREEVIEW; this fixes asserts about using negative ids after last change
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44271 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-21 00:52:05 +00:00
Vadim Zeitlin
9249d38d6e use wxWindow::NewControlId() instead of wxNewId() to avoid clashes with the user-defined ids
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44243 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-01-18 14:15:54 +00:00
Vadim Zeitlin
e8a147a6c3 invalidate best size of the book controller too when the pages are added/removed, this fixes a lot of sizing problems with treebook
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43027 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-04 12:20:09 +00:00
Vadim Zeitlin
deb325e3b2 avoid conflict between wxBookCtrlBase::DoSetSelection() and the derived classes; refactor more common code into the base class
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41843 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-09 21:29:12 +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
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
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
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
Vadim Zeitlin
851b88c310 moved wxNotebook::HitTest() to the base book control class; implemented it for wxList/Treebook
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39339 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-26 02:09:44 +00:00
Włodzimierz Skiba
9eddec696f Include wx/settings.h according to precompiled headers of wx/wx.h (with other minor cleaning).
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39310 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-24 07:16:32 +00:00
Julian Smart
6a82a0d041 Selection should be set to -1 if all pages are deleted, or the next
insertion will try to set the selection to 1.
Fixed lack of initial controller resize when first page is added,
though I think the listctrl should probably always have a decent initial
height even when empty.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39210 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-18 09:53:19 +00:00
Mart Raudsepp
9cf0f6ae4f Add #if !WXWIN_COMPATIBILITY_EVENT_TYPES around wxNewEventType calls
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-22 22:12:55 +00:00
Włodzimierz Skiba
2ddb4d1358 Unified flags for orienting wxBookCtrls (with backward compatibility). Centralised code for sizing internals.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35972 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-21 19:03:06 +00:00
Włodzimierz Skiba
159e6235b2 Set/get for internal border in book based controls.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-18 12:31:11 +00:00
Michael Wetherell
4a10ea8b13 Warning fixes for win64
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35921 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-17 22:08:05 +00:00
Mart Raudsepp
8907154c1a Nuke #pragma implementation/interface's
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Włodzimierz Skiba
9f29226d68 Sizing fixes for wxListbook and wxChoicebook.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35402 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-01 15:53:16 +00:00
Vadim Zeitlin
a1f9a880ab avoid moving the list control unnecessarily
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34821 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-06 21:57:21 +00:00
Vadim Zeitlin
7a19fb6e5f fixed bug with showing unneeded scrollbar in the list control (at least under MSW)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-07-02 22:16:12 +00:00
Robin Dunn
7b45094a1c typo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31910 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-11 00:22:54 +00:00
Włodzimierz Skiba
2997ca30d6 Use default constructors for wxSize/Point/Rect.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31904 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-10 21:33:56 +00:00
Włodzimierz Skiba
61c083e781 wxBookCtrl->wxBookCtrlBase. wxBookCtrl is now most suitable book for given platform. Samples adjustement.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30723 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-23 11:45:07 +00:00
Włodzimierz Skiba
3f0785de9a Get shorter code with new wxRect constructor.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30371 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-08 19:54:24 +00:00
Włodzimierz Skiba
42841dfcad Warning fixes found under hardest mode of OpenWatcom. Seems clean in Borland, MinGW and DMC.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29784 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-11 16:30:43 +00:00
Włodzimierz Skiba
716dc24570 Removed doubled events, corrected behaviour (patch #1037434)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-10-06 20:09:34 +00:00
Julian Smart
c3627a004d Deprecated SetItemImage with 2 image ids
Deprecated _GET_INFO, _SET_INFO list control events


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29566 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-30 19:12:23 +00:00
Włodzimierz Skiba
1f30c17645 wx(Choice/List/Note)book controls send CHANG(ED/ING) events in SetSelection.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29276 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-23 12:43:10 +00:00
Włodzimierz Skiba
bb08a4a194 wxChoicebook follows wxListBook internal changes. Styles centralized for all wxBookCtrls.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29175 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-17 17:24:34 +00:00
Vadim Zeitlin
33ebfc3b9b made wxListbook events more consistent with wxNotebook ones (patch 1001271)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29165 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-16 22:14:34 +00:00
Robin Dunn
fbd11d30c8 wxListbook needs to clean up the wxListCtrl when DeleteAllPages is called.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-25 22:10:20 +00:00
Robin Dunn
37144cf0f1 Invalidate notebook best size when pages are added or removed
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28154 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-03 15:49:29 +00:00
Włodzimierz Skiba
ca65c0440a Code cleaning: wxID_ANY, wxDefaultSize, wxDefaultPosition, true, false, wxEmptyString, tabs and white spaces.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27853 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-17 16:22:36 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00