proppanel.cpp

00001 
00002 // Name:        proppanel.cpp
00003 // Purpose:     wxPackagePropertiesPanel
00004 //              (construct code generated by DialogBlocks and few other things)
00005 // Author:      Francesco Montorsi
00006 // Modified by:
00007 // Created:     28/06/2006 19:22:47
00008 // RCS-ID:      $Id: proppanel.cpp,v 1.22 2007/01/31 11:59:42 frm Exp $
00009 // Copyright:   (c) 2006 Francesco Montorsi
00010 // Licence:     wxWidgets license
00012 
00013 
00014 // For compilers that support precompilation, includes "wx/wx.h".
00015 #include "wx/wxprec.h"
00016 
00017 #ifdef __BORLANDC__
00018 #pragma hdrstop
00019 #endif
00020 
00021 #ifndef WX_PRECOMP
00022 #include "wx/wx.h"
00023 #endif
00024 
00025 #include <wx/datectrl.h>
00026 #include <wx/artprov.h>
00027 #include <wx/spinctrl.h>
00028 #include <wx/filepicker.h>
00029 #include <wx/sstream.h>
00030 #include <wx/splitter.h>
00031 
00032 #include "guipkg/proppanel.h"
00033 #include "guipkg/sourceeditctrl.h"
00034 #include "guipkg/optlistctrl.h"
00035 
00036 #include "guicmn/guiutils.h"
00037 #include "guicmn/commandlistbox.h"
00038 
00039 #include "wxp/package.h"
00040 #include "wxp/wxp.h"
00041 #include "wxp/packagewxp.h"
00042 
00043 #include "wx/miscutils.h"
00044 #include "wx/explorertreectrl.h"
00045 
00046 // NB: on GTK we will use some GTK stock icons
00047 #include "bitmaps/new.xpm"
00048 #include "bitmaps/dots.xpm"
00049 #include "bitmaps/delete.xpm"
00050 #include "bitmaps/preset.xpm"
00051 #include "bitmaps/refresh.xpm"
00052 #include "bitmaps/expand.xpm"
00053 #include "bitmaps/collapse.xpm"
00054 #include "bitmaps/valid.xpm"
00055 #include "bitmaps/invalid.xpm"
00056 
00057 
00058 
00059 // ----------------------------------------------------------------------------
00060 // wxPackagePropertiesPanel
00061 // ----------------------------------------------------------------------------
00062 
00063 IMPLEMENT_DYNAMIC_CLASS( wxPackagePropertiesPanel, wxPanel )
00064 DEFINE_EVENT_TYPE(wxEVT_COMMAND_PROPPANEL_USER_CHANGE)
00065 
00066 BEGIN_EVENT_TABLE( wxPackagePropertiesPanel, wxPanel )
00067 
00068         // PACKAGING
00069 
00070     EVT_DIRPICKER_CHANGED( ID_PROP_PROJECT_DIR,
00071                            wxPackagePropertiesPanel::OnProjectRootChange )
00072     EVT_DIRPICKER_CHANGED( ID_PROP_WXP_DIR,
00073                            wxPackagePropertiesPanel::OnWXPDirChange )
00074 
00075     EVT_EXPLORER_TREE_CHECK( ID_PROP_INCLUDED_TREE,
00076                              wxPackagePropertiesPanel::OnIncludedTreeCheck )
00077 
00078     EVT_UPDATE_UI( ID_PROP_PACKAGING_PAGE, 
00079                    wxPackagePropertiesPanel::OnPackagingPageUpdateUI )
00080 
00081 
00082         // LICENSING
00083 
00084     EVT_COMBOBOX( ID_PROP_LICENSE,
00085                   wxPackagePropertiesPanel::OnLicenseSelected )
00086 
00087     EVT_UPDATE_UI( ID_PROP_LICENSING_PAGE, 
00088                    wxPackagePropertiesPanel::OnLicensingPageUpdateUI )
00089 
00090 
00091         // BUILD SYSTEM
00092 
00093     EVT_CHOICE( ID_PROP_BUILDSYS_TYPE,
00094                 wxPackagePropertiesPanel::OnBuildSystemType )
00095     EVT_CHECKLISTBOX( ID_PROP_BUILDSYS_FORMATS,
00096                       wxPackagePropertiesPanel::OnBuildSystemFormatCheck )
00097     EVT_CHOICE( ID_PROP_STAGE,
00098                 wxPackagePropertiesPanel::OnBuildSystemStage )
00099     EVT_OPTION_DCLICK( ID_PROP_BUILDSYS_OPTIONS,
00100                        wxPackagePropertiesPanel::OnOptionDClick )
00101 
00102     EVT_UPDATE_UI( ID_PROP_BUILDSYSTEM_PAGE, 
00103                    wxPackagePropertiesPanel::OnBuildSystemPageUpdateUI )
00104 
00105 
00106         // DEPENDENCIES
00107 
00108     EVT_LIST_ITEM_ACTIVATED( ID_PROP_DEPENDENCIES,
00109                              wxPackagePropertiesPanel::OnDepDClick )
00110 
00111     EVT_UPDATE_UI( ID_PROP_DEPENDENCIES_PAGE, 
00112                    wxPackagePropertiesPanel::OnDependenciesPageUpdateUI )
00113 
00114 
00115         // DETAILS
00116 
00117     EVT_UPDATE_UI( ID_PROP_DETAILS_PAGE, 
00118                    wxPackagePropertiesPanel::OnDetailsPageUpdateUI )
00119 
00120 
00121         // event handlers for wxID_ANY
00122 
00123     EVT_BUTTON( wxID_ANY,
00124                 wxPackagePropertiesPanel::OnButton )
00125     EVT_LISTBOX_DCLICK( wxID_ANY,
00126                         wxPackagePropertiesPanel::OnListBoxDClick )
00127     EVT_TEXT( wxID_ANY, wxPackagePropertiesPanel::OnText )
00128 
00129     EVT_NOTEBOOK_PAGE_CHANGED( wxID_ANY, wxPackagePropertiesPanel::OnPageChanged )
00130 
00131 END_EVENT_TABLE()
00132 
00133 wxPackagePropertiesPanel::wxPackagePropertiesPanel( )
00134 {
00135 }
00136 
00137 wxPackagePropertiesPanel::wxPackagePropertiesPanel( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
00138 {
00139     Create(parent, id, pos, size, style);
00140 }
00141 
00142 wxPackagePropertiesPanel::~wxPackagePropertiesPanel( )
00143 {
00144     // delete all wxPackageDependencies in the listctrl's item data
00145     wxDeletePackageDependencyFromListctrl(m_pDepList, -1);
00146 
00147     // delete all wxPackageDataWithRef objects
00148     wxDeletePackageDataWithRefFromListbox(m_pDocs, -1);
00149     wxDeletePackageDataWithRefFromListbox(m_pScreenshots, -1);
00150 }
00151 
00152 bool wxPackagePropertiesPanel::Create( wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style )
00153 {
00154     m_bModified = false;
00155 
00157     m_pUncompressedSize = NULL;
00158     m_pTar = NULL;
00159     m_pZip = NULL;
00160     m_pFileName = NULL;
00161     m_pUpload = NULL;
00162     m_pProjectDir = NULL;
00163     m_pWXPDir = NULL;
00164     m_pRelativeRoot = NULL;
00165     m_pRootBitmap = NULL;
00166     m_pRootCheckLabel = NULL;
00167     m_pIncludedTree = NULL;
00168     m_pExcluded = NULL;
00169     m_pName = NULL;
00170     m_pVersion = NULL;
00171     m_pDescription = NULL;
00172     m_pKeywords = NULL;
00173     m_pPrimaryCat = NULL;
00174     m_pSecondaryCat = NULL;
00175     m_pLicense = NULL;
00176     m_pLicenseType = NULL;
00177     m_pOrganization = NULL;
00178     m_pOrganizationWebsite = NULL;
00179     m_pCost = NULL;
00180     m_pCopyright = NULL;
00181     m_pCredits = NULL;
00182     m_pAuthors = NULL;
00183     m_pMaintainers = NULL;
00184     m_pStatus = NULL;
00185     m_pCreationDate = NULL;
00186     m_pProgLang = NULL;
00187     m_pWebsite = NULL;
00188     m_pRSS = NULL;
00189     m_pNumSamples = NULL;
00190     m_pDownloadLinks = NULL;
00191     m_pDocs = NULL;
00192     m_pScreenshots = NULL;
00193     m_pSplitter = NULL;
00194     m_pTopPanel = NULL;
00195     m_pSupportedPorts = NULL;
00196     m_pTestedPorts = NULL;
00197     m_pBottomPanel = NULL;
00198     m_pDepList = NULL;
00199     m_pBuildSystemType = NULL;
00200     m_pFormats = NULL;
00201     m_pOptionPresets = NULL;
00202     m_pBuildSysOptions = NULL;
00203     m_pBuildSystemStage = NULL;
00204     m_pTargets = NULL;
00205     m_pCommandPresets = NULL;
00206     m_pBuildSysCommands = NULL;
00207     m_pXMLPanel = NULL;
00208     m_pXMLSizer = NULL;
00210 
00212     SetExtraStyle(wxWS_EX_VALIDATE_RECURSIVELY|wxWS_EX_BLOCK_EVENTS|wxDIALOG_EX_CONTEXTHELP);
00213     wxPanel::Create( parent, id, pos, size, style );
00214 
00215     CreateControls();
00216     if (GetSizer())
00217     {
00218         GetSizer()->SetSizeHints(this);
00219     }
00220     Centre();
00222     return true;
00223 }
00224 
00225 void wxPackagePropertiesPanel::CreateControls()
00226 {
00228     wxPackagePropertiesPanel* itemPanel1 = this;
00229 
00230     wxBoxSizer* itemBoxSizer2 = new wxBoxSizer(wxVERTICAL);
00231     itemPanel1->SetSizer(itemBoxSizer2);
00232 
00233     wxNotebook* itemNotebook3 = new wxNotebook( itemPanel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_DEFAULT|wxNB_TOP );
00234 
00235     wxPanel* itemPanel4 = new wxPanel( itemNotebook3, ID_PROP_PACKAGING_PAGE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00236     wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL);
00237     itemPanel4->SetSizer(itemBoxSizer5);
00238 
00239     wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL);
00240     itemBoxSizer5->Add(itemBoxSizer6, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
00241     wxStaticText* itemStaticText7 = new wxStaticText( itemPanel4, wxID_STATIC, _("Uncompressed size (total / only included):"), wxDefaultPosition, wxDefaultSize, 0 );
00242     itemBoxSizer6->Add(itemStaticText7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00243 
00244     m_pUncompressedSize = new wxStaticText( itemPanel4, wxID_STATIC, _("SIZE SIZE SIZE"), wxDefaultPosition, wxDefaultSize, 0 );
00245     if (ShowToolTips())
00246         m_pUncompressedSize->SetToolTip(_("This size is the sum of the sizes of all files / only-included shown in the tree below"));
00247     itemBoxSizer6->Add(m_pUncompressedSize, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00248 
00249     wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxHORIZONTAL);
00250     itemBoxSizer5->Add(itemBoxSizer9, 0, wxGROW|wxLEFT|wxRIGHT, 5);
00251     wxStaticText* itemStaticText10 = new wxStaticText( itemPanel4, wxID_STATIC, _("Compression system:"), wxDefaultPosition, wxDefaultSize, 0 );
00252     itemBoxSizer9->Add(itemStaticText10, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00253 
00254     m_pTar = new wxRadioButton( itemPanel4, ID_PROP_TAR, _("Gzipped tarball (.tar.gz)"), wxDefaultPosition, wxDefaultSize, 0 );
00255     m_pTar->SetValue(false);
00256     itemBoxSizer9->Add(m_pTar, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00257 
00258     m_pZip = new wxRadioButton( itemPanel4, ID_PROP_ZIP, _("Zip (.zip)"), wxDefaultPosition, wxDefaultSize, 0 );
00259     m_pZip->SetValue(true);
00260     itemBoxSizer9->Add(m_pZip, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00261 
00262     wxFlexGridSizer* itemFlexGridSizer13 = new wxFlexGridSizer(2, 2, 0, 0);
00263     itemFlexGridSizer13->AddGrowableCol(1);
00264     itemBoxSizer5->Add(itemFlexGridSizer13, 0, wxGROW|wxLEFT|wxRIGHT, 5);
00265     wxStaticText* itemStaticText14 = new wxStaticText( itemPanel4, wxID_STATIC, _("Output filename for the package:"), wxDefaultPosition, wxDefaultSize, 0 );
00266     itemFlexGridSizer13->Add(itemStaticText14, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00267 
00268     m_pFileName = new wxTextCtrl( itemPanel4, ID_PROP_FILENAME, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00269     m_pFileName->SetHelpText(_("The compressed package will include only files listed below and will be generated in the parent folder of the project root directory"));
00270     if (ShowToolTips())
00271         m_pFileName->SetToolTip(_("The compressed package will include only files listed below and will be generated in the parent folder of the project root directory"));
00272     itemFlexGridSizer13->Add(m_pFileName, 2, wxGROW|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00273 
00274     wxStaticText* itemStaticText16 = new wxStaticText( itemPanel4, wxID_STATIC, _("Upload to the destination:"), wxDefaultPosition, wxDefaultSize, 0 );
00275     itemFlexGridSizer13->Add(itemStaticText16, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxBOTTOM, 5);
00276 
00277     m_pUpload = new wxTextCtrl( itemPanel4, ID_PROP_UPLOAD, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00278     m_pUpload->SetHelpText(_("This should be an URL in the form \"ftp://<user>:<password>@mysite.com/mypath\" where both \"user\" and \"password\" are optionals!"));
00279     if (ShowToolTips())
00280         m_pUpload->SetToolTip(_("This should be an URL in the form \"ftp://<user>:<password>@mysite.com/mypath\" where both \"user\" and \"password\" are optionals!"));
00281     itemFlexGridSizer13->Add(m_pUpload, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxBOTTOM, 5);
00282 
00283     wxStaticBox* itemStaticBoxSizer18Static = new wxStaticBox(itemPanel4, wxID_ANY, _("Relative root"));
00284     wxStaticBoxSizer* itemStaticBoxSizer18 = new wxStaticBoxSizer(itemStaticBoxSizer18Static, wxHORIZONTAL);
00285     itemBoxSizer5->Add(itemStaticBoxSizer18, 0, wxGROW|wxALL, 5);
00286     wxFlexGridSizer* itemFlexGridSizer19 = new wxFlexGridSizer(2, 2, 0, 0);
00287     itemFlexGridSizer19->AddGrowableCol(1);
00288     itemStaticBoxSizer18->Add(itemFlexGridSizer19, 1, wxGROW|wxBOTTOM, 5);
00289     wxStaticText* itemStaticText20 = new wxStaticText( itemPanel4, wxID_STATIC, _("Project root directory:"), wxDefaultPosition, wxDefaultSize, 0 );
00290     itemFlexGridSizer19->Add(itemStaticText20, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00291 
00292     m_pProjectDir = new wxDirPickerCtrl( itemPanel4, ID_PROP_PROJECT_DIR );
00293     m_pProjectDir->SetHelpText(_("Note that the path of your project is not stored in the package description file; it's used just to compute the relative root below."));
00294     if (ShowToolTips())
00295         m_pProjectDir->SetToolTip(_("Note that the path of your project is not stored in the package description file; it's used just to compute the relative root below."));
00296     itemFlexGridSizer19->Add(m_pProjectDir, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxRIGHT|wxTOP, 5);
00297 
00298     wxStaticText* itemStaticText22 = new wxStaticText( itemPanel4, wxID_STATIC, _("Location of the WXP:"), wxDefaultPosition, wxDefaultSize, 0 );
00299     itemFlexGridSizer19->Add(itemStaticText22, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00300 
00301     m_pWXPDir = new wxDirPickerCtrl( itemPanel4, ID_PROP_WXP_DIR );
00302     m_pWXPDir->SetHelpText(_("Note that the path to the WXP file is not stored in the package description file (i.e. in the WXP itself); it's used just to compute the relative root below."));
00303     if (ShowToolTips())
00304         m_pWXPDir->SetToolTip(_("Note that the path to the WXP file is not stored in the package description file (i.e. in the WXP itself); it's used just to compute the relative root below."));
00305     itemFlexGridSizer19->Add(m_pWXPDir, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxRIGHT|wxTOP, 5);
00306 
00307     wxStaticText* itemStaticText24 = new wxStaticText( itemPanel4, wxID_STATIC, _("Root relative to WXP:"), wxDefaultPosition, wxDefaultSize, 0 );
00308     itemFlexGridSizer19->Add(itemStaticText24, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00309 
00310     wxBoxSizer* itemBoxSizer25 = new wxBoxSizer(wxHORIZONTAL);
00311     itemFlexGridSizer19->Add(itemBoxSizer25, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
00312     m_pRelativeRoot = new wxTextCtrl( itemPanel4, ID_PROP_RELATIVE_ROOT, _T(""), wxDefaultPosition, wxDefaultSize, wxTE_READONLY|wxTE_CENTRE );
00313     if (ShowToolTips())
00314         m_pRelativeRoot->SetToolTip(_("This is the root of the package, as a path relative to the WXP absolute path given above"));
00315     m_pRelativeRoot->SetBackgroundColour(wxColour(206, 206, 206));
00316     itemBoxSizer25->Add(m_pRelativeRoot, 2, wxALIGN_CENTER_VERTICAL|wxTOP, 5);
00317 
00318     wxBitmap m_pRootBitmapBitmap(itemPanel1->GetBitmapResource(wxT("invalid")));
00319     m_pRootBitmap = new wxStaticBitmap( itemPanel4, wxID_STATIC, m_pRootBitmapBitmap, wxDefaultPosition, wxDefaultSize, 0 );
00320     itemBoxSizer25->Add(m_pRootBitmap, 0, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00321 
00322     m_pRootCheckLabel = new wxStaticText( itemPanel4, wxID_STATIC, _("Invalid paths"), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
00323     itemBoxSizer25->Add(m_pRootCheckLabel, 1, wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00324 
00325     wxStaticText* itemStaticText29 = new wxStaticText( itemPanel4, wxID_STATIC, _("Files included in the WXZ:"), wxDefaultPosition, wxDefaultSize, 0 );
00326     itemBoxSizer5->Add(itemStaticText29, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 10);
00327 
00328     wxBoxSizer* itemBoxSizer30 = new wxBoxSizer(wxHORIZONTAL);
00329     itemBoxSizer5->Add(itemBoxSizer30, 3, wxGROW|wxALL, 5);
00330     m_pIncludedTree = new wxExplorerTreeCtrl( itemPanel4, ID_PROP_INCLUDED_TREE, wxDefaultPosition, wxDefaultSize, wxETC_DEFAULT_STYLE );
00331     itemBoxSizer30->Add(m_pIncludedTree, 1, wxGROW|wxLEFT, 5);
00332 
00333     wxBoxSizer* itemBoxSizer32 = new wxBoxSizer(wxVERTICAL);
00334     itemBoxSizer30->Add(itemBoxSizer32, 0, wxALIGN_BOTTOM, 5);
00335     wxBitmap itemBitmapButton33Bitmap(itemPanel1->GetBitmapResource(wxT("refresh")));
00336     wxBitmapButton* itemBitmapButton33 = new wxBitmapButton( itemPanel4, ID_PROP_REFRESH_INCLUDED, itemBitmapButton33Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00337     if (ShowToolTips())
00338         itemBitmapButton33->SetToolTip(_("Refresh the tree"));
00339     itemBoxSizer32->Add(itemBitmapButton33, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxTOP, 5);
00340 
00341     wxBitmap itemBitmapButton34Bitmap(itemPanel1->GetBitmapResource(wxT("expand")));
00342     wxBitmapButton* itemBitmapButton34 = new wxBitmapButton( itemPanel4, ID_PROP_EXPAND_INCLUDED, itemBitmapButton34Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00343     if (ShowToolTips())
00344         itemBitmapButton34->SetToolTip(_("Expand all branches of the tree"));
00345     itemBoxSizer32->Add(itemBitmapButton34, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxTOP, 5);
00346 
00347     wxBitmap itemBitmapButton35Bitmap(itemPanel1->GetBitmapResource(wxT("collapse")));
00348     wxBitmapButton* itemBitmapButton35 = new wxBitmapButton( itemPanel4, ID_PROP_COLLAPSE_INCLUDED, itemBitmapButton35Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00349     if (ShowToolTips())
00350         itemBitmapButton35->SetToolTip(_("Collapse all branches of the tree"));
00351     itemBoxSizer32->Add(itemBitmapButton35, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxTOP, 5);
00352 
00353     wxStaticText* itemStaticText36 = new wxStaticText( itemPanel4, wxID_STATIC, _("Excluded files, directories and patterns:"), wxDefaultPosition, wxDefaultSize, 0 );
00354     itemBoxSizer5->Add(itemStaticText36, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP, 10);
00355 
00356     wxBoxSizer* itemBoxSizer37 = new wxBoxSizer(wxHORIZONTAL);
00357     itemBoxSizer5->Add(itemBoxSizer37, 2, wxGROW|wxALL, 5);
00358     m_pExcluded = new wxPackageExcludeListBox( itemPanel4, ID_PROP_EXCLUDED, wxDefaultPosition, wxDefaultSize, 0 );
00359     itemBoxSizer37->Add(m_pExcluded, 1, wxGROW|wxLEFT|wxBOTTOM, 5);
00360 
00361     wxBoxSizer* itemBoxSizer39 = new wxBoxSizer(wxVERTICAL);
00362     itemBoxSizer37->Add(itemBoxSizer39, 0, wxALIGN_BOTTOM, 5);
00363     wxBitmap itemBitmapButton40Bitmap(itemPanel1->GetBitmapResource(wxT("dots")));
00364     wxBitmapButton* itemBitmapButton40 = new wxBitmapButton( itemPanel4, ID_PROP_NEW_EXCLUDED, itemBitmapButton40Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00365     if (ShowToolTips())
00366         itemBitmapButton40->SetToolTip(_("Add new directories, files or patterns to exclude"));
00367     itemBoxSizer39->Add(itemBitmapButton40, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxTOP, 5);
00368 
00369     wxBitmap itemBitmapButton41Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00370     wxBitmapButton* itemBitmapButton41 = new wxBitmapButton( itemPanel4, ID_PROP_DELETE_EXCLUDED, itemBitmapButton41Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00371     if (ShowToolTips())
00372         itemBitmapButton41->SetToolTip(_("Remove selected directory, file or pattern from exclusion list"));
00373     itemBoxSizer39->Add(itemBitmapButton41, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
00374 
00375     itemNotebook3->AddPage(itemPanel4, _("Packaging"));
00376 
00377     wxPanel* itemPanel42 = new wxPanel( itemNotebook3, ID_PROP_BASICS_PAGE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00378     wxBoxSizer* itemBoxSizer43 = new wxBoxSizer(wxVERTICAL);
00379     itemPanel42->SetSizer(itemBoxSizer43);
00380 
00381     wxFlexGridSizer* itemFlexGridSizer44 = new wxFlexGridSizer(0, 2, 0, 0);
00382     itemFlexGridSizer44->AddGrowableRow(2);
00383     itemFlexGridSizer44->AddGrowableCol(1);
00384     itemBoxSizer43->Add(itemFlexGridSizer44, 1, wxGROW|wxALL, 5);
00385     wxStaticText* itemStaticText45 = new wxStaticText( itemPanel42, wxID_STATIC, _("Package \nname:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00386     itemFlexGridSizer44->Add(itemStaticText45, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00387 
00388     m_pName = new wxTextCtrl( itemPanel42, ID_PROP_NAME, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00389     m_pName->SetHelpText(_("You can mix lowercase and uppercase characters but you cannot use spaces.\nKeep the name short but informative."));
00390     if (ShowToolTips())
00391         m_pName->SetToolTip(_("You can mix lowercase and uppercase characters but you cannot use spaces.\nKeep the name short but informative."));
00392     itemFlexGridSizer44->Add(m_pName, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00393 
00394     wxStaticText* itemStaticText47 = new wxStaticText( itemPanel42, wxID_STATIC, _("&Version:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00395     itemFlexGridSizer44->Add(itemStaticText47, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00396 
00397     m_pVersion = new wxTextCtrl( itemPanel42, ID_PROP_VERSION, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00398     m_pVersion->SetHelpText(_("Should be in form \"MAJOR.MINOR.RELEASE\" with MINOR and RELEASE digits optionals but all comprised in range [0-9]"));
00399     if (ShowToolTips())
00400         m_pVersion->SetToolTip(_("Should be in form \"MAJOR.MINOR.RELEASE\" with MINOR and RELEASE digits optionals but all comprised in range [0-9]"));
00401     itemFlexGridSizer44->Add(m_pVersion, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00402 
00403     wxStaticText* itemStaticText49 = new wxStaticText( itemPanel42, wxID_STATIC, _("&Description:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00404     itemFlexGridSizer44->Add(itemStaticText49, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00405 
00406     m_pDescription = new wxTextCtrl( itemPanel42, ID_PROP_DESCRIPTION, _T(""), wxDefaultPosition, wxSize(-1, 100), wxTE_MULTILINE|wxTE_RICH );
00407     m_pDescription->SetHelpText(_("You can use the HTML tags recognized by wxHTML for this field: <b>, <i>, <a>, <font>, <br>, etc"));
00408     if (ShowToolTips())
00409         m_pDescription->SetToolTip(_("You can use the HTML tags recognized by wxHTML for this field: <b>, <i>, <a>, <font>, <br>, etc"));
00410     itemFlexGridSizer44->Add(m_pDescription, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00411 
00412     wxStaticText* itemStaticText51 = new wxStaticText( itemPanel42, wxID_STATIC, _("&Keywords:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00413     itemFlexGridSizer44->Add(itemStaticText51, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00414 
00415     m_pKeywords = new wxTextCtrl( itemPanel42, ID_PROP_KEYWORDS, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00416     m_pKeywords->SetHelpText(_("Comma-separed list of \"keywords\" for this package."));
00417     if (ShowToolTips())
00418         m_pKeywords->SetToolTip(_("Comma-separed list of \"keywords\" for this package."));
00419     itemFlexGridSizer44->Add(m_pKeywords, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00420 
00421     itemBoxSizer43->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
00422 
00423     wxStaticBox* itemStaticBoxSizer54Static = new wxStaticBox(itemPanel42, wxID_ANY, _("Categories"));
00424     wxStaticBoxSizer* itemStaticBoxSizer54 = new wxStaticBoxSizer(itemStaticBoxSizer54Static, wxVERTICAL);
00425     itemBoxSizer43->Add(itemStaticBoxSizer54, 0, wxGROW|wxALL, 5);
00426     itemStaticBoxSizer54->Add(5, 3, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT, 5);
00427 
00428     wxStaticText* itemStaticText56 = new wxStaticText( itemPanel42, wxID_STATIC, _("Remember that a correct categorization of the package is very important!"), wxDefaultPosition, wxDefaultSize, 0 );
00429     itemStaticBoxSizer54->Add(itemStaticText56, 0, wxGROW|wxLEFT|wxRIGHT|wxTOP, 5);
00430 
00431     wxFlexGridSizer* itemFlexGridSizer57 = new wxFlexGridSizer(2, 2, 0, 0);
00432     itemFlexGridSizer57->AddGrowableCol(1);
00433     itemStaticBoxSizer54->Add(itemFlexGridSizer57, 0, wxGROW|wxALL, 5);
00434     wxStaticText* itemStaticText58 = new wxStaticText( itemPanel42, wxID_STATIC, _("Primary:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00435     itemFlexGridSizer57->Add(itemStaticText58, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00436 
00437     wxString* m_pPrimaryCatStrings = NULL;
00438     m_pPrimaryCat = new wxChoice( itemPanel42, ID_PROP_CATEGORY1, wxDefaultPosition, wxDefaultSize, 0, m_pPrimaryCatStrings, 0 );
00439     itemFlexGridSizer57->Add(m_pPrimaryCat, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00440 
00441     wxStaticText* itemStaticText60 = new wxStaticText( itemPanel42, wxID_STATIC, _("Secondary:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00442     itemFlexGridSizer57->Add(itemStaticText60, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00443 
00444     wxString* m_pSecondaryCatStrings = NULL;
00445     m_pSecondaryCat = new wxChoice( itemPanel42, ID_PROP_CATEGORY2, wxDefaultPosition, wxDefaultSize, 0, m_pSecondaryCatStrings, 0 );
00446     itemFlexGridSizer57->Add(m_pSecondaryCat, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00447 
00448     itemNotebook3->AddPage(itemPanel42, _("Basics"));
00449 
00450     wxPanel* itemPanel62 = new wxPanel( itemNotebook3, ID_PROP_LICENSING_PAGE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00451     wxBoxSizer* itemBoxSizer63 = new wxBoxSizer(wxVERTICAL);
00452     itemPanel62->SetSizer(itemBoxSizer63);
00453 
00454     wxFlexGridSizer* itemFlexGridSizer64 = new wxFlexGridSizer(0, 2, 0, 0);
00455     itemFlexGridSizer64->AddGrowableRow(6);
00456     itemFlexGridSizer64->AddGrowableCol(1);
00457     itemBoxSizer63->Add(itemFlexGridSizer64, 3, wxGROW|wxALL, 5);
00458     wxStaticText* itemStaticText65 = new wxStaticText( itemPanel62, wxID_STATIC, _("&License:"), wxDefaultPosition, wxDefaultSize, 0 );
00459     itemFlexGridSizer64->Add(itemStaticText65, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00460 
00461     wxBoxSizer* itemBoxSizer66 = new wxBoxSizer(wxHORIZONTAL);
00462     itemFlexGridSizer64->Add(itemBoxSizer66, 0, wxGROW|wxALIGN_CENTER_VERTICAL, 5);
00463     wxString* m_pLicenseStrings = NULL;
00464     m_pLicense = new wxComboBox( itemPanel62, ID_PROP_LICENSE, _T(""), wxDefaultPosition, wxDefaultSize, 0, m_pLicenseStrings, wxCB_DROPDOWN );
00465     itemBoxSizer66->Add(m_pLicense, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00466 
00467     wxButton* itemButton68 = new wxButton( itemPanel62, ID_PROP_LICENSE_REF, _("..."), wxDefaultPosition, wxDefaultSize, 0 );
00468     itemBoxSizer66->Add(itemButton68, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00469 
00470     wxStaticText* itemStaticText69 = new wxStaticText( itemPanel62, wxID_STATIC, _("License &type:"), wxDefaultPosition, wxDefaultSize, 0 );
00471     itemFlexGridSizer64->Add(itemStaticText69, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00472 
00473     wxString* m_pLicenseTypeStrings = NULL;
00474     m_pLicenseType = new wxChoice( itemPanel62, ID_PROP_LICENSETYPE, wxDefaultPosition, wxDefaultSize, 0, m_pLicenseTypeStrings, 0 );
00475     itemFlexGridSizer64->Add(m_pLicenseType, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00476 
00477     wxStaticText* itemStaticText71 = new wxStaticText( itemPanel62, wxID_STATIC, _("&Organisation:"), wxDefaultPosition, wxDefaultSize, 0 );
00478     itemFlexGridSizer64->Add(itemStaticText71, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00479 
00480     m_pOrganization = new wxTextCtrl( itemPanel62, ID_PROP_ORGANISATION, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00481     m_pOrganization->SetHelpText(_("The name of the organization which created this package (if any)"));
00482     if (ShowToolTips())
00483         m_pOrganization->SetToolTip(_("The name of the organization which created this package (if any)"));
00484     itemFlexGridSizer64->Add(m_pOrganization, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00485 
00486     wxStaticText* itemStaticText73 = new wxStaticText( itemPanel62, wxID_STATIC, _("&Organisation\nwebsite:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00487     itemFlexGridSizer64->Add(itemStaticText73, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00488 
00489     m_pOrganizationWebsite = new wxTextCtrl( itemPanel62, ID_PROP_ORGANISATION_WEBSITE, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00490     m_pOrganizationWebsite->SetHelpText(_("An URL to the website of the organization which created this package"));
00491     if (ShowToolTips())
00492         m_pOrganizationWebsite->SetToolTip(_("An URL to the website of the organization which created this package"));
00493     itemFlexGridSizer64->Add(m_pOrganizationWebsite, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00494 
00495     wxStaticText* itemStaticText75 = new wxStaticText( itemPanel62, wxID_STATIC, _("&Cost:"), wxDefaultPosition, wxDefaultSize, 0 );
00496     itemFlexGridSizer64->Add(itemStaticText75, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00497 
00498     m_pCost = new wxTextCtrl( itemPanel62, ID_PROP_COST, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00499     m_pCost->SetHelpText(_("Some free-form text about the price of this package (if any).\nCan be an URL to a page with detailed pricing."));
00500     if (ShowToolTips())
00501         m_pCost->SetToolTip(_("Some free-form text about the price of this package (if any).\nCan be an URL to a page with detailed pricing."));
00502     itemFlexGridSizer64->Add(m_pCost, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00503 
00504     wxStaticText* itemStaticText77 = new wxStaticText( itemPanel62, wxID_STATIC, _("Copyright:"), wxDefaultPosition, wxDefaultSize, 0 );
00505     itemFlexGridSizer64->Add(itemStaticText77, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00506 
00507     m_pCopyright = new wxTextCtrl( itemPanel62, ID_PROP_COPYRIGHT, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00508     m_pCopyright->SetHelpText(_("Typically a string in the form \"(c) Year AuthorName AuthorSurname\""));
00509     if (ShowToolTips())
00510         m_pCopyright->SetToolTip(_("Typically a string in the form \"(c) Year AuthorName AuthorSurname\""));
00511     itemFlexGridSizer64->Add(m_pCopyright, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00512 
00513     wxStaticText* itemStaticText79 = new wxStaticText( itemPanel62, wxID_STATIC, _("Credits:"), wxDefaultPosition, wxDefaultSize, 0 );
00514     itemFlexGridSizer64->Add(itemStaticText79, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00515 
00516     m_pCredits = new wxTextCtrl( itemPanel62, ID_PROP_CREDITS, _T(""), wxDefaultPosition, wxDefaultSize, wxTE_MULTILINE );
00517     m_pCredits->SetHelpText(_("You can give credits to the people which does not qualify as \"author\" nor as \"maintainer\" using this field."));
00518     if (ShowToolTips())
00519         m_pCredits->SetToolTip(_("You can give credits to the people which does not qualify as \"author\" nor as \"maintainer\" using this field."));
00520     itemFlexGridSizer64->Add(m_pCredits, 1, wxGROW|wxGROW|wxALL, 5);
00521 
00522     wxFlexGridSizer* itemFlexGridSizer81 = new wxFlexGridSizer(2, 4, 0, 0);
00523     itemFlexGridSizer81->AddGrowableRow(1);
00524     itemFlexGridSizer81->AddGrowableCol(0);
00525     itemFlexGridSizer81->AddGrowableCol(2);
00526     itemBoxSizer63->Add(itemFlexGridSizer81, 2, wxGROW|wxLEFT|wxBOTTOM, 5);
00527     wxStaticText* itemStaticText82 = new wxStaticText( itemPanel62, wxID_STATIC, _("&Authors:"), wxDefaultPosition, wxDefaultSize, 0 );
00528     itemFlexGridSizer81->Add(itemStaticText82, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00529 
00530     itemFlexGridSizer81->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
00531 
00532     wxStaticText* itemStaticText84 = new wxStaticText( itemPanel62, wxID_STATIC, _("Maintainers:"), wxDefaultPosition, wxDefaultSize, 0 );
00533     itemFlexGridSizer81->Add(itemStaticText84, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00534 
00535     itemFlexGridSizer81->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
00536 
00537     wxString* m_pAuthorsStrings = NULL;
00538     m_pAuthors = new wxListBox( itemPanel62, ID_PROP_AUTHORS, wxDefaultPosition, wxDefaultSize, 0, m_pAuthorsStrings, wxLB_SINGLE|wxLB_HSCROLL );
00539     m_pAuthors->SetHelpText(_("People which have written/contributed major parts can be listed here"));
00540     if (ShowToolTips())
00541         m_pAuthors->SetToolTip(_("People which have written/contributed major parts can be listed here"));
00542     itemFlexGridSizer81->Add(m_pAuthors, 1, wxGROW|wxGROW|wxLEFT|wxTOP|wxBOTTOM, 5);
00543 
00544     wxBoxSizer* itemBoxSizer87 = new wxBoxSizer(wxVERTICAL);
00545     itemFlexGridSizer81->Add(itemBoxSizer87, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM, 5);
00546     wxBitmap itemBitmapButton88Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00547     wxBitmapButton* itemBitmapButton88 = new wxBitmapButton( itemPanel62, ID_PROP_NEW_AUTHOR, itemBitmapButton88Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
00548     if (ShowToolTips())
00549         itemBitmapButton88->SetToolTip(_("Add new author"));
00550     itemBoxSizer87->Add(itemBitmapButton88, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT, 5);
00551 
00552     wxBitmap itemBitmapButton89Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00553     wxBitmapButton* itemBitmapButton89 = new wxBitmapButton( itemPanel62, ID_PROP_DELETE_AUTHOR, itemBitmapButton89Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00554     if (ShowToolTips())
00555         itemBitmapButton89->SetToolTip(_("Delete selected author"));
00556     itemBoxSizer87->Add(itemBitmapButton89, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
00557 
00558     wxString* m_pMaintainersStrings = NULL;
00559     m_pMaintainers = new wxListBox( itemPanel62, ID_PROP_MAINTAINERS, wxDefaultPosition, wxDefaultSize, 0, m_pMaintainersStrings, wxLB_SINGLE|wxLB_HSCROLL );
00560     m_pMaintainers->SetHelpText(_("People which are maintaining the component and this package can be listed here"));
00561     if (ShowToolTips())
00562         m_pMaintainers->SetToolTip(_("People which are maintaining the component and this package can be listed here"));
00563     itemFlexGridSizer81->Add(m_pMaintainers, 1, wxGROW|wxGROW|wxLEFT|wxTOP|wxBOTTOM, 5);
00564 
00565     wxBoxSizer* itemBoxSizer91 = new wxBoxSizer(wxVERTICAL);
00566     itemFlexGridSizer81->Add(itemBoxSizer91, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM, 5);
00567     wxBitmap itemBitmapButton92Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00568     wxBitmapButton* itemBitmapButton92 = new wxBitmapButton( itemPanel62, ID_PROP_NEW_MAINTAINER, itemBitmapButton92Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
00569     if (ShowToolTips())
00570         itemBitmapButton92->SetToolTip(_("Add new maintainer"));
00571     itemBoxSizer91->Add(itemBitmapButton92, 0, wxALIGN_CENTER_HORIZONTAL|wxLEFT|wxRIGHT|wxTOP, 5);
00572 
00573     wxBitmap itemBitmapButton93Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00574     wxBitmapButton* itemBitmapButton93 = new wxBitmapButton( itemPanel62, ID_PROP_DELETE_MAINTAINER, itemBitmapButton93Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00575     if (ShowToolTips())
00576         itemBitmapButton93->SetToolTip(_("Delete selected maintainer"));
00577     itemBoxSizer91->Add(itemBitmapButton93, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
00578 
00579     itemNotebook3->AddPage(itemPanel62, _("Licensing"));
00580 
00581     wxPanel* itemPanel94 = new wxPanel( itemNotebook3, ID_PROP_DETAILS_PAGE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00582     wxBoxSizer* itemBoxSizer95 = new wxBoxSizer(wxVERTICAL);
00583     itemPanel94->SetSizer(itemBoxSizer95);
00584 
00585     wxFlexGridSizer* itemFlexGridSizer96 = new wxFlexGridSizer(2, 2, 0, 0);
00586     itemFlexGridSizer96->AddGrowableCol(1);
00587     itemBoxSizer95->Add(itemFlexGridSizer96, 0, wxGROW|wxALL, 5);
00588     wxStaticText* itemStaticText97 = new wxStaticText( itemPanel94, wxID_STATIC, _("&Status:"), wxDefaultPosition, wxDefaultSize, 0 );
00589     itemFlexGridSizer96->Add(itemStaticText97, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00590 
00591     wxString* m_pStatusStrings = NULL;
00592     m_pStatus = new wxChoice( itemPanel94, ID_PROP_STATUS, wxDefaultPosition, wxDefaultSize, 0, m_pStatusStrings, 0 );
00593     itemFlexGridSizer96->Add(m_pStatus, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00594 
00595     wxStaticText* itemStaticText99 = new wxStaticText( itemPanel94, wxID_STATIC, _("Creation date:"), wxDefaultPosition, wxDefaultSize, 0 );
00596     itemFlexGridSizer96->Add(itemStaticText99, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00597 
00598     m_pCreationDate = new wxDatePickerCtrl( itemPanel94, ID_PROP_CREATIONDATE, wxDateTime(), wxDefaultPosition, wxDefaultSize, wxDP_DEFAULT );
00599     m_pCreationDate->SetHelpText(_("This should be the creation date of the packaged software, not the creation date of the package itself..."));
00600     if (ShowToolTips())
00601         m_pCreationDate->SetToolTip(_("This should be the creation date of the packaged software, not the creation date of the package itself..."));
00602     itemFlexGridSizer96->Add(m_pCreationDate, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00603 
00604     wxStaticText* itemStaticText101 = new wxStaticText( itemPanel94, wxID_STATIC, _("Programming\nlanguage:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00605     itemFlexGridSizer96->Add(itemStaticText101, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00606 
00607     wxString* m_pProgLangStrings = NULL;
00608     m_pProgLang = new wxChoice( itemPanel94, ID_PROP_PROGLANGUAGE, wxDefaultPosition, wxDefaultSize, 0, m_pProgLangStrings, 0 );
00609     itemFlexGridSizer96->Add(m_pProgLang, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00610 
00611     wxStaticText* itemStaticText103 = new wxStaticText( itemPanel94, wxID_STATIC, _("&Website:"), wxDefaultPosition, wxDefaultSize, 0 );
00612     itemFlexGridSizer96->Add(itemStaticText103, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00613 
00614     m_pWebsite = new wxTextCtrl( itemPanel94, ID_PROP_WEBSITE, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00615     m_pWebsite->SetHelpText(_("URL of the homepage of the software contained in this package"));
00616     if (ShowToolTips())
00617         m_pWebsite->SetToolTip(_("URL of the homepage of the software contained in this package"));
00618     itemFlexGridSizer96->Add(m_pWebsite, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00619 
00620     wxStaticText* itemStaticText105 = new wxStaticText( itemPanel94, wxID_STATIC, _("&RSS feed:"), wxDefaultPosition, wxDefaultSize, 0 );
00621     itemFlexGridSizer96->Add(itemStaticText105, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00622 
00623     m_pRSS = new wxTextCtrl( itemPanel94, ID_PROP_RSSFEED, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00624     m_pRSS->SetHelpText(_("RSS feed for this package"));
00625     if (ShowToolTips())
00626         m_pRSS->SetToolTip(_("RSS feed for this package"));
00627     itemFlexGridSizer96->Add(m_pRSS, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00628 
00629     wxBoxSizer* itemBoxSizer107 = new wxBoxSizer(wxHORIZONTAL);
00630     itemBoxSizer95->Add(itemBoxSizer107, 0, wxGROW|wxALL, 5);
00631     wxStaticText* itemStaticText108 = new wxStaticText( itemPanel94, wxID_STATIC, _("Number of samples provided:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00632     itemBoxSizer107->Add(itemStaticText108, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00633 
00634     m_pNumSamples = new wxSpinCtrl( itemPanel94, ID_PROP_NUMSAMPLES, _T("0"), wxDefaultPosition, wxDefaultSize, wxSP_ARROW_KEYS, 0, 100, 0 );
00635     m_pNumSamples->SetHelpText(_("How many samples are contained in this package (only meaningful if the package contains a library)?"));
00636     if (ShowToolTips())
00637         m_pNumSamples->SetToolTip(_("How many samples are contained in this package (only meaningful if the package contains a library)?"));
00638     itemBoxSizer107->Add(m_pNumSamples, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00639 
00640     itemBoxSizer107->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00641 
00642     wxStaticText* itemStaticText111 = new wxStaticText( itemPanel94, wxID_STATIC, _("Logo:"), wxDefaultPosition, wxDefaultSize, 0 );
00643     itemBoxSizer107->Add(itemStaticText111, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00644 
00645     wxButton* itemButton112 = new wxButton( itemPanel94, ID_PROP_LOGO_REF, _("..."), wxDefaultPosition, wxDefaultSize, 0 );
00646     itemBoxSizer107->Add(itemButton112, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00647 
00648     itemBoxSizer107->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00649 
00650     wxFlexGridSizer* itemFlexGridSizer114 = new wxFlexGridSizer(2, 3, 0, 0);
00651     itemFlexGridSizer114->AddGrowableRow(0);
00652     itemFlexGridSizer114->AddGrowableRow(1);
00653     itemFlexGridSizer114->AddGrowableRow(2);
00654     itemFlexGridSizer114->AddGrowableCol(1);
00655     itemBoxSizer95->Add(itemFlexGridSizer114, 1, wxGROW|wxALL, 5);
00656     wxStaticText* itemStaticText115 = new wxStaticText( itemPanel94, wxID_STATIC, _("Direct\ndownload links:"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTRE );
00657     itemFlexGridSizer114->Add(itemStaticText115, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00658 
00659     wxString* m_pDownloadLinksStrings = NULL;
00660     m_pDownloadLinks = new wxListBox( itemPanel94, ID_PROP_DOWNLOADLINKS, wxDefaultPosition, wxDefaultSize, 0, m_pDownloadLinksStrings, wxLB_SINGLE|wxLB_HSCROLL );
00661     m_pDownloadLinks->SetHelpText(_("A set of URLs which can be used for the user to get the latest release of this package.\nE.g. \"http://mesh.dl.sourceforge.net/sourceforge/myproj/myproj-1.0.0.tar.gz\""));
00662     if (ShowToolTips())
00663         m_pDownloadLinks->SetToolTip(_("A set of URLs which can be used for the user to get the latest release of this package.\nE.g. \"http://mesh.dl.sourceforge.net/sourceforge/myproj/myproj-1.0.0.tar.gz\""));
00664     itemFlexGridSizer114->Add(m_pDownloadLinks, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00665 
00666     wxBoxSizer* itemBoxSizer117 = new wxBoxSizer(wxVERTICAL);
00667     itemFlexGridSizer114->Add(itemBoxSizer117, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM, 5);
00668     wxBitmap itemBitmapButton118Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00669     wxBitmapButton* itemBitmapButton118 = new wxBitmapButton( itemPanel94, ID_PROP_NEW_DOWNLOADLINK, itemBitmapButton118Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00670     if (ShowToolTips())
00671         itemBitmapButton118->SetToolTip(_("Add new download link"));
00672     itemBoxSizer117->Add(itemBitmapButton118, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00673 
00674     wxBitmap itemBitmapButton119Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00675     wxBitmapButton* itemBitmapButton119 = new wxBitmapButton( itemPanel94, ID_PROP_DELETE_DOWNLOADLINK, itemBitmapButton119Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00676     if (ShowToolTips())
00677         itemBitmapButton119->SetToolTip(_("Delete selected download link"));
00678     itemBoxSizer117->Add(itemBitmapButton119, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00679 
00680     wxStaticText* itemStaticText120 = new wxStaticText( itemPanel94, wxID_STATIC, _("Documentation:"), wxDefaultPosition, wxDefaultSize, 0 );
00681     itemFlexGridSizer114->Add(itemStaticText120, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00682 
00683     wxString* m_pDocsStrings = NULL;
00684     m_pDocs = new wxListBox( itemPanel94, ID_PROP_DOCS, wxDefaultPosition, wxDefaultSize, 0, m_pDocsStrings, wxLB_SINGLE|wxLB_HSCROLL );
00685     m_pDocs->SetHelpText(_("Remote and local references to the documentation for the packaged software"));
00686     if (ShowToolTips())
00687         m_pDocs->SetToolTip(_("Remote and local references to the documentation for the packaged software"));
00688     itemFlexGridSizer114->Add(m_pDocs, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00689 
00690     wxBoxSizer* itemBoxSizer122 = new wxBoxSizer(wxVERTICAL);
00691     itemFlexGridSizer114->Add(itemBoxSizer122, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM, 5);
00692     wxBitmap itemBitmapButton123Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00693     wxBitmapButton* itemBitmapButton123 = new wxBitmapButton( itemPanel94, ID_PROP_NEW_DOC, itemBitmapButton123Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00694     if (ShowToolTips())
00695         itemBitmapButton123->SetToolTip(_("Add new documentation"));
00696     itemBoxSizer122->Add(itemBitmapButton123, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00697 
00698     wxBitmap itemBitmapButton124Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00699     wxBitmapButton* itemBitmapButton124 = new wxBitmapButton( itemPanel94, ID_PROP_DELETE_DOC, itemBitmapButton124Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00700     if (ShowToolTips())
00701         itemBitmapButton124->SetToolTip(_("Delete selected document"));
00702     itemBoxSizer122->Add(itemBitmapButton124, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00703 
00704     wxStaticText* itemStaticText125 = new wxStaticText( itemPanel94, wxID_STATIC, _("Screenshots:"), wxDefaultPosition, wxDefaultSize, 0 );
00705     itemFlexGridSizer114->Add(itemStaticText125, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00706 
00707     wxString* m_pScreenshotsStrings = NULL;
00708     m_pScreenshots = new wxListBox( itemPanel94, ID_PROP_SCREENSHOTS, wxDefaultPosition, wxDefaultSize, 0, m_pScreenshotsStrings, wxLB_SINGLE|wxLB_HSCROLL );
00709     m_pScreenshots->SetHelpText(_("Remote and local references to the packaged software's screenshots"));
00710     if (ShowToolTips())
00711         m_pScreenshots->SetToolTip(_("Remote and local references to the packaged software's screenshots"));
00712     itemFlexGridSizer114->Add(m_pScreenshots, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00713 
00714     wxBoxSizer* itemBoxSizer127 = new wxBoxSizer(wxVERTICAL);
00715     itemFlexGridSizer114->Add(itemBoxSizer127, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM, 5);
00716     wxBitmap itemBitmapButton128Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00717     wxBitmapButton* itemBitmapButton128 = new wxBitmapButton( itemPanel94, ID_PROP_NEW_SCREENSHOT, itemBitmapButton128Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00718     if (ShowToolTips())
00719         itemBitmapButton128->SetToolTip(_("Add new screenshot"));
00720     itemBoxSizer127->Add(itemBitmapButton128, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00721 
00722     wxBitmap itemBitmapButton129Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00723     wxBitmapButton* itemBitmapButton129 = new wxBitmapButton( itemPanel94, ID_PROP_DELETE_SCREENSHOT, itemBitmapButton129Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00724     if (ShowToolTips())
00725         itemBitmapButton129->SetToolTip(_("Delete selected screenshot"));
00726     itemBoxSizer127->Add(itemBitmapButton129, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00727 
00728     itemNotebook3->AddPage(itemPanel94, _("Details"));
00729 
00730     wxPanel* itemPanel130 = new wxPanel( itemNotebook3, ID_PROP_DEPENDENCIES_PAGE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00731     wxBoxSizer* itemBoxSizer131 = new wxBoxSizer(wxVERTICAL);
00732     itemPanel130->SetSizer(itemBoxSizer131);
00733 
00734     m_pSplitter = new wxSplitterWindow( itemPanel130, wxID_ANY, wxDefaultPosition, wxSize(100, 100), wxNO_BORDER|wxSP_BORDER|wxSP_LIVE_UPDATE );
00735     itemBoxSizer131->Add(m_pSplitter, 1, wxGROW|wxALL, 5);
00736     m_pTopPanel = new wxPanel( m_pSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL );
00737     wxBoxSizer* itemBoxSizer134 = new wxBoxSizer(wxVERTICAL);
00738     m_pTopPanel->SetSizer(itemBoxSizer134);
00739 
00740     wxStaticBox* itemStaticBoxSizer135Static = new wxStaticBox(m_pTopPanel, wxID_ANY, _("...from wxWidgets"));
00741     wxStaticBoxSizer* itemStaticBoxSizer135 = new wxStaticBoxSizer(itemStaticBoxSizer135Static, wxVERTICAL);
00742     itemBoxSizer134->Add(itemStaticBoxSizer135, 1, wxGROW|wxALL, 8);
00743     wxStaticText* itemStaticText136 = new wxStaticText( m_pTopPanel, wxID_STATIC, _("Double click on the port names to edit the relative supported/tested versions."), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT );
00744     itemStaticText136->SetFont(wxFont(8, wxSWISS, wxNORMAL, wxBOLD, false, _T("Tahoma")));
00745     itemStaticBoxSizer135->Add(itemStaticText136, 0, wxGROW|wxALL, 10);
00746 
00747     wxStaticText* itemStaticText137 = new wxStaticText( m_pTopPanel, wxID_STATIC, _("You can specify the supported/tested versions in two forms:\n- using the hyphen to separe two version number (e.g. \"2.4-2.6\")\n- using the 'x' as wildcard (e.g. \"2.6.x\")"), wxDefaultPosition, wxDefaultSize, 0 );
00748     itemStaticBoxSizer135->Add(itemStaticText137, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
00749 
00750     wxFlexGridSizer* itemFlexGridSizer138 = new wxFlexGridSizer(2, 4, 0, 0);
00751     itemFlexGridSizer138->AddGrowableRow(1);
00752     itemFlexGridSizer138->AddGrowableCol(0);
00753     itemFlexGridSizer138->AddGrowableCol(1);
00754     itemFlexGridSizer138->AddGrowableCol(2);
00755     itemFlexGridSizer138->AddGrowableCol(3);
00756     itemStaticBoxSizer135->Add(itemFlexGridSizer138, 1, wxGROW, 5);
00757     wxStaticText* itemStaticText139 = new wxStaticText( m_pTopPanel, wxID_STATIC, _("Supported ports:"), wxDefaultPosition, wxDefaultSize, 0 );
00758     itemFlexGridSizer138->Add(itemStaticText139, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00759 
00760     itemFlexGridSizer138->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00761 
00762     wxStaticText* itemStaticText141 = new wxStaticText( m_pTopPanel, wxID_STATIC, _("Tested ports:"), wxDefaultPosition, wxDefaultSize, 0 );
00763     itemFlexGridSizer138->Add(itemStaticText141, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxLEFT|wxRIGHT|wxTOP, 5);
00764 
00765     itemFlexGridSizer138->Add(5, 5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00766 
00767     wxString* m_pSupportedPortsStrings = NULL;
00768     m_pSupportedPorts = new wxCheckListBox( m_pTopPanel, ID_PROP_SUPPORTEDPORTS, wxDefaultPosition, wxSize(-1, 100), 0, m_pSupportedPortsStrings, wxLB_EXTENDED|wxLB_NEEDED_SB );
00769     m_pSupportedPorts->SetHelpText(_("The wxWidgets ports that this package *theorically* supports"));
00770     if (ShowToolTips())
00771         m_pSupportedPorts->SetToolTip(_("The wxWidgets ports that this package *theorically* supports"));
00772     itemFlexGridSizer138->Add(m_pSupportedPorts, 1, wxGROW|wxGROW|wxLEFT|wxTOP|wxBOTTOM, 5);
00773 
00774     wxButton* itemButton144 = new wxButton( m_pTopPanel, ID_PROP_QUICKSET_SUPPORTED_VERSIONS, _(" Quick\n  set \nversion"), wxDefaultPosition, wxSize(15, -1), 0 );
00775     itemFlexGridSizer138->Add(itemButton144, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL|wxFIXED_MINSIZE, 5);
00776 
00777     wxString* m_pTestedPortsStrings = NULL;
00778     m_pTestedPorts = new wxCheckListBox( m_pTopPanel, ID_PROP_TESTEDPORTS, wxDefaultPosition, wxSize(-1, 100), 0, m_pTestedPortsStrings, wxLB_EXTENDED|wxLB_NEEDED_SB );
00779     m_pTestedPorts->SetHelpText(_("The wxWidgets ports where this package has been tested and found successfully working"));
00780     if (ShowToolTips())
00781         m_pTestedPorts->SetToolTip(_("The wxWidgets ports where this package has been tested and found successfully working"));
00782     itemFlexGridSizer138->Add(m_pTestedPorts, 1, wxGROW|wxGROW|wxLEFT|wxTOP|wxBOTTOM, 5);
00783 
00784     wxButton* itemButton146 = new wxButton( m_pTopPanel, ID_PROP_QUICKSET_TESTED_VERSIONS, _(" Quick\n  set \nversion\n"), wxDefaultPosition, wxSize(15, -1), 0 );
00785     itemFlexGridSizer138->Add(itemButton146, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL|wxFIXED_MINSIZE, 5);
00786 
00787     m_pBottomPanel = new wxPanel( m_pSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNO_BORDER|wxTAB_TRAVERSAL );
00788     wxBoxSizer* itemBoxSizer148 = new wxBoxSizer(wxVERTICAL);
00789     m_pBottomPanel->SetSizer(itemBoxSizer148);
00790 
00791     wxStaticBox* itemStaticBoxSizer149Static = new wxStaticBox(m_pBottomPanel, wxID_ANY, _("...from other packages"));
00792     wxStaticBoxSizer* itemStaticBoxSizer149 = new wxStaticBoxSizer(itemStaticBoxSizer149Static, wxHORIZONTAL);
00793     itemBoxSizer148->Add(itemStaticBoxSizer149, 1, wxGROW|wxTOP, 5);
00794     m_pDepList = new wxListCtrl( m_pBottomPanel, ID_PROP_DEPENDENCIES, wxDefaultPosition, wxSize(100, 100), wxLC_REPORT );
00795     m_pDepList->SetHelpText(_("Dependencies of this package from other packages."));
00796     if (ShowToolTips())
00797         m_pDepList->SetToolTip(_("Dependencies of this package from other packages."));
00798     itemStaticBoxSizer149->Add(m_pDepList, 1, wxGROW|wxALL, 5);
00799 
00800     wxBoxSizer* itemBoxSizer151 = new wxBoxSizer(wxVERTICAL);
00801     itemStaticBoxSizer149->Add(itemBoxSizer151, 0, wxALIGN_BOTTOM, 5);
00802     wxBitmap itemBitmapButton152Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00803     wxBitmapButton* itemBitmapButton152 = new wxBitmapButton( m_pBottomPanel, ID_PROP_NEW_DEP, itemBitmapButton152Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00804     if (ShowToolTips())
00805         itemBitmapButton152->SetToolTip(_("Add new package dependency"));
00806     itemBoxSizer151->Add(itemBitmapButton152, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00807 
00808     wxBitmap itemBitmapButton153Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00809     wxBitmapButton* itemBitmapButton153 = new wxBitmapButton( m_pBottomPanel, ID_PROP_DELETE_DEP, itemBitmapButton153Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00810     if (ShowToolTips())
00811         itemBitmapButton153->SetToolTip(_("Delete selected dependency"));
00812     itemBoxSizer151->Add(itemBitmapButton153, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00813 
00814     itemNotebook3->AddPage(itemPanel130, _("Dependencies"));
00815 
00816     wxPanel* itemPanel154 = new wxPanel( itemNotebook3, ID_PROP_BUILDSYSTEM_PAGE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00817     wxBoxSizer* itemBoxSizer155 = new wxBoxSizer(wxVERTICAL);
00818     itemPanel154->SetSizer(itemBoxSizer155);
00819 
00820     wxFlexGridSizer* itemFlexGridSizer156 = new wxFlexGridSizer(2, 2, 0, 0);
00821     itemFlexGridSizer156->AddGrowableRow(1);
00822     itemFlexGridSizer156->AddGrowableCol(1);
00823     itemBoxSizer155->Add(itemFlexGridSizer156, 2, wxGROW, 5);
00824     wxStaticText* itemStaticText157 = new wxStaticText( itemPanel154, wxID_STATIC, _("Build system type:"), wxDefaultPosition, wxDefaultSize, 0 );
00825     itemFlexGridSizer156->Add(itemStaticText157, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00826 
00827     wxString* m_pBuildSystemTypeStrings = NULL;
00828     m_pBuildSystemType = new wxChoice( itemPanel154, ID_PROP_BUILDSYS_TYPE, wxDefaultPosition, wxDefaultSize, 0, m_pBuildSystemTypeStrings, 0 );
00829     itemFlexGridSizer156->Add(m_pBuildSystemType, 1, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00830 
00831     wxStaticText* itemStaticText159 = new wxStaticText( itemPanel154, wxID_STATIC, _("Formats supported:"), wxDefaultPosition, wxDefaultSize, 0 );
00832     itemFlexGridSizer156->Add(itemStaticText159, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5);
00833 
00834     wxString* m_pFormatsStrings = NULL;
00835     m_pFormats = new wxCheckListBox( itemPanel154, ID_PROP_BUILDSYS_FORMATS, wxDefaultPosition, wxSize(-1, 60), 0, m_pFormatsStrings, wxLB_SINGLE );
00836     itemFlexGridSizer156->Add(m_pFormats, 2, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL|wxFIXED_MINSIZE, 5);
00837 
00838     wxNotebook* itemNotebook161 = new wxNotebook( itemPanel154, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxNB_DEFAULT|wxNB_TOP );
00839 
00840     wxPanel* itemPanel162 = new wxPanel( itemNotebook161, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00841     wxBoxSizer* itemBoxSizer163 = new wxBoxSizer(wxVERTICAL);
00842     itemPanel162->SetSizer(itemBoxSizer163);
00843 
00844     wxBoxSizer* itemBoxSizer164 = new wxBoxSizer(wxHORIZONTAL);
00845     itemBoxSizer163->Add(itemBoxSizer164, 0, wxGROW|wxLEFT|wxTOP|wxBOTTOM, 5);
00846     wxStaticText* itemStaticText165 = new wxStaticText( itemPanel162, wxID_STATIC, _("Option presets in use:"), wxDefaultPosition, wxDefaultSize, 0 );
00847     itemBoxSizer164->Add(itemStaticText165, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00848 
00849     m_pOptionPresets = new wxStaticText( itemPanel162, wxID_STATIC, _T(""), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
00850     m_pOptionPresets->SetFont(wxFont(10, wxSWISS, wxNORMAL, wxBOLD, false, _T("DejaVu Sans")));
00851     itemBoxSizer164->Add(m_pOptionPresets, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00852 
00853     wxBoxSizer* itemBoxSizer167 = new wxBoxSizer(wxHORIZONTAL);
00854     itemBoxSizer163->Add(itemBoxSizer167, 1, wxGROW, 5);
00855     m_pBuildSysOptions = new wxOptionListCtrl( itemPanel162, ID_PROP_BUILDSYS_OPTIONS, wxDefaultPosition, wxDefaultSize, 0 );
00856     m_pBuildSysOptions->SetHelpText(_("These are the options which will be user-editable when building the package and which will be passed to the MAKE process"));
00857     if (ShowToolTips())
00858         m_pBuildSysOptions->SetToolTip(_("These are the options which will be user-editable when building the package and which will be passed to the MAKE process"));
00859     itemBoxSizer167->Add(m_pBuildSysOptions, 1, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
00860 
00861     wxBoxSizer* itemBoxSizer169 = new wxBoxSizer(wxVERTICAL);
00862     itemBoxSizer167->Add(itemBoxSizer169, 0, wxALIGN_BOTTOM, 5);
00863     wxBitmap itemBitmapButton170Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00864     wxBitmapButton* itemBitmapButton170 = new wxBitmapButton( itemPanel162, ID_PROP_NEW_OPTION, itemBitmapButton170Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
00865     if (ShowToolTips())
00866         itemBitmapButton170->SetToolTip(_("Add new option"));
00867     itemBoxSizer169->Add(itemBitmapButton170, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00868 
00869     wxBitmap itemBitmapButton171Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00870     wxBitmapButton* itemBitmapButton171 = new wxBitmapButton( itemPanel162, ID_PROP_DELETE_OPTION, itemBitmapButton171Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
00871     if (ShowToolTips())
00872         itemBitmapButton171->SetToolTip(_("Delete selected option"));
00873     itemBoxSizer169->Add(itemBitmapButton171, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00874 
00875     wxBitmap itemBitmapButton172Bitmap(itemPanel1->GetBitmapResource(wxT("preset")));
00876     wxBitmapButton* itemBitmapButton172 = new wxBitmapButton( itemPanel162, ID_PROP_ADD_OPTPRESET, itemBitmapButton172Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_EXACTFIT );
00877     if (ShowToolTips())
00878         itemBitmapButton172->SetToolTip(_("Add option preset"));
00879     itemBoxSizer169->Add(itemBitmapButton172, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00880 
00881     itemNotebook161->AddPage(itemPanel162, _("Options"));
00882 
00883     wxPanel* itemPanel173 = new wxPanel( itemNotebook161, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00884     wxBoxSizer* itemBoxSizer174 = new wxBoxSizer(wxHORIZONTAL);
00885     itemPanel173->SetSizer(itemBoxSizer174);
00886 
00887     wxBoxSizer* itemBoxSizer175 = new wxBoxSizer(wxVERTICAL);
00888     itemBoxSizer174->Add(itemBoxSizer175, 1, wxGROW|wxTOP, 5);
00889     wxBoxSizer* itemBoxSizer176 = new wxBoxSizer(wxHORIZONTAL);
00890     itemBoxSizer175->Add(itemBoxSizer176, 0, wxGROW|wxALL, 5);
00891     wxStaticText* itemStaticText177 = new wxStaticText( itemPanel173, wxID_STATIC, _("Stage:"), wxDefaultPosition, wxDefaultSize, 0 );
00892     itemBoxSizer176->Add(itemStaticText177, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00893 
00894     wxString* m_pBuildSystemStageStrings = NULL;
00895     m_pBuildSystemStage = new wxChoice( itemPanel173, ID_PROP_STAGE, wxDefaultPosition, wxDefaultSize, 0, m_pBuildSystemStageStrings, 0 );
00896     itemBoxSizer176->Add(m_pBuildSystemStage, 2, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00897 
00898     itemBoxSizer176->Add(5, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00899 
00900     wxStaticText* itemStaticText180 = new wxStaticText( itemPanel173, wxID_STATIC, _("Targets for this stage:"), wxDefaultPosition, wxDefaultSize, 0 );
00901     itemBoxSizer176->Add(itemStaticText180, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00902 
00903     m_pTargets = new wxTextCtrl( itemPanel173, ID_PROP_TARGETS, _T(""), wxDefaultPosition, wxDefaultSize, 0 );
00904     m_pTargets->SetHelpText(_("A comma-separed list of the targets supported by the package's build system (e.g. \"all,docs\")"));
00905     if (ShowToolTips())
00906         m_pTargets->SetToolTip(_("A comma-separed list of the targets supported by the package's build system (e.g. \"all,docs\")"));
00907     itemBoxSizer176->Add(m_pTargets, 3, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00908 
00909     wxBoxSizer* itemBoxSizer182 = new wxBoxSizer(wxHORIZONTAL);
00910     itemBoxSizer175->Add(itemBoxSizer182, 0, wxGROW|wxLEFT|wxRIGHT|wxBOTTOM, 5);
00911     wxStaticText* itemStaticText183 = new wxStaticText( itemPanel173, wxID_STATIC, _("Command presets in use:"), wxDefaultPosition, wxDefaultSize, 0 );
00912     itemBoxSizer182->Add(itemStaticText183, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00913 
00914     m_pCommandPresets = new wxStaticText( itemPanel173, wxID_STATIC, _T(""), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE );
00915     m_pCommandPresets->SetFont(wxFont(10, wxSWISS, wxNORMAL, wxBOLD, false, _T("DejaVu Sans")));
00916     itemBoxSizer182->Add(m_pCommandPresets, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
00917 
00918     m_pBuildSysCommands = new wxCommandListBox( itemPanel173, ID_PROP_BUILDSYS_COMMANDS, wxDefaultPosition, wxSize(-1, 40), 0 );
00919     m_pBuildSysCommands->SetHelpText(_("The commands executed for the different build formats"));
00920     if (ShowToolTips())
00921         m_pBuildSysCommands->SetToolTip(_("The commands executed for the different build formats"));
00922     itemBoxSizer175->Add(m_pBuildSysCommands, 1, wxGROW|wxALL|wxFIXED_MINSIZE, 5);
00923 
00924     wxBoxSizer* itemBoxSizer186 = new wxBoxSizer(wxVERTICAL);
00925     itemBoxSizer174->Add(itemBoxSizer186, 0, wxALIGN_BOTTOM, 5);
00926     wxBitmap itemBitmapButton187Bitmap(itemPanel1->GetBitmapResource(wxT("new")));
00927     wxBitmapButton* itemBitmapButton187 = new wxBitmapButton( itemPanel173, ID_PROP_NEW_COMMAND, itemBitmapButton187Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
00928     if (ShowToolTips())
00929         itemBitmapButton187->SetToolTip(_("Add new command"));
00930     itemBoxSizer186->Add(itemBitmapButton187, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00931 
00932     wxBitmap itemBitmapButton188Bitmap(itemPanel1->GetBitmapResource(wxT("delete")));
00933     wxBitmapButton* itemBitmapButton188 = new wxBitmapButton( itemPanel173, ID_PROP_DELETE_COMMAND, itemBitmapButton188Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
00934     if (ShowToolTips())
00935         itemBitmapButton188->SetToolTip(_("Delete selected command"));
00936     itemBoxSizer186->Add(itemBitmapButton188, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP, 5);
00937 
00938     wxBitmap itemBitmapButton189Bitmap(itemPanel1->GetBitmapResource(wxT("preset")));
00939     wxBitmapButton* itemBitmapButton189 = new wxBitmapButton( itemPanel173, ID_PROP_RESET_COMMANDS, itemBitmapButton189Bitmap, wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW );
00940     if (ShowToolTips())
00941         itemBitmapButton189->SetToolTip(_("Use command preset"));
00942     itemBoxSizer186->Add(itemBitmapButton189, 0, wxALIGN_CENTER_HORIZONTAL|wxRIGHT|wxTOP|wxBOTTOM, 5);
00943 
00944     itemNotebook161->AddPage(itemPanel173, _("Commands"));
00945 
00946     itemBoxSizer155->Add(itemNotebook161, 4, wxGROW|wxALL, 5);
00947 
00948     itemNotebook3->AddPage(itemPanel154, _("Build system"));
00949 
00950     m_pXMLPanel = new wxPanel( itemNotebook3, ID_PROP_XMLSOURCE_PAGE, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
00951     m_pXMLSizer = new wxBoxSizer(wxVERTICAL);
00952     m_pXMLPanel->SetSizer(m_pXMLSizer);
00953 
00954     itemNotebook3->AddPage(m_pXMLPanel, _("XML source"));
00955 
00956     itemBoxSizer2->Add(itemNotebook3, 1, wxGROW|wxALL, 5);
00957 
00959 
00960     // complete initialization of the splitter window _after_ setting the
00961     // minsize for both panels it contains !
00962     // Otherwise the splitter won't work correctly:
00963     m_pTopPanel->SetMinSize(m_pTopPanel->GetSizer()->GetMinSize());
00964     m_pBottomPanel->SetMinSize(m_pBottomPanel->GetSizer()->GetMinSize());
00965     m_pSplitter->SplitHorizontally(m_pTopPanel, m_pBottomPanel);
00966 
00967     InitBasicsPage();
00968     InitPackagingPage();
00969     InitLicensingPage();
00970     InitDetailsPage();
00971     InitDependenciesPage();
00972     InitBuildSystemPage();
00973     InitXMLSourcePage();
00974 
00975     m_nLastStage = 0;
00976 
00977     // after all fake events, reset the modified flag
00978     m_bModified = false;
00979 }
00980 
00981 bool wxPackagePropertiesPanel::ShowToolTips()
00982 {
00983     return true;
00984 }
00985 
00986 wxBitmap wxPackagePropertiesPanel::GetBitmapResource( const wxString& name )
00987 {
00988     wxImage bitmap;
00989 
00990     if (name == _T("new"))
00991         bitmap = wxGetImageFromXPM_or_GTK2Stock(new_xpm, "gtk-add");
00992     else if (name == _T("delete"))
00993         bitmap = wxGetImageFromXPM_or_GTK2Stock(delete_xpm, "gtk-remove");
00994     else if (name == _T("preset"))
00995         bitmap = wxGetImageFromXPM_or_GTK2Stock(preset_xpm, "gtk-preferences");
00996     else if (name == _T("refresh"))
00997         bitmap = wxGetImageFromXPM_or_GTK2Stock(refresh_xpm, "gtk-refresh");
00998     else if (name == _T("collapse"))
00999         bitmap = wxImage(collapse_xpm);
01000     else if (name == wxT("expand"))
01001         bitmap = wxImage(expand_xpm);
01002     else if (name == wxT("invalid"))
01003         bitmap = wxGetImageFromXPM_or_GTK2Stock(invalid_xpm, "gtk-close");
01004     else if (name == wxT("valid"))
01005         bitmap = wxGetImageFromXPM_or_GTK2Stock(valid_xpm, "gtk-apply");
01006     else if (name == wxT("dots"))
01007         bitmap = wxImage(dots_xpm);
01008 
01009     if (bitmap.IsOk())
01010         bitmap.Rescale(ID_PROPPANEL_BITMAP_SIZE.GetWidth(),
01011                        ID_PROPPANEL_BITMAP_SIZE.GetHeight());
01012     return wxBitmap(bitmap);
01013 }
01014 
01015 wxPackageInfo wxPackagePropertiesPanel::GetPackageInfo() const
01016 {
01017     wxPackageInfo ret;
01018 
01019     GetBasicsPackageInfo(ret);
01020     GetPackagingPackageInfo(ret);
01021     GetLicensingPackageInfo(ret);
01022     GetDetailsPackageInfo(ret);
01023     GetDependenciesPackageInfo(ret);
01024     GetBuildSystemPackageInfo(ret);
01025 
01026     return ret;
01027 }
01028 
01029 void wxPackagePropertiesPanel::SetPackageInfo(const wxPackageXMLDescriptor &p,
01030                                               const wxString &filename)
01031 {
01032     DoSetPackageInfo(p.GetPackageInfo(), filename);
01033 
01034     // now it's safe to store user XML & update it
01035     m_xmlDescriptor = p;
01036     UpdateXML();
01037 }
01038 
01039 void wxPackagePropertiesPanel::SetPackageInfo(const wxPackageInfo &p,
01040                                               const wxString &filename)
01041 {
01042     DoSetPackageInfo(p, filename);
01043 
01044     // invalidate previous user XML source & update it
01045     m_xmlDescriptor = wxEmptyPackageXMLDescriptor;
01046     UpdateXML();
01047 }
01048 
01049 void wxPackagePropertiesPanel::DoSetPackageInfo(const wxPackageInfo &p,
01050                                                 const wxString &filename)
01051 {
01052     // NB: we don't require the given wxPackageInfo to be valid.
01053     //     This allows to use this function with wxEmptyPackageInfo 
01054     //     to reset this panel.
01055 
01056     DoSetBasicsPackageInfo(p);
01057     DoSetPackagingPackageInfo(p, filename);
01058     DoSetLicensingPackageInfo(p);
01059     DoSetDetailsPackageInfo(p);
01060     DoSetDependenciesPackageInfo(p);
01061     DoSetBuildSystemPackageInfo(p);
01062 }
01063 
01064 bool wxPackagePropertiesPanel::IsOk() const
01065 {
01066     // NB: we don't want to use here something like:
01067     //      return IsBasicsPageOk() &&
01068     //             IsPackagingPageOk() &&
01069     //             IsLicensingPageOk() &&
01070     //             IsDetailsPageOk() &&
01071     //             IsDependenciesPageOk() &&
01072     //             IsBuildSystemPageOk();
01073     //     as otherwise the log warnings/errors coming from e.g. the packaging
01074     //     page would be shown only after all warnings/errors from the basics
01075     //     page have been fixed. We want to show all warnings/errors immediately.
01076     bool ok1, ok2, ok3, ok4, ok5, ok6;
01077 
01078     ok1 = IsBasicsPageOk();
01079     ok2 = IsPackagingPageOk();
01080     ok3 = IsLicensingPageOk();
01081     ok4 = IsDetailsPageOk();
01082     ok5 = IsDependenciesPageOk();
01083     ok6 = IsBuildSystemPageOk();
01084 
01085     return ok1 && ok2 && ok3 && ok4 && ok5 && ok6;
01086 }
01087 
01088 bool wxPackagePropertiesPanel::TransferDataFromWindow()
01089 {
01090     if (!wxPanel::TransferDataFromWindow())
01091         return false;
01092 
01093     // save current contents of the list/textctrl of the BUILD-SYSTEM panel
01094     // in the appropriate array for the currently selected stage
01095     m_targets[m_nLastStage] = m_pTargets->GetValue();
01096     m_commands[m_nLastStage] = m_pBuildSysCommands->GetCommands();
01097 
01098     return true;
01099 }
01100 
01101 void wxPackagePropertiesPanel::OnUserChange()
01102 {
01103     // mark this panel as user-modified
01104     m_bModified = true;
01105 
01106     // send an event to the event handler
01107     wxCommandEvent ev(wxEVT_COMMAND_PROPPANEL_USER_CHANGE, GetId());
01108     if (GetParent())
01109         GetParent()->ProcessEvent(ev);
01110 }
01111 
01112 
01113 
01114 // ----------------------------------------------------------------------------
01115 // wxPackagePropertiesPanel - event handlers
01116 // ----------------------------------------------------------------------------
01117 
01118 void wxPackagePropertiesPanel::OnText(wxCommandEvent &WXUNUSED(ev))
01119 {
01120     OnUserChange();
01121 }
01122 
01123 void wxPackagePropertiesPanel::OnButton(wxCommandEvent &ev)
01124 {
01125     OnUserChange();
01126 
01127     switch (ev.GetId())
01128     {
01129     case ID_PROP_REFRESH_INCLUDED:
01130     case ID_PROP_EXPAND_INCLUDED:
01131     case ID_PROP_COLLAPSE_INCLUDED:
01132     case ID_PROP_NEW_EXCLUDED:
01133     case ID_PROP_DELETE_EXCLUDED:
01134         OnPackagingButton(ev);
01135         break;
01136 
01137     case ID_PROP_NEW_AUTHOR:
01138     case ID_PROP_NEW_MAINTAINER:
01139     case ID_PROP_LICENSE_REF:
01140     case ID_PROP_DELETE_AUTHOR:
01141     case ID_PROP_DELETE_MAINTAINER:
01142         OnLicensingButton(ev);
01143         break;
01144 
01145     case ID_PROP_NEW_DOWNLOADLINK:
01146     case ID_PROP_NEW_DOC:
01147     case ID_PROP_NEW_SCREENSHOT:
01148     case ID_PROP_LOGO_REF:
01149     case ID_PROP_DELETE_DOWNLOADLINK:
01150     case ID_PROP_DELETE_DOC:
01151     case ID_PROP_DELETE_SCREENSHOT:
01152         OnDetailsButton(ev);
01153         break;
01154 
01155     case ID_PROP_NEW_DEP:
01156     case ID_PROP_DELETE_DEP:
01157     case ID_PROP_QUICKSET_SUPPORTED_VERSIONS:
01158     case ID_PROP_QUICKSET_TESTED_VERSIONS:
01159         OnDependenciesButton(ev);
01160         break;
01161 
01162     case ID_PROP_NEW_OPTION:
01163     case ID_PROP_NEW_COMMAND:
01164     case ID_PROP_RESET_COMMANDS:
01165     case ID_PROP_ADD_OPTPRESET:
01166     case ID_PROP_DELETE_OPTION:
01167     case ID_PROP_DELETE_COMMAND:
01168         OnBuildSystemButton(ev);
01169         break;
01170     }
01171 }
01172 
01173 void wxPackagePropertiesPanel::OnListBoxDClick(wxCommandEvent &ev)
01174 {
01175     OnUserChange();
01176 
01177     switch (ev.GetId())
01178     {
01179     case ID_PROP_AUTHORS:
01180     case ID_PROP_MAINTAINERS:
01181         OnLicensingListBoxDClick(ev);
01182         break;
01183 
01184     case ID_PROP_SUPPORTEDPORTS:
01185     case ID_PROP_TESTEDPORTS:
01186         OnDependenciesListBoxDClick(ev);
01187         break;
01188 
01189     case ID_PROP_DOWNLOADLINKS:
01190     case ID_PROP_DOCS:
01191     case ID_PROP_SCREENSHOTS:
01192         OnDetailsListBoxDClick(ev);
01193         break;
01194 
01195     case ID_PROP_BUILDSYS_COMMANDS:
01196         OnBuildSystemListBoxDClick(ev);
01197         break;
01198     }
01199 }
01200 
01201 /*
01202 
01203 wxIcon wxPackagePropertiesPanel::GetIconResource( const wxString& name )
01204 {
01205     // Icon retrieval
01207     wxUnusedVar(name);
01208     return wxNullIcon;
01210 }
01211 
01212 */
01213 

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