📄 utils.cpp
字号:
}OSStatus wxMacDataBrowserControl::SetHasScrollBars( bool horiz, bool vert ){ return SetDataBrowserHasScrollBars( m_controlRef, horiz, vert );}OSStatus wxMacDataBrowserControl::SetHiliteStyle( DataBrowserTableViewHiliteStyle hiliteStyle ){ return SetDataBrowserTableViewHiliteStyle( m_controlRef, hiliteStyle );}OSStatus wxMacDataBrowserControl::SetHeaderButtonHeight(UInt16 height){ return SetDataBrowserListViewHeaderBtnHeight( m_controlRef, height );}OSStatus wxMacDataBrowserControl::GetHeaderButtonHeight(UInt16 *height){ return GetDataBrowserListViewHeaderBtnHeight( m_controlRef, height );}OSStatus wxMacDataBrowserControl::SetCallbacks(const DataBrowserCallbacks *callbacks){ return SetDataBrowserCallbacks( m_controlRef, callbacks );}OSStatus wxMacDataBrowserControl::UpdateItems( DataBrowserItemID container, UInt32 numItems, const DataBrowserItemID *items, DataBrowserPropertyID preSortProperty, DataBrowserPropertyID propertyID ) const{ return UpdateDataBrowserItems( m_controlRef, container, numItems, items, preSortProperty, propertyID );}bool wxMacDataBrowserControl::IsItemSelected( DataBrowserItemID item ) const{ return IsDataBrowserItemSelected( m_controlRef, item );}OSStatus wxMacDataBrowserControl::AddItems( DataBrowserItemID container, UInt32 numItems, const DataBrowserItemID *items, DataBrowserPropertyID preSortProperty ){ return AddDataBrowserItems( m_controlRef, container, numItems, items, preSortProperty );}OSStatus wxMacDataBrowserControl::RemoveItems( DataBrowserItemID container, UInt32 numItems, const DataBrowserItemID *items, DataBrowserPropertyID preSortProperty ){ return RemoveDataBrowserItems( m_controlRef, container, numItems, items, preSortProperty );}OSStatus wxMacDataBrowserControl::RevealItem( DataBrowserItemID item, DataBrowserPropertyID propertyID, DataBrowserRevealOptions options ) const{ return RevealDataBrowserItem( m_controlRef, item, propertyID, options );}OSStatus wxMacDataBrowserControl::SetSelectedItems( UInt32 numItems, const DataBrowserItemID *items, DataBrowserSetOption operation ){ return SetDataBrowserSelectedItems( m_controlRef, numItems, items, operation );}OSStatus wxMacDataBrowserControl::GetSelectionAnchor( DataBrowserItemID *first, DataBrowserItemID *last ) const{ return GetDataBrowserSelectionAnchor( m_controlRef, first, last );}OSStatus wxMacDataBrowserControl::GetItemID( DataBrowserTableViewRowIndex row, DataBrowserItemID * item ) const{ return GetDataBrowserTableViewItemID( m_controlRef, row, item );}OSStatus wxMacDataBrowserControl::GetItemRow( DataBrowserItemID item, DataBrowserTableViewRowIndex * row ) const{ return GetDataBrowserTableViewItemRow( m_controlRef, item, row );}OSStatus wxMacDataBrowserControl::SetDefaultRowHeight( UInt16 height ){ return SetDataBrowserTableViewRowHeight( m_controlRef , height );}OSStatus wxMacDataBrowserControl::GetDefaultRowHeight( UInt16 * height ) const{ return GetDataBrowserTableViewRowHeight( m_controlRef, height );}OSStatus wxMacDataBrowserControl::SetRowHeight( DataBrowserItemID item , UInt16 height){ return SetDataBrowserTableViewItemRowHeight( m_controlRef, item , height );}OSStatus wxMacDataBrowserControl::GetRowHeight( DataBrowserItemID item , UInt16 *height) const{ return GetDataBrowserTableViewItemRowHeight( m_controlRef, item , height);}OSStatus wxMacDataBrowserControl::GetColumnWidth( DataBrowserPropertyID column , UInt16 *width ) const{ return GetDataBrowserTableViewNamedColumnWidth( m_controlRef , column , width );}OSStatus wxMacDataBrowserControl::SetColumnWidth( DataBrowserPropertyID column , UInt16 width ){ return SetDataBrowserTableViewNamedColumnWidth( m_controlRef , column , width );}OSStatus wxMacDataBrowserControl::GetDefaultColumnWidth( UInt16 *width ) const{ return GetDataBrowserTableViewColumnWidth( m_controlRef , width );}OSStatus wxMacDataBrowserControl::SetDefaultColumnWidth( UInt16 width ){ return SetDataBrowserTableViewColumnWidth( m_controlRef , width );}OSStatus wxMacDataBrowserControl::GetColumnCount(UInt32* numColumns) const{ return GetDataBrowserTableViewColumnCount( m_controlRef, numColumns);}OSStatus wxMacDataBrowserControl::GetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex *position) const{ return GetDataBrowserTableViewColumnPosition( m_controlRef , column , position);}OSStatus wxMacDataBrowserControl::SetColumnPosition( DataBrowserPropertyID column, DataBrowserTableViewColumnIndex position){ return SetDataBrowserTableViewColumnPosition( m_controlRef , column , position);}OSStatus wxMacDataBrowserControl::GetScrollPosition( UInt32 *top , UInt32 *left ) const{ return GetDataBrowserScrollPosition( m_controlRef , top , left );}OSStatus wxMacDataBrowserControl::SetScrollPosition( UInt32 top , UInt32 left ){ return SetDataBrowserScrollPosition( m_controlRef , top , left );}OSStatus wxMacDataBrowserControl::GetSortProperty( DataBrowserPropertyID *column ) const{ return GetDataBrowserSortProperty( m_controlRef , column );}OSStatus wxMacDataBrowserControl::SetSortProperty( DataBrowserPropertyID column ){ return SetDataBrowserSortProperty( m_controlRef , column );}OSStatus wxMacDataBrowserControl::GetSortOrder( DataBrowserSortOrder *order ) const{ return GetDataBrowserSortOrder( m_controlRef , order );}OSStatus wxMacDataBrowserControl::SetSortOrder( DataBrowserSortOrder order ){ return SetDataBrowserSortOrder( m_controlRef , order );}OSStatus wxMacDataBrowserControl::GetPropertyFlags( DataBrowserPropertyID property, DataBrowserPropertyFlags *flags ) const{ return GetDataBrowserPropertyFlags( m_controlRef , property , flags );}OSStatus wxMacDataBrowserControl::SetPropertyFlags( DataBrowserPropertyID property, DataBrowserPropertyFlags flags ){ return SetDataBrowserPropertyFlags( m_controlRef , property , flags );}OSStatus wxMacDataBrowserControl::GetHeaderDesc( DataBrowserPropertyID property, DataBrowserListViewHeaderDesc *desc ) const{ return GetDataBrowserListViewHeaderDesc( m_controlRef , property , desc );}OSStatus wxMacDataBrowserControl::SetHeaderDesc( DataBrowserPropertyID property, DataBrowserListViewHeaderDesc *desc ){ return SetDataBrowserListViewHeaderDesc( m_controlRef , property , desc );}OSStatus wxMacDataBrowserControl::SetDisclosureColumn( DataBrowserPropertyID property , Boolean expandableRows ){ return SetDataBrowserListViewDisclosureColumn( m_controlRef, property, expandableRows);}// ============================================================================// Higher-level Databrowser// ============================================================================//// basing on data item objects//wxMacDataItem::wxMacDataItem(){ m_data = NULL; m_order = 0; m_colId = kTextColumnId; // for compat with existing wx*ListBox impls.}wxMacDataItem::~wxMacDataItem(){}void wxMacDataItem::SetOrder( SInt32 order ){ m_order = order;}SInt32 wxMacDataItem::GetOrder() const{ return m_order;}void wxMacDataItem::SetData( void* data){ m_data = data;}void* wxMacDataItem::GetData() const{ return m_data;}short wxMacDataItem::GetColumn(){ return m_colId;}void wxMacDataItem::SetColumn( short col ){ m_colId = col;}void wxMacDataItem::SetLabel( const wxString& str){ m_label = str; m_cfLabel.Assign( str , wxLocale::GetSystemEncoding());}const wxString& wxMacDataItem::GetLabel() const{ return m_label;}bool wxMacDataItem::IsLessThan(wxMacDataItemBrowserControl *owner , const wxMacDataItem* rhs, DataBrowserPropertyID sortProperty) const{ const wxMacDataItem* otherItem = wx_const_cast(wxMacDataItem*,rhs); bool retval = false; if ( sortProperty == m_colId ){ retval = m_label.CmpNoCase( otherItem->m_label) < 0; } else if ( sortProperty == kNumericOrderColumnId ) retval = m_order < otherItem->m_order; return retval;}OSStatus wxMacDataItem::GetSetData( wxMacDataItemBrowserControl *owner , DataBrowserPropertyID property, DataBrowserItemDataRef itemData, bool changeValue ){ OSStatus err = errDataBrowserPropertyNotSupported; if ( !changeValue ) { if ( property == m_colId ){ err = ::SetDataBrowserItemDataText( itemData, m_cfLabel ); err = noErr; } else if ( property == kNumericOrderColumnId ){ err = ::SetDataBrowserItemDataValue( itemData, m_order ); err = noErr; } else{ } } else { switch (property) { // no editable props here default: break; } } return err;}void wxMacDataItem::Notification(wxMacDataItemBrowserControl *owner , DataBrowserItemNotification message, DataBrowserItemDataRef itemData ) const{}IMPLEMENT_DYNAMIC_CLASS( wxMacDataItemBrowserControl , wxMacDataBrowserControl )wxMacDataItemBrowserControl::wxMacDataItemBrowserControl( wxWindow* peer , const wxPoint& pos, const wxSize& size, long style) : wxMacDataBrowserControl( peer, pos, size, style ){ m_suppressSelection = false; m_sortOrder = SortOrder_None; m_clientDataItemsType = wxClientData_None;}wxMacDataItem* wxMacDataItemBrowserControl::CreateItem(){ return new wxMacDataItem();}wxMacDataItemBrowserSelectionSuppressor::wxMacDataItemBrowserSelectionSuppressor(wxMacDataItemBrowserControl *browser){ m_former = browser->SuppressSelection(true); m_browser = browser;}wxMacDataItemBrowserSelectionSuppressor::~wxMacDataItemBrowserSelectionSuppressor(){ m_browser->SuppressSelection(m_former);}bool wxMacDataItemBrowserControl::SuppressSelection( bool suppress ){ bool former = m_suppressSelection; m_suppressSelection = suppress; return former;}Boolean wxMacDataItemBrowserControl::CompareItems(DataBrowserItemID itemOneID, DataBrowserItemID itemTwoID, DataBrowserPropertyID sortProperty){ wxMacDataItem* itemOne = (wxMacDataItem*) itemOneID; wxMacDataItem* itemTwo = (wxMacDataItem*) itemTwoID; return CompareItems( itemOne , itemTwo , sortProperty );}Boolean wxMacDataItemBrowserControl::CompareItems(const wxMacDataItem* itemOne, const wxMacDataItem* itemTwo, DataBrowserPropertyID sortProperty){ Boolean retval = false; if ( itemOne != NULL ) retval = itemOne->IsLessThan( this , itemTwo , sortProperty); return retval;}OSStatus wxMacDataItemBrowserControl::GetSetItemData( DataBrowserItemID itemID, DataBrowserPropertyID property, DataBrowserItemDataRef itemData, Boolean changeValue ){ wxMacDataItem* item = (wxMacDataItem*) itemID; return GetSetItemData(item, property, itemData , changeValue );}OSStatus wxMacDataItemBrowserControl::GetSetItemData( wxMacDataItem* item, DataBrowserPropertyID property, DataBrowserItemDataRef itemData, Boolean changeValue ){ OSStatus err = errDataBrowserPropertyNotSupported; switch( property ) { case kDataBrowserContainerIsClosableProperty : case kDataBrowserContainerIsSortableProperty : case kDataBrowserContainerIsOpenableProperty : // right now default behaviour on these break; default : if ( item != NULL ){ err = item->GetSetData( this, property , itemData , changeValue ); } break; } return err;}void wxMacDataItemBrowserControl::ItemNotification( DataBrowserItemID itemID, DataBrowserItemNotification message, DataBrowserItemDataRef itemData){ wxMacDataItem* item = (wxMacDataItem*) itemID; ItemNotification( item , message, itemData);}void wxMacDataItemBrowserControl::ItemNotification( const wxMacDataItem* item, DataBrowserItemNotification message, DataBrowserItemDataRef itemData){ if (item != NULL) item->Notification( this, message, itemData);}unsigned int wxMacDataItemBrowserControl::GetItemCount(const wxMacDataItem* container, bool recurse , DataBrowserItemState state) const{ ItemCount numItems = 0; verify_noerr( wxMacDataBrowserControl::GetItemCount( (DataBrowserItemID)container, recurse, state, &numItems ) ); return numItems;}unsigned int wxMacDataItemBrowserControl::GetSelectedItemCount( const wxMacDataItem* container, bool recurse ) const{ return GetItemCount( container, recurse, kDataBrowserItemIsSelected );}void wxMacDataItemBrowserControl::GetItems(const wxMacDataItem* container, bool recurse , DataBrowserItemState state, wxArrayMacDataItemPtr &items) const{ Handle handle = NewHandle(0); verify_noerr( wxMacDataBrowserControl::GetItems( (DataBrowserItemID)container , recurse , state, handle) ); int itemCount = GetHandleSize(handle)/sizeof(DataBrowserItemID); HLock( handle ); wxMacDataItemPtr* itemsArray = (wxMacDataItemPtr*) *handle; for ( int i = 0; i < itemCount; ++i) { items.Add(itemsArray[i]); } HUnlock( handle ); DisposeHandle( handle );}unsigned int wxMacDataItemBrowserControl::GetLineFromItem(const wxMacDataItem* item) const{ DataBrowserTableViewRowIndex row; OSStatus err = GetItemRow( (DataBrowserItemID) item , &row); wxASSERT( err == noErr); return row;}wxMacDataItem* wxMacDataItemBrowserControl::GetItemFromLine(unsigned int n) const{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -