many wxItemContainer-related changes:
1. the main function for item insertion is now DoInsertItems() which allows for much more efficient addition of many new items at once 2. the items client data management is done entirely in wxItemContainer itself, the derived classes don't have to distinguish between void and object client data 3. many fixes for sorted controls, in particular implemented wxCB_SORT support in wxGTK combobox git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47730 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
		| @@ -72,7 +72,9 @@ protected: | ||||
|     virtual wxOwnerDrawn* CreateItem(size_t n); | ||||
|     virtual long          OS2OnMeasure(WXMEASUREITEMSTRUCT* pItem); | ||||
|  | ||||
|     virtual void DoInsertItems(const wxArrayString& items, unsigned int pos); | ||||
|     virtual int DoInsertItems(const wxArrayStringsAdapter & items, | ||||
|                               unsigned int pos, | ||||
|                               void **clientData, wxClientDataType type); | ||||
|  | ||||
|     // | ||||
|     // Pressing space or clicking the check box toggles the item | ||||
|   | ||||
| @@ -93,8 +93,8 @@ public: | ||||
|     // | ||||
|     // Implement base class virtuals | ||||
|     // | ||||
|     virtual void     Delete(unsigned int n); | ||||
|     virtual void     Clear(void); | ||||
|     virtual void     DoDeleteOneItem(unsigned int n); | ||||
|     virtual void     DoClear(void); | ||||
|  | ||||
|     virtual unsigned int GetCount() const; | ||||
|     virtual int      GetSelection(void) const; | ||||
| @@ -115,12 +115,13 @@ public: | ||||
|                                   ); | ||||
|  | ||||
| protected: | ||||
|     virtual int           DoAppend(const wxString& rsItem); | ||||
|     virtual int           DoInsert(const wxString& rsItem, unsigned int pos); | ||||
|     virtual int           DoInsertItems(const wxArrayStringsAdapter& items, | ||||
|                                         unsigned int pos, | ||||
|                                         void **clientData, | ||||
|                                         wxClientDataType type); | ||||
|  | ||||
|     virtual void          DoSetItemClientData(unsigned int n, void* pClientData); | ||||
|     virtual void*         DoGetItemClientData(unsigned int n) const; | ||||
|     virtual void          DoSetItemClientObject(unsigned int n, wxClientData* pClientData); | ||||
|     virtual wxClientData* DoGetItemClientObject(unsigned int n) const; | ||||
|     virtual wxSize        DoGetBestSize(void) const; | ||||
|     virtual void          DoSetSize( int nX | ||||
|                                     ,int nY | ||||
|   | ||||
| @@ -103,8 +103,8 @@ public: | ||||
|     // | ||||
|     // Implement base class pure virtuals | ||||
|     // | ||||
|     virtual void          Clear(void); | ||||
|     virtual void          Delete(unsigned int n); | ||||
|     virtual void          DoClear(void); | ||||
|     virtual void          DoDeleteOneItem(unsigned int n); | ||||
|  | ||||
|     virtual unsigned int  GetCount() const; | ||||
|     virtual wxString      GetString(unsigned int n) const; | ||||
| @@ -115,18 +115,10 @@ public: | ||||
|     virtual int           GetSelection(void) const; | ||||
|     virtual int           GetSelections(wxArrayInt& raSelections) const; | ||||
|  | ||||
|     virtual int           DoAppend(const wxString& rsItem); | ||||
|     virtual void          DoInsertItems( const wxArrayString& raItems, unsigned int rPos ); | ||||
|     virtual void          DoSetItems( const wxArrayString& raItems | ||||
|                                      ,void **              ppClientData | ||||
|                                     ); | ||||
|  | ||||
|     virtual void          DoSetFirstItem(int n); | ||||
|  | ||||
|     virtual void          DoSetItemClientData(unsigned int n, void* pClientData); | ||||
|     virtual void*         DoGetItemClientData(unsigned int n) const; | ||||
|     virtual void          DoSetItemClientObject(unsigned int n, wxClientData* pClientData); | ||||
|     virtual wxClientData* DoGetItemClientObject(unsigned int n) const; | ||||
|  | ||||
|     // | ||||
|     // wxCheckListBox support | ||||
| @@ -160,7 +152,14 @@ protected: | ||||
|     wxListBoxItemsArray             m_aItems; | ||||
| #endif | ||||
|  | ||||
| private: | ||||
|     // | ||||
|     // Implement base wxItemContainer virtuals | ||||
|     // | ||||
|     virtual int           DoInsertItems(const wxArrayStringsAdapter& items, | ||||
|                                         unsigned int pos, | ||||
|                                         void **clientData, | ||||
|                                         wxClientDataType type); | ||||
|  | ||||
|     DECLARE_DYNAMIC_CLASS(wxListBox) | ||||
| }; // end of wxListBox | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user