Speed up adding pages during freezing

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62815 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2009-12-08 14:07:43 +00:00
parent 032e024c1c
commit 64178c3602
3 changed files with 15 additions and 0 deletions

View File

@@ -582,6 +582,9 @@ public:
// we don't want focus for ourselves // we don't want focus for ourselves
// virtual bool AcceptsFocus() const { return false; } // virtual bool AcceptsFocus() const { return false; }
// Redo sizing after thawing
virtual void Thaw();
protected: protected:
// choose the default border for this window // choose the default border for this window
virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; } virtual wxBorder GetDefaultBorder() const { return wxBORDER_NONE; }

View File

@@ -1574,6 +1574,7 @@ wxAuiNotebook* MyFrame::CreateNotebook()
wxPoint(client_size.x, client_size.y), wxPoint(client_size.x, client_size.y),
wxSize(430,200), wxSize(430,200),
m_notebook_style); m_notebook_style);
ctrl->Freeze();
wxBitmap page_bmp = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, wxSize(16,16)); wxBitmap page_bmp = wxArtProvider::GetBitmap(wxART_NORMAL_FILE, wxART_OTHER, wxSize(16,16));
@@ -1620,6 +1621,7 @@ wxAuiNotebook* MyFrame::CreateNotebook()
ctrl->AddPage( new wxTextCtrl( ctrl, wxID_ANY, wxT("Some more text"), ctrl->AddPage( new wxTextCtrl( ctrl, wxID_ANY, wxT("Some more text"),
wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxNO_BORDER) , wxT("wxTextCtrl 8") ); wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE|wxNO_BORDER) , wxT("wxTextCtrl 8") );
ctrl->Thaw();
return ctrl; return ctrl;
} }

View File

@@ -2693,6 +2693,9 @@ public:
if (!m_tabs) if (!m_tabs)
return; return;
if (m_tabs->IsFrozen() || m_tabs->GetParent()->IsFrozen())
return;
m_tab_rect = wxRect(m_rect.x, m_rect.y, m_rect.width, m_tab_ctrl_height); m_tab_rect = wxRect(m_rect.x, m_rect.y, m_rect.width, m_tab_ctrl_height);
if (m_tabs->GetFlags() & wxAUI_NB_BOTTOM) if (m_tabs->GetFlags() & wxAUI_NB_BOTTOM)
{ {
@@ -4482,4 +4485,11 @@ bool wxAuiNotebook::ShowWindowMenu()
return false; return false;
} }
void wxAuiNotebook::Thaw()
{
DoSizing();
wxControl::Thaw();
}
#endif // wxUSE_AUI #endif // wxUSE_AUI