[ 1557326 ] Remove redundant code from wxComboCtrl

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41264 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 2006-09-17 11:03:15 +00:00
parent 7d90da2b4c
commit b104d1f017
2 changed files with 7 additions and 60 deletions

View File

@ -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();

View File

@ -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();
}