X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/42191a1dbfc3ac161329efc3f92a9bd8901cfc8c..34f069a0272acb81d11ab17c7e4f3fd0e60c606c:/src/generic/treectlg.cpp diff --git a/src/generic/treectlg.cpp b/src/generic/treectlg.cpp index 61d3d2e8ab..c7155ed9a2 100644 --- a/src/generic/treectlg.cpp +++ b/src/generic/treectlg.cpp @@ -2282,34 +2282,26 @@ void wxGenericTreeCtrl::Edit( const wxTreeItemId& item ) m_imageListNormal->GetSize( image, image_w, image_h ); image_w += 4; } - else // !RightDown() && !LeftUp() ==> LeftDown() || LeftDClick() + else { wxFAIL_MSG(_T("you must create an image list to use images!")); } } x += image_w; w -= image_w + 4; // I don't know why +4 is needed - if ( flags & wxTREE_HITTEST_ONITEMBUTTON ) - { - // only toggle the item for a single click, double click on - // the button doesn't do anything (it toggles the item twice) - if ( event.LeftDown() ) - { - Toggle( item ); - } - - // don't select the item if the button was clicked - return; - } - wxClientDC dc(this); PrepareDC( dc ); x = dc.LogicalToDeviceX( x ); y = dc.LogicalToDeviceY( y ); - wxTreeTextCtrl *text = new wxTreeTextCtrl( - this, -1, &m_renameAccept, &m_renameRes, this, s, wxPoint(x-4,y-4), wxSize(w+11,h+8) ); + wxTreeTextCtrl *text = new wxTreeTextCtrl(this, -1, + &m_renameAccept, + &m_renameRes, + this, + s, + wxPoint(x-4,y-4), + wxSize(w+11,h+8)); text->SetFocus(); } @@ -2488,13 +2480,26 @@ void wxGenericTreeCtrl::OnMouse( wxMouseEvent &event ) m_lastOnSame = FALSE; } } - else + else // !RightDown() && !LeftUp() ==> LeftDown() || LeftDClick() { if ( event.LeftDown() ) { m_lastOnSame = item == m_current; } + if ( flags & wxTREE_HITTEST_ONITEMBUTTON ) + { + // only toggle the item for a single click, double click on + // the button doesn't do anything (it toggles the item twice) + if ( event.LeftDown() ) + { + Toggle( item ); + } + + // don't select the item if the button was clicked + return; + } + // how should the selection work for this event? bool is_multiple, extended_select, unselect_others; EventFlagsToSelType(GetWindowStyleFlag(),