extcmdoptionspanel.h

00001 
00002 // Name:        extcmdoptionspanel.h
00003 // Purpose:     wxExtCmdOptionsPanel definition
00004 // Author:      Julian Smart, Francesco Montorsi
00005 // Modified by:
00006 // Created:     15/06/2006 21:21:22
00007 // RCS-ID:      $Id: extcmdoptionspanel.h,v 1.4 2007/01/28 15:56:10 frm Exp $
00008 // Copyright:   (c) 2006 Francesco Montorsi
00009 // Licence:     wxWidgets license
00011 
00012 #ifndef _PMEXTCMDOPTIONSPANEL_H_
00013 #define _PMEXTCMDOPTIONSPANEL_H_
00014 
00015 
00020 #include <wx/listctrl.h>
00021 #include <wx/htmllbox.h>
00022 
00023 #include "wxp/package.h"
00024 #include "guipm/opteditctrl.h"
00025 
00026 class wxPropertyGridEvent;
00027 class wxCommandListBox;
00028 
00029 
00030 
00035 
00036 #define ID_EXTCMD_RESET 10041
00037 #define ID_EXTCMD_OPTIONS 10029
00038 #define ID_EXTCMD_WXBUILD 10022
00039 #define ID_EXTCMD_EDIT 10066
00040 #define ID_EXTCMD_TARGET 10028
00041 #define ID_EXTCMD_ONLYCHANGED 10001
00042 #define ID_EXTCMD_COMMANDS 10000
00043 #define SYMBOL_WXEXTCMDOPTIONSPANEL_STYLE 0
00044 #define SYMBOL_WXEXTCMDOPTIONSPANEL_TITLE _("Options")
00045 #define SYMBOL_WXEXTCMDOPTIONSPANEL_IDNAME wxID_ANY
00046 #define SYMBOL_WXEXTCMDOPTIONSPANEL_SIZE wxSize(400, 300)
00047 #define SYMBOL_WXEXTCMDOPTIONSPANEL_POSITION wxDefaultPosition
00049 
00050 #define SYMBOL_WXEXTCMDOPTIONSPANEL_NAME wxT("Build")
00051 
00052 
00053 // ----------------------------------------------------------------------------
00054 // wxExtCmdOptionsPanel
00055 // ----------------------------------------------------------------------------
00056 
00057 class wxExtCmdOptionsPanel: public wxPanel
00058 {
00059     DECLARE_DYNAMIC_CLASS( wxExtCmdOptionsPanel )
00060     DECLARE_EVENT_TABLE()
00061 
00062 public:
00064     wxExtCmdOptionsPanel( );
00065     wxExtCmdOptionsPanel( wxWindow* parent,
00066                           wxWindowID id = SYMBOL_WXEXTCMDOPTIONSPANEL_IDNAME,
00067                           const wxPoint& pos = SYMBOL_WXEXTCMDOPTIONSPANEL_POSITION,
00068                           const wxSize& size = SYMBOL_WXEXTCMDOPTIONSPANEL_SIZE,
00069                           long style = SYMBOL_WXEXTCMDOPTIONSPANEL_STYLE,
00070                           const wxString &name = SYMBOL_WXEXTCMDOPTIONSPANEL_NAME );
00071 
00073     bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXEXTCMDOPTIONSPANEL_IDNAME,
00074                  const wxPoint& pos = SYMBOL_WXEXTCMDOPTIONSPANEL_POSITION,
00075                  const wxSize& size = SYMBOL_WXEXTCMDOPTIONSPANEL_SIZE,
00076                  long style = SYMBOL_WXEXTCMDOPTIONSPANEL_STYLE,
00077                  const wxString &name = SYMBOL_WXEXTCMDOPTIONSPANEL_NAME);
00078 
00080     void CreateControls();
00081 
00082 public:     // event handlers
00083 
00084     void OnOptionChanged(wxCommandEvent &ev);
00085     void OnTargetChanged(wxCommandEvent &ev);
00086     void OnWxBuildChanged(wxCommandEvent &ev);
00087     void OnOnlyChanged(wxCommandEvent &ev);
00088 
00089     void OnReset(wxCommandEvent &ev);
00090     void OnEditWxBuild(wxCommandEvent &ev);
00091 
00092     void OnUpdateUI(wxUpdateUIEvent &ev);
00093 
00094 public:
00095 
00097     void SetPackage(const wxPackage &p, wxPackageBuildSystemStage stage);
00098 
00099     const wxPackage &GetPackage() const
00100         { return m_pkg; }
00101     wxPackage &GetPackage()
00102         { return m_pkg; }
00103 
00104     wxPackageBuildSystemStage GetPackageBuildSystemStage() const
00105         { return m_stage; }
00106 
00107     void UpdateCommands();
00108     bool TransferDataFromWindow();
00109 
00110 public:     // function to programmatically change option values while
00111             // the panel is shown
00112 
00116     wxPackageCommandOptionArray &GetOptions()
00117         { return m_pOptionsList->GetOptions(); }
00118 
00119     void RefreshOptions()
00120         { m_pOptionsList->TransferDataToWindow(); }
00121 
00122     void SelectWxBuild(size_t sel);
00123 
00124     void InitWxBuildList();
00125 
00126 protected:      // controls
00127 
00128     wxOptionEditorCtrl *m_pOptionsList;
00129     wxCommandListBox *m_pCommandList;
00130     wxChoice *m_pSelBuild;
00131     wxChoice *m_pTargetList;
00132     wxStaticText *m_pLabel1, *m_pLabel2;
00133     wxCheckBox *m_pOnlyChangedBox;
00134 
00135 protected:
00136 
00137     wxPackage m_pkg;
00138     wxPackageBuildSystemStage m_stage;
00139 
00141     wxPackageCommandArray m_cmd;
00142 
00143     // the currently selected wxbuild; can be -1
00144     int m_selWxBuild;
00145 };
00146 
00147 
00148 #endif
00149     // _PMEXTCMDOPTIONSPANEL_H_

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