]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/listbox.h
Refactored & cleaned up wxChoice & wxComboBox code, fixed client data
[wxWidgets.git] / include / wx / mac / listbox.h
index 96be3d0f0ea2f7fe1ad98fcd9e7b160a7a9050aa..8158bf673138cc8c0ac74b8aa035d2e34c5a27ce 100644 (file)
@@ -13,7 +13,7 @@
 #ifndef _WX_LISTBOX_H_
 #define _WX_LISTBOX_H_
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(__APPLE__)
     #pragma interface "listbox.h"
 #endif
 
@@ -25,7 +25,7 @@
   class WXDLLEXPORT wxOwnerDrawn;
 
   // define the array of list box items
-  #include  <wx/dynarray.h>
+  #include  "wx/dynarray.h"
 
   WX_DEFINE_EXPORTED_ARRAY(wxOwnerDrawn *, wxListBoxItemsArray);
 #endif // wxUSE_OWNER_DRAWN
@@ -66,7 +66,8 @@ public:
                 const wxString& name = wxListBoxNameStr);
 
     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);
@@ -91,6 +92,7 @@ public:
     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
@@ -106,39 +108,45 @@ public:
 
     // Windows callbacks
 
-    virtual void SetupColours();
-    virtual void       MacHandleControlClick( ControlHandle control , SInt16 controlpart ) ;
+    virtual void    SetupColours();
+    virtual void    MacHandleControlClick( WXWidget control , wxInt16 controlpart ) ;
+       virtual bool MacCanFocus() const { return true ; }
+    void OnChar(wxKeyEvent& event);
 
-       ListHandle              m_macList ;
-       wxArrayString   m_stringArray ;
-       wxListDataArray m_dataArray ;
-       void                    MacSetRedraw( bool doDraw ) ;
+    void*           m_macList ;
+    wxArrayString   m_stringArray ;
+    wxListDataArray m_dataArray ;
+    wxArrayInt      m_selectionPreImage ;
+    void            MacSetRedraw( bool doDraw ) ;
 protected:
-       void                    MacDestroy() ;                  
-       void                    MacDelete( int n ) ;
-       void                    MacInsert( int n , const char * text) ;
-       void                    MacAppend( const char * text) ;
-       void                    MacSet( int n , const char *text ) ;
-       void                    MacClear() ;
-       void                    MacSetSelection( int n , bool select ) ;
-       int                     MacGetSelection() const ;
-       int                             MacGetSelections(wxArrayInt& aSelections) const ;
-       bool                    MacIsSelected( int n ) const ;
-       void                    MacScrollTo( int n ) ;
-       void                    OnSize( const wxSizeEvent &size ) ;
-       void                    MacDoClick() ;
-       void                    MacDoDoubleClick() ;
+    void            MacDestroy() ;
+    void            MacDelete( int n ) ;
+    void            MacInsert( int n , const char * text) ;
+    void            MacAppend( const char * text) ;
+    void            MacSet( int n , const char *text ) ;
+    void            MacClear() ;
+    void            MacSetSelection( int n , bool select ) ;
+    int             MacGetSelection() const ;
+    int             MacGetSelections(wxArrayInt& aSelections) const ;
+    bool            MacIsSelected( int n ) const ;
+    void            MacScrollTo( int n ) ;
+    void            OnSize( const wxSizeEvent &size ) ;
+    void            MacDoClick() ;
+    void            MacDoDoubleClick() ;
 
     // do we have multiple selections?
     bool HasMultipleSelection() const;
 
     // free memory (common part of Clear() and dtor)
-    void Free();
+    // prevent collision with some BSD definitions of macro Free()   
+    void FreeData();
 
     int m_noItems;
     int m_selected;
+       wxString  m_typeIn ;
+       long      m_lastTypeIn ;
 
-    virtual wxSize DoGetBestSize();
+    virtual wxSize DoGetBestSize() const;
 
 #if wxUSE_OWNER_DRAWN
     // control items
@@ -147,7 +155,7 @@ protected:
 
 private:
     DECLARE_DYNAMIC_CLASS(wxListBox)
-       DECLARE_EVENT_TABLE()
+    DECLARE_EVENT_TABLE()
 };
 
 #endif