| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222 |
- /////////////////////////////////////////////////////////////////////////////
- // 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{wxadv}
- @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
- An 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 wxBitmap& bitmap);
- };
|