]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/ctrlsub.h
Finally fixed control scrolling
[wxWidgets.git] / include / wx / ctrlsub.h
index d27f0102ed5de6336591f2c568466b93f4c7e216..9939f9a7df0acc471b4b5f5787af21f67eddc0ae 100644 (file)
@@ -144,6 +144,7 @@ protected:
     virtual void DoSetItemClientObject(unsigned int n, wxClientData* clientData) = 0;
     virtual wxClientData* DoGetItemClientObject(unsigned int n) const = 0;
 
+
     // the type of the client data for the items
     wxClientDataType m_clientDataItemsType;
 };
@@ -154,13 +155,13 @@ protected:
 // two versions
 #define wxCONTROL_ITEMCONTAINER_CLIENTDATAOBJECT_RECAST                    \
     void SetClientData(void *data)                                         \
-        { wxControl::SetClientData(data); }                                \
+        { wxEvtHandler::SetClientData(data); }                             \
     void *GetClientData() const                                            \
-        { return wxControl::GetClientData(); }                             \
+        { return wxEvtHandler::GetClientData(); }                          \
     void SetClientObject(wxClientData *data)                               \
-        { wxControl::SetClientObject(data); }                              \
+        { wxEvtHandler::SetClientObject(data); }                           \
     wxClientData *GetClientObject() const                                  \
-        { return wxControl::GetClientObject(); }                           \
+        { return wxEvtHandler::GetClientObject(); }                        \
     void SetClientData(unsigned int n, void* clientData)                   \
         { wxItemContainer::SetClientData(n, clientData); }                 \
     void* GetClientData(unsigned int n) const                              \
@@ -188,14 +189,11 @@ public:
     virtual bool ShouldInheritColours() const { return false; }
 
 protected:
-    // we can't compute our best size before the items are added to the control
-    // which is done after calling SetInitialBestSize() (it is called from the
-    // base class ctor and the items are added in the derived class ctor), so
-    // don't do anything at all here as our size will be changed later anyhow
+    // fill in the client object or data field of the event as appropriate
     //
-    // of course, all derived classes *must* call SetBestSize() from their
-    // ctors for this to work!
-    virtual void SetInitialBestSize(const wxSize& WXUNUSED(size)) { }
+    // calls InitCommandEvent() and, if n != wxNOT_FOUND, also sets the per
+    // item client data
+    void InitCommandEventWithItems(wxCommandEvent& event, int n);
 
 private:
     DECLARE_ABSTRACT_CLASS(wxControlWithItems)