]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/proplist.h
column autosizing added
[wxWidgets.git] / include / wx / proplist.h
index 66f1a3c40cef77ce26418ac7292689dbac28a078..de72221bbdd9b221673d70d9c4c299f3b7dc00b2 100644 (file)
@@ -57,7 +57,9 @@
 #define wxPROP_PULLDOWN           64
 #define wxPROP_SHOWVALUES         128
 
-#ifdef __XVIEW__
+// Show OK/Cancel buttons on X-based systems where window management is
+// more awkward
+#if defined(__WXMOTIF__) || defined(__WXGTK__)
 #define wxPROP_BUTTON_DEFAULT wxPROP_BUTTON_OK | wxPROP_BUTTON_CANCEL | wxPROP_BUTTON_CHECK_CROSS | wxPROP_PULLDOWN
 #else
 #define wxPROP_BUTTON_DEFAULT wxPROP_BUTTON_CHECK_CROSS | wxPROP_PULLDOWN | wxPROP_SHOWVALUES
@@ -71,7 +73,7 @@
 #define wxID_PROP_VALUE_SELECT  3005
 
 // Mediates between a physical panel and the property sheet
-class wxPropertyListView: public wxPropertyView
+class WXDLLEXPORT wxPropertyListView: public wxPropertyView
 {
  DECLARE_DYNAMIC_CLASS(wxPropertyListView)
  public:
@@ -157,7 +159,7 @@ class wxPropertyListView: public wxPropertyView
   inline virtual wxButton *GetWindowCloseButton() const { return m_windowCloseButton; }
   inline virtual wxButton *GetWindowCancelButton() const { return m_windowCancelButton; }
   inline virtual wxButton *GetHelpButton() const { return m_windowHelpButton; }
-  
+
   bool OnClose(void);
 
 public:
@@ -170,23 +172,24 @@ public:
   wxButton*         m_confirmButton;  // A tick, as in VB
   wxButton*         m_cancelButton;   // A cross, as in VB
   wxButton*         m_editButton;     // Invokes the custom validator, if any
+  wxSizer*          m_middleSizer;
 
   bool              m_detailedEditing;     // E.g. using listbox for choices
 
-  static wxBitmap*  sm_tickBitmap;
-  static wxBitmap*  sm_crossBitmap;
-  
   wxPanel*          m_propertyWindow; // Panel that the controls will appear on
   wxWindow*         m_managedWindow; // Frame or dialog
-  
+
   wxButton*         m_windowCloseButton; // Or OK
   wxButton*         m_windowCancelButton;
   wxButton*         m_windowHelpButton;
 
 DECLARE_EVENT_TABLE()
+private:
+  virtual void ShowView(wxPropertySheet *propertySheet, wxWindow *window)
+  { wxPropertyView::ShowView(propertySheet, window); };
 };
 
