/////////////////////////////////////////////////////////////////////////////
// Name: listbox.h
-// Purpose:
-// Author: Robert Roebling
-// Created: 01/02/97
-// Id:
-// Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem
+// Purpose: wxListBox class
+// Author: AUTHOR
+// Modified by:
+// Created: ??/??/98
+// RCS-ID: $Id$
+// Copyright: (c) AUTHOR
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-
-#ifndef __GTKLISTBOXH__
-#define __GTKLISTBOXH__
+#ifndef _WX_LISTBOX_H_
+#define _WX_LISTBOX_H_
#ifdef __GNUG__
-#pragma interface
+#pragma interface "listbox.h"
#endif
-#include "wx/defs.h"
-#include "wx/object.h"
-#include "wx/list.h"
#include "wx/control.h"
-//-----------------------------------------------------------------------------
-// classes
-//-----------------------------------------------------------------------------
-
-class wxListBox;
+WXDLLEXPORT_DATA(extern const char*) wxListBoxNameStr;
-//-----------------------------------------------------------------------------
-// global data
-//-----------------------------------------------------------------------------
+// forward decl for GetSelections()
+class WXDLLEXPORT wxArrayInt;
-extern const char *wxListBoxNameStr;
+WXDLLEXPORT_DATA(extern const char*) wxEmptyString;
-//-----------------------------------------------------------------------------
-// wxListBox
-//-----------------------------------------------------------------------------
-
-class wxListBox: public wxControl
+// List box item
+class WXDLLEXPORT wxListBox: public wxControl
{
DECLARE_DYNAMIC_CLASS(wxListBox)
+ public:
+
+ wxListBox();
+ 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)
+ {
+ 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);
+
+ ~wxListBox();
+
+ virtual void Append(const wxString& item);
+ virtual void Append(const wxString& item, char *clientData);
+ virtual void Set(int n, const wxString* choices, char **clientData = NULL);
+ virtual int FindString(const wxString& s) const ;
+ virtual void Clear();
+ virtual void SetSelection(int n, bool select = TRUE);
- public:
-
- wxListBox(void);
- wxListBox( wxWindow *parent, wxWindowID id,
- const wxPoint &pos = wxDefaultPosition, const wxSize &size = wxDefaultSize,
- int n = 0, const wxString choices[] = NULL,
- long style = 0, const wxString &name = wxListBoxNameStr );
- 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 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 void Deselect(int n);
+ // For single choice list item only
+ virtual int GetSelection() const ;
+ virtual void Delete(int n);
+ virtual char *GetClientData(int n) const ;
+ virtual void SetClientData(int n, char *clientData);
+ virtual void SetString(int n, const wxString& s);
+
+ // For single or multiple choice list item
+ virtual int GetSelections(wxArrayInt& aSelections) const;
+ virtual bool Selected(int n) const ;
+ virtual wxString GetString(int n) const ;
+ virtual void SetSize(int x, int y, int width, int height, int sizeFlags = wxSIZE_AUTO);
+
+ // Set the specified item at the first visible item
+ // or scroll to max range.
+ virtual void SetFirstItem(int n) ;
+ virtual void SetFirstItem(const wxString& s) ;
+
+ virtual void InsertItems(int nItems, const wxString items[], int pos);
+
+ virtual wxString GetStringSelection() const ;
+ virtual bool SetStringSelection(const wxString& s, bool flag = TRUE);
+ virtual int Number() const ;
+
+ void Command(wxCommandEvent& event);
+
+ protected:
+ int m_noItems;
+ int m_selected;
};
-#endif // __GTKLISTBOXH__
+#endif
+ // _WX_LISTBOX_H_