223 lines
7.7 KiB
Objective-C
223 lines
7.7 KiB
Objective-C
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: bmpcbox.h
|
|
// Purpose: interface of wxBitmapComboBox
|
|
// Author: wxWidgets team
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
/**
|
|
@class wxBitmapComboBox
|
|
|
|
A combobox that displays bitmap in front of the list items.
|
|
It currently only allows using bitmaps of one size, and resizes itself
|
|
so that a bitmap can be shown next to the text field.
|
|
|
|
@remarks
|
|
While wxBitmapComboBox contains the wxComboBox API, but it might not actually
|
|
be derived from that class. In fact, if the platform does not have a native
|
|
implementation, wxBitmapComboBox will inherit from wxOwnerDrawnComboBox.
|
|
You can determine if the implementation is generic by checking whether
|
|
@c wxGENERIC_BITMAPCOMBOBOX is defined. Currently wxBitmapComboBox is
|
|
implemented natively for MSW and GTK+.
|
|
|
|
@beginStyleTable
|
|
@style{wxCB_READONLY}
|
|
Creates a combobox without a text editor. On some platforms the
|
|
control may appear very different when this style is used.
|
|
@style{wxCB_SORT}
|
|
Sorts the entries in the list alphabetically.
|
|
@style{wxTE_PROCESS_ENTER}
|
|
The control will generate the event wxEVT_TEXT_ENTER
|
|
(otherwise pressing Enter key is either processed internally by the
|
|
control or used for navigation between dialog controls).
|
|
Windows only.
|
|
@endStyleTable
|
|
|
|
@todo create wxCB_PROCESS_ENTER rather than reusing wxTE_PROCESS_ENTER!
|
|
|
|
@beginEventEmissionTable{wxCommandEvent}
|
|
@event{EVT_COMBOBOX(id, func)}
|
|
Process a @c wxEVT_COMBOBOX event, when an item on
|
|
the list is selected.
|
|
@event{EVT_TEXT(id, func)}
|
|
Process a @c wxEVT_TEXT event, when the combobox text changes.
|
|
@event{EVT_TEXT_ENTER(id, func)}
|
|
Process a @c wxEVT_TEXT_ENTER event, when RETURN is pressed in
|
|
the combobox.
|
|
@endEventTable
|
|
|
|
@library{wxcore}
|
|
@category{ctrl}
|
|
@appearance{bitmapcombobox}
|
|
|
|
@see wxComboBox, wxChoice, wxOwnerDrawnComboBox, wxCommandEvent
|
|
*/
|
|
class wxBitmapComboBox : public wxComboBox
|
|
{
|
|
public:
|
|
/**
|
|
Default ctor.
|
|
*/
|
|
wxBitmapComboBox();
|
|
|
|
/**
|
|
Constructor, creating and showing a combobox.
|
|
|
|
@param parent
|
|
Parent window. Must not be @NULL.
|
|
@param id
|
|
Window identifier. The value wxID_ANY indicates a default value.
|
|
@param value
|
|
Initial selection string. An empty string indicates no selection.
|
|
@param pos
|
|
Initial position.
|
|
@param size
|
|
Initial size.
|
|
@param n
|
|
Number of strings with which to initialise the control.
|
|
@param choices
|
|
An array of strings with which to initialise the control.
|
|
@param style
|
|
The window style, see wxCB_* flags.
|
|
@param validator
|
|
Validator which can be used for additional data checks.
|
|
@param name
|
|
Control name.
|
|
|
|
@see Create(), wxValidator
|
|
*/
|
|
wxBitmapComboBox(wxWindow* parent, wxWindowID id = wxID_ANY,
|
|
const wxString& value = wxEmptyString,
|
|
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 = wxBitmapComboBoxNameStr);
|
|
|
|
/**
|
|
Constructor, creating and showing a combobox.
|
|
|
|
@param parent
|
|
Parent window. Must not be @NULL.
|
|
@param id
|
|
Window identifier. The value wxID_ANY indicates a default value.
|
|
@param value
|
|
Initial selection string. An empty string indicates no selection.
|
|
@param pos
|
|
Initial position.
|
|
@param size
|
|
Initial size.
|
|
@param choices
|
|
A wxArrayString with which to initialise the control.
|
|
@param style
|
|
The window style, see wxCB_* flags.
|
|
@param validator
|
|
Validator which can be used for additional data checks.
|
|
@param name
|
|
Control name.
|
|
|
|
@see Create(), wxValidator
|
|
*/
|
|
wxBitmapComboBox(wxWindow* parent, wxWindowID id,
|
|
const wxString& value,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
long style,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxBitmapComboBoxNameStr);
|
|
|
|
/**
|
|
Destructor, destroying the combobox.
|
|
*/
|
|
virtual ~wxBitmapComboBox();
|
|
|
|
/**
|
|
Adds the item to the end of the combo box.
|
|
*/
|
|
int Append(const wxString& item,
|
|
const wxBitmap& bitmap = wxNullBitmap);
|
|
|
|
/**
|
|
Adds the item to the end of the combo box, associating the given
|
|
untyped, client data pointer @a clientData with the item.
|
|
*/
|
|
int Append(const wxString& item, const wxBitmap& bitmap,
|
|
void* clientData);
|
|
|
|
/**
|
|
Adds the item to the end of the combo box, associating the given typed
|
|
client data pointer @a clientData with the item.
|
|
*/
|
|
int Append(const wxString& item, const wxBitmap& bitmap,
|
|
wxClientData* clientData);
|
|
|
|
/**
|
|
Creates the combobox for two-step construction.
|
|
*/
|
|
bool Create(wxWindow* parent, wxWindowID id,
|
|
const wxString& value,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
int n, const wxString choices[],
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxBitmapComboBoxNameStr);
|
|
|
|
/**
|
|
Creates the combobox for two-step construction.
|
|
*/
|
|
bool Create(wxWindow* parent, wxWindowID id,
|
|
const wxString& value,
|
|
const wxPoint& pos,
|
|
const wxSize& size,
|
|
const wxArrayString& choices,
|
|
long style = 0,
|
|
const wxValidator& validator = wxDefaultValidator,
|
|
const wxString& name = wxBitmapComboBoxNameStr);
|
|
|
|
/**
|
|
Returns the size of the bitmaps used in the combo box.
|
|
If the combo box is empty, then ::wxDefaultSize is returned.
|
|
*/
|
|
virtual wxSize GetBitmapSize() const;
|
|
|
|
/**
|
|
Returns the bitmap of the item with the given index.
|
|
*/
|
|
virtual wxBitmap GetItemBitmap(unsigned int n) const;
|
|
|
|
/**
|
|
Inserts the item into the list before @a pos.
|
|
Not valid for @c wxCB_SORT style, use Append() instead.
|
|
*/
|
|
int Insert(const wxString& item, const wxBitmap& bitmap,
|
|
unsigned int pos);
|
|
|
|
/**
|
|
Inserts the item into the list before pos, associating the given
|
|
untyped, client data pointer with the item.
|
|
Not valid for @c wxCB_SORT style, use Append() instead.
|
|
*/
|
|
int Insert(const wxString& item, const wxBitmap& bitmap,
|
|
unsigned int pos,
|
|
void* clientData);
|
|
|
|
/**
|
|
Inserts the item into the list before pos, associating the given typed
|
|
client data pointer with the item.
|
|
Not valid for @c wxCB_SORT style, use Append() instead.
|
|
*/
|
|
int Insert(const wxString& item, const wxBitmap& bitmap,
|
|
unsigned int pos,
|
|
wxClientData* clientData);
|
|
|
|
/**
|
|
Sets the bitmap for the given item.
|
|
*/
|
|
virtual void SetItemBitmap(unsigned int n, const wxBitmapBundle& bitmap);
|
|
};
|
|
|