X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b6a20a20d010d643e52914f51aa0700df0da925f..c00fed0ef4d70c9b45d9b8405f636d30eadb7ea6:/include/wx/mac/carbon/listbox.h?ds=sidebyside diff --git a/include/wx/mac/carbon/listbox.h b/include/wx/mac/carbon/listbox.h index f94cff95b9..7aa58cc559 100644 --- a/include/wx/mac/carbon/listbox.h +++ b/include/wx/mac/carbon/listbox.h @@ -1,5 +1,5 @@ ///////////////////////////////////////////////////////////////////////////// -// Name: listbox.h +// Name: wx/mac/carbon/listbox.h // Purpose: wxListBox class // Author: Stefan Csomor // Modified by: @@ -9,29 +9,15 @@ // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// - #ifndef _WX_LISTBOX_H_ #define _WX_LISTBOX_H_ -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "listbox.h" -#endif - // ---------------------------------------------------------------------------- // simple types // ---------------------------------------------------------------------------- #include "wx/dynarray.h" #include "wx/arrstr.h" -#if wxUSE_OWNER_DRAWN - class WXDLLEXPORT wxOwnerDrawn; - - // define the array of list box items - #include "wx/dynarray.h" - - WX_DEFINE_EXPORTED_ARRAY(wxOwnerDrawn *, wxListBoxItemsArray); -#endif // wxUSE_OWNER_DRAWN - // forward decl for GetSelections() class wxArrayInt; @@ -86,7 +72,7 @@ public: virtual ~wxListBox(); virtual void Refresh(bool eraseBack = TRUE, const wxRect *rect = NULL); - + // implement base class pure virtuals virtual void Clear(); virtual void Delete(int n); @@ -94,92 +80,69 @@ public: virtual int GetCount() const; virtual wxString GetString(int n) const; virtual void SetString(int n, const wxString& s); - virtual int FindString(const wxString& s) const; + virtual int FindString(const wxString& s, bool bCase = false) const; virtual bool IsSelected(int n) const; - virtual void SetSelection(int n, bool select = TRUE); virtual int GetSelection() const; virtual int GetSelections(wxArrayInt& aSelections) const; - virtual int DoAppend(const wxString& item); - virtual void DoInsertItems(const wxArrayString& items, int pos); - virtual void DoSetItems(const wxArrayString& items, void **clientData); - - virtual void DoSetFirstItem(int n); - - virtual void DoSetItemClientData(int n, void* clientData); - virtual void* DoGetItemClientData(int n) const; - virtual void DoSetItemClientObject(int n, wxClientData* clientData); - virtual wxClientData* DoGetItemClientObject(int n) const; - virtual void DoSetSize(int x, int y,int width, int height,int sizeFlags = wxSIZE_AUTO ) ; - // wxCheckListBox support -#if wxUSE_OWNER_DRAWN - // plug-in for derived classes - virtual wxOwnerDrawn *CreateItem(size_t n); - - // allows to get the item and use SetXXX functions to set it's appearance - wxOwnerDrawn *GetItem(size_t n) const { return m_aItems[n]; } - - // get the index of the given item - int GetItemIndex(wxOwnerDrawn *item) const { return m_aItems.Index(item); } -#endif // wxUSE_OWNER_DRAWN - - static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); - + // Windows callbacks -#if !__WXMAC_OSX__ +#ifndef __WXMAC_OSX__ void OnChar(wxKeyEvent& event); #endif void* m_macList ; wxArrayString m_stringArray ; wxListDataArray m_dataArray ; - wxArrayInt m_selectionPreImage ; - wxArrayLong m_idArray ; - wxUint32 m_nextId ; - - void MacSetRedraw( bool doDraw ) ; + + // as we are getting the same events for human and API selection we have to suppress + // events in the latter case + bool MacIsSelectionSuppressed() const { return m_suppressSelection ; } protected: + virtual void DoSetSelection(int n, bool select); + virtual int DoAppend(const wxString& item); + virtual void DoInsertItems(const wxArrayString& items, int pos); + virtual void DoSetItems(const wxArrayString& items, void **clientData); + virtual void DoSetFirstItem(int n); + virtual void DoSetItemClientData(int n, void* clientData); + virtual void* DoGetItemClientData(int n) const; + virtual void DoSetItemClientObject(int n, wxClientData* clientData); + virtual wxClientData* DoGetItemClientObject(int n) const; + virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO); + virtual int DoListHitTest(const wxPoint& point) const; + void MacDelete( int n ) ; void MacInsert( int n , const wxString& item) ; void MacAppend( const wxString& item) ; void MacSet( int n , const wxString& item ) ; void MacClear() ; + void MacDeselectAll() ; void MacSetSelection( int n , bool select ) ; int MacGetSelection() const ; int MacGetSelections(wxArrayInt& aSelections) const ; bool MacIsSelected( int n ) const ; void MacScrollTo( int n ) ; -#if !__WXMAC_OSX__ - void OnSize( wxSizeEvent &size ) ; -#endif - void MacDoClick() ; - void MacDoDoubleClick() ; - + bool MacSuppressSelection( bool suppress ) ; // free memory (common part of Clear() and dtor) - // prevent collision with some BSD definitions of macro Free() + // prevent collision with some BSD definitions of macro Free() void FreeData(); int m_noItems; int m_selected; + bool m_suppressSelection ; wxString m_typeIn ; long m_lastTypeIn ; virtual wxSize DoGetBestSize() const; -#if wxUSE_OWNER_DRAWN - // control items - wxListBoxItemsArray m_aItems; -#endif - private: DECLARE_DYNAMIC_CLASS(wxListBox) DECLARE_EVENT_TABLE() }; -#endif - // _WX_LISTBOX_H_ +#endif // _WX_LISTBOX_H_