wxWidgets/interface/wx/editlbox.h

106 lines
3.3 KiB
C
Raw Normal View History

/////////////////////////////////////////////////////////////////////////////
// Name: editlbox.h
// Purpose: interface of wxEditableListBox
// Author: wxWidgets team
// RCS-ID: $Id$
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
#define wxEL_ALLOW_NEW 0x0100
#define wxEL_ALLOW_EDIT 0x0200
#define wxEL_ALLOW_DELETE 0x0400
#define wxEL_NO_REORDER 0x0800
#define wxEL_DEFAULT_STYLE (wxEL_ALLOW_NEW | wxEL_ALLOW_EDIT | wxEL_ALLOW_DELETE)
/**
@class wxEditableListBox
An editable listbox is composite control that lets the user easily enter,
delete and reorder a list of strings.
@beginStyleTable
@style{wxEL_ALLOW_NEW}
Allows the user to enter new strings.
@style{wxEL_ALLOW_EDIT}
Allows the user to edit existing strings.
@style{wxEL_ALLOW_DELETE}
Allows the user to delete existing strings.
@style{wxEL_NO_REORDER}
Does not allow the user to reorder the strings.
@style{wxEL_DEFAULT_STYLE}
Default style: wxEL_ALLOW_NEW|wxEL_ALLOW_EDIT|wxEL_ALLOW_DELETE.
@endStyleTable
The control uses a wxListCtrl internally and emit its events.
@library{wxadv}
@category{ctrl}
@see wxListBox, wxListCtrl
*/
class wxEditableListBox : public wxPanel
{
public:
/**
Default ctor.
*/
wxEditableListBox();
/**
Constructor, creating and showing a list box.
@param parent
Parent window. Must not be @NULL.
@param id
Window identifier. The value wxID_ANY indicates a default value.
@param label
The text shown just before the list control.
@param pos
Window position.
If ::wxDefaultPosition is specified then a default position is chosen.
@param size
Window size.
If ::wxDefaultSize is specified then the window is sized appropriately.
@param style
Window style. See wxEditableListBox.
@param name
Window name.
@see Create()
*/
wxEditableListBox(wxWindow* parent, wxWindowID id,
const wxString& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxEL_DEFAULT_STYLE,
const wxString& name = wxEditableListBoxNameStr);
/**
Destructor, destroying the list box.
*/
virtual ~wxEditableListBox();
/**
Creates the editable listbox for two-step construction.
See wxEditableListBox() for further details.
*/
bool Create(wxWindow* parent, wxWindowID id, const wxString& label,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxEL_DEFAULT_STYLE,
const wxString& name = wxEditableListBoxNameStr);
/**
Replaces current contents with given strings.
*/
void SetStrings(const wxArrayString& strings);
/**
Returns in the given array the current contents of the control
(the array will be erased before control's contents are appended).
*/
void GetStrings(wxArrayString& strings) const;
};