PAGED_DIALOG: make sure the dialog is big enough to contain page.
(cherry picked from commit 6ace80700e
)
This commit is contained in:
parent
c61931996a
commit
bb15c56a2d
|
@ -63,6 +63,7 @@ PAGED_DIALOG::PAGED_DIALOG( wxWindow* aParent, const wxString& aTitle, bool aSho
|
||||||
|
|
||||||
m_treebook = new WX_TREEBOOK( treebookPanel, wxID_ANY );
|
m_treebook = new WX_TREEBOOK( treebookPanel, wxID_ANY );
|
||||||
m_treebook->SetFont( KIUI::GetControlFont( this ) );
|
m_treebook->SetFont( KIUI::GetControlFont( this ) );
|
||||||
|
m_treebook->SetFitToCurrentPage( true );
|
||||||
|
|
||||||
long treeCtrlFlags = m_treebook->GetTreeCtrl()->GetWindowStyleFlag();
|
long treeCtrlFlags = m_treebook->GetTreeCtrl()->GetWindowStyleFlag();
|
||||||
treeCtrlFlags = ( treeCtrlFlags & ~wxBORDER_MASK ) | wxBORDER_NONE;
|
treeCtrlFlags = ( treeCtrlFlags & ~wxBORDER_MASK ) | wxBORDER_NONE;
|
||||||
|
@ -234,7 +235,7 @@ bool PAGED_DIALOG::TransferDataToWindow()
|
||||||
}
|
}
|
||||||
|
|
||||||
lastPageIndex = std::max( 0, lastPageIndex );
|
lastPageIndex = std::max( 0, lastPageIndex );
|
||||||
m_treebook->ChangeSelection( lastPageIndex );
|
m_treebook->SetSelection( lastPageIndex );
|
||||||
UpdateResetButton( lastPageIndex );
|
UpdateResetButton( lastPageIndex );
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
@ -407,6 +408,22 @@ void PAGED_DIALOG::onPageChanged( wxBookCtrlEvent& event )
|
||||||
|
|
||||||
UpdateResetButton( page );
|
UpdateResetButton( page );
|
||||||
|
|
||||||
|
// Make sure the dialog size is enough to fit the page content.
|
||||||
|
m_treebook->InvalidateBestSize();
|
||||||
|
|
||||||
|
SetMinSize( wxDefaultSize );
|
||||||
|
wxSize minSize = GetBestSize();
|
||||||
|
minSize.IncTo( wxSize( 600, 500 ) );
|
||||||
|
minSize.DecTo( wxSize( 1500, 900 ) ); // Failsafe
|
||||||
|
SetMinSize( minSize );
|
||||||
|
|
||||||
|
wxSize currentSize = GetSize();
|
||||||
|
wxSize newSize = currentSize;
|
||||||
|
newSize.IncTo( minSize );
|
||||||
|
|
||||||
|
if( newSize != currentSize )
|
||||||
|
SetSize( newSize );
|
||||||
|
|
||||||
#ifdef __WXMAC__
|
#ifdef __WXMAC__
|
||||||
// Work around an OSX wxWidgets issue where the wxGrid children don't get placed correctly
|
// Work around an OSX wxWidgets issue where the wxGrid children don't get placed correctly
|
||||||
// until the first resize event
|
// until the first resize event
|
||||||
|
|
Loading…
Reference in New Issue