newwizard.cpp

00001 
00002 // Name:        newwizard.cpp
00003 // Purpose:     wxPackageNewWizard
00004 // Author:      Julian Smart, Francesco Montorsi
00005 // Modified by:
00006 // Created:     05/06/2006 00:14:18
00007 // RCS-ID:      $Id: newwizard.cpp,v 1.2 2007/01/01 20:06:20 frm Exp $
00008 // Copyright:   (c) 2004 Francesco Montorsi
00009 // Licence:     wxWidgets license
00011 
00012 
00013 // For compilers that support precompilation, includes "wx/wx.h".
00014 #include "wx/wxprec.h"
00015 
00016 #ifdef __BORLANDC__
00017 #pragma hdrstop
00018 #endif
00019 
00020 #ifndef WX_PRECOMP
00021 #include "wx/wx.h"
00022 #endif
00023 
00024 
00025 #include "guipkg/newwizard.h"
00026 
00027 
00028 // ----------------------------------------------------------------------------
00029 // wxPackageNewWizard
00030 // ----------------------------------------------------------------------------
00031 
00032 IMPLEMENT_DYNAMIC_CLASS( wxPackageNewWizard, wxWizard )
00033 BEGIN_EVENT_TABLE( wxPackageNewWizard, wxWizard )
00034 END_EVENT_TABLE()
00035 
00036 wxPackageNewWizard::wxPackageNewWizard( )
00037 {
00038 }
00039 
00040 wxPackageNewWizard::wxPackageNewWizard( wxWindow* parent, wxWindowID id, const wxPoint& pos )
00041 {
00042     Create(parent, id, pos);
00043 }
00044 
00045 bool wxPackageNewWizard::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos )
00046 {
00049 
00051     SetExtraStyle(GetExtraStyle()|wxDIALOG_EX_CONTEXTHELP|wxWIZARD_EX_HELPBUTTON);
00052     wxBitmap wizardBitmap(GetBitmapResource(wxT("bin/wizard.png")));
00053     wxWizard::Create( parent, id, _("Create new package"), wizardBitmap, pos, wxDEFAULT_DIALOG_STYLE|wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX );
00054 
00055     CreateControls();
00057     return true;
00058 }
00059 
00060 void wxPackageNewWizard::CreateControls()
00061 {
00063     wxWizard* itemWizard1 = this;
00064 
00065     wxPackageWizardPageIntro* itemWizardPage2 = new wxPackageWizardPageIntro( itemWizard1 );
00066     itemWizard1->GetPageAreaSizer()->Add(itemWizardPage2);
00067 
00068     wxPackageWizardPageBuildSystem* itemWizardPage11 = new wxPackageWizardPageBuildSystem( itemWizard1 );
00069     itemWizard1->GetPageAreaSizer()->Add(itemWizardPage11);
00070 
00071     wxPackageWizardPageAutodetect* itemWizardPage28 = new wxPackageWizardPageAutodetect( itemWizard1 );
00072     itemWizard1->GetPageAreaSizer()->Add(itemWizardPage28);
00073 
00074     wxPackageWizardPageFinish* itemWizardPage36 = new wxPackageWizardPageFinish( itemWizard1 );
00075     itemWizard1->GetPageAreaSizer()->Add(itemWizardPage36);
00076 
00077     wxWizardPageSimple* lastPage = NULL;
00079 
00080     wxUnusedVar(lastPage);
00081 }
00082 
00083 bool wxPackageNewWizard::Run()
00084 {
00085     wxWizardPage* startPage = NULL;
00086     wxWindowList::compatibility_iterator node = GetChildren().GetFirst();
00087     while (node)
00088     {
00089         wxWizardPage* startPage = wxDynamicCast(node->GetData(), wxWizardPage);
00090         if (startPage) return RunWizard(startPage);
00091         node = node->GetNext();
00092     }
00093 
00094     wxUnusedVar(startPage);
00095     return false;
00096 }
00097 
00098 bool wxPackageNewWizard::ShowToolTips()
00099 {
00100     return true;
00101 }
00102 
00103 wxBitmap wxPackageNewWizard::GetBitmapResource( const wxString& name )
00104 {
00105     // Bitmap retrieval
00107     wxUnusedVar(name);
00108     if (name == _T("bin/wizard.png"))
00109     {
00110         wxBitmap bitmap(_T("bin/wizard.png"), wxBITMAP_TYPE_PNG);
00111         return bitmap;
00112     }
00113     return wxNullBitmap;
00115 }
00116 
00117 
00118 
00119 
00120 // ----------------------------------------------------------------------------
00121 // wxPackageWizardPageIntro
00122 // ----------------------------------------------------------------------------
00123 
00124 IMPLEMENT_DYNAMIC_CLASS( wxPackageWizardPageIntro, wxWizardPage )
00125 BEGIN_EVENT_TABLE( wxPackageWizardPageIntro, wxWizardPage )
00126 END_EVENT_TABLE()
00127 
00128 wxPackageWizardPageIntro::wxPackageWizardPageIntro( )
00129 {
00130 }
00131 
00132 wxPackageWizardPageIntro::wxPackageWizardPageIntro( wxWizard* parent )
00133 {
00134     Create( parent );
00135 }
00136 
00137 bool wxPackageWizardPageIntro::Create( wxWizard* parent )
00138 {
00141 
00143     wxBitmap wizardBitmap(wxNullBitmap);
00144     wxWizardPage::Create( parent, wizardBitmap );
00145 
00146     CreateControls();
00147     if (GetSizer())
00148         GetSizer()->Fit(this);
00150     return true;
00151 }
00152 
00153 void wxPackageWizardPageIntro::CreateControls()
00154 {
00156     wxPackageWizardPageIntro* itemWizardPage2 = this;
00157 
00158     wxBoxSizer* itemBoxSizer3 = new wxBoxSizer(wxVERTICAL);
00159     itemWizardPage2->SetSizer(itemBoxSizer3);
00160 
00161     wxStaticText* itemStaticText4 = new wxStaticText( itemWizardPage2, wxID_STATIC, _("This wizard dialog will let you to:"), wxDefaultPosition, wxDefaultSize, 0 );
00162     itemBoxSizer3->Add(itemStaticText4, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5);
00163 
00164     itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
00165 
00166     wxRadioButton* itemRadioButton6 = new wxRadioButton( itemWizardPage2, ID_RADIOBUTTON, _("Create an empty package (stub for new component)"), wxDefaultPosition, wxDefaultSize, 0 );
00167     itemRadioButton6->SetValue(false);
00168     itemBoxSizer3->Add(itemRadioButton6, 0, wxALIGN_LEFT|wxALL, 5);
00169 
00170     wxStaticText* itemStaticText7 = new wxStaticText( itemWizardPage2, wxID_STATIC, _("A new folder with a template for a new component\nwill be created. The templates will be adapted to\nthe informations entered in the following steps."), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
00171     itemBoxSizer3->Add(itemStaticText7, 0, wxALIGN_RIGHT|wxALL|wxADJUST_MINSIZE, 5);
00172 
00173     wxRadioButton* itemRadioButton8 = new wxRadioButton( itemWizardPage2, ID_RADIOBUTTON1, _("Package an existing project"), wxDefaultPosition, wxDefaultSize, 0 );
00174     itemRadioButton8->SetValue(false);
00175     itemBoxSizer3->Add(itemRadioButton8, 0, wxALIGN_LEFT|wxALL, 5);
00176 
00177     wxStaticText* itemStaticText9 = new wxStaticText( itemWizardPage2, wxID_STATIC, _("The package manager will try to autodetect some\nbasic informations about your package."), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
00178     itemBoxSizer3->Add(itemStaticText9, 0, wxALIGN_RIGHT|wxALL|wxADJUST_MINSIZE, 5);
00179 
00180     itemBoxSizer3->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
00181 
00183 }
00184 
00185 bool wxPackageWizardPageIntro::ShowToolTips()
00186 {
00187     return true;
00188 }
00189 
00190 
00191 
00192 
00193 // ----------------------------------------------------------------------------
00194 // wxPackageWizardPageBuildSystem
00195 // ----------------------------------------------------------------------------
00196 
00197 IMPLEMENT_DYNAMIC_CLASS( wxPackageWizardPageBuildSystem, wxWizardPage )
00198 BEGIN_EVENT_TABLE( wxPackageWizardPageBuildSystem, wxWizardPage )
00199 END_EVENT_TABLE()
00200 
00201 
00202 wxPackageWizardPageBuildSystem::wxPackageWizardPageBuildSystem( )
00203 {
00204 }
00205 
00206 wxPackageWizardPageBuildSystem::wxPackageWizardPageBuildSystem( wxWizard* parent )
00207 {
00208     Create( parent );
00209 }
00210 
00211 bool wxPackageWizardPageBuildSystem::Create( wxWizard* parent )
00212 {
00215 
00217     wxBitmap wizardBitmap(wxNullBitmap);
00218     wxWizardPage::Create( parent, wizardBitmap );
00219 
00220     CreateControls();
00221     if (GetSizer())
00222         GetSizer()->Fit(this);
00224     return true;
00225 }
00226 
00227 void wxPackageWizardPageBuildSystem::CreateControls()
00228 {
00230     wxPackageWizardPageBuildSystem* itemWizardPage11 = this;
00231 
00232     wxBoxSizer* itemBoxSizer12 = new wxBoxSizer(wxVERTICAL);
00233     itemWizardPage11->SetSizer(itemBoxSizer12);
00234 
00235     wxStaticText* itemStaticText13 = new wxStaticText( itemWizardPage11, wxID_STATIC, _("Choose the build system you would like to use for\nthe new package:"), wxDefaultPosition, wxDefaultSize, 0 );
00236     itemBoxSizer12->Add(itemStaticText13, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5);
00237 
00238     wxChoicebook* itemChoicebook14 = new wxChoicebook( itemWizardPage11, ID_CHOICEBOOK1, wxDefaultPosition, wxDefaultSize, wxCHB_DEFAULT );
00239 
00240     wxPanel* itemPanel15 = new wxPanel( itemChoicebook14, ID_PANEL1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00241     wxBoxSizer* itemBoxSizer16 = new wxBoxSizer(wxVERTICAL);
00242     itemPanel15->SetSizer(itemBoxSizer16);
00243 
00244     wxBoxSizer* itemBoxSizer17 = new wxBoxSizer(wxHORIZONTAL);
00245     itemBoxSizer16->Add(itemBoxSizer17, 0, wxGROW, 5);
00246     wxStaticText* itemStaticText18 = new wxStaticText( itemPanel15, wxID_STATIC, _("Builds as:"), wxDefaultPosition, wxDefaultSize, 0 );
00247     itemBoxSizer17->Add(itemStaticText18, 0, wxALIGN_CENTER_VERTICAL|wxALL|wxADJUST_MINSIZE, 5);
00248 
00249     wxString itemChoice19Strings[] = {
00250         _("Library"),
00251         _("Executable")
00252     };
00253     wxChoice* itemChoice19 = new wxChoice( itemPanel15, ID_CHOICE1, wxDefaultPosition, wxDefaultSize, 2, itemChoice19Strings, 0 );
00254     itemChoice19->SetStringSelection(_("Library"));
00255     itemBoxSizer17->Add(itemChoice19, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00256 
00257     wxStaticText* itemStaticText20 = new wxStaticText( itemPanel15, wxID_STATIC, _("When using Bakefile for a wxWidgets-based project\nit's strongly suggested to use the wxWidgets presets.\nThey allow you to create a project which can be built\nin several different configurations.\n\nCheck the build modes which you want to support:\n"), wxDefaultPosition, wxDefaultSize, 0 );
00258     itemBoxSizer16->Add(itemStaticText20, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5);
00259 
00260     wxGridSizer* itemGridSizer21 = new wxGridSizer(2, 2, 0, 0);
00261     itemBoxSizer16->Add(itemGridSizer21, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
00262     wxCheckBox* itemCheckBox22 = new wxCheckBox( itemPanel15, ID_CHECKBOX5, _("Debug"), wxDefaultPosition, wxDefaultSize, 0 );
00263     itemCheckBox22->SetValue(false);
00264     itemGridSizer21->Add(itemCheckBox22, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00265 
00266     wxCheckBox* itemCheckBox23 = new wxCheckBox( itemPanel15, ID_CHECKBOX6, _("Release"), wxDefaultPosition, wxDefaultSize, 0 );
00267     itemCheckBox23->SetValue(false);
00268     itemGridSizer21->Add(itemCheckBox23, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00269 
00270     wxCheckBox* itemCheckBox24 = new wxCheckBox( itemPanel15, ID_CHECKBOX4, _("ANSI"), wxDefaultPosition, wxDefaultSize, 0 );
00271     itemCheckBox24->SetValue(false);
00272     itemGridSizer21->Add(itemCheckBox24, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00273 
00274     wxCheckBox* itemCheckBox25 = new wxCheckBox( itemPanel15, ID_CHECKBOX3, _("Unicode"), wxDefaultPosition, wxDefaultSize, 0 );
00275     itemCheckBox25->SetValue(false);
00276     itemGridSizer21->Add(itemCheckBox25, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00277 
00278     wxCheckBox* itemCheckBox26 = new wxCheckBox( itemPanel15, ID_CHECKBOX7, _("Static library"), wxDefaultPosition, wxDefaultSize, 0 );
00279     itemCheckBox26->SetValue(false);
00280     itemGridSizer21->Add(itemCheckBox26, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00281 
00282     wxCheckBox* itemCheckBox27 = new wxCheckBox( itemPanel15, ID_CHECKBOX8, _("Shared library"), wxDefaultPosition, wxDefaultSize, 0 );
00283     itemCheckBox27->SetValue(false);
00284     itemGridSizer21->Add(itemCheckBox27, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00285 
00286     itemChoicebook14->AddPage(itemPanel15, _("Bakefile"));
00287 
00288     itemBoxSizer12->Add(itemChoicebook14, 0, wxGROW|wxALL, 5);
00289 
00291 }
00292 
00293 bool wxPackageWizardPageBuildSystem::ShowToolTips()
00294 {
00295     return true;
00296 }
00297 
00298 wxWizardPage* wxPackageWizardPageIntro::GetPrev() const
00299 {
00300     // TODO: return the previous page
00301     return NULL;
00302 }
00303 
00304 wxWizardPage* wxPackageWizardPageIntro::GetNext() const
00305 {
00306     // TODO: return the next page
00307     return NULL;
00308 }
00309 
00310 wxWizardPage* wxPackageWizardPageBuildSystem::GetPrev() const
00311 {
00312     // TODO: return the previous page
00313     return NULL;
00314 }
00315 
00316 wxWizardPage* wxPackageWizardPageBuildSystem::GetNext() const
00317 {
00318     // TODO: return the next page
00319     return NULL;
00320 }
00321 
00322 
00323 
00324 // ----------------------------------------------------------------------------
00325 // wxPackageWizardPageAutodetect
00326 // ----------------------------------------------------------------------------
00327 
00328 IMPLEMENT_DYNAMIC_CLASS( wxPackageWizardPageAutodetect, wxWizardPage )
00329 BEGIN_EVENT_TABLE( wxPackageWizardPageAutodetect, wxWizardPage )
00330 END_EVENT_TABLE()
00331 
00332 
00333 wxPackageWizardPageAutodetect::wxPackageWizardPageAutodetect( )
00334 {
00335 }
00336 
00337 wxPackageWizardPageAutodetect::wxPackageWizardPageAutodetect( wxWizard* parent )
00338 {
00339     Create( parent );
00340 }
00341 
00342 bool wxPackageWizardPageAutodetect::Create( wxWizard* parent )
00343 {
00346 
00348     wxBitmap wizardBitmap(wxNullBitmap);
00349     wxWizardPage::Create( parent, wizardBitmap );
00350 
00351     CreateControls();
00352     if (GetSizer())
00353         GetSizer()->Fit(this);
00355     return true;
00356 }
00357 
00358 void wxPackageWizardPageAutodetect::CreateControls()
00359 {
00361     wxPackageWizardPageAutodetect* itemWizardPage28 = this;
00362 
00363     wxBoxSizer* itemBoxSizer29 = new wxBoxSizer(wxVERTICAL);
00364     itemWizardPage28->SetSizer(itemBoxSizer29);
00365 
00366     wxStaticText* itemStaticText30 = new wxStaticText( itemWizardPage28, wxID_STATIC, _("Select the folder containing your component to package:"), wxDefaultPosition, wxDefaultSize, 0 );
00367     itemBoxSizer29->Add(itemStaticText30, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5);
00368 
00369     wxWindow* itemWindow31 = (wxWindow*) FindWindow(ID_WINDOW);
00370     wxASSERT( itemWindow31 != NULL );
00371     itemBoxSizer29->Add(itemWindow31, 0, wxGROW|wxALL, 5);
00372 
00373     wxStaticBox* itemStaticBoxSizer32Static = new wxStaticBox(itemWizardPage28, wxID_ANY, _("Autodetect"));
00374     wxStaticBoxSizer* itemStaticBoxSizer32 = new wxStaticBoxSizer(itemStaticBoxSizer32Static, wxVERTICAL);
00375     itemBoxSizer29->Add(itemStaticBoxSizer32, 1, wxGROW|wxALL, 5);
00376 
00377     wxStaticText* itemStaticText33 = new wxStaticText( itemWizardPage28, wxID_STATIC, _("The package manager is able to autodetect some\ncommon configurations for a wxWidgets-based project.\n"), wxDefaultPosition, wxDefaultSize, 0 );
00378     itemStaticBoxSizer32->Add(itemStaticText33, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5);
00379 
00380     wxWindow* itemWindow34 = (wxWindow*) FindWindow(ID_WINDOW1);
00381     wxASSERT( itemWindow34 != NULL );
00382     itemStaticBoxSizer32->Add(itemWindow34, 0, wxGROW|wxALL, 5);
00383 
00384     wxButton* itemButton35 = new wxButton( itemWizardPage28, ID_START, _("Start autodetection"), wxDefaultPosition, wxDefaultSize, 0 );
00385     itemStaticBoxSizer32->Add(itemButton35, 0, wxALIGN_LEFT|wxALL, 5);
00386 
00388 }
00389 
00390 wxWizardPage* wxPackageWizardPageAutodetect::GetPrev() const
00391 {
00392     // TODO: return the previous page
00393     return NULL;
00394 }
00395 
00396 wxWizardPage* wxPackageWizardPageAutodetect::GetNext() const
00397 {
00398     // TODO: return the next page
00399     return NULL;
00400 }
00401 
00402 bool wxPackageWizardPageAutodetect::ShowToolTips()
00403 {
00404     return true;
00405 }
00406 
00407 
00408 
00409 // ----------------------------------------------------------------------------
00410 // wxPackageWizardPageFinish
00411 // ----------------------------------------------------------------------------
00412 
00413 IMPLEMENT_DYNAMIC_CLASS( wxPackageWizardPageFinish, wxWizardPage )
00414 BEGIN_EVENT_TABLE( wxPackageWizardPageFinish, wxWizardPage )
00415 END_EVENT_TABLE()
00416 
00417 wxPackageWizardPageFinish::wxPackageWizardPageFinish( )
00418 {
00419 }
00420 
00421 wxPackageWizardPageFinish::wxPackageWizardPageFinish( wxWizard* parent )
00422 {
00423     Create( parent );
00424 }
00425 
00426 bool wxPackageWizardPageFinish::Create( wxWizard* parent )
00427 {
00430 
00432     wxBitmap wizardBitmap(wxNullBitmap);
00433     wxWizardPage::Create( parent, wizardBitmap );
00434 
00435     CreateControls();
00436     if (GetSizer())
00437         GetSizer()->Fit(this);
00439     return true;
00440 }
00441 
00442 void wxPackageWizardPageFinish::CreateControls()
00443 {
00445     wxPackageWizardPageFinish* itemWizardPage36 = this;
00446 
00447     wxBoxSizer* itemBoxSizer37 = new wxBoxSizer(wxVERTICAL);
00448     itemWizardPage36->SetSizer(itemBoxSizer37);
00449 
00450     wxStaticText* itemStaticText38 = new wxStaticText( itemWizardPage36, wxID_STATIC, _("Click 'Finish' to create the following files:"), wxDefaultPosition, wxDefaultSize, 0 );
00451     itemBoxSizer37->Add(itemStaticText38, 0, wxGROW|wxALL|wxADJUST_MINSIZE, 5);
00452 
00453     wxString* itemListBox39Strings = NULL;
00454     wxListBox* itemListBox39 = new wxListBox( itemWizardPage36, ID_LISTBOX2, wxDefaultPosition, wxDefaultSize, 0, itemListBox39Strings, wxLB_SINGLE );
00455     itemListBox39->Enable(false);
00456     itemBoxSizer37->Add(itemListBox39, 1, wxGROW|wxALL, 5);
00457 
00459 }
00460 
00461 wxWizardPage* wxPackageWizardPageFinish::GetPrev() const
00462 {
00463     // TODO: return the previous page
00464     return NULL;
00465 }
00466 
00467 wxWizardPage* wxPackageWizardPageFinish::GetNext() const
00468 {
00469     // TODO: return the next page
00470     return NULL;
00471 }
00472 
00473 bool wxPackageWizardPageFinish::ShowToolTips()
00474 {
00475     return true;
00476 }

Generated on Thu Feb 1 22:14:31 2007 for wxWidgets Package Manager by  doxygen 1.5.1-p1