Added automatic dialog scrolling ability
Added ability to resize wizard bitmaps automatically Made it easier to derive from wxWizard and override behaviour, mainly by making members protected instead of private git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50942 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -38,11 +38,14 @@
|
||||
#include "wx/sizer.h"
|
||||
#endif
|
||||
|
||||
#include "wx/textctrl.h"
|
||||
#include "wx/wizard.h"
|
||||
|
||||
#include "wiztest.xpm"
|
||||
#include "wiztest2.xpm"
|
||||
|
||||
#include "../sample.xpm"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// constants
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -50,11 +53,15 @@
|
||||
// ids for menu items
|
||||
enum
|
||||
{
|
||||
Wizard_About = wxID_ABOUT,
|
||||
Wizard_Quit = wxID_EXIT,
|
||||
Wizard_RunModal = wxID_HIGHEST,
|
||||
|
||||
Wizard_RunNoSizer,
|
||||
Wizard_RunModeless,
|
||||
Wizard_About = wxID_ABOUT
|
||||
|
||||
Wizard_LargeWizard,
|
||||
Wizard_ExpandBitmap
|
||||
};
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
@@ -299,6 +306,14 @@ public:
|
||||
);
|
||||
#endif // wxUSE_CHECKLISTBOX
|
||||
|
||||
wxSize textSize = wxSize(150, 200);
|
||||
if (((wxFrame*) wxTheApp->GetTopWindow())->GetMenuBar()->IsChecked(Wizard_LargeWizard))
|
||||
textSize = wxSize(150, wxGetClientDisplayRect().GetHeight() - 200);
|
||||
|
||||
|
||||
wxTextCtrl* textCtrl = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, textSize, wxTE_MULTILINE);
|
||||
mainSizer->Add(textCtrl, 0, wxALL|wxEXPAND, 5);
|
||||
|
||||
SetSizer(mainSizer);
|
||||
mainSizer->Fit(this);
|
||||
}
|
||||
@@ -375,6 +390,16 @@ MyWizard::MyWizard(wxFrame *frame, bool useSizer)
|
||||
wxBitmap(wiztest_xpm),wxDefaultPosition,
|
||||
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
|
||||
{
|
||||
SetIcon(wxIcon(sample_xpm));
|
||||
|
||||
// Allow the bitmap to be expanded to fit the page height
|
||||
if (frame->GetMenuBar()->IsChecked(Wizard_ExpandBitmap))
|
||||
SetBitmapPlacement(wxWIZARD_VALIGN_CENTRE);
|
||||
|
||||
// Enable scrolling adaptation
|
||||
if (frame->GetMenuBar()->IsChecked(Wizard_LargeWizard))
|
||||
SetLayoutAdaptationMode(wxDIALOG_ADAPTATION_MODE_ENABLED);
|
||||
|
||||
// a wizard page may be either an object of predefined class
|
||||
m_page1 = new wxWizardPageSimple(this);
|
||||
|
||||
@@ -421,12 +446,17 @@ MyFrame::MyFrame(const wxString& title)
|
||||
menuFile->AppendSeparator();
|
||||
menuFile->Append(Wizard_Quit, _T("E&xit\tAlt-X"), _T("Quit this program"));
|
||||
|
||||
wxMenu *menuOptions = new wxMenu;
|
||||
menuOptions->AppendCheckItem(Wizard_LargeWizard, _T("&Scroll Wizard Pages"));
|
||||
menuOptions->AppendCheckItem(Wizard_ExpandBitmap, _T("Si&ze Bitmap To Page"));
|
||||
|
||||
wxMenu *helpMenu = new wxMenu;
|
||||
helpMenu->Append(Wizard_About, _T("&About...\tF1"), _T("Show about dialog"));
|
||||
|
||||
// now append the freshly created menu to the menu bar...
|
||||
wxMenuBar *menuBar = new wxMenuBar();
|
||||
menuBar->Append(menuFile, _T("&File"));
|
||||
menuBar->Append(menuOptions, _T("&Options"));
|
||||
menuBar->Append(helpMenu, _T("&Help"));
|
||||
|
||||
// ... and attach this menu bar to the frame
|
||||
|
Reference in New Issue
Block a user