Main Page | Class Hierarchy | Class List | File List | Class Members

PropDlg.h

00001 00002 // Name: PropDlg.h 00003 // Purpose: Base class for property dialogs 00004 // Author: Alex Thuering 00005 // Created: 18.11.2003 00006 // RCS-ID: $Id: PropDlg.h,v 1.12 2007/11/14 21:50:55 ntalex Exp $ 00007 // Copyright: (c) Alex Thuering 00008 // Licence: wxWindows licence 00010 00011 #ifndef PROP_DLG_H 00012 #define PROP_DLG_H 00013 00014 #include <wx/wx.h> 00015 #include <wx/grid.h> 00016 #include <wx/dynarray.h> 00017 00018 #ifndef wxFD_OPEN 00019 #define wxFD_OPEN wxOPEN 00020 #define wxFD_DEFAULT_STYLE 0 00021 #endif 00022 00027 class wxPropDlg: public wxDialog 00028 { 00029 public: 00030 wxPropDlg(wxWindow *parent); 00031 virtual ~wxPropDlg(); 00032 00033 protected: 00034 wxArrayInt m_types; 00035 wxArrayPtrVoid m_controls; 00036 wxArrayInt m_groupIds; 00037 int m_updateIndex; 00038 int m_currGroupId; 00039 void* m_currGroupChecker; 00040 00041 void Create(bool resetButton = false); 00046 virtual void CreatePropPanel(wxSizer* sizer) = 0; 00050 virtual void CreateButtonPane(wxSizer* sizer, bool resetButton = false); 00051 00052 virtual void Reset(); 00053 00057 virtual bool SetValues() = 0; 00058 00059 // Add properties 00060 wxWindow* propWindow; // default this 00061 00062 void AddText(wxSizer* sizer, wxString text); 00063 00064 void AddTextProp(wxSizer* sizer, wxString text, wxString defValue, 00065 bool readonly = false); 00066 void AddStaticTextProp(wxSizer* sizer, wxString text, wxString defValue); 00067 void AddSpinProp(wxSizer* sizer, wxString text, int defValue, 00068 int min = 0, int max = 100); 00069 void AddCheckProp(wxSizer* sizer, wxString text, bool defValue, 00070 bool readonly = false, int id = -1); 00071 void AddRadioProp(wxSizer* sizer, wxString text, bool defValue, 00072 long style = wxRB_SINGLE, bool readonly = false, int id = -1); 00073 void AddRadioGroupProp(wxSizer* sizer, const wxArrayString& text, 00074 int defValue, bool readonly = false); 00075 void AddComboProp(wxSizer* sizer, const wxString& text, 00076 const wxString& defValue, const wxArrayString& choices, long style = 0); 00077 void SetComboData(wxComboBox* ctrl, 00078 const wxString& defValue, const wxArrayString& choices); 00079 void AddChoiceProp(wxSizer* sizer, const wxString& text, 00080 const wxString& defValue, const wxArrayString& choices, int id = -1); 00081 void SetChoiceData(wxChoice* ctrl, 00082 const wxString& defValue, const wxArrayString& choices); 00083 void AddGridProp(wxSizer* sizer, const wxArrayPtrVoid& data, 00084 const wxString& rowTitle, bool editable); 00085 void SetGridData(wxGrid* grid, const wxArrayPtrVoid& data, 00086 const wxString& rowTitle, bool editable); 00087 void AddFontProp(wxSizer* sizer, wxString text, 00088 wxFont font, wxString caption = _T("...")); 00089 void AddFontProp(wxSizer* sizer, wxString text, 00090 wxFontData font, wxString caption = _T("...")); 00091 void AddColourProp(wxSizer* sizer, wxString text, 00092 wxColour colour, wxString caption = _T("...")); 00093 void AddFileProp(wxSizer* sizer, wxString text, const wxString& defValue, 00094 int dlgStyle = wxFD_OPEN, wxString caption = _T("...")); 00095 void AddDirectoryProp(wxSizer* sizer, wxString text, 00096 const wxString& defValue, wxString caption = _T("...")); 00097 00098 wxSizer* BeginGroup(wxSizer* sizer, wxString title = wxEmptyString, 00099 wxString checkTitle = wxEmptyString, bool defValue = false, 00100 bool readonly = false); 00101 void EndGroup(); 00102 00103 // Get values 00104 wxString GetString(int index); 00105 int GetInt(int index); 00106 bool GetBool(int index); 00107 void* GetClientData(int index); 00108 wxArrayPtrVoid GetGrid(int index); 00109 wxFontData GetFont(int index); 00110 wxColour GetColour(int index); 00111 00112 void* m_currObject; 00113 int m_currObjectItem; 00114 virtual void OnCancel(wxCommandEvent& event); 00115 virtual void OnOk(wxCommandEvent& event); 00116 virtual void OnReset(wxCommandEvent& event); 00117 virtual void OnSelectFont(wxCommandEvent& event); 00118 virtual void OnSelectColour(wxCommandEvent& event); 00119 virtual void OnSelectFile(wxCommandEvent& event); 00120 virtual void OnSelectDir(wxCommandEvent& event); 00121 virtual void OnGroupCheck(wxCommandEvent& event); 00122 virtual void OnCellLeftClick(wxGridEvent& event); 00123 virtual void OnCellRightClick(wxGridEvent& event); 00124 virtual void OnCellChange(wxGridEvent& event); 00125 virtual void OnRowDelete(wxCommandEvent& event); 00126 00127 private: 00128 DECLARE_EVENT_TABLE() 00129 }; 00130 00131 #endif // PROP_DLG_H

Generated on Mon Nov 19 21:06:44 2007 for wxVillaLib by doxygen 1.3.7