1 ///////////////////////////////////////////////////////////////////////////// 2 // Name: wx/osx/carbon/dataview.h 3 // Purpose: wxDataViewCtrl native implementation header for carbon 4 // Author: 5 // Copyright: (c) 2009 6 // Licence: wxWindows licence 7 ///////////////////////////////////////////////////////////////////////////// 8 9 #ifndef _WX_DATAVIEWCTRL_CARBON_H_ 10 #define _WX_DATAVIEWCTRL_CARBON_H_ 11 12 #include "wx/defs.h" 13 14 #if wxUSE_GUI 15 16 #include "wx/osx/core/dataview.h" 17 #include "wx/osx/private.h" 18 19 // ============================================================================ 20 // wxDataViewColumnNativeData 21 // ============================================================================ 22 class wxDataViewColumnNativeData 23 { 24 public: 25 // 26 // constructors / destructor 27 // wxDataViewColumnNativeData()28 wxDataViewColumnNativeData() 29 { 30 } wxDataViewColumnNativeData(DataBrowserPropertyID initPropertyID)31 wxDataViewColumnNativeData(DataBrowserPropertyID initPropertyID) 32 :m_PropertyID(initPropertyID) 33 { 34 } 35 36 // 37 // data access methods 38 // GetPropertyID()39 DataBrowserPropertyID GetPropertyID() const 40 { 41 return m_PropertyID; 42 } 43 SetPropertyID(DataBrowserPropertyID newPropertyID)44 void SetPropertyID(DataBrowserPropertyID newPropertyID) 45 { 46 m_PropertyID = newPropertyID; 47 } 48 49 protected: 50 private: 51 // 52 // variables 53 // 54 DataBrowserPropertyID m_PropertyID; // each column is identified by its unique property ID (NOT by the column's index) 55 }; 56 57 // ============================================================================ 58 // wxDataViewRendererNativeData 59 // ============================================================================ 60 class wxDataViewRendererNativeData 61 { 62 public: 63 // 64 // constructors / destructor 65 // wxDataViewRendererNativeData()66 wxDataViewRendererNativeData() 67 { 68 } 69 wxDataViewRendererNativeData(DataBrowserPropertyType initPropertyType, DataBrowserItemDataRef initItemDataRef=NULL) m_ItemDataRef(initItemDataRef)70 :m_ItemDataRef(initItemDataRef), m_PropertyType(initPropertyType) 71 { 72 } 73 74 // 75 // data access methods 76 // GetItemDataRef()77 DataBrowserItemDataRef GetItemDataRef() const 78 { 79 return m_ItemDataRef; 80 } GetPropertyType()81 DataBrowserPropertyType GetPropertyType() const 82 { 83 return m_PropertyType; 84 } 85 SetItemDataRef(DataBrowserItemDataRef newItemDataRef)86 void SetItemDataRef(DataBrowserItemDataRef newItemDataRef) 87 { 88 m_ItemDataRef = newItemDataRef; 89 } SetPropertyType(DataBrowserPropertyType newPropertyType)90 void SetPropertyType(DataBrowserPropertyType newPropertyType) 91 { 92 m_PropertyType = newPropertyType; 93 } 94 95 protected: 96 private: 97 // 98 // variables 99 // 100 DataBrowserItemDataRef m_ItemDataRef; 101 102 DataBrowserPropertyType m_PropertyType; 103 }; 104 105 // ============================================================================ 106 // wxMacDataBrowserTableViewControl 107 // ============================================================================ 108 // 109 // This is a wrapper class for the Mac OS X data browser environment. 110 // It covers all data browser functionality for the native browser's list 111 // and column style. 112 // 113 114 // data browser's property IDs have a reserved ID range from 0 - 1023 115 // therefore, the first usable property ID is 'kMinPropertyID' 116 DataBrowserPropertyID const kMinPropertyID = 1024; 117 118 // array of data browser item IDs 119 WX_DEFINE_ARRAY_SIZE_T(size_t,wxArrayDataBrowserItemID); 120 121 class wxMacDataBrowserTableViewControl : public wxMacControl 122 { 123 public: 124 // 125 // constructors / destructor 126 // 127 wxMacDataBrowserTableViewControl(wxWindow* peer, const wxPoint& pos, const wxSize& size, long style); wxMacDataBrowserTableViewControl()128 wxMacDataBrowserTableViewControl() 129 { 130 } 131 ~wxMacDataBrowserTableViewControl(); 132 133 // 134 // callback handling 135 // 136 OSStatus SetCallbacks (DataBrowserCallbacks const* callbacks); 137 OSStatus SetCustomCallbacks(DataBrowserCustomCallbacks const* customCallbacks); 138 139 // 140 // DnD handling 141 // 142 OSStatus EnableAutomaticDragTracking(bool enable=true); 143 144 // 145 // header handling 146 // 147 OSStatus GetHeaderDesc(DataBrowserPropertyID property, DataBrowserListViewHeaderDesc* desc) const; 148 149 OSStatus SetHeaderDesc(DataBrowserPropertyID property, DataBrowserListViewHeaderDesc* desc); 150 151 // 152 // layout handling 153 // 154 OSStatus AutoSizeColumns(); 155 156 OSStatus EnableCellSizeModification(bool enableHeight=true, bool enableWidth=true); // enables or disables the column width and row height modification (default: false) 157 158 OSStatus GetAttributes (OptionBits* attributes); 159 OSStatus GetColumnWidth (DataBrowserPropertyID column, UInt16 *width ) const; // returns the column width in pixels 160 OSStatus GetDefaultColumnWidth(UInt16 *width ) const; // returns the default column width in pixels 161 OSStatus GetDefaultRowHeight (UInt16 * height ) const; 162 OSStatus GetHeaderButtonHeight(UInt16 *height ); 163 OSStatus GetPartBounds (DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserPropertyPart part, Rect* bounds); 164 OSStatus GetRowHeight (DataBrowserItemID item , UInt16 *height) const; 165 OSStatus GetScrollPosition (UInt32* top, UInt32 *left) const; 166 167 OSStatus SetAttributes (OptionBits attributes); 168 OSStatus SetColumnWidth(DataBrowserPropertyID column, UInt16 width); // sets the column width in pixels 169 OSStatus SetDefaultColumnWidth( UInt16 width ); 170 OSStatus SetDefaultRowHeight( UInt16 height ); 171 OSStatus SetHasScrollBars( bool horiz, bool vert ); 172 OSStatus SetHeaderButtonHeight( UInt16 height ); 173 OSStatus SetHiliteStyle(DataBrowserTableViewHiliteStyle hiliteStyle); 174 OSStatus SetIndent(float Indent); 175 OSStatus SetItemRowHeight( DataBrowserItemID item , UInt16 height); 176 OSStatus SetScrollPosition( UInt32 top , UInt32 left ); 177 178 // 179 // column handling 180 // 181 OSStatus GetColumnCount (UInt32* numColumns) const; 182 OSStatus GetColumnIndex (DataBrowserPropertyID propertyID, DataBrowserTableViewColumnIndex* index) const; // returns for the passed property the corresponding column index 183 OSStatus GetFreePropertyID(DataBrowserPropertyID* propertyID) const; // this method returns a property id that is valid and currently not used; if it cannot be found 'errDataBrowserPropertyNotSupported' is returned 184 OSStatus GetPropertyFlags (DataBrowserPropertyID propertyID, DataBrowserPropertyFlags *flags ) const; 185 OSStatus GetPropertyID (DataBrowserItemDataRef itemData, DataBrowserPropertyID* propertyID) const; // returns for the passed item data reference the corresponding property ID 186 OSStatus GetPropertyID (DataBrowserTableViewColumnIndex index, DataBrowserPropertyID* propertyID) const; // returns for the passed column index the corresponding property ID 187 188 OSStatus IsUsedPropertyID(DataBrowserPropertyID propertyID) const; // checks if passed property id is used by the control; no error is returned if the id exists 189 190 OSStatus RemoveColumnByProperty(DataBrowserTableViewColumnID propertyID); 191 OSStatus RemoveColumnByIndex (DataBrowserTableViewColumnIndex index); 192 193 OSStatus SetColumnIndex (DataBrowserPropertyID propertyID, DataBrowserTableViewColumnIndex index); 194 OSStatus SetDisclosureColumn(DataBrowserPropertyID propertyID, Boolean expandableRows=false); 195 OSStatus SetPropertyFlags (DataBrowserPropertyID propertyID, DataBrowserPropertyFlags flags); 196 197 // 198 // item handling 199 // AddItem(DataBrowserItemID container,DataBrowserItemID const * itemID)200 OSStatus AddItem(DataBrowserItemID container, DataBrowserItemID const* itemID) // adds a single item 201 { 202 return AddItems(container,1,itemID,kDataBrowserItemNoProperty); 203 } 204 OSStatus AddItems(DataBrowserItemID container, UInt32 numItems, DataBrowserItemID const* items, DataBrowserPropertyID preSortProperty); // adds items to the data browser 205 206 OSStatus GetFreeItemID(DataBrowserItemID* id) const; // this method returns an item id that is valid and currently not used; if it cannot be found 'errDataBrowserItemNotAdded' is returned GetItemCount(ItemCount * numItems)207 OSStatus GetItemCount (ItemCount* numItems) const 208 { 209 return GetItemCount(kDataBrowserNoItem,true,kDataBrowserItemAnyState,numItems); 210 } 211 OSStatus GetItemCount (DataBrowserItemID container, Boolean recurse, DataBrowserItemState state, ItemCount* numItems) const; 212 OSStatus GetItemID (DataBrowserTableViewRowIndex row, DataBrowserItemID* item) const; 213 OSStatus GetItems (DataBrowserItemID container, Boolean recurse, DataBrowserItemState state, Handle items) const; 214 OSStatus GetItemRow (DataBrowserItemID item, DataBrowserTableViewRowIndex* row) const; 215 OSStatus GetItemState (DataBrowserItemID item, DataBrowserItemState* state) const; 216 217 OSStatus IsUsedItemID(DataBrowserItemID itemID) const; // checks if the passed id is in use 218 219 OSStatus RevealItem(DataBrowserItemID item, DataBrowserPropertyID propertyID, DataBrowserRevealOptions options) const; 220 RemoveItem(DataBrowserItemID container,DataBrowserItemID const * itemID)221 OSStatus RemoveItem(DataBrowserItemID container, DataBrowserItemID const* itemID) // removes a single item 222 { 223 return RemoveItems(container,1,itemID,kDataBrowserItemNoProperty); 224 } RemoveItems(void)225 OSStatus RemoveItems(void) // removes all items 226 { 227 return RemoveItems(kDataBrowserNoItem,0,NULL,kDataBrowserItemNoProperty); 228 } 229 OSStatus RemoveItems(DataBrowserItemID container, UInt32 numItems, DataBrowserItemID const* items, DataBrowserPropertyID preSortProperty); 230 UpdateItem(DataBrowserItemID container,DataBrowserItemID const * item)231 OSStatus UpdateItem(DataBrowserItemID container, DataBrowserItemID const* item) // updates all columns of the passed item 232 { 233 return UpdateItems(container,1,item,kDataBrowserItemNoProperty,kDataBrowserItemNoProperty); 234 } UpdateItems(void)235 OSStatus UpdateItems(void) // updates all items 236 { 237 return UpdateItems(kDataBrowserNoItem,0,NULL,kDataBrowserItemNoProperty,kDataBrowserItemNoProperty); 238 } 239 OSStatus UpdateItems(DataBrowserItemID container, UInt32 numItems, DataBrowserItemID const* items, DataBrowserPropertyID preSortProperty, DataBrowserPropertyID propertyID) const; 240 241 // 242 // item selection 243 // 244 size_t GetSelectedItemIDs(wxArrayDataBrowserItemID& itemIDs) const; // returns the number of selected item and the item IDs in the array 245 OSStatus GetSelectionAnchor(DataBrowserItemID *first, DataBrowserItemID *last) const; 246 OSStatus GetSelectionFlags (DataBrowserSelectionFlags* flags) const; 247 248 bool IsItemSelected(DataBrowserItemID item) const; 249 250 OSStatus SetSelectionFlags(DataBrowserSelectionFlags flags); 251 OSStatus SetSelectedItems (UInt32 numItems, DataBrowserItemID const* itemIDs, DataBrowserSetOption operation); 252 253 // 254 // item sorting 255 // 256 OSStatus GetSortOrder (DataBrowserSortOrder* order) const; 257 OSStatus GetSortProperty(DataBrowserPropertyID* propertyID) const; 258 259 OSStatus Resort(DataBrowserItemID container=kDataBrowserNoItem, Boolean sortChildren=true); 260 261 OSStatus SetSortOrder (DataBrowserSortOrder order); 262 OSStatus SetSortProperty(DataBrowserPropertyID propertyID); 263 264 // 265 // container handling 266 // 267 OSStatus CloseContainer(DataBrowserItemID containerID); 268 269 OSStatus OpenContainer(DataBrowserItemID containerID); 270 271 protected : 272 // 273 // standard callback functions 274 // 275 static pascal Boolean DataBrowserCompareProc (ControlRef browser, DataBrowserItemID itemOneID, DataBrowserItemID itemTwoID, DataBrowserPropertyID sortProperty); 276 static pascal void DataBrowserGetContextualMenuProc(ControlRef browser, MenuRef* menu, UInt32* helpType, CFStringRef* helpItemString, AEDesc* selection); 277 static pascal OSStatus DataBrowserGetSetItemDataProc (ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, DataBrowserItemDataRef itemData, Boolean getValue); 278 static pascal void DataBrowserItemNotificationProc (ControlRef browser, DataBrowserItemID itemID, DataBrowserItemNotification message, DataBrowserItemDataRef itemData); 279 280 virtual Boolean DataBrowserCompareProc (DataBrowserItemID itemOneID, DataBrowserItemID itemTwoID, DataBrowserPropertyID sortProperty) = 0; 281 virtual void DataBrowserGetContextualMenuProc(MenuRef* menu, UInt32* helpType, CFStringRef* helpItemString, AEDesc* selection) = 0; 282 virtual OSStatus DataBrowserGetSetItemDataProc (DataBrowserItemID itemID, DataBrowserPropertyID property, DataBrowserItemDataRef itemData, Boolean getValue) = 0; 283 virtual void DataBrowserItemNotificationProc (DataBrowserItemID itemID, DataBrowserItemNotification message, DataBrowserItemDataRef itemData) = 0; 284 285 // 286 // callback functions for customized types 287 // 288 static pascal void DataBrowserDrawItemProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, DataBrowserItemState state, Rect const* rectangle, SInt16 bitDepth, Boolean colorDevice); 289 static pascal Boolean DataBrowserEditItemProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, CFStringRef theString, Rect* maxEditTextRect, Boolean* shrinkToFit); 290 static pascal Boolean DataBrowserHitTestProc (ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Rect const* mouseRect); 291 static pascal DataBrowserTrackingResult DataBrowserTrackingProc(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Point startPt, EventModifiers modifiers); 292 293 virtual void DataBrowserDrawItemProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, DataBrowserItemState state, Rect const* rectangle, SInt16 bitDepth, Boolean colorDevice) = 0; 294 virtual Boolean DataBrowserEditItemProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, CFStringRef theString, Rect* maxEditTextRect, Boolean* shrinkToFit) = 0; 295 virtual Boolean DataBrowserHitTestProc (DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Rect const* mouseRect) = 0; 296 virtual DataBrowserTrackingResult DataBrowserTrackingProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Point startPt, EventModifiers modifiers) = 0; 297 298 // 299 // callback functions for drag & drop 300 // 301 static pascal Boolean DataBrowserAcceptDragProc (ControlRef browser, DragReference dragRef, DataBrowserItemID itemID); 302 static pascal Boolean DataBrowserAddDragItemProc(ControlRef browser, DragReference dragRef, DataBrowserItemID itemID, ItemReference* itemRef); 303 static pascal Boolean DataBrowserReceiveDragProc(ControlRef browser, DragReference dragRef, DataBrowserItemID itemID); 304 305 virtual Boolean DataBrowserAcceptDragProc (DragReference dragRef, DataBrowserItemID itemID) = 0; 306 virtual Boolean DataBrowserAddDragItemProc(DragReference dragRef, DataBrowserItemID itemID, ItemReference* itemRef) = 0; 307 virtual Boolean DataBrowserReceiveDragProc(DragReference dragRef, DataBrowserItemID itemID) = 0; 308 309 // 310 // event handler for hit testing 311 // 312 void* m_macDataViewCtrlEventHandler; 313 314 private: 315 // 316 // wxWidget internal stuff 317 // 318 DECLARE_ABSTRACT_CLASS(wxMacDataBrowserTableViewControl) 319 }; 320 321 // ============================================================================ 322 // wxMacDataBrowserListViewControl 323 // ============================================================================ 324 // 325 // This class is a wrapper for the native browser's list view style. It expands 326 // the inherited functionality of the table view control class. 327 // The term list view is in this case Mac OS X specific and is not related 328 // to any wxWidget naming conventions. 329 // 330 class wxMacDataBrowserListViewControl : public wxMacDataBrowserTableViewControl 331 { 332 public: 333 // 334 // constructors / destructor 335 // wxMacDataBrowserListViewControl(wxWindow * peer,wxPoint const & pos,wxSize const & size,long style)336 wxMacDataBrowserListViewControl(wxWindow* peer, wxPoint const& pos, wxSize const& size, long style) : wxMacDataBrowserTableViewControl(peer,pos,size,style) 337 { 338 } 339 340 // 341 // column handling 342 // 343 OSStatus AddColumn(DataBrowserListViewColumnDesc *columnDesc, DataBrowserTableViewColumnIndex position); 344 345 protected: 346 private: 347 }; 348 349 350 // ============================================================================ 351 // wxMacDataViewDataBrowserListViewControl 352 // ============================================================================ 353 // 354 // This is the internal interface class between wxDataViewCtrl (wxWidget) and 355 // the native data browser (Mac OS X carbon). 356 // 357 class wxMacDataViewDataBrowserListViewControl : public wxMacDataBrowserListViewControl, public wxDataViewWidgetImpl 358 { 359 public: 360 // 361 // constructors / destructor 362 // 363 wxMacDataViewDataBrowserListViewControl(wxWindow* peer, wxPoint const& pos, wxSize const& size, long style); 364 365 // 366 // column related methods (inherited from wxDataViewWidgetImpl) 367 // 368 virtual bool ClearColumns (); 369 virtual bool DeleteColumn (wxDataViewColumn* columnPtr); 370 virtual void DoSetExpanderColumn(wxDataViewColumn const* columnPtr); 371 virtual wxDataViewColumn* GetColumn (unsigned int pos) const; 372 virtual int GetColumnPosition (wxDataViewColumn const* columnPtr) const; 373 virtual bool InsertColumn (unsigned int pos, wxDataViewColumn* columnPtr); FitColumnWidthToContent(unsigned int WXUNUSED (pos))374 virtual void FitColumnWidthToContent(unsigned int WXUNUSED(pos)) { /*not implemented*/ } 375 376 // 377 // item related methods (inherited from wxDataViewWidgetImpl) 378 // 379 virtual bool Add (wxDataViewItem const& parent, wxDataViewItem const& item); 380 virtual bool Add (wxDataViewItem const& parent, wxDataViewItemArray const& items); 381 virtual void Collapse (wxDataViewItem const& item); 382 virtual void EnsureVisible(wxDataViewItem const& item, wxDataViewColumn const* columnPtr); 383 virtual void Expand (wxDataViewItem const& item); 384 virtual unsigned int GetCount () const; 385 virtual wxRect GetRectangle (wxDataViewItem const& item, wxDataViewColumn const* columnPtr); 386 virtual bool IsExpanded (wxDataViewItem const& item) const; 387 virtual bool Reload (); 388 virtual bool Remove (wxDataViewItem const& parent, wxDataViewItem const& item); 389 virtual bool Remove (wxDataViewItem const& parent, wxDataViewItemArray const& item); 390 virtual bool Update (wxDataViewColumn const* columnPtr); 391 virtual bool Update (wxDataViewItem const& parent, wxDataViewItem const& item); 392 virtual bool Update (wxDataViewItem const& parent, wxDataViewItemArray const& items); 393 394 // 395 // model related methods 396 // 397 virtual bool AssociateModel(wxDataViewModel* model); 398 399 // 400 // selection related methods (inherited from wxDataViewWidgetImpl) 401 // 402 virtual wxDataViewItem GetCurrentItem() const; 403 virtual void SetCurrentItem(const wxDataViewItem& item); 404 virtual wxDataViewColumn *GetCurrentColumn() const; 405 virtual int GetSelectedItemsCount() const; 406 virtual int GetSelections(wxDataViewItemArray& sel) const; 407 virtual bool IsSelected (wxDataViewItem const& item) const; 408 virtual void Select (wxDataViewItem const& item); 409 virtual void SelectAll (); 410 virtual void Unselect (wxDataViewItem const& item); 411 virtual void UnselectAll (); 412 413 // 414 // sorting related methods 415 // 416 virtual wxDataViewColumn* GetSortingColumn () const; 417 virtual void Resort (); 418 419 // 420 // other methods (inherited from wxDataViewWidgetImpl) 421 // 422 virtual void DoSetIndent (int indent); 423 virtual void HitTest (wxPoint const& point, wxDataViewItem& item, wxDataViewColumn*& columnPtr) const; 424 virtual void SetRowHeight(wxDataViewItem const& item, unsigned int height); 425 virtual void OnSize (); 426 427 virtual void StartEditor( const wxDataViewItem & item, unsigned int column ); 428 429 // 430 // other methods 431 // GetDataViewCtrl()432 wxDataViewCtrl* GetDataViewCtrl() const 433 { 434 return dynamic_cast<wxDataViewCtrl*>(GetWXPeer()); 435 } 436 437 protected: 438 // 439 // standard callback functions (inherited from wxMacDataBrowserTableViewControl) 440 // 441 virtual Boolean DataBrowserCompareProc (DataBrowserItemID itemOneID, DataBrowserItemID itemTwoID, DataBrowserPropertyID sortProperty); 442 virtual void DataBrowserItemNotificationProc (DataBrowserItemID itemID, DataBrowserItemNotification message, DataBrowserItemDataRef itemData); 443 virtual void DataBrowserGetContextualMenuProc(MenuRef* menu, UInt32* helpType, CFStringRef* helpItemString, AEDesc* selection); 444 virtual OSStatus DataBrowserGetSetItemDataProc (DataBrowserItemID itemID, DataBrowserPropertyID propertyID, DataBrowserItemDataRef itemData, Boolean getValue); 445 446 // 447 // callback functions for customized types (inherited from wxMacDataBrowserTableViewControl) 448 // 449 virtual void DataBrowserDrawItemProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, DataBrowserItemState state, Rect const* rectangle, SInt16 bitDepth, Boolean colorDevice); 450 virtual Boolean DataBrowserEditItemProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, CFStringRef theString, Rect* maxEditTextRect, Boolean* shrinkToFit); 451 virtual Boolean DataBrowserHitTestProc (DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Rect const* mouseRect); 452 virtual DataBrowserTrackingResult DataBrowserTrackingProc(DataBrowserItemID itemID, DataBrowserPropertyID propertyID, Rect const* theRect, Point startPt, EventModifiers modifiers); 453 454 // 455 // callback functions for drag & drop (inherited from wxMacDataBrowserTableViewControl) 456 // 457 virtual Boolean DataBrowserAcceptDragProc (DragReference dragRef, DataBrowserItemID itemID); 458 virtual Boolean DataBrowserAddDragItemProc(DragReference dragRef, DataBrowserItemID itemID, ItemReference* itemRef); 459 virtual Boolean DataBrowserReceiveDragProc(DragReference dragRef, DataBrowserItemID itemID); 460 461 // 462 // drag & drop helper methods 463 // 464 wxDataFormat GetDnDDataFormat(wxDataObjectComposite* dataObjects); 465 wxDataObjectComposite* GetDnDDataObjects(DragReference dragRef, ItemReference itemRef) const; // create the data objects from the native dragged object 466 467 // 468 // other methods 469 // 470 wxDataViewColumn* GetColumnPtr(DataBrowserPropertyID propertyID) const; // returns for the passed property the corresponding pointer to a column; NULL is returned if not found 471 472 private: 473 }; 474 475 typedef wxMacDataViewDataBrowserListViewControl* wxMacDataViewDataBrowserListViewControlPointer; 476 477 #endif // WX_GUI 478 #endif // _WX_MACCARBONDATAVIEWCTRL_H_ 479