1. fixed wxGTK notebook which was completely broken by the merge

2. added a new file for commno notebook code (nbkbase.cpp)
3. removed 'include "wx/wx.h"' from html files as I got tired of
   recompiling them


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10793 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2001-07-02 18:34:13 +00:00
parent d1a8d972ea
commit 07b8d7ecc3
24 changed files with 352 additions and 257 deletions

View File

@@ -21,6 +21,9 @@
class wxGtkNotebookPage;
#include "wx/list.h"
WX_DECLARE_LIST(wxGtkNotebookPage, wxGtkNotebookPagesList);
//-----------------------------------------------------------------------------
// wxNotebook
//-----------------------------------------------------------------------------
@@ -45,7 +48,7 @@ public:
long style = 0,
const wxString& name = "notebook");
// dtor
~wxNotebook();
virtual ~wxNotebook();
// accessors
// ---------
@@ -61,15 +64,6 @@ public:
bool SetPageText(int nPage, const wxString& strText);
wxString GetPageText(int nPage) const;
// image list stuff: each page may have an image associated with it. All
// the images belong to an image list, so you have to
// 1) create an image list
// 2) associate it with the notebook
// 3) set for each page it's image
// associate image list with a control
void SetImageList(wxImageList* imageList);
void AssignImageList(wxImageList* imageList);
// sets/returns item's image index in the current image list
int GetPageImage(int nPage) const;
bool SetPageImage(int nPage, int nImage);
@@ -91,10 +85,6 @@ public:
// adds a new page to the notebook (it will be deleted ny the notebook,
// don't delete it yourself). If bSelect, this page becomes active.
bool AddPage( wxNotebookPage *win,
const wxString& strText,
bool select = FALSE,
int imageId = -1 );
// the same as AddPage(), but adds it at the specified position
bool InsertPage( int position,
wxNotebookPage *win,
@@ -125,12 +115,12 @@ public:
// helper function
wxGtkNotebookPage* GetNotebookPage(int page) const;
bool m_ownsImageList;
wxList m_pages;
// the additional page data (the pages themselves are in m_pages array)
wxGtkNotebookPagesList m_pagesData;
// for reasons explained in gtk/notebook.cpp we store the current
// selection internally instead of querying the notebook for it
int m_selection;
int m_selection;
protected:
// remove one page from the notebook but do not destroy it

View File

@@ -21,6 +21,9 @@
class wxGtkNotebookPage;
#include "wx/list.h"
WX_DECLARE_LIST(wxGtkNotebookPage, wxGtkNotebookPagesList);
//-----------------------------------------------------------------------------
// wxNotebook
//-----------------------------------------------------------------------------
@@ -45,7 +48,7 @@ public:
long style = 0,
const wxString& name = "notebook");
// dtor
~wxNotebook();
virtual ~wxNotebook();
// accessors
// ---------
@@ -61,15 +64,6 @@ public:
bool SetPageText(int nPage, const wxString& strText);
wxString GetPageText(int nPage) const;
// image list stuff: each page may have an image associated with it. All
// the images belong to an image list, so you have to
// 1) create an image list
// 2) associate it with the notebook
// 3) set for each page it's image
// associate image list with a control
void SetImageList(wxImageList* imageList);
void AssignImageList(wxImageList* imageList);
// sets/returns item's image index in the current image list
int GetPageImage(int nPage) const;
bool SetPageImage(int nPage, int nImage);
@@ -91,10 +85,6 @@ public:
// adds a new page to the notebook (it will be deleted ny the notebook,
// don't delete it yourself). If bSelect, this page becomes active.
bool AddPage( wxNotebookPage *win,
const wxString& strText,
bool select = FALSE,
int imageId = -1 );
// the same as AddPage(), but adds it at the specified position
bool InsertPage( int position,
wxNotebookPage *win,
@@ -125,12 +115,12 @@ public:
// helper function
wxGtkNotebookPage* GetNotebookPage(int page) const;
bool m_ownsImageList;
wxList m_pages;
// the additional page data (the pages themselves are in m_pages array)
wxGtkNotebookPagesList m_pagesData;
// for reasons explained in gtk/notebook.cpp we store the current
// selection internally instead of querying the notebook for it
int m_selection;
int m_selection;
protected:
// remove one page from the notebook but do not destroy it

View File

@@ -48,8 +48,6 @@ public:
const wxSize& size = wxDefaultSize,
long style = 0,
const wxString& name = "notebook");
// dtor
~wxNotebook();
// accessors
// ---------
@@ -74,7 +72,6 @@ public:
// 3) set for each page it's image
// associate image list with a control
void SetImageList(wxImageList* imageList);
void AssignImageList(wxImageList* imageList);
// sets/returns item's image index in the current image list
int GetPageImage(int nPage) const;
@@ -136,8 +133,6 @@ protected:
// helper functions
void ChangePage(int nOldSel, int nSel); // change pages
bool m_bOwnsImageList;
int m_nSelection; // the current selection (-1 if none)
DECLARE_DYNAMIC_CLASS(wxNotebook)

