X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/06cfab17389f4bbd38560dd86ee39931e979bb1e..f0a56ab0c38aac05101593488c7e0972c36c38b7:/include/wx/gtk/listbox.h diff --git a/include/wx/gtk/listbox.h b/include/wx/gtk/listbox.h index 1b24d42c25..8b477fff3a 100644 --- a/include/wx/gtk/listbox.h +++ b/include/wx/gtk/listbox.h @@ -1,10 +1,10 @@ ///////////////////////////////////////////////////////////////////////////// // Name: listbox.h -// Purpose: +// Purpose: wxListBox class declaration // Author: Robert Roebling // Id: $Id$ // Copyright: (c) 1998 Robert Roebling -// Licence: wxWindows licence +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -16,6 +16,9 @@ #endif #include "wx/defs.h" + +#if wxUSE_LISTBOX + #include "wx/object.h" #include "wx/list.h" #include "wx/control.h" @@ -39,74 +42,95 @@ extern const char *wxListBoxNameStr; class wxListBox : public wxControl { - DECLARE_DYNAMIC_CLASS(wxListBox) +DECLARE_DYNAMIC_CLASS(wxListBox) public: + wxListBox(); + 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 ) + { +#if wxUSE_CHECKLISTBOX + m_hasCheckBoxes = FALSE; +#endif // wxUSE_CHECKLISTBOX + Create(parent, id, pos, size, n, choices, style, validator, name); + } + virtual ~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 ); - 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); - } - ~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 ); - - 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 ); - - 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 ); + void InsertItems(int nItems, const wxString items[], int pos); + + void SetClientData( int n, void* clientData ); + void* GetClientData( int n ); + void SetClientObject( int n, wxClientData* clientData ); + wxClientData* GetClientObject( int n ); + + void SetClientObject( wxClientData *data ) { wxControl::SetClientObject( data ); } + wxClientData *GetClientObject() const { return wxControl::GetClientObject(); } + void SetClientData( void *data ) { wxControl::SetClientData( data ); } + void *GetClientData() const { return wxControl::GetClientData(); } + void Clear(); + void Delete( int n ); + + void Deselect( int n ); + int FindString( const wxString &item ) const; + int GetSelection() const; + int GetSelections( class wxArrayInt &) const; + wxString GetString( int n ) const; + wxString GetStringSelection() 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 ); + #if wxUSE_DRAG_AND_DROP - void SetDropTarget( wxDropTarget *dropTarget ); + 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; + // implementation + + void DisableEvents(); + void EnableEvents(); + void AppendCommon( const wxString &item ); + int GetIndex( GtkWidget *item ) const; + GtkWidget *GetConnectWidget(); + bool IsOwnGtkWindow( GdkWindow *window ); + void ApplyWidgetStyle(); + void OnInternalIdle(); + +#if wxUSE_TOOLTIPS + void ApplyToolTip( GtkTooltips *tips, const wxChar *tip ); +#endif // wxUSE_TOOLTIPS + + GtkList *m_list; + wxList m_clientDataList; + wxList m_clientObjectList; + +#if wxUSE_CHECKLISTBOX + bool m_hasCheckBoxes; +#endif // wxUSE_CHECKLISTBOX }; +#endif + #endif // __GTKLISTBOXH__