]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/proplist.h
Added helper functions for string -> XmString conversion.
[wxWidgets.git] / include / wx / proplist.h
index 023c0517669e5cf9df24835d2698b0c12b093ff4..72e0fad5fdff082cd9b78b40e248572c83be8b01 100644 (file)
 #ifndef _WX_PROPLIST_H_
 #define _WX_PROPLIST_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
 #pragma interface "proplist.h"
 #endif
 
+#if wxUSE_PROPSHEET
+
 #include "wx/prop.h"
+#include "wx/panel.h"
 
 #define wxPROP_BUTTON_CLOSE       1
 #define wxPROP_BUTTON_OK          2
@@ -75,8 +78,7 @@
 // Mediates between a physical panel and the property sheet
 class WXDLLEXPORT wxPropertyListView: public wxPropertyView
 {
- DECLARE_DYNAMIC_CLASS(wxPropertyListView)
- public:
+public:
   wxPropertyListView(wxPanel *propPanel = NULL, long flags = wxPROP_BUTTON_DEFAULT);
   ~wxPropertyListView(void);
 
@@ -183,23 +185,33 @@ public:
   wxButton*         m_windowCancelButton;
   wxButton*         m_windowHelpButton;
 
-DECLARE_EVENT_TABLE()
 private:
-  virtual void ShowView(wxPropertySheet *propertySheet, wxWindow *window)
-  { wxPropertyView::ShowView(propertySheet, window); };
+    DECLARE_DYNAMIC_CLASS(wxPropertyListView)
+    DECLARE_EVENT_TABLE()
+    
+    virtual void ShowView(wxPropertySheet *propertySheet, wxWindow *window)
+        { wxPropertyView::ShowView(propertySheet, window); };
 };
 
 class WXDLLEXPORT wxPropertyTextEdit: public wxTextCtrl
 {
- DECLARE_CLASS(wxPropertyTextEdit)
- public:
-  wxPropertyTextEdit(wxPropertyListView *v, wxWindow *parent, const wxWindowID id,
-    const wxString& value, const wxPoint& pos = wxDefaultPosition,
-    const wxSize& size = wxDefaultSize, long style = 0, const wxString& name = "text");
-  void OnSetFocus(void);
-  void OnKillFocus(void);
-
-  wxPropertyListView*   m_view;
+public:
+    wxPropertyTextEdit(wxPropertyListView *v = NULL,
+                       wxWindow *parent = NULL,
+                       const wxWindowID id = -1,
+                       const wxString& value = wxEmptyString,
+                       const wxPoint& pos = wxDefaultPosition,
+                       const wxSize& size = wxDefaultSize,
+                       long style = 0,
+                       const wxString& name = wxT("text"));
+
+    void OnSetFocus();
+    void OnKillFocus();
+
+    wxPropertyListView* m_view;
+
+private:
+    DECLARE_CLASS(wxPropertyTextEdit)
 };
 
 #define wxPROP_ALLOW_TEXT_EDITING           1
@@ -210,11 +222,9 @@ class WXDLLEXPORT wxPropertyTextEdit: public wxTextCtrl
 
 class WXDLLEXPORT wxPropertyListValidator: public wxPropertyValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxPropertyListValidator)
- protected:
- public:
+public:
    wxPropertyListValidator(long flags = wxPROP_ALLOW_TEXT_EDITING): wxPropertyValidator(flags) { }
-   ~wxPropertyListValidator(void) {}
+   ~wxPropertyListValidator() {}
 
    // Called when the property is selected or deselected: typically displays the value
    // in the edit control (having chosen a suitable control to display: (non)editable text or listbox)
@@ -264,6 +274,9 @@ class WXDLLEXPORT wxPropertyListValidator: public wxPropertyValidator
    virtual bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
    virtual bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+   