View File

@@ -12,6 +12,10 @@
#ifndef _WX_NOTEBOOK_H_BASE_
#define _WX_NOTEBOOK_H_BASE_
#ifdef __GNUG__
#pragma interface "notebookbase.h"
#endif
// ----------------------------------------------------------------------------
// headers
// ----------------------------------------------------------------------------
@@ -46,7 +50,7 @@ public:
// ctor
wxNotebookBase()
{
m_imageList = NULL;
Init();
}
// quasi ctor
@@ -57,6 +61,9 @@ public:
long style = 0,
const wxString& name = wxNOTEBOOK_NAME);
// dtor
virtual ~wxNotebookBase();
// accessors
// ---------
@@ -75,10 +82,10 @@ public:
// image list stuff: each page may have an image associated with it (all
// images belong to the same image list)
virtual void SetImageList(wxImageList* imageList)
{
m_imageList = imageList;
}
virtual void SetImageList(wxImageList* imageList);
// as SetImageList() but we will delete the image list ourselves
void AssignImageList(wxImageList* imageList);
// get pointer (may be NULL) to the associated image list
wxImageList* GetImageList() const { return m_imageList; }
@@ -101,33 +108,13 @@ public:
virtual void SetTabSize(const wxSize& sz) = 0;
// calculate the size of the notebook from the size of its page
virtual wxSize CalcSizeFromPage(const wxSize& sizePage)
{
// this was just taken from wxNotebookSizer::CalcMin() and is, of
// course, totally bogus - just like the original code was
wxSize sizeTotal = sizePage;
if ( HasFlag(wxNB_LEFT) || HasFlag(wxNB_RIGHT) )
sizeTotal.x += 90;
else
sizeTotal.y += 40;
return sizeTotal;
}
virtual wxSize CalcSizeFromPage(const wxSize& sizePage);
// operations
// ----------
// remove one page from the notebook and delete it
virtual bool DeletePage(int nPage)
{
wxNotebookPage *page = DoRemovePage(nPage);
if ( !page )
return FALSE;
delete page;
return TRUE;
}
virtual bool DeletePage(int nPage);
// remove one page from the notebook, without deleting it
virtual bool RemovePage(int nPage) { return DoRemovePage(nPage) != NULL; }
@@ -170,32 +157,15 @@ protected:
// remove the page and return a pointer to it
virtual wxNotebookPage *DoRemovePage(int page) = 0;
// common part of all ctors
void Init();
// get the next page wrapping if we reached the end
int GetNextPage(bool forward) const
{
int nPage;
int GetNextPage(bool forward) const;
int nMax = GetPageCount();
if ( nMax-- ) // decrement it to get the last valid index
{
int nSel = GetSelection();
// change selection wrapping if it becomes invalid
nPage = forward ? nSel == nMax ? 0
: nSel + 1
: nSel == 0 ? nMax
: nSel - 1;
}
else // notebook is empty, no next page
{
nPage = -1;
}
return nPage;
}
wxImageList *m_imageList; // we can have an associated image list
wxArrayPages m_pages; // array of pages
wxArrayPages m_pages; // array of pages
wxImageList *m_imageList; // we can have an associated image list
bool m_ownsImageList; // true if we must delete m_imageList
};
// ----------------------------------------------------------------------------