From b104d1f017a90074c01732b6f9202f6effaf8289 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sun, 17 Sep 2006 11:03:15 +0000 Subject: [PATCH] [ 1557326 ] Remove redundant code from wxComboCtrl git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/combo.h | 14 +++++------ src/common/combocmn.cpp | 53 +---------------------------------------- 2 files changed, 7 insertions(+), 60 deletions(-) diff --git a/include/wx/combo.h b/include/wx/combo.h index 6fb77bd0c3..8d53347408 100644 --- a/include/wx/combo.h +++ b/include/wx/combo.h @@ -293,6 +293,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 // @@ -370,9 +376,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 ); // @@ -452,9 +456,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). @@ -518,9 +519,6 @@ 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(); diff --git a/src/common/combocmn.cpp b/src/common/combocmn.cpp index cb1ae22dfc..564ee3cc54 100644 --- a/src/common/combocmn.cpp +++ b/src/common/combocmn.cpp @@ -646,7 +646,6 @@ void wxComboCtrlBase::Init() m_extRight = 0; m_absIndent = -1; m_iFlags = 0; - m_downReceived = false; m_timeCanAcceptClick = 0; } @@ -1346,11 +1345,9 @@ bool wxComboCtrlBase::HandleButtonMouseEvent( wxMouseEvent& event, return true; } -// Conversion to double-clicks and some basic filtering // returns true if event was consumed or filtered -//bool wxComboCtrlBase::PreprocessMouseEvent( wxMouseEvent& event, bool isOnButtonArea ) bool wxComboCtrlBase::PreprocessMouseEvent( wxMouseEvent& event, - int flags ) + int WXUNUSED(flags) ) { wxLongLong t = ::wxGetLocalTimeMillis(); int evtType = event.GetEventType(); @@ -1364,48 +1361,6 @@ bool wxComboCtrlBase::PreprocessMouseEvent( wxMouseEvent& event, } #endif - // - // Generate our own double-clicks - // (to allow on-focus dc-event on double-clicks instead of triple-clicks) - if ( (m_windowStyle & wxCC_SPECIAL_DCLICK) && - !m_isPopupShown && - //!(handlerFlags & wxCC_MF_ON_BUTTON) ) - !(flags & wxCC_MF_ON_BUTTON) ) - { - if ( evtType == wxEVT_LEFT_DOWN ) - { - // Set value to avoid up-events without corresponding downs - m_downReceived = true; - } - else if ( evtType == wxEVT_LEFT_DCLICK ) - { - // We'll make our own double-clicks - //evtType = 0; - event.SetEventType(0); - return true; - } - else if ( evtType == wxEVT_LEFT_UP ) - { - if ( m_downReceived || m_timeLastMouseUp == 1 ) - { - wxLongLong timeFromLastUp = (t-m_timeLastMouseUp); - - if ( timeFromLastUp < DOUBLE_CLICK_CONVERSION_TRESHOLD ) - { - //type = wxEVT_LEFT_DCLICK; - event.SetEventType(wxEVT_LEFT_DCLICK); - m_timeLastMouseUp = 1; - } - else - { - m_timeLastMouseUp = t; - } - - //m_downReceived = false; - } - } - } - // Filter out clicks on button immediately after popup dismiss (Windows like behaviour) if ( evtType == wxEVT_LEFT_DOWN && t < m_timeCanAcceptClick ) { @@ -1511,12 +1466,6 @@ void wxComboCtrlBase::OnFocusEvent( wxFocusEvent& event ) { if ( event.GetEventType() == wxEVT_SET_FOCUS ) { - // First click is the first part of double-click - // Some platforms don't generate down-less mouse up-event - // (Windows does, GTK+2 doesn't), so that's why we have - // to do this. - m_timeLastMouseUp = ::wxGetLocalTimeMillis(); - if ( m_text && m_text != ::wxWindow::FindFocus() ) m_text->SetFocus(); } -- 2.47.2