- DataBrowserSelectionFlags options = kDataBrowserDragSelect ;
- if ( style & wxLB_MULTIPLE )
- {
- options += kDataBrowserAlwaysExtendSelection + kDataBrowserCmdTogglesSelection ;
- }
- else if ( style & wxLB_EXTENDED )
- {
- // default behaviour
- }
- else
- {
- options += kDataBrowserSelectOnlyOne ;
- }
- verify_noerr(m_peer->SetSelectionFlags( options ) );
-
- DataBrowserListViewColumnDesc columnDesc ;
- columnDesc.headerBtnDesc.titleOffset = 0;
- columnDesc.headerBtnDesc.version = kDataBrowserListViewLatestHeaderDesc;
-
- columnDesc.headerBtnDesc.btnFontStyle.flags =
- kControlUseFontMask | kControlUseJustMask;
-
- columnDesc.headerBtnDesc.btnContentInfo.contentType = kControlNoContent;
- columnDesc.propertyDesc.propertyType = kDataBrowserTextType;
- columnDesc.headerBtnDesc.btnFontStyle.just = teFlushDefault;
- columnDesc.headerBtnDesc.minimumWidth = 0;
- columnDesc.headerBtnDesc.maximumWidth = 10000;
-
- columnDesc.headerBtnDesc.btnFontStyle.font = kControlFontViewSystemFont;
- columnDesc.headerBtnDesc.btnFontStyle.style = normal;
- columnDesc.headerBtnDesc.titleString = NULL ; // CFSTR( "" );
-
- columnDesc.propertyDesc.propertyID = kTextColumnId;
- columnDesc.propertyDesc.propertyType = kDataBrowserTextType;
- columnDesc.propertyDesc.propertyFlags =
-#if MAC_OS_X_VERSION_MAX_ALLOWED > MAC_OS_X_VERSION_10_2
- kDataBrowserListViewTypeSelectColumn |
-#endif
- kDataBrowserTableViewSelectionColumn ;
-
-
- verify_noerr(m_peer->AddListViewColumn( &columnDesc, kDataBrowserListViewAppendColumn) ) ;
- verify_noerr(m_peer->AutoSizeListViewColumns() ) ;
- verify_noerr(m_peer->SetHasScrollBars(false , true ) ) ;
- verify_noerr(m_peer->SetTableViewHiliteStyle(kDataBrowserTableViewFillHilite ) ) ;
- verify_noerr(m_peer->SetListViewHeaderBtnHeight( 0 ) ) ;
- DataBrowserCallbacks callbacks ;
-
- callbacks.version = kDataBrowserLatestCallbacks;
-
- InitDataBrowserCallbacks(&callbacks);
-
- callbacks.u.v1.itemDataCallback =
- NewDataBrowserItemDataUPP(ListBoxGetSetItemData);
-
- callbacks.u.v1.itemNotificationCallback =
-#if TARGET_API_MAC_OSX
- (DataBrowserItemNotificationUPP) NewDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationProc) ;
-#else
- NewDataBrowserItemNotificationUPP(DataBrowserItemNotificationProc) ;
-#endif
- m_peer->SetCallbacks( &callbacks);
-
-#if TARGET_API_MAC_OSX
- // there is a redraw bug in 10.2.X
- if ( UMAGetSystemVersion() < 0x1030 )
- m_peer->SetData( kControlNoPart, kControlDataBrowserIncludesFrameAndFocusTag, (Boolean) false ) ;
-#endif
- MacPostControlCreate(pos,size) ;