(1) Denis Pershin's patch for wxGTK (memory leaks corrections)
[wxWidgets.git] / include / wx / gtk / listbox.h
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: listbox.h
3 // Purpose:
4 // Author: Robert Roebling
5 // Created: 01/02/97
6 // Id:
7 // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
8 // Licence: wxWindows licence
9 /////////////////////////////////////////////////////////////////////////////
10
11
12 #ifndef __GTKLISTBOXH__
13 #define __GTKLISTBOXH__
14
15 #ifdef __GNUG__
16 #pragma interface
17 #endif
18
19 #include "wx/defs.h"
20 #include "wx/object.h"
21 #include "wx/list.h"
22 #include "wx/control.h"
23
24 //-----------------------------------------------------------------------------
25 // classes
26 //-----------------------------------------------------------------------------
27
28 class wxListBox;
29 class wxArrayInt;
30
31 //-----------------------------------------------------------------------------
32 // global data
33 //-----------------------------------------------------------------------------
34
35 extern const char *wxListBoxNameStr;
36
37 //-----------------------------------------------------------------------------
38 // wxListBox
39 //-----------------------------------------------------------------------------
40
41 class wxListBox: public wxControl
42 {
43 DECLARE_DYNAMIC_CLASS(wxListBox)
44
45 public:
46
47 wxListBox(void);
48 wxListBox( wxWindow *parent, wxWindowID id,
49 const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
50 int n = 0, const wxString choices[] = NULL,
51 long style = 0, const wxString &name = wxListBoxNameStr );
52 bool Create( wxWindow *parent, wxWindowID id,
53 const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
54 int n = 0, const wxString choices[] = NULL,
55 long style = 0, const wxString &name = wxListBoxNameStr );
56 void Append( const wxString &item );
57 void Append( const wxString &item, char *clientData );
58 void Clear(void);
59 void Delete( int n );
60 void Deselect( int n );
61 int FindString( const wxString &item ) const;
62 char *GetClientData( int n ) const;
63 int GetSelection(void) const;
64 int GetSelections( class wxArrayInt &) const;
65 wxString GetString( int n ) const;
66 wxString GetStringSelection(void) const;
67 int Number(void);
68 bool Selected( int n );
69 void Set( int n, const wxString *choices );
70 void SetClientData( int n, char *clientData );
71 void SetFirstItem( int n );
72 void SetFirstItem( const wxString &item );
73 void SetSelection( int n, bool select = TRUE );
74 void SetString( int n, const wxString &string );
75 void SetStringSelection( const wxString &string, bool select = TRUE );
76
77 virtual GtkWidget *GetDropTargetWidget(void);
78
79 private:
80
81 GtkList *m_list;
82 wxList m_clientData;
83
84 public:
85
86 int GetIndex( GtkWidget *item ) const;
87 };
88
89 #endif // __GTKLISTBOXH__