Commit Graph

38 Commits

Author SHA1 Message Date
Alexander Koshelev
ca1eefdba2 Fix usage of wxWithImages::Images in wxTreebook 2022-02-27 22:40:52 +00:00
PB
f57f214122 Remove BCC-specific hdrstop pragma from everywhere 2020-10-12 21:58:37 +02:00
Vadim Zeitlin
b88d5e08ce Fix adding pages without associated window to wxTreebook
wxTreebook is supposed to allow not specifying any valid window for the
top-level pages, but this didn't work any longer, probably since the
changes of 02a92e23f3 (see #4379), as a
possibly null page was dereferenced without checking, resulting in a
crash.

Fix this by adding a missing check.

Also rename DoGetNonNullPage() to TryGetNonNullPage() to make it more
clear that this function can return null and add a unit test checking
that calling AddPage(NULL) really works (or at least doesn't crash).

See https://github.com/wxWidgets/wxWidgets/pull/921
2018-09-18 00:33:59 +02:00
Vadim Zeitlin
02a92e23f3 Reuse wxBookCtrlBase::DoSetSelection() in wxTreebook too
Avoid duplicating base class DoSetSelection() implementation in
wxTreebook, just extend it slightly by using DoGetNonNullPage() to allow
using a (sub-)page if the page associated to the selected item is null
and reuse it.

Also get rid of wxTreebook::m_actualSelection, it seems completely
unnecessary to bother keeping and updating it when we can just find it
whenever we need (which actually seems to only have been the case in the
now removed DoSetSelection() implementation anyhow).

As a side effect of this, wxTreebook pages should now be sizer correctly
when switching to them as DoSetSelection() in the base class does call
SetSize() on the page before showing it, unlike the previously used
version in wxTreebook, which omitted this call for some reason.

There should be no other user-visible changes.

Closes #4379.
2018-03-31 01:45:06 +02:00
Vadim Zeitlin
a3d0748a76 Fix typo in wxTreebook assert messages
Fix recurring typo in "Invalid".

No real changes.
2018-03-31 01:45:04 +02:00
Vadim Zeitlin
058c085b21 Use wxVector<> in wxTreebookPage implementation
No real changes, just replace the use of a macro-based array with
wxVector<>.
2018-03-31 01:45:01 +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
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
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
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
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
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
Julian Smart
9ca15f291c Fixed wxTreebook tree control style
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-15 21:28:12 +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
Vadim Zeitlin
4542739ccb why was this class made a wxControlContainer (rev. 1.7), this doesn't seem to make sense -- and if it does it should probably be done at the base class level, not here
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45054 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-25 21:17:19 +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
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
Vadim Zeitlin
9f30729a03 don't reset the selection after event was vetoed if there is no old selection
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40805 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-24 21:00:07 +00:00
Jamie Gadd
5e4a7f9196 Make wxTreebook use wxControlContainer.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-07-25 09:30:19 +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
52f15cb7bb Don't use wxSIMPLE_BORDER on Windows since it gives a black border instead
of blue on XP


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39209 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-18 09:38:47 +00:00
Julian Smart
7c3840677c Fixed tree book controller sizing by invalidating size after first
insertion, and also allowing full size calculation.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@39207 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-18 09:33:17 +00:00
Vadim Zeitlin
26e95a246b don't invalidate the tree size when pages are added/removed, we don't want the tree size to jump on its own ad the programmer should call FitTree() explicitely if this is desired
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38980 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-03 00:42:33 +00:00
Vadim Zeitlin
6bd02a4367 fixed setting selection when there are NULL pages in the tree
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-05-03 00:36:57 +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
Vadim Zeitlin
9d5371c60b renamed AddSubPage() with pos parameter to InsertSubPage()
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37316 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-05 12:27:20 +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
Vadim Zeitlin
bc454ef84c invalidate tree size after adding/removing pages; use portable style for the tree control
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35884 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-10-10 22:30:52 +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