From: Vadim Zeitlin Date: Sat, 21 Jun 2008 16:59:26 +0000 (+0000) Subject: don't allow editing listbox entries; better handling of scrollbar styles (#9084) X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/0f5a779f12cc426da00474c1a70db8096e9e991a don't allow editing listbox entries; better handling of scrollbar styles (#9084) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54322 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/cocoa/listbox.mm b/src/cocoa/listbox.mm index 3731f9461b..fc4a522813 100644 --- a/src/cocoa/listbox.mm +++ b/src/cocoa/listbox.mm @@ -143,6 +143,8 @@ The listbox contents are sorted in alphabetical order. // Add the single column NSTableColumn *tableColumn = [[NSTableColumn alloc] initWithIdentifier:nil]; [GetNSTableView() addTableColumn: tableColumn]; + // By default, entries should not be editable + [tableColumn setEditable:NO]; [tableColumn release]; [GetNSTableView() sizeToFit]; @@ -154,13 +156,25 @@ The listbox contents are sorted in alphabetical order. CocoaCreateNSScrollView(); SetInitialFrameRect(pos,size); - [m_wxCocoaScrollView->GetNSScrollView() setHasVerticalScroller:YES]; - // Pre-10.3: Always show vertical scroller, never show horizontal scroller - // Post-10.3: Show scrollers dynamically (turn them both on, set auto-hide) - if([m_wxCocoaScrollView->GetNSScrollView() respondsToSelector:@selector(setAutohidesScrollers:)]) + if ((style & wxLB_NEEDED_SB) || (style & wxLB_ALWAYS_SB)) { - [m_wxCocoaScrollView->GetNSScrollView() setHasHorizontalScroller:YES]; - [m_wxCocoaScrollView->GetNSScrollView() setAutohidesScrollers:YES]; + [m_wxCocoaScrollView->GetNSScrollView() setHasVerticalScroller: YES]; + } + + if (style & wxLB_HSCROLL) + { + [m_wxCocoaScrollView->GetNSScrollView() setHasHorizontalScroller: YES]; + } + + // We can't set auto-hiding individually for horizontal/vertical scrollers, + // so we have settled on always allowing hiding for both unless the vertical + // setting is "always show". + if (((style & wxLB_NEEDED_SB) || (style & wxLB_HSCROLL)) && !(style & wxLB_ALWAYS_SB)) + { + if ([m_wxCocoaScrollView->GetNSScrollView() respondsToSelector:@selector(setAutohidesScrollers:)]) + { + [m_wxCocoaScrollView->GetNSScrollView() setAutohidesScrollers: YES]; + } } // Set up extended/multiple selection flags