wxWidgets/samples/notebook/notebook.h

142 lines
3.2 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: samples/notebook/notebook.h
// Purpose: a sample demonstrating notebook usage
// Author: Julian Smart
// Modified by: Dimitri Schoolwerth
// Created: 25/10/98
// RCS-ID: $Id$
// Copyright: (c) 1998-2002 wxWidgets team
// License: wxWindows license
/////////////////////////////////////////////////////////////////////////////
#include "wx/choicebk.h"
#include "wx/listbook.h"
#include "wx/notebook.h"
#if wxUSE_LOG && !defined( __SMARTPHONE__ )
#define USE_LOG 1
#else
#define USE_LOG 0
#endif
// Define a new application
class MyApp : public wxApp
{
public:
bool OnInit();
};
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);
virtual ~MyFrame();
void OnType(wxCommandEvent& event);
void OnOrient(wxCommandEvent& event);
void OnShowImages(wxCommandEvent& event);
void OnMulti(wxCommandEvent& event);
void OnExit(wxCommandEvent& event);
void OnAddPage(wxCommandEvent& event);
void OnInsertPage(wxCommandEvent& event);
void OnDeleteCurPage(wxCommandEvent& event);
void OnDeleteLastPage(wxCommandEvent& event);
void OnNextPage(wxCommandEvent& event);
#if wxUSE_NOTEBOOK
void OnNotebook(wxNotebookEvent& event);
#endif
#if wxUSE_CHOICEBOOK
void OnChoicebook(wxChoicebookEvent& event);
#endif
#if wxUSE_LISTBOOK
void OnListbook(wxListbookEvent& event);
#endif
void OnIdle(wxIdleEvent& event);
wxBookCtrl *GetCurrentBook();
private:
wxLog *m_logTargetOld;
int SelectFlag(int id, int nb, int lb, int chb);
void ShowCurrentBook();
void RecreateBooks();
// Sample setup
int m_type;
int m_orient;
bool m_chkShowImages;
bool m_multi;
// 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
#if USE_LOG
// Log window
wxTextCtrl *m_text;
#endif // USE_LOG
wxBoxSizer *m_sizerFrame;
wxImageList *m_imageList;
DECLARE_EVENT_TABLE()
};
enum ID_COMMANDS
{
ID_BOOK_NOTEBOOK = wxID_HIGHEST,
ID_BOOK_LISTBOOK,
ID_BOOK_CHOICEBOOK,
ID_BOOK_MAX,
ID_ORIENT_DEFAULT,
ID_ORIENT_TOP,
ID_ORIENT_BOTTOM,
ID_ORIENT_LEFT,
ID_ORIENT_RIGHT,
ID_ORIENT_MAX,
ID_SHOW_IMAGES,
ID_MULTI,
ID_ADD_PAGE,
ID_INSERT_PAGE,
ID_DELETE_CUR_PAGE,
ID_DELETE_LAST_PAGE,
ID_NEXT_PAGE,
ID_NOTEBOOK,
ID_LISTBOOK,
ID_CHOICEBOOK
};
/*
Name of each notebook page.
Used as a label for a page, and used when cloning the notebook
to decide what type of page it is.
*/
#define I_WAS_INSERTED_PAGE_NAME wxT("Inserted")
#define RADIOBUTTONS_PAGE_NAME wxT("Radiobuttons")
#define VETO_PAGE_NAME wxT("Veto")
#define MAXIMIZED_BUTTON_PAGE_NAME wxT("Maximized button")
// Pages that can be added by the user
#define INSERTED_PAGE_NAME wxT("Inserted ")
#define ADDED_PAGE_NAME wxT("Added ")