]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/listbox.h
Allow an app to call SetFont on a PS DC without assertion
[wxWidgets.git] / include / wx / mac / listbox.h
index 18b4149d8879b62fbc29cf847c7341cefb28dd8a..77c0f27209ffc97c07e43385b01f9c191ba923ca 100644 (file)
@@ -1,25 +1,27 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        listbox.h
 // Purpose:     wxListBox class
-// Author:      AUTHOR
+// Author:      Stefan Csomor
 // Modified by:
-// Created:     ??/??/98
+// Created:     1998-01-01
 // RCS-ID:      $Id$
-// Copyright:   (c) AUTHOR
-// Licence:    wxWindows licence
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 
 #ifndef _WX_LISTBOX_H_
 #define _WX_LISTBOX_H_
 
-#ifdef __GNUG__
+#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;
@@ -56,6 +58,16 @@ public:
     {
         Create(parent, id, pos, size, n, choices, style, validator, name);
     }
+    wxListBox(wxWindow *parent, wxWindowID id,
+            const wxPoint& pos,
+            const wxSize& size,
+            const wxArrayString& choices,
+            long style = 0,
+            const wxValidator& validator = wxDefaultValidator,
+            const wxString& name = wxListBoxNameStr)
+    {
+        Create(parent, id, pos, size, choices, style, validator, name);
+    }
 
     bool Create(wxWindow *parent, wxWindowID id,
                 const wxPoint& pos = wxDefaultPosition,
@@ -64,6 +76,13 @@ public:
                 long style = 0,
                 const wxValidator& validator = wxDefaultValidator,
                 const wxString& name = wxListBoxNameStr);
+    bool Create(wxWindow *parent, wxWindowID id,
+                const wxPoint& pos,
+                const wxSize& size,
+                const wxArrayString& choices,
+                long style = 0,
+                const wxValidator& validator = wxDefaultValidator,
+                const wxString& name = wxListBoxNameStr);
 
     virtual ~wxListBox();
     virtual void Refresh(bool eraseBack = TRUE, const wxRect *rect = NULL);
@@ -92,7 +111,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 ) ;
+    virtual void       DoSetSize(int x, int y,int width, int height,int sizeFlags = wxSIZE_AUTO ) ;
 
     // wxCheckListBox support
 #if wxUSE_OWNER_DRAWN
@@ -108,38 +127,43 @@ public:
 
     // Windows callbacks
 
-    virtual void SetupColours();
-    virtual void       MacHandleControlClick( ControlHandle control , SInt16 controlpart ) ;
+    virtual void    SetupColours();
+    virtual void    MacHandleControlClick( WXWidget control , wxInt16 controlpart , bool mouseStillDown ) ;
+       virtual bool MacCanFocus() const { return true ; }
+    void OnChar(wxKeyEvent& event);
 
-       ListHandle              m_macList ;
-       wxArrayString   m_stringArray ;
-       wxListDataArray m_dataArray ;
-       wxArrayInt m_selectionPreImage ;
-       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 wxString& item) ;
+    void            MacAppend( const wxString& item) ;
+    void            MacSet( int n , const wxString& item ) ;
+    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( 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() const;
 
@@ -150,7 +174,7 @@ protected:
 
 private:
     DECLARE_DYNAMIC_CLASS(wxListBox)
-       DECLARE_EVENT_TABLE()
+    DECLARE_EVENT_TABLE()
 };
 
 #endif