-class wxPropertyTextEdit: public wxTextCtrl
+class WXDLLEXPORT wxPropertyTextEdit: public wxTextCtrl
 {
  DECLARE_CLASS(wxPropertyTextEdit)
  public:
@@ -204,8 +207,8 @@ class wxPropertyTextEdit: public wxTextCtrl
 /*
  * The type of validator used for property lists (Visual Basic style)
  */
-class wxPropertyListValidator: public wxPropertyValidator
+
+class WXDLLEXPORT wxPropertyListValidator: public wxPropertyValidator
 {
   DECLARE_DYNAMIC_CLASS(wxPropertyListValidator)
  protected:
@@ -219,7 +222,7 @@ class wxPropertyListValidator: public wxPropertyValidator
 
    // Called when the property is double clicked. Extra functionality can be provided, such as
    // cycling through possible values.
-   inline virtual bool OnDoubleClick( 
+   inline virtual bool OnDoubleClick(
      wxProperty *WXUNUSED(property), wxPropertyListView *WXUNUSED(view), wxWindow *WXUNUSED(parentWindow) )
      { return TRUE; }
 
@@ -266,15 +269,15 @@ class wxPropertyListValidator: public wxPropertyValidator
 /*
  * A default dialog box class to use.
  */
-class wxPropertyListDialog: public wxDialog
+
+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");
-  bool OnClose(void);
+  void OnCloseWindow(wxCloseEvent& event);
   void OnDefaultAction(wxControl *item);
   void OnCancel(wxCommandEvent& event);
 
@@ -290,8 +293,8 @@ DECLARE_EVENT_TABLE()
 /*
  * A default panel class to use.
  */
-class wxPropertyListPanel: public wxPanel
+
+class WXDLLEXPORT wxPropertyListPanel: public wxPanel
 {
   DECLARE_CLASS(wxPropertyListPanel)
  public:
@@ -323,36 +326,39 @@ DECLARE_EVENT_TABLE()
 /*
  * A default frame class to use.
  */
-class wxPropertyListFrame: public wxFrame
+
+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, const wxString& name = "frame"):
+    long style = wxDEFAULT_FRAME_STYLE, const wxString& name = "frame"):
      wxFrame(parent, -1, title, pos, size, style, name)
   {
     m_view = v;
     m_propertyPanel = NULL;
   }
-  bool OnClose(void);
+  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;
+
+DECLARE_EVENT_TABLE()
 };
 
 /*
  * Some default validators
  */
-class wxRealListValidator: public wxPropertyListValidator
+
+class WXDLLEXPORT wxRealListValidator: public wxPropertyListValidator
 {
   DECLARE_DYNAMIC_CLASS(wxRealListValidator)
  public:
@@ -379,7 +385,7 @@ class wxRealListValidator: public wxPropertyListValidator
   float     m_realMax;
 };
 
-class wxIntegerListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxIntegerListValidator: public wxPropertyListValidator
 {
   DECLARE_DYNAMIC_CLASS(wxIntegerListValidator)
  public:
@@ -406,7 +412,7 @@ class wxIntegerListValidator: public wxPropertyListValidator
   long m_integerMax;
 };
 
-class wxBoolListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxBoolListValidator: public wxPropertyListValidator
 {
   DECLARE_DYNAMIC_CLASS(wxBoolListValidator)
  protected:
@@ -435,7 +441,7 @@ class wxBoolListValidator: public wxPropertyListValidator
    virtual bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 };
 
-class wxStringListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxStringListValidator: public wxPropertyListValidator
 {
   DECLARE_DYNAMIC_CLASS(wxStringListValidator)
  public:
@@ -468,12 +474,12 @@ class wxStringListValidator: public wxPropertyListValidator
  protected:
   wxStringList*     m_strings;
 };
-class wxFilenameListValidator: public wxPropertyListValidator
+
+class WXDLLEXPORT wxFilenameListValidator: public wxPropertyListValidator
 {
   DECLARE_DYNAMIC_CLASS(wxFilenameListValidator)
  public:
-   wxFilenameListValidator(wxString message = "Select a file", wxString wildcard = "*.*", long flags = 0);
+   wxFilenameListValidator(wxString message = "Select a file", wxString wildcard = wxALL_FILES_PATTERN, long flags = 0);
 
    ~wxFilenameListValidator(void);
 
@@ -497,10 +503,10 @@ class wxFilenameListValidator: public wxPropertyListValidator
  protected:
   wxString  m_filenameWildCard;
   wxString  m_filenameMessage;
-  
+
 };
 
-class wxColourListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxColourListValidator: public wxPropertyListValidator
 {
   DECLARE_DYNAMIC_CLASS(wxColourListValidator)
  protected:
@@ -521,7 +527,7 @@ class wxColourListValidator: public wxPropertyListValidator
    void OnEdit(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 };
 
-class wxListOfStringsListValidator: public wxPropertyListValidator
+class WXDLLEXPORT wxListOfStringsListValidator: public wxPropertyListValidator
 {
   DECLARE_DYNAMIC_CLASS(wxListOfStringsListValidator)
  protected:
@@ -547,7 +553,7 @@ class wxListOfStringsListValidator: public wxPropertyListValidator
    // Called when the property is double clicked.
    bool OnDoubleClick(wxProperty *property, wxPropertyListView *view, wxWindow *parentWindow);
 
-   bool EditStringList(wxWindow *parent, wxStringList *stringList, const char *title = "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);