X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6de97a3b945c99fb942209df48be26f43c1b436d..b666df2c102d1e183532adf0c003e63b1a591e2f:/include/wx/gtk/listbox.h diff --git a/include/wx/gtk/listbox.h b/include/wx/gtk/listbox.h index eb757db9b4..1b24d42c25 100644 --- a/include/wx/gtk/listbox.h +++ b/include/wx/gtk/listbox.h @@ -2,9 +2,8 @@ // Name: listbox.h // Purpose: // Author: Robert Roebling -// Created: 01/02/97 -// Id: -// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem +// Id: $Id$ +// Copyright: (c) 1998 Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -38,61 +37,76 @@ extern const char *wxListBoxNameStr; // wxListBox //----------------------------------------------------------------------------- -class wxListBox: public wxControl +class wxListBox : public wxControl { DECLARE_DYNAMIC_CLASS(wxListBox) - public: +public: - wxListBox(void); - inline wxListBox( wxWindow *parent, wxWindowID id, - 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 ) - { + wxListBox(); + inline wxListBox( wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int n = 0, const wxString choices[] = (const wxString *) NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr ) + { + m_hasCheckBoxes = FALSE; Create(parent, id, pos, size, n, choices, style, validator, name); - } - bool Create( wxWindow *parent, wxWindowID id, - 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 ); - void Append( const wxString &item ); - void Append( const wxString &item, char *clientData ); - void Clear(void); - void Delete( int n ); - void Deselect( int n ); - int FindString( const wxString &item ) const; - char *GetClientData( int n ) const; - int GetSelection(void) const; - int GetSelections( class wxArrayInt &) const; - wxString GetString( int n ) const; - wxString GetStringSelection(void) const; - int Number(void); - bool Selected( int n ); - void Set( int n, const wxString *choices ); - void SetClientData( int n, char *clientData ); - void SetFirstItem( int n ); - void SetFirstItem( const wxString &item ); - void SetSelection( int n, bool select = TRUE ); - void SetString( int n, const wxString &string ); - void SetStringSelection( const wxString &string, bool select = TRUE ); - - virtual GtkWidget *GetConnectWidget(void); + } + ~wxListBox(); + bool Create( wxWindow *parent, wxWindowID id, + const wxPoint& pos = wxDefaultPosition, + const wxSize& size = wxDefaultSize, + int n = 0, const wxString choices[] = (const wxString *) NULL, + long style = 0, + const wxValidator& validator = wxDefaultValidator, + const wxString& name = wxListBoxNameStr ); + + void Append( const wxString &item ); + void Append( const wxString &item, void* clientData ); + void Append( const wxString &item, wxClientData* clientData ); - private: + void SetClientData( int n, void* clientData ); + void* GetClientData( int n ); + void SetClientObject( int n, wxClientData* clientData ); + wxClientData* GetClientObject( int n ); + + void Clear(); + void Delete( int n ); - GtkList *m_list; - wxList m_clientData; + void Deselect( int n ); + int FindString( const wxString &item ) const; + int GetSelection(void) const; + int GetSelections( class wxArrayInt &) const; + wxString GetString( int n ) const; + wxString GetStringSelection(void) const; + int Number(); + bool Selected( int n ); + void Set( int n, const wxString *choices ); + void SetFirstItem( int n ); + void SetFirstItem( const wxString &item ); + void SetSelection( int n, bool select = TRUE ); + void SetString( int n, const wxString &string ); + void SetStringSelection( const wxString &string, bool select = TRUE ); - public: - - int GetIndex( GtkWidget *item ) const; +#if wxUSE_DRAG_AND_DROP + void SetDropTarget( wxDropTarget *dropTarget ); +#endif + +// implementation + + void AppendCommon( const wxString &item ); + int GetIndex( GtkWidget *item ) const; + GtkWidget *GetConnectWidget(); + bool IsOwnGtkWindow( GdkWindow *window ); + void ApplyWidgetStyle(); + + GtkList *m_list; + wxList m_clientDataList; + wxList m_clientObjectList; + bool m_hasCheckBoxes; }; #endif // __GTKLISTBOXH__