00001
00002
00003
00004
00005
00006
00007
00008
00009
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
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:
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:
00111
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:
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
00144 int m_selWxBuild;
00145 };
00146
00147
00148 #endif
00149