+ wxBoxSizer *mainsizer = new wxBoxSizer( wxVERTICAL );
+
+ // 1) top row
+
+ wxPrintFactory* factory = wxPrintFactory::GetFactory();
+
+ wxStaticBoxSizer *topsizer = new wxStaticBoxSizer(
+ new wxStaticBox( this, wxID_ANY, _( "Printer options" ) ), wxHORIZONTAL );
+ wxFlexGridSizer *flex = new wxFlexGridSizer( 2 );
+ flex->AddGrowableCol( 1 );
+ topsizer->Add( flex, 1, wxGROW );
+
+ m_printToFileCheckBox = new wxCheckBox( this, wxPRINTID_PRINTTOFILE, _("Print to File") );
+ flex->Add( m_printToFileCheckBox, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+
+ m_setupButton = new wxButton(this, wxPRINTID_SETUP, _("Setup...") );
+ flex->Add( m_setupButton, 0, wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
+
+ if (!factory->HasPrintSetupDialog())
+ m_setupButton->Enable( false );
+
+ if (factory->HasPrinterLine())
+ {
+ flex->Add( new wxStaticText( this, -1, _("Printer:") ),
+ 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+ flex->Add( new wxStaticText( this, -1, factory->CreatePrinterLine() ),
+ 0, wxALIGN_CENTER_VERTICAL|wxALL, 5 );
+ }
+
+ if (factory->HasStatusLine())
+ {
+ flex->Add( new wxStaticText( this, -1, _("Status:") ),
+ 0, wxALIGN_CENTER_VERTICAL|wxALL-wxTOP, 5 );
+ flex->Add( new wxStaticText( this, -1, factory->CreateStatusLine() ),
+ 0, wxALIGN_CENTER_VERTICAL|wxALL-wxTOP, 5 );
+ }