X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b445b6a76eddacd5bab45c71f640dad672d83393..f828871d12d34950779ed29599cbd13f05e00992:/include/wx/combo.h diff --git a/include/wx/combo.h b/include/wx/combo.h index ec19e490d1..25dc298df4 100644 --- a/include/wx/combo.h +++ b/include/wx/combo.h @@ -199,6 +199,10 @@ public: // (ie. wxComboPopup::SetStringValue doesn't get called). void SetText(const wxString& value); + // This method sets value and also optionally sends EVT_TEXT + // (needed by combo popups) + void SetValueWithEvent(const wxString& value, bool withEvent = true); + // // Popup customization methods // @@ -293,6 +297,12 @@ public: return m_absIndent; } + // Returns area covered by the text field. + const wxRect& GetTextRect() const + { + return m_tcArea; + } + // // Utilies needed by the popups or native implementations // @@ -305,7 +315,9 @@ public: // key handler). virtual bool IsKeyPopupToggle(const wxKeyEvent& event) const = 0; - // Draws focus background (on combo control) in a way typical on platform. + // 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 @@ -313,7 +325,7 @@ public: // 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 DrawFocusBackground( wxDC& dc, const wxRect& rect, int flags ) const; + 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 @@ -368,9 +380,7 @@ protected: //bool HandleButtonMouseEvent( wxMouseEvent& event, bool isInside ); bool HandleButtonMouseEvent( wxMouseEvent& event, int flags ); - // Conversion to double-clicks and some basic filtering // returns true if event was consumed or filtered (event type is also set to 0 in this case) - //bool PreprocessMouseEvent( wxMouseEvent& event, bool isOnButtonArea ); bool PreprocessMouseEvent( wxMouseEvent& event, int flags ); // @@ -450,9 +460,6 @@ protected: // this is for the control in popup wxEvtHandler* m_popupExtraHandler; - // needed for "instant" double-click handling - wxLongLong m_timeLastMouseUp; - // used to prevent immediate re-popupping incase closed popup // by clicking on the combo control (needed because of inconsistent // transient implementation across platforms). @@ -516,12 +523,11 @@ protected: // is the popup window currenty shown? bool m_isPopupShown; - // Set to 1 on mouse down, 0 on mouse up. Used to eliminate down-less mouse ups. - bool m_downReceived; - private: void Init(); + wxByte m_ignoreEvtText; // Number of next EVT_TEXTs to ignore + DECLARE_EVENT_TABLE() DECLARE_ABSTRACT_CLASS(wxComboCtrlBase)