Commit Graph

47 Commits

Author SHA1 Message Date
Vadim Zeitlin
402dae7b46 Improve wxBookCtrlBase controller size calculations.
Use GetBest{Height,Width}() in wxBookCtrlBase to compute the controller
control size height/width from its known (from wxBookCtrlBase size itself)
width/height. This will allow to correctly compute the size of wxListCtrl used
by wxListbook once it provides the necessary support for width-from-height and
height-from-width calculations.

See #13898.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71393 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-05-09 14:24:44 +00:00
Vadim Zeitlin
91452726c2 Use best controller size in wxBookCtrl best size calculation.
Don't use GetControllerSize() which returns the actual, not the best, size of
the controller.

Closes #11793.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70153 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-12-28 13:51:25 +00:00
Vadim Zeitlin
abfdefede3 Add wxWithImages helper mix-in with {Set,Get,Assign}ImageList() methods.
Avoid defining SetImageList() in several different places in wx API as not
only this resulted in (trivial) code duplication but this method also had
different semantics before: it didn't take ownership of the pointer passed to
it in wxTreeCtrl, wxListCtrl and wxBookCtrl and derived classes but did take
its ownership in wxDataViewTreeCtrl and wxRichTextFormattingDialog.

Harmonize this for all the classes now: SetImageList() never takes ownership
while AssignImageList() (which is now available in all classes having
SetImageList()) always does.

Also add convenience wxWithImages::GetImage() helper to avoid (more) code
duplication in wxDataViewTreeCtrl code.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-08-21 14:08:43 +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
448ca22809 Don't reserve space for hidden controller in wxBookCtrl.
Even when the controller was hidden, space was still allocated for it by
wxBookCtrl. Fix this by only reserving extra space when the controller is
shown.

Closes #12609.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65894 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-10-24 22:39:55 +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
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
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
Stefan Csomor
ecac22d09a forward port of fix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54089 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-06-11 04:14:40 +00:00
Vadim Zeitlin
b4a980f4f5 don't use obsolete functions (mostly copystring() and Count()), remove their documentation (patch 1697956)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45395 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-11 00:23:19 +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
Robin Dunn
51ad652fa2 Fix for wxToolbook, allow oldSel == wxNOT_FOUND when changing to a
new selection.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41988 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-13 18:33:54 +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
Paul Cornett
6a9e44d55c don't return negative size from GetPageRect
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41026 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-09-06 03:01:50 +00:00
Vadim Zeitlin
cb5bc9b7e2 don't loop needlessly in OnHelp() if the event comes from the bookctrl itself
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39765 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-16 12:48:54 +00:00
Vadim Zeitlin
ec09e18d35 more fixes to OnHelp() to avoid infinite recursion when handling help events
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39729 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-14 18:37:48 +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
b6b4695492 redirect to the page only the help events coming from this control itself to avoid infinite recursion when we get a help event originally sent to the page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39684 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-12 13:32:56 +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
Julian Smart
926395e16b Each book control should say what its default orientation. Use this info
if no alignment style, otherwise assertion will happen in GetPageRect.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-06-06 11:05:22 +00:00
Vadim Zeitlin
a18c21f000 show help for the page under mouse when the [?] button is used to request help
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-26 02:23:24 +00:00
Vadim Zeitlin
a717bd116a update the sizes of all pages when the control size changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38981 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-03 00:43:44 +00:00
Julian Smart
87cf52d8ac On screens with restricted space, it's useful to be able to add controls
to e.g. the wxChoice control of a wxChoicebook. GetControlSizer
allows an app to do that, and we also add a control margin which
may or may not be respected by individual book controls.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38698 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-13 14:22:32 +00:00
Julian Smart
da817fa6eb Changed function to SetFitToCurrentPage
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37356 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-06 17:51:11 +00:00
Julian Smart
93bfe54527 Introduced the ability to size a book control based on the currently selected page
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37232 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-31 13:51:33 +00:00
Julian Smart
233387bdcb Separated out book control sizing code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37213 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-01-30 15:19:48 +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
Vadim Zeitlin
eca15c0d54 Added wxTreebook:
- added the control itself
- added protected wxBookCtrlBase::AllowNullPage() to accommodate it
- big changes to the sample to get rid of (most) ugly macros
- added XRC handler for the control
- added docs
- and wxUSE_TREEBOOK everywhere


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35862 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-09 18:40:36 +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
Julian Smart
3103e8a97e Typo correction patch [ 1208110 ] Lots of typo corrections
Olly Betts


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@34436 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-05-31 09:20:43 +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
c9d59ee7e0 Source cleaning: TRUE/true, FALSE/false, whitespaces, tabs.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29060 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-09 17:42:36 +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
Robin Dunn
9f88452895 * Implemented BestSize cache
* Added calls to InvalidateBestSize where things affecting BestSize
  are modified.  There are probably several other places where this
  still needs to be done...

* Added wxWindowBase::GetBestFittingSize that will merge the BestSize
  into the MinSize, (if any) and return the result.

* SetBestFittingSize will now only set the MinSize to the value that
  was passed to it, without merging in the BestSize


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28010 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-24 20:09:45 +00:00
Robin Dunn
c0e6c05138 reverted m_adjustMinSize change prepatory for a new approach to fix
the problem


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27930 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-21 22:58:13 +00:00
Julian Smart
0335f6f746 Switch off adjust min size for book control and therefore notebook,
since we don't want to stop notebooks resizing smaller than the initial size


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27900 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-06-19 17:53:50 +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
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Julian Smart
6463b9f539 Reverted patch [ 832096 ] Final separation for GUI and console for Open Watcom
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25182 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-15 13:49:22 +00:00
Julian Smart
1169a91932 Applied patch [ 832096 ] Final separation for GUI and console for Open Watcom
(Watcom compiler doesn't like ctor implementation in headers)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25121 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-01-11 15:33:01 +00:00
Vadim Zeitlin
f7f97bf31c warning fixes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23181 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-24 22:09:34 +00:00
Vadim Zeitlin
712f40ca5e corrected CHECK in InsertPage()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23071 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-21 13:27:41 +00:00
Vadim Zeitlin
15aad3b938 created wxBookCtrl which will be tje base class for wxNotebook and wxListbook; moved almost all of wxNotebookBase code into it
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23057 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-20 22:57:07 +00:00