first pass of wxUniv merge - nothing works, most parts don't even compile
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10673 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -17,9 +17,11 @@
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#if wxUSE_NOTEBOOK
|
||||
|
||||
// wxWindows
|
||||
#ifndef WX_PRECOMP
|
||||
#include "wx/string.h"
|
||||
@@ -108,8 +110,8 @@ IMPLEMENT_DYNAMIC_CLASS(wxNotebookEvent, wxNotifyEvent)
|
||||
// common part of all ctors
|
||||
void wxNotebook::Init()
|
||||
{
|
||||
m_pImageList = NULL;
|
||||
m_bOwnsImageList = FALSE;
|
||||
m_imageList = NULL;
|
||||
m_nSelection = -1;
|
||||
}
|
||||
|
||||
@@ -203,9 +205,9 @@ wxNotebook::~wxNotebook()
|
||||
int wxNotebook::GetPageCount() const
|
||||
{
|
||||
// consistency check
|
||||
wxASSERT( (int)m_aPages.Count() == TabCtrl_GetItemCount(m_hwnd) );
|
||||
wxASSERT( (int)m_pages.Count() == TabCtrl_GetItemCount(m_hwnd) );
|
||||
|
||||
return m_aPages.Count();
|
||||
return m_pages.Count();
|
||||
}
|
||||
|
||||
int wxNotebook::GetRowCount() const
|
||||
@@ -222,16 +224,6 @@ int wxNotebook::SetSelection(int nPage)
|
||||
return TabCtrl_SetCurSel(m_hwnd, nPage);
|
||||
}
|
||||
|
||||
void wxNotebook::AdvanceSelection(bool bForward)
|
||||
{
|
||||
int nSel = GetSelection();
|
||||
int nMax = GetPageCount() - 1;
|
||||
if ( bForward )
|
||||
SetSelection(nSel == nMax ? 0 : nSel + 1);
|
||||
else
|
||||
SetSelection(nSel == 0 ? nMax : nSel - 1);
|
||||
}
|
||||
|
||||
bool wxNotebook::SetPageText(int nPage, const wxString& strText)
|
||||
{
|
||||
wxCHECK_MSG( IS_VALID_PAGE(nPage), FALSE, wxT("notebook page out of range") );
|
||||
@@ -283,9 +275,14 @@ bool wxNotebook::SetPageImage(int nPage, int nImage)
|
||||
|
||||
void wxNotebook::SetImageList(wxImageList* imageList)
|
||||
{
|
||||
if (m_bOwnsImageList) delete m_pImageList;
|
||||
m_pImageList = imageList;
|
||||
if ( m_bOwnsImageList )
|
||||
{
|
||||
delete m_imageList;
|
||||
}
|
||||
|
||||
m_bOwnsImageList = FALSE;
|
||||
m_imageList = imageList;
|
||||
|
||||
TabCtrl_SetImageList(m_hwnd, (HIMAGELIST)imageList->GetHIMAGELIST());
|
||||
}
|
||||
|
||||
@@ -343,10 +340,10 @@ bool wxNotebook::DeletePage(int nPage)
|
||||
|
||||
TabCtrl_DeleteItem(m_hwnd, nPage);
|
||||
|
||||
delete m_aPages[nPage];
|
||||
m_aPages.Remove(nPage);
|
||||
delete m_pages[nPage];
|
||||
m_pages.Remove(nPage);
|
||||
|
||||
if ( m_aPages.IsEmpty() ) {
|
||||
if ( m_pages.IsEmpty() ) {
|
||||
// no selection if the notebook became empty
|
||||
m_nSelection = -1;
|
||||
}
|
||||
@@ -358,20 +355,21 @@ bool wxNotebook::DeletePage(int nPage)
|
||||
}
|
||||
|
||||
// remove one page from the notebook, without deleting
|
||||
bool wxNotebook::RemovePage(int nPage)
|
||||
wxNotebookPage *wxNotebook::DoRemovePage(int nPage)
|
||||
{
|
||||
wxCHECK_MSG( IS_VALID_PAGE(nPage), FALSE, wxT("notebook page out of range") );
|
||||
wxCHECK_MSG( IS_VALID_PAGE(nPage), NULL, wxT("notebook page out of range") );
|
||||
|
||||
TabCtrl_DeleteItem(m_hwnd, nPage);
|
||||
|
||||
m_aPages.Remove(nPage);
|
||||
wxNotebookPage *pageRemoved = m_pages[nPage];
|
||||
m_pages.Remove(nPage);
|
||||
|
||||
if ( m_aPages.IsEmpty() )
|
||||
m_nSelection = -1;
|
||||
else
|
||||
m_nSelection = TabCtrl_GetCurSel(m_hwnd);
|
||||
if ( m_pages.IsEmpty() )
|
||||
m_nSelection = -1;
|
||||
else
|
||||
m_nSelection = TabCtrl_GetCurSel(m_hwnd);
|
||||
|
||||
return TRUE;
|
||||
return pageRemoved;
|
||||
}
|
||||
|
||||
// remove all pages
|
||||
@@ -380,9 +378,9 @@ bool wxNotebook::DeleteAllPages()
|
||||
int nPageCount = GetPageCount();
|
||||
int nPage;
|
||||
for ( nPage = 0; nPage < nPageCount; nPage++ )
|
||||
delete m_aPages[nPage];
|
||||
delete m_pages[nPage];
|
||||
|
||||
m_aPages.Clear();
|
||||
m_pages.Clear();
|
||||
|
||||
TabCtrl_DeleteAllItems(m_hwnd);
|
||||
|
||||
@@ -443,7 +441,7 @@ bool wxNotebook::InsertPage(int nPage,
|
||||
}
|
||||
|
||||
// save the pointer to the page
|
||||
m_aPages.Insert(pPage, nPage);
|
||||
m_pages.Insert(pPage, nPage);
|
||||
|
||||
// don't show pages by default (we'll need to adjust their size first)
|
||||
HWND hwnd = GetWinHwnd(pPage);
|
||||
@@ -488,9 +486,9 @@ void wxNotebook::OnSize(wxSizeEvent& event)
|
||||
|
||||
int width = rc.right - rc.left,
|
||||
height = rc.bottom - rc.top;
|
||||
size_t nCount = m_aPages.Count();
|
||||
size_t nCount = m_pages.Count();
|
||||
for ( size_t nPage = 0; nPage < nCount; nPage++ ) {
|
||||
wxNotebookPage *pPage = m_aPages[nPage];
|
||||
wxNotebookPage *pPage = m_pages[nPage];
|
||||
pPage->SetSize(rc.left, rc.top, width, height);
|
||||
}
|
||||
|
||||
@@ -504,12 +502,12 @@ void wxNotebook::OnSelChange(wxNotebookEvent& event)
|
||||
{
|
||||
int sel = event.GetOldSelection();
|
||||
if ( sel != -1 )
|
||||
m_aPages[sel]->Show(FALSE);
|
||||
m_pages[sel]->Show(FALSE);
|
||||
|
||||
sel = event.GetSelection();
|
||||
if ( sel != -1 )
|
||||
{
|
||||
wxNotebookPage *pPage = m_aPages[sel];
|
||||
wxNotebookPage *pPage = m_pages[sel];
|
||||
pPage->Show(TRUE);
|
||||
pPage->SetFocus();
|
||||
}
|
||||
@@ -530,7 +528,7 @@ void wxNotebook::OnSetFocus(wxFocusEvent& event)
|
||||
|
||||
// set focus to the currently selected page if any
|
||||
if ( m_nSelection != -1 )
|
||||
m_aPages[m_nSelection]->SetFocus();
|
||||
m_pages[m_nSelection]->SetFocus();
|
||||
|
||||
event.Skip();
|
||||
}
|
||||
@@ -566,7 +564,7 @@ void wxNotebook::OnNavigationKey(wxNavigationKeyEvent& event)
|
||||
// and is being propagated downwards
|
||||
event.SetEventObject(this);
|
||||
|
||||
wxWindow *page = m_aPages[m_nSelection];
|
||||
wxWindow *page = m_pages[m_nSelection];
|
||||
if ( !page->GetEventHandler()->ProcessEvent(event) )
|
||||
{
|
||||
page->SetFocus();
|
||||
@@ -662,7 +660,7 @@ void wxNotebook::ChangePage(int nOldSel, int nSel)
|
||||
event.SetSelection(nSel);
|
||||
event.SetOldSelection(nOldSel);
|
||||
event.SetEventObject(this);
|
||||
if ( ProcessEvent(event) && !event.IsAllowed() )
|
||||
if ( GetEventHandler()->ProcessEvent(event) && !event.IsAllowed() )
|
||||
{
|
||||
// program doesn't allow the page change
|
||||
s_bInsideChangePage = FALSE;
|
||||
@@ -670,7 +668,9 @@ void wxNotebook::ChangePage(int nOldSel, int nSel)
|
||||
}
|
||||
|
||||
event.SetEventType(wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED);
|
||||
ProcessEvent(event);
|
||||
GetEventHandler()->ProcessEvent(event);
|
||||
|
||||
s_bInsideChangePage = FALSE;
|
||||
}
|
||||
|
||||
#endif // wxUSE_NOTEBOOK
|
||||
|
Reference in New Issue
Block a user