// In wxOwnerDrawnComboBox, for instance, it cycles item.
wxCC_SPECIAL_DCLICK = 0x0100,
- // Use keyboard behaviour alternate to platform default:
- // Up an down keys will show popup instead of cycling value.
- wxCC_ALT_KEYS = 0x0200,
-
// Dropbutton acts like standard push button.
- wxCC_STD_BUTTON = 0x0400
+ wxCC_STD_BUTTON = 0x0200
};
}
// Set position of dropdown button.
- // width: 0 > for specific custom width, negative to adjust to smaller than default
- // height: 0 > for specific custom height, negative to adjust to smaller than default
+ // width: button width. <= 0 for default.
+ // height: button height. <= 0 for default.
// side: wxLEFT or wxRIGHT, indicates on which side the button will be placed.
// spacingX: empty space on sides of the button. Default is 0.
// Remarks:
// There is no spacingY - the button will be centered vertically.
- void SetButtonPosition( int width = 0,
- int height = 0,
+ void SetButtonPosition( int width = -1,
+ int height = -1,
int side = wxRIGHT,
int spacingX = 0 );
+ // Returns current size of the dropdown button.
+ wxSize GetButtonSize();
//
// Sets dropbutton to be drawn with custom bitmaps.
// Utilies needed by the popups or native implementations
//
+ // Returns true if given key combination should toggle the popup.
+ // NB: This is a separate from other keyboard handling because:
+ // 1) Replaceability.
+ // 2) Centralized code (otherwise it'd be split up between
+ // wxComboCtrl key handler and wxVListBoxComboPopup's
+ // key handler).
+ virtual bool IsKeyPopupToggle(const wxKeyEvent& event) const = 0;
+
// Draws focus background (on combo control) in a way typical on platform.
// Unless you plan to paint your own focus indicator, you should always call this
// in your wxComboPopup::PaintComboControl implementation.
void CreateTextCtrl( int extraStyle, const wxValidator& validator );
// Installs standard input handler to combo (and optionally to the textctrl)
- void InstallInputHandlers( bool alsoTextCtrl = true );
+ void InstallInputHandlers();
// Draws dropbutton. Using wxRenderer or bitmaps, as appropriate.
void DrawButton( wxDC& dc, const wxRect& rect, bool paintBg = true );
void OnFocusEvent(wxFocusEvent& event);
void OnTextCtrlEvent(wxCommandEvent& event);
void OnSysColourChanged(wxSysColourChangedEvent& event);
+ void OnKeyEvent(wxKeyEvent& event);
// Set customization flags (directs how wxComboCtrlBase helpers behave)
void Customize( wxUint32 flags ) { m_iFlags |= flags; }
// popup interface
wxComboPopup* m_popupInterface;
- // this is for this control itself
- wxEvtHandler* m_extraEvtHandler;
-
- // this is for text
+ // this is input etc. handler for the text control
wxEvtHandler* m_textEvtHandler;
// this is for the top level window