]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/propgrid/propgrid.h
fix another logical/physical coords confusion and update the comment to help with...
[wxWidgets.git] / include / wx / propgrid / propgrid.h
index 1dd48d53d40494317459fb823c02780e71d23881..650bacbb4165abe0ddd721391aa706a922b6111c 100644 (file)
@@ -27,6 +27,7 @@
 extern WXDLLIMPEXP_DATA_PROPGRID(const char) wxPropertyGridNameStr[];
 #endif
 
+class wxPGComboBox;
 
 // -----------------------------------------------------------------------
 // Global variables
@@ -494,8 +495,8 @@ enum wxPG_KEYBOARD_ACTIONS
 #define wxPG_MAN_FL_PAGE_INSERTED           0x02000000
 // Active editor control is abnormally large
 #define wxPG_FL_ABNORMAL_EDITOR             0x04000000
-// Recursion guard for OnCustomEditorEvent
-#define wxPG_FL_IN_ONCUSTOMEDITOREVENT      0x08000000
+// Recursion guard for HandleCustomEditorEvent
+#define wxPG_FL_IN_HANDLECUSTOMEDITOREVENT  0x08000000
 #define wxPG_FL_VALUE_CHANGE_IN_EVENT       0x10000000
 // Editor control width should not change on resize
 #define wxPG_FL_FIXED_WIDTH_EDITOR          0x20000000
@@ -1178,6 +1179,9 @@ public:
         return m_wndEditor2;
     }
 
+    // Events from editor controls are forward to this function
+    void HandleCustomEditorEvent( wxEvent &event );
+
 #ifndef SWIG
 
     /**
@@ -1195,22 +1199,6 @@ public:
     // Mostly useful for page switching.
     void SwitchState( wxPropertyGridPageState* pNewState );
 
-    /**
-        When creating custom property editors, connect required editor events to
-        this function. For instance:
-
-        @code
-            control->Connect(control->GetId(), wxEVT_COMMAND_TEXT_UPDATED,
-                             wxEventHandler(wxPropertyGrid::OnCustomEditorEvent),
-                             NULL, propgrid);
-        @endcode
-
-        @remarks You should never need to call this function directly!
-
-        @see wxPGEditor::CreateControls(), wxEvtHandler::Connect()
-    */
-    void OnCustomEditorEvent( wxEvent &event );
-
     long GetInternalFlags() const { return m_iFlags; }
     bool HasInternalFlag( long flag ) const
         { return (m_iFlags & flag) ? true : false; }
@@ -1219,8 +1207,11 @@ public:
     void IncFrozen() { m_frozen++; }
     void DecFrozen() { m_frozen--; }
 
-    void OnComboItemPaint( wxPGCustomComboControl* pCb,int item,wxDC& dc,
-                           wxRect& rect,int flags );
+    void OnComboItemPaint( const wxPGComboBox* pCb,
+                           int item,
+                           wxDC* pDc,
+                           wxRect& rect,
+                           int flags );
 
     /** Standardized double-to-string conversion.
     */
@@ -1323,6 +1314,8 @@ public:
     */
     bool UnfocusEditor();
 
+    virtual void SetWindowStyleFlag( long style );
+
 protected:
 
     /**
@@ -1371,7 +1364,6 @@ public:
 
     // Overridden functions.
     virtual bool Destroy();
-    virtual wxSize DoGetBestSize() const;
     // Returns property at given y coordinate (relative to grid's top left).
     wxPGProperty* GetItemAtY( int y ) const { return DoGetItemAtY(y); }
 
@@ -1387,6 +1379,7 @@ public:
 
 
 protected:
+    virtual wxSize DoGetBestSize() const;
 
 #ifndef wxPG_ICON_WIDTH
     wxBitmap            *m_expandbmp, *m_collbmp;
@@ -1788,9 +1781,6 @@ protected:
 
     void CustomSetCursor( int type, bool override = false );
 
-    virtual bool ProcessEvent(wxEvent& event);
-    virtual void SetWindowStyleFlag( long style );
-
     /**
         Repositions scrollbar and underlying panel according to changed virtual
         size.
@@ -1866,22 +1856,20 @@ inline bool wxPGProperty::SetMaxLength( int maxLen )
 
 // -----------------------------------------------------------------------
 
+#define wxPG_BASE_EVT_PRE_ID     1775
 
 #ifndef SWIG
 
-#define wxPG_BASE_EVT_PRE_ID     1775
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_SELECTED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_CHANGING;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_CHANGED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_HIGHLIGHTED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_RIGHT_CLICK;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_PAGE_CHANGED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_ITEM_COLLAPSED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_ITEM_EXPANDED;
+extern WXDLLIMPEXP_PROPGRID const wxEventType wxEVT_PG_DOUBLE_CLICK;
 
-BEGIN_DECLARE_EVENT_TYPES()
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_SELECTED,           wxPG_BASE_EVT_PRE_ID)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_CHANGING,           wxPG_BASE_EVT_PRE_ID+1)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_CHANGED,            wxPG_BASE_EVT_PRE_ID+2)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_HIGHLIGHTED,        wxPG_BASE_EVT_PRE_ID+3)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_RIGHT_CLICK,        wxPG_BASE_EVT_PRE_ID+4)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_PAGE_CHANGED,       wxPG_BASE_EVT_PRE_ID+5)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_ITEM_COLLAPSED,     wxPG_BASE_EVT_PRE_ID+6)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_ITEM_EXPANDED,      wxPG_BASE_EVT_PRE_ID+7)
-    DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_PROPGRID, wxEVT_PG_DOUBLE_CLICK,       wxPG_BASE_EVT_PRE_ID+8)
-END_DECLARE_EVENT_TYPES()
 #else
     enum {
         wxEVT_PG_SELECTED = wxPG_BASE_EVT_PRE_ID,