2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
// Name: toolbook.h
|
2008-03-10 11:24:38 -04:00
|
|
|
// Purpose: interface of wxToolbook
|
2008-03-08 08:52:38 -05:00
|
|
|
// Author: wxWidgets team
|
2010-07-13 09:29:13 -04:00
|
|
|
// Licence: wxWindows licence
|
2008-03-08 08:52:38 -05:00
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
2012-06-20 13:10:23 -04:00
|
|
|
#define wxTBK_BUTTONBAR 0x0100
|
|
|
|
#define wxTBK_HORZ_LAYOUT 0x8000
|
|
|
|
|
2013-04-25 06:11:03 -04:00
|
|
|
wxEventType wxEVT_TOOLBOOK_PAGE_CHANGED;
|
|
|
|
wxEventType wxEVT_TOOLBOOK_PAGE_CHANGING;
|
2012-06-20 13:10:23 -04:00
|
|
|
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
/**
|
|
|
|
@class wxToolbook
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-05-08 16:46:34 -04:00
|
|
|
wxToolbook is a class similar to wxNotebook but which uses a wxToolBar to
|
|
|
|
show the labels instead of the tabs.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-05-08 16:46:34 -04:00
|
|
|
There is no documentation for this class yet but its usage is identical to
|
|
|
|
wxNotebook (except for the features clearly related to tabs only), so please
|
|
|
|
refer to that class documentation for now. You can also use the
|
|
|
|
@ref page_samples_notebook to see wxToolbook in action.
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2018-12-03 08:02:11 -05:00
|
|
|
One feature of this class not supported by wxBookCtrlBase is the support
|
|
|
|
for disabling some of the pages, see EnablePage().
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@beginStyleTable
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxTBK_BUTTONBAR}
|
2020-07-04 16:08:24 -04:00
|
|
|
Use wxButtonToolBar-based implementation under macOS (ignored under
|
2008-05-08 16:46:34 -04:00
|
|
|
other platforms).
|
2008-04-06 10:43:04 -04:00
|
|
|
@style{wxTBK_HORZ_LAYOUT}
|
2008-05-08 16:46:34 -04:00
|
|
|
Shows the text and the icons alongside, not vertically stacked (only
|
2008-10-13 06:27:19 -04:00
|
|
|
implement under Windows and GTK 2 platforms as it relies on
|
|
|
|
@c wxTB_HORZ_LAYOUT flag support).
|
2008-03-08 08:52:38 -05:00
|
|
|
@endStyleTable
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-05-08 16:46:34 -04:00
|
|
|
The common wxBookCtrl styles described in the @ref overview_bookctrl are
|
|
|
|
also supported.
|
|
|
|
|
2009-02-18 12:58:51 -05:00
|
|
|
@beginEventEmissionTable{wxBookCtrlEvent}
|
2008-10-13 06:27:19 -04:00
|
|
|
@event{EVT_TOOLBOOK_PAGE_CHANGED(id, func)}
|
|
|
|
The page selection was changed.
|
2013-04-25 06:11:03 -04:00
|
|
|
Processes a @c wxEVT_TOOLBOOK_PAGE_CHANGED event.
|
2008-10-13 06:27:19 -04:00
|
|
|
@event{EVT_TOOLBOOK_PAGE_CHANGING(id, func)}
|
|
|
|
The page selection is about to be changed.
|
2013-04-25 06:11:03 -04:00
|
|
|
Processes a @c wxEVT_TOOLBOOK_PAGE_CHANGING event.
|
2008-10-13 06:27:19 -04:00
|
|
|
This event can be vetoed (using wxNotifyEvent::Veto()).
|
|
|
|
@endEventTable
|
|
|
|
|
2008-03-08 08:52:38 -05:00
|
|
|
@library{wxcore}
|
2009-02-20 06:34:52 -05:00
|
|
|
@category{bookctrl}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2008-05-08 16:46:34 -04:00
|
|
|
@see @ref overview_bookctrl, wxBookCtrlBase, wxNotebook,
|
|
|
|
@ref page_samples_notebook
|
2008-03-08 08:52:38 -05:00
|
|
|
*/
|
2008-05-08 16:46:34 -04:00
|
|
|
class wxToolbook : public wxBookCtrlBase
|
2008-03-08 08:52:38 -05:00
|
|
|
{
|
|
|
|
public:
|
2008-10-13 06:27:19 -04:00
|
|
|
//@{
|
|
|
|
/**
|
|
|
|
Constructs a choicebook control.
|
|
|
|
*/
|
|
|
|
wxToolbook();
|
|
|
|
wxToolbook(wxWindow* parent, wxWindowID id,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = 0,
|
2012-02-11 13:36:41 -05:00
|
|
|
const wxString& name = wxEmptyString);
|
2008-10-13 06:27:19 -04:00
|
|
|
//@}
|
2008-03-08 09:43:31 -05:00
|
|
|
|
2012-06-20 13:10:23 -04:00
|
|
|
/**
|
|
|
|
Create the tool book control that has already been constructed with
|
|
|
|
the default constructor.
|
|
|
|
*/
|
|
|
|
bool Create(wxWindow *parent,
|
|
|
|
wxWindowID id,
|
|
|
|
const wxPoint& pos = wxDefaultPosition,
|
|
|
|
const wxSize& size = wxDefaultSize,
|
|
|
|
long style = 0,
|
|
|
|
const wxString& name = wxEmptyString);
|
|
|
|
|
2008-10-13 06:27:19 -04:00
|
|
|
/**
|
|
|
|
Returns the wxToolBarBase associated with the control.
|
|
|
|
*/
|
|
|
|
wxToolBarBase* GetToolBar() const;
|
2018-12-03 08:02:11 -05:00
|
|
|
|
|
|
|
/**
|
|
|
|
Enables or disables the specified page.
|
|
|
|
|
|
|
|
Using this function, a page can be disabled when it can't be used, while
|
|
|
|
still remaining present to let the users know that more functionality is
|
|
|
|
available, even if currently inaccessible.
|
|
|
|
|
|
|
|
Icons for disabled pages are created by wxBitmap::ConvertToDisabled().
|
|
|
|
|
|
|
|
@param page
|
|
|
|
The index of the page.
|
|
|
|
@param enable
|
|
|
|
@true to enable the page and @false to disable it.
|
|
|
|
|
|
|
|
@return @true if successful, @false otherwise (currently only if the
|
|
|
|
index is invalid).
|
|
|
|
|
|
|
|
@since 3.1.2
|
|
|
|
*/
|
|
|
|
bool EnablePage(size_t page, bool enable);
|
|
|
|
|
|
|
|
/**
|
|
|
|
Enables or disables the specified page.
|
|
|
|
|
|
|
|
This is similar to the overload above, but finds the index of the
|
|
|
|
specified page.
|
|
|
|
|
|
|
|
@param page
|
|
|
|
Pointer of a page windows inside the book control.
|
|
|
|
@param enable
|
|
|
|
@true to enable the page and @false to disable it.
|
|
|
|
|
|
|
|
@return @true if successful, @false otherwise, e.g. if @a page is not
|
|
|
|
one of the pages of this control.
|
|
|
|
|
|
|
|
@since 3.1.2
|
|
|
|
*/
|
|
|
|
bool EnablePage(wxWindow *page, bool enable);
|
2008-03-08 08:52:38 -05:00
|
|
|
};
|
2008-03-10 11:24:38 -04:00
|
|
|
|