settingsdlg.h

00001 
00002 // Name:        settingsdlg.h
00003 // Purpose:     wxPackageManagerSettingsDlg definition
00004 // Author:      Francesco Montorsi
00005 // Modified by: 
00006 // Created:     25/07/2006 17:15:46
00007 // RCS-ID:      $Id: settingsdlg.h,v 1.3 2007/01/14 12:17:18 frm Exp $
00008 // Copyright:   (c) 2006 Francesco Montorsi
00009 // Licence:     wxWidgets license
00011 
00012 #ifndef _SETTINGSDIALOG_H_
00013 #define _SETTINGSDIALOG_H_
00014 
00019 #include "wxp/wxbuild.h"
00020 #include "wx/propdlg.h"
00021 
00022 
00027 class wxConfigBase;
00028 class wxPackageViewerPanel;
00029 class wxPackageBrowserPanel;
00030 class wxCompilerSettingsPanel;
00031 class wxOptionEditorCtrl;
00032 class wxPackagePresetsPanel;
00033 class wxDirPickerCtrl;
00034 class wxCheckListBox;
00035 
00040 
00041 #define SYMBOL_WXPACKAGEMANAGERSETTINGSDLG_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxCLOSE_BOX
00042 #define SYMBOL_WXPACKAGEMANAGERSETTINGSDLG_TITLE _("Package Manager Settings")
00043 #define SYMBOL_WXPACKAGEMANAGERSETTINGSDLG_IDNAME wxID_ANY
00044 #define SYMBOL_WXPACKAGEMANAGERSETTINGSDLG_SIZE wxSize(400, 300)
00045 #define SYMBOL_WXPACKAGEMANAGERSETTINGSDLG_POSITION wxDefaultPosition
00046 #define ID_SETTINGS_VIEWMODE 10034
00047 #define ID_SETTINGS_LOADWXDOC 10033
00048 #define ID_SETTINGS_AUTOLOAD_WXPACKAGES 10074
00049 #define ID_SETTINGS_DOWNLOAD_PICKER 10010
00050 #define ID_SETTINGS_DECOMPRESSION_PICKER 10000
00051 #define ID_SETTINGS_INSTALLATION_PICKER 10001
00052 #define ID_SETTINGS_QUESTIONS_LIST 10065
00053 #define ID_SETTINGS_LOCALREPO_PATHS 10002
00054 #define ID_SETTINGS_LOCALREPO_ADDPATH 10003
00055 #define ID_SETTINGS_LOCALREPO_EDITPATH 10057
00056 #define ID_SETTINGS_LOCALREPO_OPENPATH 10075
00057 #define ID_SETTINGS_LOCALREPO_DELETEPATH 10004
00058 #define ID_SETTINGS_LIST 10048
00059 #define ID_SETTINGS_WX_ADDNEW 10050
00060 #define ID_SETTINGS_WX_EDIT 10051
00061 #define ID_SETTINGS_WX_DELETE 10052
00062 #define ID_SETTINGS_WX_AUTODETECT 10053
00064 
00065 
00066 
00067 // ----------------------------------------------------------------------------
00068 // wxPackageManagerSettingsDlg
00069 // ----------------------------------------------------------------------------
00070 
00071 class wxPackageManagerSettingsDlg: public wxPropertySheetDialog
00072 {    
00073     DECLARE_DYNAMIC_CLASS( wxPackageManagerSettingsDialog )
00074     DECLARE_EVENT_TABLE()
00075 
00076 public:
00078     wxPackageManagerSettingsDlg( );
00079     wxPackageManagerSettingsDlg( wxWindow* parent, wxWindowID id,
00080                                     wxConfigBase *, const wxString &path,
00081                                     wxPackageViewerPanel *, wxPackageBrowserPanel *);
00082 
00084     bool Create( wxWindow* parent, wxWindowID id,
00085                  wxConfigBase *, const wxString &path,
00086                  wxPackageViewerPanel *, wxPackageBrowserPanel *);
00087 
00089     void CreateControls();
00090 
00091 public:     // event handlers
00092 
00093     void OnLocalRepoAddPath(wxCommandEvent &);
00094     void OnLocalRepoEditPath(wxCommandEvent &);
00095     void OnLocalRepoOpenPath(wxCommandEvent &);
00096     void OnLocalRepoDeletePath(wxCommandEvent &);
00097 
00098     void OnWxBuildAddNew(wxCommandEvent &);
00099     void OnWxBuildEdit(wxCommandEvent &);
00100     void OnWxBuildDelete(wxCommandEvent &);
00101     void OnWxBuildAutodetect(wxCommandEvent &);
00102 
00103     void OnOK(wxCommandEvent &);
00104     void OnUpdateUI(wxUpdateUIEvent &);
00105 
00106 public:         // load/save
00107 
00108     // NB: unlike all other classes, wxPackageManagerSettingsDlg's
00109     //     Load() and Save() functions do not take any wxConfig
00110     //     object nor any path. This is because this class does not
00111     //     need to load/save anything directly in the registry but
00112     //     rather to init its GUI from the other classes which
00113     //     effectively load/save into the registry.
00114     bool LoadSettings();
00115     void ApplySettings();
00116 
00117 protected:      // controls
00118 
00119     wxChoice* m_pViewMode;
00120     wxCheckBox* m_pLoadWxDocs;
00121     wxCheckBox* m_pAutoLoadWxPackages;
00122     wxDirPickerCtrl* m_pDownloadPicker;
00123     wxDirPickerCtrl* m_pDecompressionPicker;
00124     wxDirPickerCtrl* m_pInstallationPicker;
00125     wxListBox* m_pPathList;
00126     wxListBox* m_pWxBuildList;
00127     wxCheckListBox* m_pQuestionList;
00128 
00129     wxPackagePresetsPanel *m_pPresetsPanel;
00130     wxCompilerSettingsPanel *m_pCompilerOptPanel;
00131 
00132 protected:      // objects whose settings are modified through this dialog
00133 
00134     wxConfigBase *m_pCfg;
00135     wxString m_strPath;
00136     wxPackageViewerPanel *m_pViewerPanel;
00137     wxPackageBrowserPanel *m_pBrowserPanel;
00138 
00139     // a temporary array of the wx builds as edited by the user.
00140     // saved in wxWidgetsBuild::s_arrWxBuilds only in ApplySettings.
00141     wxWidgetsBuildArray m_arrBuilds;
00142 
00143     // array used to keep traces of the keynames of the questions
00144     wxArrayString m_questionListKeynames;
00145 };
00146 
00147 #endif
00148     // _SETTINGSDIALOG_H_

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