953704c1c7
wxChoice in that they do no longer send events after programmatic calls Corrected wxStaticBitmap Reimplemented wxRadioButton as per wxMSW Updated docs for the above Update testconf for socket changes Other minor fixes git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3087 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
136 lines
4.2 KiB
C++
136 lines
4.2 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: listbox.h
|
|
// Purpose: wxListBox class declaration
|
|
// Author: Robert Roebling
|
|
// Id: $Id$
|
|
// Copyright: (c) 1998 Robert Roebling
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
#ifndef __GTKLISTBOXH__
|
|
#define __GTKLISTBOXH__
|
|
|
|
#ifdef __GNUG__
|
|
#pragma interface
|
|
#endif
|
|
|
|
#include "wx/defs.h"
|
|
|
|
#if wxUSE_LISTBOX
|
|
|
|
#include "wx/object.h"
|
|
#include "wx/list.h"
|
|
#include "wx/control.h"
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// classes
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class wxListBox;
|
|
class wxArrayInt;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// global data
|
|
//-----------------------------------------------------------------------------
|
|
|
|
extern const char *wxListBoxNameStr;
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// wxListBox
|
|
//-----------------------------------------------------------------------------
|
|
|
|
class wxListBox : public wxControl
|
|
{
|
|
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 );
|
|
|
|
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(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 );
|
|
|
|
#if wxUSE_DRAG_AND_DROP
|
|
void SetDropTarget( wxDropTarget *dropTarget );
|
|
#endif
|
|
|
|
// implementation
|
|
|
|
void DisableEvents();
|
|
void EnableEvents();
|
|
void AppendCommon( const wxString &item );
|
|
int GetIndex( GtkWidget *item ) const;
|
|
GtkWidget *GetConnectWidget();
|
|
bool IsOwnGtkWindow( GdkWindow *window );
|
|
void ApplyWidgetStyle();
|
|
|
|
#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__
|