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
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "wx/choicebk.h"
|
||||
#include "wx/listbook.h"
|
||||
#include "wx/treebook.h"
|
||||
#include "wx/notebook.h"
|
||||
|
||||
#if wxUSE_LOG && !defined( __SMARTPHONE__ )
|
||||
@@ -28,12 +29,11 @@ public:
|
||||
|
||||
DECLARE_APP(MyApp)
|
||||
|
||||
|
||||
class MyFrame : public wxFrame
|
||||
{
|
||||
public:
|
||||
MyFrame(const wxString& title, const wxPoint& pos = wxDefaultPosition,
|
||||
const wxSize& size = wxDefaultSize, long style = wxDEFAULT_FRAME_STYLE|wxCLIP_CHILDREN|wxNO_FULL_REPAINT_ON_RESIZE);
|
||||
|
||||
MyFrame();
|
||||
virtual ~MyFrame();
|
||||
|
||||
void OnType(wxCommandEvent& event);
|
||||
@@ -48,29 +48,47 @@ public:
|
||||
void OnDeleteLastPage(wxCommandEvent& event);
|
||||
void OnNextPage(wxCommandEvent& event);
|
||||
|
||||
void OnAddSubPage(wxCommandEvent& event);
|
||||
void OnAddPageBefore(wxCommandEvent& event);
|
||||
|
||||
void OnBookCtrl(wxBookCtrlBaseEvent& event);
|
||||
#if wxUSE_NOTEBOOK
|
||||
void OnNotebook(wxNotebookEvent& event);
|
||||
void OnNotebook(wxNotebookEvent& event) { OnBookCtrl(event); }
|
||||
#endif
|
||||
#if wxUSE_CHOICEBOOK
|
||||
void OnChoicebook(wxChoicebookEvent& event);
|
||||
void OnChoicebook(wxChoicebookEvent& event) { OnBookCtrl(event); }
|
||||
#endif
|
||||
#if wxUSE_LISTBOOK
|
||||
void OnListbook(wxListbookEvent& event);
|
||||
void OnListbook(wxListbookEvent& event) { OnBookCtrl(event); }
|
||||
#endif
|
||||
#if wxUSE_TREEBOOK
|
||||
void OnTreebook(wxTreebookEvent& event) { OnBookCtrl(event); }
|
||||
#endif
|
||||
|
||||
void OnIdle(wxIdleEvent& event);
|
||||
|
||||
wxBookCtrlBase *GetCurrentBook();
|
||||
#if wxUSE_TREEBOOK
|
||||
void OnUpdateTreeMenu(wxUpdateUIEvent& event);
|
||||
#endif // wxUSE_TREEBOOK
|
||||
|
||||
wxBookCtrlBase *GetCurrentBook() const { return m_bookCtrl; }
|
||||
|
||||
private:
|
||||
wxLog *m_logTargetOld;
|
||||
|
||||
int SelectFlag(int id, int nb, int lb, int chb);
|
||||
void ShowCurrentBook();
|
||||
void RecreateBooks();
|
||||
void RecreateBook();
|
||||
wxPanel *CreateNewPage() const;
|
||||
int TranslateBookFlag(int nb, int lb, int chb, int tbk) const;
|
||||
|
||||
// Sample setup
|
||||
int m_type;
|
||||
enum BookType
|
||||
{
|
||||
Type_Notebook,
|
||||
Type_Choicebook,
|
||||
Type_Listbook,
|
||||
Type_Treebook,
|
||||
Type_Max
|
||||
} m_type;
|
||||
int m_orient;
|
||||
bool m_chkShowImages;
|
||||
bool m_multi;
|
||||
@@ -78,16 +96,7 @@ private:
|
||||
// Controls
|
||||
|
||||
wxPanel *m_panel; // Panel containing notebook and other controls
|
||||
|
||||
#if wxUSE_NOTEBOOK
|
||||
wxNotebook *m_notebook;
|
||||
#endif
|
||||
#if wxUSE_CHOICEBOOK
|
||||
wxChoicebook *m_choicebook;
|
||||
#endif
|
||||
#if wxUSE_LISTBOOK
|
||||
wxListbook *m_listbook;
|
||||
#endif
|
||||
wxBookCtrlBase *m_bookCtrl;
|
||||
|
||||
#if USE_LOG
|
||||
// Log window
|
||||
@@ -103,10 +112,13 @@ private:
|
||||
|
||||
enum ID_COMMANDS
|
||||
{
|
||||
// these should be in the same order as Type_XXX elements above
|
||||
ID_BOOK_NOTEBOOK = wxID_HIGHEST,
|
||||
ID_BOOK_LISTBOOK,
|
||||
ID_BOOK_CHOICEBOOK,
|
||||
ID_BOOK_TREEBOOK,
|
||||
ID_BOOK_MAX,
|
||||
|
||||
ID_ORIENT_DEFAULT,
|
||||
ID_ORIENT_TOP,
|
||||
ID_ORIENT_BOTTOM,
|
||||
@@ -120,9 +132,8 @@ enum ID_COMMANDS
|
||||
ID_DELETE_CUR_PAGE,
|
||||
ID_DELETE_LAST_PAGE,
|
||||
ID_NEXT_PAGE,
|
||||
ID_NOTEBOOK,
|
||||
ID_LISTBOOK,
|
||||
ID_CHOICEBOOK
|
||||
ID_ADD_PAGE_BEFORE,
|
||||
ID_ADD_SUB_PAGE
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -139,3 +150,7 @@ to decide what type of page it is.
|
||||
// Pages that can be added by the user
|
||||
#define INSERTED_PAGE_NAME wxT("Inserted ")
|
||||
#define ADDED_PAGE_NAME wxT("Added ")
|
||||
#define ADDED_PAGE_NAME_BEFORE wxT(" Inserted before ")
|
||||
#define ADDED_SUB_PAGE_NAME wxT(" Inserted sub-page ")
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user