// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+//
+// New window styles for wxComboCtrlBase
+//
+enum
+{
+ // Double-clicking a read-only combo triggers call to popup's OnComboPopup.
+ // In wxOwnerDrawnComboBox, for instance, it cycles item.
+ wxCC_SPECIAL_DCLICK = 0x0100,
+
+ // Dropbutton acts like standard push button.
+ wxCC_STD_BUTTON = 0x0200
+};
+
+
/**
@class wxComboPopup
your popup class in non-standard way. The default implementation can
handle both multiple-inherited popup control (as seen in wxComboCtrl
samples) and one allocated separately in heap.
+
+ If you do completely re-implement this function, make sure it calls
+ Destroy() for the popup control and also deletes @a this object
+ (usually as the last thing).
*/
virtual void DestroyPopup();
You should avoid adding or deleting items in this event.
@endEventTable
- @library{wxbase}
+ @library{wxcore}
@category{ctrl}
- @appearance{comboctrl.png}
+ @appearance{comboctrl}
@see wxComboBox, wxChoice, wxOwnerDrawnComboBox, wxComboPopup,
wxCommandEvent
*/
void EnablePopupAnimation(bool enable = true);
+
+ /**
+ Returns true if given key combination should toggle the popup.
+ */
+ virtual bool IsKeyPopupToggle(const wxKeyEvent& event) const;
+
+
+ /**
+ Prepare background of combo control or an item in a dropdown list in a
+ way typical on platform. This includes painting the focus/disabled
+ background and setting the clipping region.
+
+ Unless you plan to paint your own focus indicator, you should always
+ call this in your wxComboPopup::PaintComboControl implementation. In
+ addition, it sets pen and text colour to what looks good and proper
+ against the background.
+
+ flags: wxRendererNative flags:
+ wxCONTROL_ISSUBMENU: is drawing a list item instead of combo control
+ wxCONTROL_SELECTED: list item is selected
+ wxCONTROL_DISABLED: control/item is disabled
+ */
+ virtual void PrepareBackground( wxDC& dc, const wxRect& rect, int flags ) const;
+
+ /**
+ Returns true if focus indicator should be drawn in the control.
+ */
+ bool ShouldDrawFocus() const;
+
/**
Returns disabled button bitmap that has been set with
SetButtonBitmaps().
@since 2.9.1
*/
- virtual void SetHint(const wxString& hint);
+ virtual bool SetHint(const wxString& hint);
/**
Sets the insertion point in the text field.
virtual void SetValue(const wxString& value);
/**
- Same as SetValue(), but also sends wxCommandEvent of type
- @c wxEVT_COMMAND_TEXT_UPDATED if @a withEvent is @true.
- */
- void SetValueWithEvent(const wxString& value, bool withEvent = true);
+ Changes value of the control as if user had done it by selecting an
+ item from a combo box drop-down list.
+ */
+ void SetValueByUser(const wxString& value);
/**
Show the popup.
/**
This member function is not normally called in application code.
Instead, it can be implemented in a derived class to return default
- wxComboPopup, incase @a popup is @NULL.
+ wxComboPopup, in case @a popup is @NULL.
@note If you have implemented OnButtonClick() to do something else than
show the popup, then DoSetPopupControl() must always set @a popup