X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0afa5859ab8f7bb5fe67cc46446632368c56f624..c75d190a0ac1671b1d2af75ba8928716d77bf823:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 93b61273da..2e9852802b 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -494,6 +494,7 @@ private: wxString m_startValue; size_t m_itemEdited; bool m_finished; + bool m_aboutToFinish; DECLARE_EVENT_TABLE() }; @@ -1740,13 +1741,18 @@ void wxListHeaderWindow::OnPaint( wxPaintEvent &WXUNUSED(event) ) // the width of the rect to draw: make it smaller to fit entirely // inside the column rect +#ifdef __WXMAC__ + int cw = wCol ; + int ch = h ; +#else int cw = wCol - 2; - + int ch = h-2 ; +#endif wxRendererNative::Get().DrawHeaderButton ( this, dc, - wxRect(x, HEADER_OFFSET_Y, cw, h - 2), + wxRect(x, HEADER_OFFSET_Y, cw, ch), m_parent->IsEnabled() ? 0 : (int)wxCONTROL_DISABLED ); @@ -2027,6 +2033,7 @@ wxListTextCtrl::wxListTextCtrl(wxListMainWindow *owner, size_t itemEdit) { m_owner = owner; m_finished = false; + m_aboutToFinish = false; wxRect rectLabel = owner->GetLineLabelRect(itemEdit); @@ -2077,12 +2084,11 @@ void wxListTextCtrl::OnChar( wxKeyEvent &event ) switch ( event.m_keyCode ) { case WXK_RETURN: + m_aboutToFinish = true; // Notify the owner about the changes AcceptChanges(); - // Even if vetoed, close the control (consistent with MSW) Finish(); - break; case WXK_ESCAPE: @@ -2131,7 +2137,7 @@ void wxListTextCtrl::OnKillFocus( wxFocusEvent &event ) } // We must let the native text control handle focus, too, otherwise - // it could have problems with the cursor (e.g., in wxGTK): + // it could have problems with the cursor (e.g., in wxGTK). event.Skip(); } @@ -3034,7 +3040,7 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event ) size_t oldCurrent = m_current; bool cmdModifierDown = event.CmdDown(); - if ( !(cmdModifierDown || event.ShiftDown()) ) + if ( IsSingleSel() || !(cmdModifierDown || event.ShiftDown()) ) { if( IsSingleSel() || !IsHighlighted(current) ) { @@ -4752,7 +4758,15 @@ bool wxGenericListCtrl::Create(wxWindow *parent, if ( InReportView() ) { CreateHeaderWindow(); - +#ifdef __WXMAC_CARBON__ + if (m_headerWin) + { + wxFont font ; + font.MacCreateThemeFont( kThemeSmallSystemFont ) ; + m_headerWin->SetFont( font ); + CalculateAndSetHeaderHeight(); + } +#endif if ( HasFlag(wxLC_NO_HEADER) ) { // VZ: why do we create it at all then?