]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/carbon/listbox.h
renaming
[wxWidgets.git] / include / wx / osx / carbon / listbox.h
diff --git a/include/wx/osx/carbon/listbox.h b/include/wx/osx/carbon/listbox.h
new file mode 100644 (file)
index 0000000..cac622d
--- /dev/null
@@ -0,0 +1,147 @@
+/////////////////////////////////////////////////////////////////////////////
+// Name:        wx/mac/carbon/listbox.h
+// Purpose:     wxListBox class
+// Author:      Stefan Csomor
+// Modified by:
+// Created:     1998-01-01
+// RCS-ID:      $Id$
+// Copyright:   (c) Stefan Csomor
+// Licence:     wxWindows licence
+/////////////////////////////////////////////////////////////////////////////
+
+#ifndef _WX_LISTBOX_H_
+#define _WX_LISTBOX_H_
+
+// ----------------------------------------------------------------------------
+// simple types
+// ----------------------------------------------------------------------------
+#include  "wx/dynarray.h"
+#include  "wx/arrstr.h"
+
+// forward decl for GetSelections()
+class wxArrayInt;
+
+// forward decl for wxMacListControl data type.
+class wxMacListControl;
+
+// List box item
+
+WX_DEFINE_ARRAY( char* , wxListDataArray );
+
+// ----------------------------------------------------------------------------
+// List box control
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxListBox : public wxListBoxBase
+{
+public:
+    // ctors and such
+    wxListBox();
+
+    wxListBox(
+        wxWindow *parent,
+        wxWindowID winid,
+        const wxPoint& pos = wxDefaultPosition,
+        const wxSize& size = wxDefaultSize,
+        int n = 0, const wxString choices[] = NULL,
+        long style = 0,
+        const wxValidator& validator = wxDefaultValidator,
+        const wxString& name = wxListBoxNameStr)
+    {
+        Create(parent, winid, pos, size, n, choices, style, validator, name);
+    }
+
+    wxListBox(
+        wxWindow *parent,
+        wxWindowID winid,
+        const wxPoint& pos,
+        const wxSize& size,
+        const wxArrayString& choices,
+        long style = 0,
+        const wxValidator& validator = wxDefaultValidator,
+        const wxString& name = wxListBoxNameStr)
+    {
+        Create(parent, winid, pos, size, choices, style, validator, name);
+    }
+
+    bool Create(
+        wxWindow *parent,
+        wxWindowID winid,
+        const wxPoint& pos = wxDefaultPosition,
+        const wxSize& size = wxDefaultSize,
+        int n = 0,
+        const wxString choices[] = NULL,
+        long style = 0,
+        const wxValidator& validator = wxDefaultValidator,
+        const wxString& name = wxListBoxNameStr);
+
+    bool Create(
+        wxWindow *parent,
+        wxWindowID winid,
+        const wxPoint& pos,
+        const wxSize& size,
+        const wxArrayString& choices,
+        long style = 0,
+        const wxValidator& validator = wxDefaultValidator,
+        const wxString& name = wxListBoxNameStr);
+
+    virtual ~wxListBox();
+
+    // implement base class pure virtuals
+    virtual void Refresh(bool eraseBack = true, const wxRect *rect = NULL);
+
+    virtual unsigned int GetCount() const;
+    virtual wxString GetString(unsigned int n) const;
+    virtual void SetString(unsigned int n, const wxString& s);
+    virtual int FindString(const wxString& s, bool bCase = false) const;
+
+    virtual bool IsSelected(int n) const;
+    virtual int GetSelection() const;
+    virtual int GetSelections(wxArrayInt& aSelections) const;
+
+    virtual void EnsureVisible(int n);
+
+    virtual wxVisualAttributes GetDefaultAttributes() const
+    {
+        return GetClassDefaultAttributes(GetWindowVariant());
+    }
+
+    // wxCheckListBox support
+    static wxVisualAttributes
+    GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL);
+
+    wxMacListControl* GetPeer() const;
+    
+    bool MacGetBlockEvents() const { return m_blockEvents; }
+
+protected:
+    virtual void DoClear();
+    virtual void DoDeleteOneItem(unsigned int n);
+
+    // from wxItemContainer
+    virtual int DoInsertItems(const wxArrayStringsAdapter& items,
+                              unsigned int pos,
+                              void **clientData, wxClientDataType type);
+
+    virtual void DoSetItemClientData(unsigned int n, void* clientData);
+    virtual void* DoGetItemClientData(unsigned int n) const;
+
+    // from wxListBoxBase
+    virtual void DoSetSelection(int n, bool select);
+    virtual void DoSetFirstItem(int n);
+    virtual int DoListHitTest(const wxPoint& point) const;
+
+    // free memory (common part of Clear() and dtor)
+    // prevent collision with some BSD definitions of macro Free()
+    void FreeData();
+
+    virtual wxSize DoGetBestSize() const;
+
+    bool m_blockEvents;
+    
+private:
+    DECLARE_DYNAMIC_CLASS(wxListBox)
+    DECLARE_EVENT_TABLE()
+};
+
+#endif // _WX_LISTBOX_H_