+private:
+    DECLARE_DYNAMIC_CLASS(wxPropertyListValidator)
 };
 
 /*
@@ -272,22 +285,28 @@ class WXDLLEXPORT wxPropertyListValidator: public wxPropertyValidator
 
 class WXDLLEXPORT wxPropertyListDialog: public wxDialog
 {
-  DECLARE_CLASS(wxPropertyListDialog)
- public:
-  wxPropertyListDialog(wxPropertyListView *v, wxWindow *parent, const wxString& title,
-    const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
-    long style = wxDEFAULT_DIALOG_STYLE, const wxString& name = "dialogBox");
-  void OnCloseWindow(wxCloseEvent& event);
-  void OnDefaultAction(wxControl *item);
-  void OnCancel(wxCommandEvent& event);
+public:
+    wxPropertyListDialog(wxPropertyListView *v = NULL,
+                         wxWindow *parent = NULL,
+                         const wxString& title = wxEmptyString,
+                         const wxPoint& pos = wxDefaultPosition,
+                         const wxSize& size = wxDefaultSize,
+                         long style = wxDEFAULT_DIALOG_STYLE,
+                         const wxString& name = wxT("dialogBox"));
 
-  // Extend event processing to search the view's event table
-  virtual bool ProcessEvent(wxEvent& event);
+    void OnCloseWindow(wxCloseEvent& event);
+    void OnDefaultAction(wxControl *item);
+    void OnCancel(wxCommandEvent& event);
 
- private:
-  wxPropertyListView*   m_view;
+    // Extend event processing to search the view's event table
+    virtual bool ProcessEvent(wxEvent& event);
 
-DECLARE_EVENT_TABLE()
+private:
+    wxPropertyListView*   m_view;
+
+private:
+    DECLARE_CLASS(wxPropertyListDialog)
+    DECLARE_EVENT_TABLE()
 };
 
 /*
@@ -296,31 +315,35 @@ DECLARE_EVENT_TABLE()
 
 class WXDLLEXPORT wxPropertyListPanel: public wxPanel
 {
-  DECLARE_CLASS(wxPropertyListPanel)
- public:
-  wxPropertyListPanel(wxPropertyListView *v, wxWindow *parent, const wxPoint& pos = wxDefaultPosition,
-    const wxSize& size = wxDefaultSize,
-    long style = 0, const wxString& name = "panel"):
-     wxPanel(parent, -1, pos, size, style, name)
-  {
-    m_view = v;
-  }
-  ~wxPropertyListPanel();
-  void OnDefaultAction(wxControl *item);
-
-  inline void SetView(wxPropertyListView* v) { m_view = v; }
-  inline wxPropertyListView* GetView() const { return m_view; }
-
-  // Extend event processing to search the view's event table
-  virtual bool ProcessEvent(wxEvent& event);
-
-  // Call Layout()
-  void OnSize(wxSizeEvent& event);
-
- private:
-  wxPropertyListView*   m_view;
-
-DECLARE_EVENT_TABLE()
+public:
+    wxPropertyListPanel(wxPropertyListView *v = NULL,
+                        wxWindow *parent = NULL,
+                        const wxPoint& pos = wxDefaultPosition,
+                        const wxSize& size = wxDefaultSize,
+                        long style = 0,
+                        const wxString& name = wxT("panel"))
+        : wxPanel(parent, -1, pos, size, style, name)
+        {
+            m_view = v;
+        }
+    ~wxPropertyListPanel();
+    void OnDefaultAction(wxControl *item);
+
+    inline void SetView(wxPropertyListView* v) { m_view = v; }
+    inline wxPropertyListView* GetView() const { return m_view; }
+
+    // Extend event processing to search the view's event table
+    virtual bool ProcessEvent(wxEvent& event);
+
+    // Call Layout()
+    void OnSize(wxSizeEvent& event);
+
+private:
+    wxPropertyListView*   m_view;
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_CLASS(wxPropertyListPanel)
 };
 
 /*
@@ -329,28 +352,34 @@ DECLARE_EVENT_TABLE()
 
 class WXDLLEXPORT wxPropertyListFrame: public wxFrame
 {
-  DECLARE_CLASS(wxPropertyListFrame)
- public:
-  wxPropertyListFrame(wxPropertyListView *v, wxFrame *parent, const wxString& title,
-    const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize,
-    long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"):
-     wxFrame(parent, -1, title, pos, size, style, name)
-  {
-    m_view = v;
-    m_propertyPanel = NULL;
-  }
-  void OnCloseWindow(wxCloseEvent& event);
-
-  // Must call this to create panel and associate view
-  virtual bool Initialize(void);
-  virtual wxPropertyListPanel *OnCreatePanel(wxFrame *parent, wxPropertyListView *v);
-  inline virtual wxPropertyListPanel *GetPropertyPanel(void) const { return m_propertyPanel; }
-
- private:
-  wxPropertyListView*       m_view;
-  wxPropertyListPanel*      m_propertyPanel;
-
-DECLARE_EVENT_TABLE()
+public:
+    wxPropertyListFrame(wxPropertyListView *v = NULL,
+                        wxFrame *parent = NULL,
+                        const wxString& title = wxEmptyString,
+                        const wxPoint& pos = wxDefaultPosition,
+                        const wxSize& size = wxDefaultSize,
+                        long style = wxDEFAULT_FRAME_STYLE,
+                        const wxString& name = _T("frame"))
+        : wxFrame(parent, -1, title, pos, size, style, name)
+        {
+            m_view = v;
+            m_propertyPanel = NULL;
+        }
+    void OnCloseWindow(wxCloseEvent& event);
+
+    // Must call this to create panel and associate view
+    virtual bool Initialize(void);
+    virtual wxPropertyListPanel *OnCreatePanel(wxFrame *parent, wxPropertyListView *v);
+    inline virtual wxPropertyListPanel *GetPropertyPanel(void) const { return m_propertyPanel; }
+    inline wxPropertyListView* GetView() const { return m_view; }
+
+private:
+    wxPropertyListView*       m_view;
+    wxPropertyListPanel*      m_propertyPanel;
+
+private:
+    DECLARE_EVENT_TABLE()
+    DECLARE_CLASS(wxPropertyListFrame)
 };
 
 /*
@@ -359,41 +388,40 @@ DECLARE_EVENT_TABLE()
 
 class WXDLLEXPORT wxRealListValidator: public wxPropertyListValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxRealListValidator)
- public:
-   // 0.0, 0.0 means no range
-   wxRealListValidator(float min = 0.0, float max = 0.0, long flags = wxPROP_ALLOW_TEXT_EDITING):wxPropertyListValidator(flags)
-   {
-     m_realMin = min; m_realMax = max;
-   }
-   ~wxRealListValidator(void) {}
-
-   bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when TICK is pressed or focus is lost.
-   // Return FALSE if value didn't check out; signal to restore old value.
-   bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when TICK is pressed or focus is lost or view wants to update
-   // the property list.
-   // Does the transfer from the property editing area to the property itself
-   bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
- protected:
-  float     m_realMin;
-  float     m_realMax;
+public:
+    // 0.0, 0.0 means no range
+    wxRealListValidator(float min = 0.0, float max = 0.0, long flags = wxPROP_ALLOW_TEXT_EDITING):wxPropertyListValidator(flags)
+        { m_realMin = min; m_realMax = max; }
+    ~wxRealListValidator() {}
+
+    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when TICK is pressed or focus is lost.
+    // Return FALSE if value didn't check out; signal to restore old value.
+    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when TICK is pressed or focus is lost or view wants to update
+    // the property list.
+    // Does the transfer from the property editing area to the property itself
+    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+protected:
+    float     m_realMin;
+    float     m_realMax;
+  
+private:
+    DECLARE_DYNAMIC_CLASS(wxRealListValidator)
 };
 
 class WXDLLEXPORT wxIntegerListValidator: public wxPropertyListValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxIntegerListValidator)
- public:
+public:
    // 0, 0 means no range
    wxIntegerListValidator(long min = 0, long max = 0, long flags = wxPROP_ALLOW_TEXT_EDITING):wxPropertyListValidator(flags)
    {
      m_integerMin = min; m_integerMax = max;
    }
-   ~wxIntegerListValidator(void) {}
+   ~wxIntegerListValidator() {}
 
    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
@@ -406,157 +434,162 @@ class WXDLLEXPORT wxIntegerListValidator: public wxPropertyListValidator
    // Does the transfer from the property editing area to the property itself
    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
- protected:
-  long m_integerMin;
-  long m_integerMax;
+protected:
+    long m_integerMin;
+    long m_integerMax;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxIntegerListValidator)
 };
 
 class WXDLLEXPORT wxBoolListValidator: public wxPropertyListValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxBoolListValidator)
- protected:
- public:
-   wxBoolListValidator(long flags = 0):wxPropertyListValidator(flags)
-   {
-   }
-   ~wxBoolListValidator(void) {}
-
-   bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when TICK is pressed or focus is lost.
-   // Return FALSE if value didn't check out; signal to restore old value.
-   bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when TICK is pressed or focus is lost or view wants to update
-   // the property list.
-   // Does the transfer from the property editing area to the property itself
-   bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when the property is double clicked. Extra functionality can be provided,
-   // cycling through possible values.
-   virtual bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+public:
+    wxBoolListValidator(long flags = 0):wxPropertyListValidator(flags) {}
+    ~wxBoolListValidator() {}
+
+    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when TICK is pressed or focus is lost.
+    // Return FALSE if value didn't check out; signal to restore old value.
+    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when TICK is pressed or focus is lost or view wants to update
+    // the property list.
+    // Does the transfer from the property editing area to the property itself
+    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when the property is double clicked. Extra functionality can be provided,
+    // cycling through possible values.
+    virtual bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+   
+private:
+    DECLARE_DYNAMIC_CLASS(wxBoolListValidator)
 };
 
 class WXDLLEXPORT wxStringListValidator: public wxPropertyListValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxStringListValidator)
- public:
+public:
    wxStringListValidator(wxStringList *list = NULL, long flags = 0);
 
-   ~wxStringListValidator(void)
-   {
-     if (m_strings)
-       delete m_strings;
-   }
-
-   bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when TICK is pressed or focus is lost.
-   // Return FALSE if value didn't check out; signal to restore old value.
-   bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when TICK is pressed or focus is lost or view wants to update
-   // the property list.
-   // Does the transfer from the property editing area to the property itself
-   bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when the property is double clicked. Extra functionality can be provided,
-   // cycling through possible values.
-   bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
- protected:
-  wxStringList*     m_strings;
+    ~wxStringListValidator()
+    {
+        if (m_strings)
+            delete m_strings;
+    }
+
+    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnPrepareDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnClearDetailControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when TICK is pressed or focus is lost.
+    // Return FALSE if value didn't check out; signal to restore old value.
+    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when TICK is pressed or focus is lost or view wants to update
+    // the property list.
+    // Does the transfer from the property editing area to the property itself
+    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+    // Called when the property is double clicked. Extra functionality can be provided,
+    // cycling through possible values.
+    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+
+protected:
+    wxStringList*     m_strings;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxStringListValidator)
 };
 
 class WXDLLEXPORT wxFilenameListValidator: public wxPropertyListValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxFilenameListValidator)
- public:
-   wxFilenameListValidator(wxString message = "Select a file", wxString wildcard = wxALL_FILES_PATTERN, long flags = 0);
+public:
+    wxFilenameListValidator(wxString message = wxT("Select a file"), wxString wildcard = wxALL_FILES_PATTERN, long flags = 0);
+    ~wxFilenameListValidator();
 
-   ~wxFilenameListValidator(void);
+    // Called when TICK is pressed or focus is lost.
+    // Return FALSE if value didn't check out; signal to restore old value.
+    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   // Called when TICK is pressed or focus is lost.
-   // Return FALSE if value didn't check out; signal to restore old value.
-   bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-
-   // Called when TICK is pressed or focus is lost or view wants to update
-   // the property list.
-   // Does the transferance from the property editing area to the property itself
-   bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    // Called when TICK is pressed or focus is lost or view wants to update
+    // the property list.
+    // Does the transferance from the property editing area to the property itself
+    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   // Called when the edit (...) button is pressed.
-   void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    // Called when the edit (...) button is pressed.
+    void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
- protected:
-  wxString  m_filenameWildCard;
-  wxString  m_filenameMessage;
+protected:
+    wxString  m_filenameWildCard;
+    wxString  m_filenameMessage;
 
+private:
+    DECLARE_DYNAMIC_CLASS(wxFilenameListValidator)
 };
 
 class WXDLLEXPORT wxColourListValidator: public wxPropertyListValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxColourListValidator)
- protected:
- public:
-   wxColourListValidator(long flags = 0);
-
-   ~wxColourListValidator(void);
+public:
+    wxColourListValidator(long flags = 0);
+    ~wxColourListValidator();
 
-   bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   // Called when the edit (...) button is pressed.
-   void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    // Called when the edit (...) button is pressed.
+    void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+   
+private:
+    DECLARE_DYNAMIC_CLASS(wxColourListValidator)
 };
 
 class WXDLLEXPORT wxListOfStringsListValidator: public wxPropertyListValidator
 {
-  DECLARE_DYNAMIC_CLASS(wxListOfStringsListValidator)
- protected:
- public:
-   wxListOfStringsListValidator(long flags = 0);
-
-   ~wxListOfStringsListValidator(void)
-   {
-   }
+public:
+    wxListOfStringsListValidator(long flags = 0);
+    ~wxListOfStringsListValidator() {}
 
-   bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnPrepareControls(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   // Called when TICK is pressed or focus is lost.
-   // Return FALSE if value didn't check out; signal to restore old value.
-   bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    // Called when TICK is pressed or focus is lost.
+    // Return FALSE if value didn't check out; signal to restore old value.
+    bool OnCheckValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   // Called when TICK is pressed or focus is lost or view wants to update
-   // the property list.
-   // Does the transfer from the property editing area to the property itself
-   bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
-   bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    // Called when TICK is pressed or focus is lost or view wants to update
+    // the property list.
+    // Does the transfer from the property editing area to the property itself
+    bool OnRetrieveValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    bool OnDisplayValue(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   // Called when the property is double clicked.
-   bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    // Called when the property is double clicked.
+    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   bool EditStringList(wxWindow *parent, wxStringList *stringList, const wxChar *title = wxT("String List Editor"));
+    bool EditStringList(wxWindow *parent, wxStringList *stringList, const wxChar *title = wxT("String List Editor"));
 
-   // Called when the edit (...) button is pressed.
-   void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+    // Called when the edit (...) button is pressed.
+    void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
+   
+private:
+    DECLARE_DYNAMIC_CLASS(wxListOfStringsListValidator)
 };
 
+#endif
+  // wxUSE_PROPSHEET
+
 #endif
   // _WX_PROPLIST_H_