PageRenderTime 17ms CodeModel.GetById 19ms app.highlight 71ms RepoModel.GetById 1ms app.codeStats 0ms

/packages/univint/src/HIDataBrowser.pas

https://github.com/slibre/freepascal
Pascal | 3927 lines | 552 code | 414 blank | 2961 comment | 0 complexity | 41ae207593f8851d27d36822a1399985 MD5 | raw file
Possible License(s): LGPL-2.0, LGPL-2.1, LGPL-3.0
   1{
   2     File:       HIToolbox/HIDataBrowser.h
   3 
   4     Contains:   API and type definitions related to Data Browser.
   5 
   6     Version:    HIToolbox-624~3
   7 
   8     Copyright:   1999-2008 by Apple Computer, Inc., all rights reserved.
   9 
  10     Bugs?:      For bug reports, consult the following page on
  11                 the World Wide Web:
  12 
  13                     http://www.freepascal.org/bugs.html
  14 
  15}
  16{       Initial Pascal Translation:  Jonas Maebe, <jonas@freepascal.org>, October 2009 }
  17{       Pascal Translation Updated:  Gorazd Krosl, <gorazd_1957@yahoo.ca>, October 2009 }
  18{       Pascal Translation Updated:  Jonas Maebe, <jonas@freepascal.org>, October 2012 }
  19{
  20    Modified for use with Free Pascal
  21    Version 308
  22    Please report any bugs to <gpc@microbizz.nl>
  23}
  24
  25{$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  26{$mode macpas}
  27{$packenum 1}
  28{$macro on}
  29{$inline on}
  30{$calling mwpascal}
  31
  32unit HIDataBrowser;
  33interface
  34{$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  35{$setc GAP_INTERFACES_VERSION := $0308}
  36
  37{$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  38    {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  39{$endc}
  40
  41{$ifc defined CPUPOWERPC and defined CPUI386}
  42	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  43{$endc}
  44{$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  45	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  46{$endc}
  47
  48{$ifc not defined __ppc__ and defined CPUPOWERPC32}
  49	{$setc __ppc__ := 1}
  50{$elsec}
  51	{$setc __ppc__ := 0}
  52{$endc}
  53{$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  54	{$setc __ppc64__ := 1}
  55{$elsec}
  56	{$setc __ppc64__ := 0}
  57{$endc}
  58{$ifc not defined __i386__ and defined CPUI386}
  59	{$setc __i386__ := 1}
  60{$elsec}
  61	{$setc __i386__ := 0}
  62{$endc}
  63{$ifc not defined __x86_64__ and defined CPUX86_64}
  64	{$setc __x86_64__ := 1}
  65{$elsec}
  66	{$setc __x86_64__ := 0}
  67{$endc}
  68{$ifc not defined __arm__ and defined CPUARM}
  69	{$setc __arm__ := 1}
  70{$elsec}
  71	{$setc __arm__ := 0}
  72{$endc}
  73
  74{$ifc defined cpu64}
  75  {$setc __LP64__ := 1}
  76{$elsec}
  77  {$setc __LP64__ := 0}
  78{$endc}
  79
  80
  81{$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  82	{$error Conflicting definitions for __ppc__ and __i386__}
  83{$endc}
  84
  85{$ifc defined __ppc__ and __ppc__}
  86	{$setc TARGET_CPU_PPC := TRUE}
  87	{$setc TARGET_CPU_PPC64 := FALSE}
  88	{$setc TARGET_CPU_X86 := FALSE}
  89	{$setc TARGET_CPU_X86_64 := FALSE}
  90	{$setc TARGET_CPU_ARM := FALSE}
  91	{$setc TARGET_OS_MAC := TRUE}
  92	{$setc TARGET_OS_IPHONE := FALSE}
  93	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
  94	{$setc TARGET_OS_EMBEDDED := FALSE}
  95{$elifc defined __ppc64__ and __ppc64__}
  96	{$setc TARGET_CPU_PPC := FALSE}
  97	{$setc TARGET_CPU_PPC64 := TRUE}
  98	{$setc TARGET_CPU_X86 := FALSE}
  99	{$setc TARGET_CPU_X86_64 := FALSE}
 100	{$setc TARGET_CPU_ARM := FALSE}
 101	{$setc TARGET_OS_MAC := TRUE}
 102	{$setc TARGET_OS_IPHONE := FALSE}
 103	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 104	{$setc TARGET_OS_EMBEDDED := FALSE}
 105{$elifc defined __i386__ and __i386__}
 106	{$setc TARGET_CPU_PPC := FALSE}
 107	{$setc TARGET_CPU_PPC64 := FALSE}
 108	{$setc TARGET_CPU_X86 := TRUE}
 109	{$setc TARGET_CPU_X86_64 := FALSE}
 110	{$setc TARGET_CPU_ARM := FALSE}
 111{$ifc defined(iphonesim)}
 112 	{$setc TARGET_OS_MAC := FALSE}
 113	{$setc TARGET_OS_IPHONE := TRUE}
 114	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
 115{$elsec}
 116	{$setc TARGET_OS_MAC := TRUE}
 117	{$setc TARGET_OS_IPHONE := FALSE}
 118	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 119{$endc}
 120	{$setc TARGET_OS_EMBEDDED := FALSE}
 121{$elifc defined __x86_64__ and __x86_64__}
 122	{$setc TARGET_CPU_PPC := FALSE}
 123	{$setc TARGET_CPU_PPC64 := FALSE}
 124	{$setc TARGET_CPU_X86 := FALSE}
 125	{$setc TARGET_CPU_X86_64 := TRUE}
 126	{$setc TARGET_CPU_ARM := FALSE}
 127	{$setc TARGET_OS_MAC := TRUE}
 128	{$setc TARGET_OS_IPHONE := FALSE}
 129	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 130	{$setc TARGET_OS_EMBEDDED := FALSE}
 131{$elifc defined __arm__ and __arm__}
 132	{$setc TARGET_CPU_PPC := FALSE}
 133	{$setc TARGET_CPU_PPC64 := FALSE}
 134	{$setc TARGET_CPU_X86 := FALSE}
 135	{$setc TARGET_CPU_X86_64 := FALSE}
 136	{$setc TARGET_CPU_ARM := TRUE}
 137	{ will require compiler define when/if other Apple devices with ARM cpus ship }
 138	{$setc TARGET_OS_MAC := FALSE}
 139	{$setc TARGET_OS_IPHONE := TRUE}
 140	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
 141	{$setc TARGET_OS_EMBEDDED := TRUE}
 142{$elsec}
 143	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
 144{$endc}
 145
 146{$ifc defined __LP64__ and __LP64__ }
 147  {$setc TARGET_CPU_64 := TRUE}
 148{$elsec}
 149  {$setc TARGET_CPU_64 := FALSE}
 150{$endc}
 151
 152{$ifc defined FPC_BIG_ENDIAN}
 153	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
 154	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
 155{$elifc defined FPC_LITTLE_ENDIAN}
 156	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
 157	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
 158{$elsec}
 159	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
 160{$endc}
 161{$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
 162{$setc CALL_NOT_IN_CARBON := FALSE}
 163{$setc OLDROUTINENAMES := FALSE}
 164{$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
 165{$setc OPAQUE_UPP_TYPES := TRUE}
 166{$setc OTCARBONAPPLICATION := TRUE}
 167{$setc OTKERNEL := FALSE}
 168{$setc PM_USE_SESSION_APIS := TRUE}
 169{$setc TARGET_API_MAC_CARBON := TRUE}
 170{$setc TARGET_API_MAC_OS8 := FALSE}
 171{$setc TARGET_API_MAC_OSX := TRUE}
 172{$setc TARGET_CARBON := TRUE}
 173{$setc TARGET_CPU_68K := FALSE}
 174{$setc TARGET_CPU_MIPS := FALSE}
 175{$setc TARGET_CPU_SPARC := FALSE}
 176{$setc TARGET_OS_UNIX := FALSE}
 177{$setc TARGET_OS_WIN32 := FALSE}
 178{$setc TARGET_RT_MAC_68881 := FALSE}
 179{$setc TARGET_RT_MAC_CFM := FALSE}
 180{$setc TARGET_RT_MAC_MACHO := TRUE}
 181{$setc TYPED_FUNCTION_POINTERS := TRUE}
 182{$setc TYPE_BOOL := FALSE}
 183{$setc TYPE_EXTENDED := FALSE}
 184{$setc TYPE_LONGLONG := TRUE}
 185uses MacTypes,TextEdit,AXUIElement,AEDataModel,CFBase,Events,QuickdrawTypes,IconsCore,Icons,CFData,CFDictionary,DateTimeUtils,Drag,TextCommon,Appearance,CarbonEvents,Controls,Lists,MacHelp,Menus,CFString,CGBase,HIObject;
 186{$endc} {not MACOSALLINCLUDE}
 187
 188
 189{$ifc TARGET_OS_MAC}
 190
 191
 192{}
 193{     DATA BROWSER                                                                    }
 194{     (CDEF 29)                                                                        }
 195{}
 196{  This control implements a user interface component for browsing (optionally)        }
 197{  hiearchical data structures. The browser supports multiple presentation styles      }
 198{  including, but not limited to:                                                      }
 199{      kDataBrowserListView   - items and item properties in                           }
 200{                               multi-column (optionally outline) format               }
 201{      kDataBrowserColumnView - in-place browsing using fixed navigation columns       }
 202{  The browser manages all view styles through a single high-level interface.          }
 203{  The high-level interface makes the following assumptions:                           }
 204{      - Items have unique 32-bit identifiers (0 is reserved)                          }
 205{      - Items have two kinds of named and typed properties:                           }
 206{           - Predefined attribute properties ( < 1024 )                               }
 207{             (including some display properties)                                      }
 208{           - Client-defined display properties ( >= 1024 )                            }
 209{      - Some items are containers of other items                                      }
 210{      - Items may be sorted by any property                                           }
 211{  Because a browser doesn't know all details about the type of objects it manages,    }
 212{  some implementation responsibility is best handled by its client. The client must   }
 213{  provide a set of callback routines which define the item hierarchy and help to      }
 214{  populate the browser with items. The client may also provide callbacks for handling }
 215{  custom data types and doing low-level event management.                             }
 216{  The API is subdivided into a "universal" set of routines that applies to all view   }
 217{  styles, and a set of routines unique to each view style. kDataBrowserListView and   }
 218{  kDataBrowserColumnView share an (internal) TableView abstract base class. The       }
 219{  TableView formatting options and API applies to both of these view styles.          }
 220{  NOTE: This control is only available with CarbonLib 1.1.                            }
 221{  NOTE: This control must be created with the CreateDataBrowserControl API in         }
 222{        CarbonLib 1.1 through 1.4. In Mac OS X and CarbonLib 1.5 and later, you       }
 223{        may use the control's procID (29) to create the control with NewControl       }
 224{        or with a 'CNTL' resource.                                                    }
 225{ The HIObject class ID for the HIDataBrowser class. }
 226
 227
 228{$ALIGN MAC68K}
 229
 230{$ifc USE_CFSTR_CONSTANT_MACROS}
 231{$definec kHIDataBrowserClassID CFSTRP('com.apple.HIDataBrowser')}
 232{$endc}
 233{ Control Kind Tag }
 234const
 235	kControlKindDataBrowser = FourCharCode('datb');
 236
 237{ Error Codes }
 238const
 239	errDataBrowserNotConfigured = -4970;
 240	errDataBrowserItemNotFound = -4971;
 241	errDataBrowserItemNotAdded = -4975;
 242	errDataBrowserPropertyNotFound = -4972;
 243	errDataBrowserInvalidPropertyPart = -4973;
 244	errDataBrowserInvalidPropertyData = -4974;
 245	errDataBrowserPropertyNotSupported = -4979; { Return from DataBrowserGetSetItemDataProc }
 246
 247const
 248{ Generic Control Tags }
 249	kControlDataBrowserIncludesFrameAndFocusTag = FourCharCode('brdr'); { Boolean }
 250	kControlDataBrowserKeyFilterTag = kControlKeyFilterTag;
 251	kControlDataBrowserEditTextKeyFilterTag = kControlDataBrowserKeyFilterTag;
 252	kControlDataBrowserEditTextValidationProcTag = FourCharCode('vali'); { ControlEditTextValidationUPP. Called when a key filter can't be: after cut, paste, etc.}
 253
 254{ Data Browser View Styles }
 255type
 256	DataBrowserViewStyle = OSType;
 257const
 258	kDataBrowserNoView = $3F3F3F3F; { Error State }
 259	kDataBrowserListView = FourCharCode('lstv');
 260	kDataBrowserColumnView = FourCharCode('clmv');
 261
 262{ Selection Flags }
 263type
 264	DataBrowserSelectionFlags = UInt32;
 265const
 266	kDataBrowserDragSelect = 1 shl 0; {  ListMgr lNoRect }
 267	kDataBrowserSelectOnlyOne = 1 shl 1; {  ListMgr lOnlyOne }
 268	kDataBrowserResetSelection = 1 shl 2; {  ListMgr lNoExtend }
 269	kDataBrowserCmdTogglesSelection = 1 shl 3; {  ListMgr lUseSense }
 270	kDataBrowserNoDisjointSelection = 1 shl 4; {  ListMgr lNoDisjoint }
 271	kDataBrowserAlwaysExtendSelection = 1 shl 5; {  ListMgr lExtendDrag }
 272	kDataBrowserNeverEmptySelectionSet = 1 shl 6; {  ListMgr lNoNilHilite }
 273
 274{ Data Browser Sorting }
 275type
 276	DataBrowserSortOrder = UInt16;
 277const
 278	kDataBrowserOrderUndefined = 0;    { Not currently supported }
 279	kDataBrowserOrderIncreasing = 1;
 280	kDataBrowserOrderDecreasing = 2;
 281
 282{ Data Browser Item Management }
 283type
 284	DataBrowserItemID = UNSIGNEDLONG;
 285	DataBrowserItemIDPtr = ^DataBrowserItemID;
 286const
 287	kDataBrowserNoItem = 0;     { Reserved DataBrowserItemID }
 288
 289type
 290	DataBrowserItemState = UInt32;
 291const
 292	kDataBrowserItemNoState = 0;
 293	kDataBrowserItemAnyState = $FFFFFFFF;
 294	kDataBrowserItemIsSelected = 1 shl 0;
 295	kDataBrowserContainerIsOpen = 1 shl 1;
 296	kDataBrowserItemIsDragTarget = 1 shl 2; { During a drag operation }
 297
 298{ Options for use with RevealDataBrowserItem }
 299type
 300	DataBrowserRevealOptions = UInt8;
 301const
 302	kDataBrowserRevealOnly = 0;
 303	kDataBrowserRevealAndCenterInView = 1 shl 0;
 304	kDataBrowserRevealWithoutSelecting = 1 shl 1;
 305
 306{ Set operations for use with SetDataBrowserSelectedItems }
 307type
 308	DataBrowserSetOption = UInt32;
 309const
 310	kDataBrowserItemsAdd = 0;    { add specified items to existing set }
 311	kDataBrowserItemsAssign = 1;    { assign destination set to specified items }
 312	kDataBrowserItemsToggle = 2;    { toggle membership state of specified items }
 313	kDataBrowserItemsRemove = 3;     { remove specified items from existing set }
 314
 315{ Commands for use with MoveDataBrowserSelectionAnchor }
 316type
 317	DataBrowserSelectionAnchorDirection = UInt32;
 318const
 319	kDataBrowserSelectionAnchorUp = 0;
 320	kDataBrowserSelectionAnchorDown = 1;
 321	kDataBrowserSelectionAnchorLeft = 2;
 322	kDataBrowserSelectionAnchorRight = 3;
 323
 324{ Edit menu command IDs for use with Enable/ExecuteDataBrowserEditCommand }
 325type
 326	DataBrowserEditCommand = UInt32;
 327const
 328	kDataBrowserEditMsgUndo = kHICommandUndo;
 329	kDataBrowserEditMsgRedo = kHICommandRedo;
 330	kDataBrowserEditMsgCut = kHICommandCut;
 331	kDataBrowserEditMsgCopy = kHICommandCopy;
 332	kDataBrowserEditMsgPaste = kHICommandPaste;
 333	kDataBrowserEditMsgClear = kHICommandClear;
 334	kDataBrowserEditMsgSelectAll = kHICommandSelectAll;
 335
 336{ Notifications used in DataBrowserItemNotificationProcPtr }
 337type
 338	DataBrowserItemNotification = UInt32;
 339const
 340	kDataBrowserItemAdded = 1;    { The specified item has been added to the browser }
 341	kDataBrowserItemRemoved = 2;    { The specified item has been removed from the browser }
 342	kDataBrowserEditStarted = 3;    { Starting an EditText session for specified item }
 343	kDataBrowserEditStopped = 4;    { Stopping an EditText session for specified item }
 344	kDataBrowserItemSelected = 5;    { Item has just been added to the selection set }
 345	kDataBrowserItemDeselected = 6;    { Item has just been removed from the selection set }
 346	kDataBrowserItemDoubleClicked = 7;
 347	kDataBrowserContainerOpened = 8;    { Container is open }
 348	kDataBrowserContainerClosing = 9;    { Container is about to close (and will real soon now, y'all) }
 349	kDataBrowserContainerClosed = 10;   { Container is closed (y'all come back now!) }
 350	kDataBrowserContainerSorting = 11;   { Container is about to be sorted (lock any volatile properties) }
 351	kDataBrowserContainerSorted = 12;   { Container has been sorted (you may release any property locks) }
 352	kDataBrowserUserToggledContainer = 16; { _User_ requested container open/close state to be toggled }
 353	kDataBrowserTargetChanged = 15;   { The target has changed to the specified item }
 354	kDataBrowserUserStateChanged = 13;   { The user has reformatted the view for the target }
 355	kDataBrowserSelectionSetChanged = 14;  { The selection set has been modified (net result may be the same) }
 356
 357
 358{
 359 *  DataBrowserPropertyID
 360 *  
 361 *  Discussion:
 362 *    Properties with values 0 through 1023 are reserved for Apple's
 363 *    use. Values greater than or equal to 1024 are for client use.
 364 }
 365const
 366{ Predefined attribute properties, optional & non-display unless otherwise stated }
 367	kDataBrowserItemNoProperty = 0;    { The anti-property (no associated data) }
 368	kDataBrowserItemIsActiveProperty = 1; { Boolean typed data (defaults to true) }
 369	kDataBrowserItemIsSelectableProperty = 2; { Boolean typed data (defaults to true) }
 370	kDataBrowserItemIsEditableProperty = 3; { Boolean typed data (defaults to false, used for editable properties) }
 371	kDataBrowserItemIsContainerProperty = 4; { Boolean typed data (defaults to false) }
 372	kDataBrowserContainerIsOpenableProperty = 5; { Boolean typed data (defaults to true) }
 373	kDataBrowserContainerIsClosableProperty = 6; { Boolean typed data (defaults to true) }
 374	kDataBrowserContainerIsSortableProperty = 7; { Boolean typed data (defaults to true) }
 375	kDataBrowserItemSelfIdentityProperty = 8; { kDataBrowserIconAndTextType (display property; ColumnView only) }
 376
 377  {
 378   * kDataBrowserContainerAliasIDProperty is sent to your
 379   * DataBrowserItemDataProcPtr callback to give you a chance to follow
 380   * an alias or symlink that the item might represent. If the incoming
 381   * item is an alias to another item, you can call
 382   * SetDataBrowserItemDataItemID to let Data Browser know which other
 383   * item the incoming item points to. 
 384   * 
 385   * This is only sent from column view, and your support for it is
 386   * optional. It allows Data Browser to be more memory efficient with
 387   * its internal storage. If a given container item is an alias to an
 388   * item whose contents are already displayed in an existing column
 389   * view column, the contents can be shared between those two columns.
 390   }
 391	kDataBrowserContainerAliasIDProperty = 9; { DataBrowserItemID (alias/symlink an item to a container item) }
 392
 393  {
 394   * kDataBrowserColumnViewPreviewProperty is sent to various callbacks
 395   * to give you a chance to draw or track in the preview column of
 396   * column view. 
 397   * 
 398   * You can also pass kDataBrowserColumnViewPreviewProperty in the
 399   * property parameter of RevealDataBrowserItem in conjunction with
 400   * the appropriate DataBrowserItemID of the item whose preview is
 401   * being displayed when you want to make sure the preview column is
 402   * visible to the user. 
 403   * 
 404   * kDataBrowserColumnViewPreviewProperty is only supported in column
 405   * view.
 406   }
 407	kDataBrowserColumnViewPreviewProperty = 10; { kDataBrowserCustomType (display property; ColumnView only) }
 408
 409  {
 410   * kDataBrowserItemParentContainerProperty is sent to your
 411   * DataBrowserItemDataProcPtr callback when Data Browser needs to
 412   * know the parent container item for a given item. 
 413   * 
 414   * In column view, this allows the internals of SetDataBrowserTarget
 415   * to work. The target is the container whose contents you wish to
 416   * display, which is the rightmost column in column view. However,
 417   * unlike SetDataBrowserColumnViewPath, SetDataBrowserTarget doesn't
 418   * offer a way for you to communicate the DataBrowserItemIDs of the
 419   * rest of the column containers, so SetDataBrowserTarget needs to
 420   * ask for them explicitly by asking for the container's parent, then
 421   * the container's parent's parent, and so on. 
 422   * 
 423   * In list view, this allows you to pass a non-container to
 424   * SetDataBrowserTarget. In this situation, Data Browser will ask you
 425   * for the parent of the target so it knows which container to
 426   * display the contents of in the list view. 
 427   * 
 428   * In both list and column views, your DataBrowserItemDataProcPtr
 429   * callback might be called with
 430   * kDataBrowserItemParentContainerProperty at a variety of other
 431   * times, so you should be sure to support this property if your Data
 432   * Browser displays a containment hierarchy.
 433   }
 434	kDataBrowserItemParentContainerProperty = 11; { DataBrowserItemID (the parent of the specified item, used by ColumnView) }
 435
 436type
 437	DataBrowserPropertyID = UNSIGNEDLONG;
 438{ DataBrowser Property Types (for display properties; i.e. ListView columns) }
 439{      These are primarily presentation types (or styles) although         }
 440{      they also imply a particular set of primitive types or structures.  }
 441type
 442	DataBrowserPropertyType = OSType;
 443const
 444{ == Corresponding data type or structure == }
 445	kDataBrowserCustomType = $3F3F3F3F; { No associated data, custom callbacks used }
 446	kDataBrowserIconType = FourCharCode('icnr'); { IconRef, IconTransformType, RGBColor }
 447	kDataBrowserTextType = FourCharCode('text'); { CFStringRef }
 448	kDataBrowserDateTimeType = FourCharCode('date'); { DateTime or LongDateTime }
 449	kDataBrowserSliderType = FourCharCode('sldr'); { Min, Max, Value }
 450	kDataBrowserCheckboxType = FourCharCode('chbx'); { ThemeButtonValue }
 451	kDataBrowserProgressBarType = FourCharCode('prog'); { Min, Max, Value }
 452	kDataBrowserRelevanceRankType = FourCharCode('rank'); { Min, Max, Value }
 453	kDataBrowserPopupMenuType = FourCharCode('menu'); { MenuRef, Value }
 454	kDataBrowserIconAndTextType = FourCharCode('ticn'); { IconRef, CFStringRef, etc }
 455
 456{ DataBrowser Property Parts }
 457{      Visual components of a property type.      }
 458{      For use with GetDataBrowserItemPartBounds. }
 459type
 460	DataBrowserPropertyPart = OSType;
 461const
 462	kDataBrowserPropertyEnclosingPart = 0;
 463	kDataBrowserPropertyContentPart = FourCharCode('----');
 464	kDataBrowserPropertyDisclosurePart = FourCharCode('disc');
 465	kDataBrowserPropertyTextPart = kDataBrowserTextType;
 466	kDataBrowserPropertyIconPart = kDataBrowserIconType;
 467	kDataBrowserPropertySliderPart = kDataBrowserSliderType;
 468	kDataBrowserPropertyCheckboxPart = kDataBrowserCheckboxType;
 469	kDataBrowserPropertyProgressBarPart = kDataBrowserProgressBarType;
 470	kDataBrowserPropertyRelevanceRankPart = kDataBrowserRelevanceRankType;
 471
 472{ Modify appearance/behavior of display properties }
 473type
 474	DataBrowserPropertyFlags = UInt32;
 475{ Low 8 bits apply to all property types }
 476const
 477	kDataBrowserUniversalPropertyFlagsMask = $FF;
 478	kDataBrowserPropertyIsMutable = 1 shl 0;
 479	kDataBrowserDefaultPropertyFlags = 0 shl 0;
 480	kDataBrowserUniversalPropertyFlags = kDataBrowserUniversalPropertyFlagsMask; { support for an old name}
 481	kDataBrowserPropertyIsEditable = kDataBrowserPropertyIsMutable; { support for an old name}
 482
 483{ Next 8 bits contain property-specific modifiers }
 484
 485{
 486 *  Summary:
 487 *    Data Browser Property Flags
 488 }
 489const
 490	kDataBrowserPropertyFlagsOffset = 8;
 491	kDataBrowserPropertyFlagsMask = $FF shl kDataBrowserPropertyFlagsOffset;
 492	kDataBrowserCheckboxTriState = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserCheckboxType}
 493	kDataBrowserDateTimeRelative = 1 shl (kDataBrowserPropertyFlagsOffset); { kDataBrowserDateTimeType }
 494	kDataBrowserDateTimeDateOnly = 1 shl (kDataBrowserPropertyFlagsOffset + 1); { kDataBrowserDateTimeType }
 495	kDataBrowserDateTimeTimeOnly = 1 shl (kDataBrowserPropertyFlagsOffset + 2); { kDataBrowserDateTimeType }
 496	kDataBrowserDateTimeSecondsToo = 1 shl (kDataBrowserPropertyFlagsOffset + 3); { kDataBrowserDateTimeType }
 497	kDataBrowserSliderPlainThumb = kThemeThumbPlain shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
 498	kDataBrowserSliderUpwardThumb = kThemeThumbUpward shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
 499	kDataBrowserSliderDownwardThumb = kThemeThumbDownward shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
 500	kDataBrowserDoNotTruncateText = 3 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
 501	kDataBrowserTruncateTextAtEnd = 2 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
 502	kDataBrowserTruncateTextMiddle = 0 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
 503	kDataBrowserTruncateTextAtStart = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
 504
 505  {
 506   * This flag is only for use with columns of type
 507   * kDataBrowserPopupMenuType. This flag indicates that the popup be
 508   * drawn in a sleek buttonless fashion. The text will be drawn next
 509   * to a popup glyph, and the whole cell will be clickable. Available
 510   * on 10.4 and later.
 511   }
 512	kDataBrowserPopupMenuButtonless = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserPopupMenuType}
 513	kDataBrowserPropertyModificationFlags = kDataBrowserPropertyFlagsMask; { support for an old name}
 514	kDataBrowserRelativeDateTime = kDataBrowserDateTimeRelative; { support for an old name}
 515
 516{
 517   Next 8 bits contain viewStyle-specific modifiers 
 518   See individual ViewStyle sections below for flag definitions 
 519}
 520const
 521	kDataBrowserViewSpecificFlagsOffset = 16;
 522	kDataBrowserViewSpecificFlagsMask = $FF shl kDataBrowserViewSpecificFlagsOffset;
 523	kDataBrowserViewSpecificPropertyFlags = kDataBrowserViewSpecificFlagsMask; { support for an old name}
 524
 525{ High 8 bits are reserved for client application use }
 526const
 527	kDataBrowserClientPropertyFlagsOffset = 24;
 528	kDataBrowserClientPropertyFlagsMask = $FF shl kDataBrowserClientPropertyFlagsOffset;
 529
 530{ Client defined property description }
 531type
 532	DataBrowserPropertyDescPtr = ^DataBrowserPropertyDesc;
 533	DataBrowserPropertyDesc = record
 534		propertyID: DataBrowserPropertyID;
 535		propertyType: DataBrowserPropertyType;
 536		propertyFlags: DataBrowserPropertyFlags;
 537	end;
 538{ Callback definition for use with ForEachDataBrowserItem }
 539type
 540	DataBrowserItemProcPtr = procedure( item: DataBrowserItemID; state: DataBrowserItemState; clientData: UnivPtr );
 541	DataBrowserItemUPP = DataBrowserItemProcPtr;
 542{
 543 *  NewDataBrowserItemUPP()
 544 *  
 545 *  Availability:
 546 *    Mac OS X:         in version 10.0 and later in Carbon.framework
 547 *    CarbonLib:        in CarbonLib 1.1 and later
 548 *    Non-Carbon CFM:   not available
 549 }
 550function NewDataBrowserItemUPP( userRoutine: DataBrowserItemProcPtr ): DataBrowserItemUPP; external name '_NewDataBrowserItemUPP';
 551(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 552
 553{
 554 *  DisposeDataBrowserItemUPP()
 555 *  
 556 *  Availability:
 557 *    Mac OS X:         in version 10.0 and later in Carbon.framework
 558 *    CarbonLib:        in CarbonLib 1.1 and later
 559 *    Non-Carbon CFM:   not available
 560 }
 561procedure DisposeDataBrowserItemUPP( userUPP: DataBrowserItemUPP ); external name '_DisposeDataBrowserItemUPP';
 562(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 563
 564{
 565 *  InvokeDataBrowserItemUPP()
 566 *  
 567 *  Availability:
 568 *    Mac OS X:         in version 10.0 and later in Carbon.framework
 569 *    CarbonLib:        in CarbonLib 1.1 and later
 570 *    Non-Carbon CFM:   not available
 571 }
 572procedure InvokeDataBrowserItemUPP( item: DataBrowserItemID; state: DataBrowserItemState; clientData: UnivPtr; userUPP: DataBrowserItemUPP ); external name '_InvokeDataBrowserItemUPP';
 573(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 574
 575{ Creation/Configuration }
 576{$ifc not TARGET_CPU_64}
 577{
 578 *  CreateDataBrowserControl()
 579 *  
 580 *  Mac OS X threading:
 581 *    Not thread safe
 582 *  
 583 *  Availability:
 584 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 585 *    CarbonLib:        in CarbonLib 1.1 and later
 586 *    Non-Carbon CFM:   not available
 587 }
 588function CreateDataBrowserControl( window: WindowRef; const (*var*) boundsRect: Rect; style: DataBrowserViewStyle; var outControl: ControlRef ): OSStatus; external name '_CreateDataBrowserControl';
 589(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 590
 591
 592{
 593 *  GetDataBrowserViewStyle()
 594 *  
 595 *  Mac OS X threading:
 596 *    Not thread safe
 597 *  
 598 *  Availability:
 599 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 600 *    CarbonLib:        in CarbonLib 1.1 and later
 601 *    Non-Carbon CFM:   not available
 602 }
 603function GetDataBrowserViewStyle( browser: ControlRef; var style: DataBrowserViewStyle ): OSStatus; external name '_GetDataBrowserViewStyle';
 604(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 605
 606
 607{
 608 *  SetDataBrowserViewStyle()
 609 *  
 610 *  Mac OS X threading:
 611 *    Not thread safe
 612 *  
 613 *  Availability:
 614 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 615 *    CarbonLib:        in CarbonLib 1.1 and later
 616 *    Non-Carbon CFM:   not available
 617 }
 618function SetDataBrowserViewStyle( browser: ControlRef; style: DataBrowserViewStyle ): OSStatus; external name '_SetDataBrowserViewStyle';
 619(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 620
 621
 622{$endc} {not TARGET_CPU_64}
 623
 624
 625{
 626 *  Summary:
 627 *    Data Browser attributes
 628 *  
 629 *  Discussion:
 630 *    For use with DataBrowserChangeAttributes and
 631 *    DataBrowserGetAttributes. Available in Mac OS X 10.4 and later.
 632 }
 633const
 634{
 635   * A constant with value zero; the lack of any attributes.
 636   }
 637	kDataBrowserAttributeNone = 0;
 638
 639  {
 640   * In Column View, this Data Browser is allowed to resize the owning
 641   * window whenever necessary. This includes, but is not necessarily
 642   * limited to, situations where column resize operations need more
 643   * visible space in the window. If you turn this attribute on, your
 644   * window must tolerate being resized behind your app's back. If your
 645   * window needs to react to bounds changes, use a
 646   * kEventWindowBoundsChanged event handler. If you need to constrain
 647   * your window's minimum and maximum bounds, use
 648   * kEventWindowGetMinimum/MaximumSize handlers, the
 649   * SetWindowResizeLimits API, or something similar.
 650   }
 651	kDataBrowserAttributeColumnViewResizeWindow = 1 shl 0;
 652
 653  {
 654   * In List View, this Data Browser should draw alternating row
 655   * background colors.
 656   }
 657	kDataBrowserAttributeListViewAlternatingRowColors = 1 shl 1;
 658
 659  {
 660   * In List View, this Data Browser should draw a vertical line
 661   * between the columns.
 662   }
 663	kDataBrowserAttributeListViewDrawColumnDividers = 1 shl 2;
 664
 665  {
 666   * Whether the Data Browser should hide scroll bar when they are not
 667   * necessary, and use the additional space to draw more content. By
 668   * default this attribute is turned off. This attribute is available
 669   * on Mac OS X 10.5 and later. 
 670   * As of Mac OS X 10.5, this is only respected in list view, but it
 671   * may be respected in column view in the future. If you set this now
 672   * for a Data Browser instance that uses column view, you must be
 673   * prepared for the scroll bars to auto hide in the future. This
 674   * attribute is only respected in compositing mode; it will be
 675   * ignored in non-compositing mode. 
 676   * When this attribute is turned on for a Data Browser instance that
 677   * is allowed to use both horizontal and vertical scroll bars (see
 678   * SetDataBrowserHasScrollBars), the Data Browser will attempt to use
 679   * the square space at the bottom right of the scroll bar area
 680   * whenever necessary. In other words, when the vertical scroll bar
 681   * is not necessary, the Data Browser will stretch the horizontal
 682   * scroll bar across the entire width. If your code needs Data
 683   * Browser to *not* use that square space - possibly because your
 684   * window's grow box will overlap that area - you should also turn on
 685   * the kDataBrowserAttributeReserveGrowBoxSpace attribute whenever
 686   * you turn on scroll bar auto hiding.
 687   }
 688	kDataBrowserAttributeAutoHideScrollBars = 1 shl 3;
 689
 690  {
 691   * Whether the Data Browser should avoid positioning either of its
 692   * scroll bars such that they overlap the very bottom right of the
 693   * content area, where you'd typically have a grow box. By default,
 694   * this attribute is turned off. This attribute is available on Mac
 695   * OS X 10.5 and later.
 696   }
 697	kDataBrowserAttributeReserveGrowBoxSpace = 1 shl 4;
 698
 699{$ifc not TARGET_CPU_64}
 700{
 701 *  DataBrowserChangeAttributes()
 702 *  
 703 *  Summary:
 704 *    Set the attributes for the given Data Browser.
 705 *  
 706 *  Mac OS X threading:
 707 *    Not thread safe
 708 *  
 709 *  Parameters:
 710 *    
 711 *    inDataBrowser:
 712 *      The Data Browser whose attributes to change.
 713 *    
 714 *    inAttributesToSet:
 715 *      The attributes to set.
 716 *    
 717 *    inAttributesToClear:
 718 *      The attributes to clear.
 719 *  
 720 *  Result:
 721 *    An operating system status code.
 722 *  
 723 *  Availability:
 724 *    Mac OS X:         in version 10.4 and later in Carbon.framework [32-bit only]
 725 *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
 726 *    Non-Carbon CFM:   not available
 727 }
 728function DataBrowserChangeAttributes( inDataBrowser: ControlRef; inAttributesToSet: OptionBits; inAttributesToClear: OptionBits ): OSStatus; external name '_DataBrowserChangeAttributes';
 729(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 730
 731
 732{
 733 *  DataBrowserGetAttributes()
 734 *  
 735 *  Summary:
 736 *    Returns the attributes of a given Data Browser.
 737 *  
 738 *  Mac OS X threading:
 739 *    Not thread safe
 740 *  
 741 *  Parameters:
 742 *    
 743 *    inDataBrowser:
 744 *      The Data Browser whose attributes to query.
 745 *    
 746 *    outAttributes:
 747 *      On exit, will contain the attributes of the Data Browser. This
 748 *      parameter cannot be NULL.
 749 *  
 750 *  Result:
 751 *    An operating system status code.
 752 *  
 753 *  Availability:
 754 *    Mac OS X:         in version 10.4 and later in Carbon.framework [32-bit only]
 755 *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
 756 *    Non-Carbon CFM:   not available
 757 }
 758function DataBrowserGetAttributes( inDataBrowser: ControlRef; var outAttributes: OptionBits ): OSStatus; external name '_DataBrowserGetAttributes';
 759(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 760
 761
 762{$endc} {not TARGET_CPU_64}
 763
 764
 765{
 766 *  Summary:
 767 *    DataBrowserMetric values
 768 *  
 769 *  Discussion:
 770 *    For use with DataBrowserSetMetric.
 771 }
 772const
 773{
 774   * The content (icon, text, etc.) within a cell is drawn a certain
 775   * amount in from the left & right edges of the cell. This metric
 776   * governs the amount of inset.
 777   }
 778	kDataBrowserMetricCellContentInset = 1;
 779
 780  {
 781   * This metric controls the space between the icon and text within a
 782   * column of type kDataBrowserIconAndTextType.
 783   }
 784	kDataBrowserMetricIconAndTextGap = 2;
 785
 786  {
 787   * In List View only, this metric is similar to
 788   * kDataBrowserMetricCellContentInset, but it only affects the
 789   * disclosure column and it only affects the side of the cell that
 790   * displays the disclosure triangle. In other words, this metric is
 791   * used instead of (not in addition to)
 792   * DataBrowserMetricCellContentInset for one side of the disclosure
 793   * column.
 794   }
 795	kDataBrowserMetricDisclosureColumnEdgeInset = 3;
 796
 797  {
 798   * In List View only, this metric controls the amount of space
 799   * between the disclosure triangle and the cell's content.
 800   }
 801	kDataBrowserMetricDisclosureTriangleAndContentGap = 4;
 802
 803  {
 804   * In List View only, this metric controls the amount of space in the
 805   * disclosure column for each level of indentation in progressively
 806   * deeper hierarchies of disclosed items.
 807   }
 808	kDataBrowserMetricDisclosureColumnPerDepthGap = 5;
 809	kDataBrowserMetricLast = kDataBrowserMetricDisclosureColumnPerDepthGap;
 810
 811
 812type
 813	DataBrowserMetric = UInt32;
 814{$ifc not TARGET_CPU_64}
 815{
 816 *  DataBrowserSetMetric()
 817 *  
 818 *  Summary:
 819 *    Sets a value for a specified Data Browser metric.
 820 *  
 821 *  Mac OS X threading:
 822 *    Not thread safe
 823 *  
 824 *  Parameters:
 825 *    
 826 *    inDataBrowser:
 827 *      The Data Browser instance whose metric is being changed.
 828 *    
 829 *    inMetric:
 830 *      The DataBrowserMetric whose value is being changed.
 831 *    
 832 *    inUseDefaultValue:
 833 *      A Boolean indicating whether you want the Data Browser instance
 834 *      to revert to the default value for the metric. If you pass
 835 *      true, inValue will be ignored and a suitable default value will
 836 *      be used. If you pass false, inValue will be used as the value
 837 *      of the metric.
 838 *    
 839 *    inValue:
 840 *      When you pass false for inUseDefaultValue, this parameter is
 841 *      the value to use for the metric.
 842 *  
 843 *  Result:
 844 *    An operating system status code. If the incoming ControlRef isn't
 845 *    a Data Browser instance, or if the incoming metric isn't known,
 846 *    this function will return paramErr.
 847 *  
 848 *  Availability:
 849 *    Mac OS X:         in version 10.4 and later in Carbon.framework [32-bit only]
 850 *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
 851 *    Non-Carbon CFM:   not available
 852 }
 853function DataBrowserSetMetric( inDataBrowser: ControlRef; inMetric: DataBrowserMetric; inUseDefaultValue: Boolean; inValue: CGFloat ): OSStatus; external name '_DataBrowserSetMetric';
 854(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 855
 856
 857{
 858 *  DataBrowserGetMetric()
 859 *  
 860 *  Summary:
 861 *    Gets the value for a specified Data Browser metric.
 862 *  
 863 *  Mac OS X threading:
 864 *    Not thread safe
 865 *  
 866 *  Parameters:
 867 *    
 868 *    inDataBrowser:
 869 *      The Data Browser instance whose metric value to get.
 870 *    
 871 *    inMetric:
 872 *      The DataBrowserMetric value to get.
 873 *    
 874 *    outUsingDefaultValue:
 875 *      On exit, this is a Boolean indicating whether the metric's
 876 *      value is determined by Data Browser's default values. You may
 877 *      pass NULL if you don't need this information.
 878 *    
 879 *    outValue:
 880 *      On exit, this is the value of the metric.
 881 *  
 882 *  Result:
 883 *    An operating system status code. If the incoming ControlRef isn't
 884 *    a Data Browser instance, or if the incoming metric isn't known,
 885 *    this function will return paramErr.
 886 *  
 887 *  Availability:
 888 *    Mac OS X:         in version 10.4 and later in Carbon.framework [32-bit only]
 889 *    CarbonLib:        not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
 890 *    Non-Carbon CFM:   not available
 891 }
 892function DataBrowserGetMetric( inDataBrowser: ControlRef; inMetric: DataBrowserMetric; outUsingDefaultValue: BooleanPtr { can be NULL }; var outValue: CGFloat ): OSStatus; external name '_DataBrowserGetMetric';
 893(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
 894
 895
 896{ Item Manipulation }
 897{ Passing NULL for "items" argument to RemoveDataBrowserItems and }
 898{ UpdateDataBrowserItems refers to all items in the specified container. }
 899{ Passing NULL for "items" argument to AddDataBrowserItems means }
 900{ "generate IDs starting from 1." }
 901{
 902 *  AddDataBrowserItems()
 903 *  
 904 *  Mac OS X threading:
 905 *    Not thread safe
 906 *  
 907 *  Availability:
 908 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 909 *    CarbonLib:        in CarbonLib 1.1 and later
 910 *    Non-Carbon CFM:   not available
 911 }
 912function AddDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID ): OSStatus; external name '_AddDataBrowserItems';
 913(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 914
 915
 916{
 917 *  RemoveDataBrowserItems()
 918 *  
 919 *  Mac OS X threading:
 920 *    Not thread safe
 921 *  
 922 *  Availability:
 923 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 924 *    CarbonLib:        in CarbonLib 1.1 and later
 925 *    Non-Carbon CFM:   not available
 926 }
 927function RemoveDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID ): OSStatus; external name '_RemoveDataBrowserItems';
 928(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 929
 930
 931{
 932 *  UpdateDataBrowserItems()
 933 *  
 934 *  Mac OS X threading:
 935 *    Not thread safe
 936 *  
 937 *  Availability:
 938 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 939 *    CarbonLib:        in CarbonLib 1.1 and later
 940 *    Non-Carbon CFM:   not available
 941 }
 942function UpdateDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID; propertyID: DataBrowserPropertyID ): OSStatus; external name '_UpdateDataBrowserItems';
 943(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 944
 945
 946{ Edit Menu Enabling and Handling }
 947{
 948 *  EnableDataBrowserEditCommand()
 949 *  
 950 *  Mac OS X threading:
 951 *    Not thread safe
 952 *  
 953 *  Availability:
 954 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 955 *    CarbonLib:        in CarbonLib 1.1 and later
 956 *    Non-Carbon CFM:   not available
 957 }
 958function EnableDataBrowserEditCommand( browser: ControlRef; command: DataBrowserEditCommand ): Boolean; external name '_EnableDataBrowserEditCommand';
 959(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 960
 961
 962{
 963 *  ExecuteDataBrowserEditCommand()
 964 *  
 965 *  Mac OS X threading:
 966 *    Not thread safe
 967 *  
 968 *  Availability:
 969 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 970 *    CarbonLib:        in CarbonLib 1.1 and later
 971 *    Non-Carbon CFM:   not available
 972 }
 973function ExecuteDataBrowserEditCommand( browser: ControlRef; command: DataBrowserEditCommand ): OSStatus; external name '_ExecuteDataBrowserEditCommand';
 974(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 975
 976
 977{
 978 *  GetDataBrowserSelectionAnchor()
 979 *  
 980 *  Mac OS X threading:
 981 *    Not thread safe
 982 *  
 983 *  Availability:
 984 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
 985 *    CarbonLib:        in CarbonLib 1.1 and later
 986 *    Non-Carbon CFM:   not available
 987 }
 988function GetDataBrowserSelectionAnchor( browser: ControlRef; var first: DataBrowserItemID; var last: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserSelectionAnchor';
 989(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
 990
 991
 992{
 993 *  MoveDataBrowserSelectionAnchor()
 994 *  
 995 *  Mac OS X threading:
 996 *    Not thread safe
 997 *  
 998 *  Availability:
 999 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1000 *    CarbonLib:        in CarbonLib 1.1 and later
1001 *    Non-Carbon CFM:   not available
1002 }
1003function MoveDataBrowserSelectionAnchor( browser: ControlRef; direction: DataBrowserSelectionAnchorDirection; extendSelection: Boolean ): OSStatus; external name '_MoveDataBrowserSelectionAnchor';
1004(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1005
1006
1007{ Container Manipulation }
1008{
1009 *  OpenDataBrowserContainer()
1010 *  
1011 *  Mac OS X threading:
1012 *    Not thread safe
1013 *  
1014 *  Availability:
1015 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1016 *    CarbonLib:        in CarbonLib 1.1 and later
1017 *    Non-Carbon CFM:   not available
1018 }
1019function OpenDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID ): OSStatus; external name '_OpenDataBrowserContainer';
1020(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1021
1022
1023{
1024 *  CloseDataBrowserContainer()
1025 *  
1026 *  Mac OS X threading:
1027 *    Not thread safe
1028 *  
1029 *  Availability:
1030 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1031 *    CarbonLib:        in CarbonLib 1.1 and later
1032 *    Non-Carbon CFM:   not available
1033 }
1034function CloseDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID ): OSStatus; external name '_CloseDataBrowserContainer';
1035(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1036
1037
1038{
1039 *  SortDataBrowserContainer()
1040 *  
1041 *  Mac OS X threading:
1042 *    Not thread safe
1043 *  
1044 *  Availability:
1045 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1046 *    CarbonLib:        in CarbonLib 1.1 and later
1047 *    Non-Carbon CFM:   not available
1048 }
1049function SortDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID; sortChildren: Boolean ): OSStatus; external name '_SortDataBrowserContainer';
1050(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1051
1052
1053{ Aggregate Item Access and Iteration }
1054{
1055 *  GetDataBrowserItems()
1056 *  
1057 *  Mac OS X threading:
1058 *    Not thread safe
1059 *  
1060 *  Availability:
1061 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1062 *    CarbonLib:        in CarbonLib 1.1 and later
1063 *    Non-Carbon CFM:   not available
1064 }
1065function GetDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; items: Handle ): OSStatus; external name '_GetDataBrowserItems';
1066(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1067
1068
1069{
1070 *  GetDataBrowserItemCount()
1071 *  
1072 *  Mac OS X threading:
1073 *    Not thread safe
1074 *  
1075 *  Availability:
1076 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1077 *    CarbonLib:        in CarbonLib 1.1 and later
1078 *    Non-Carbon CFM:   not available
1079 }
1080function GetDataBrowserItemCount( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; var numItems: ItemCount ): OSStatus; external name '_GetDataBrowserItemCount';
1081(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1082
1083
1084{
1085 *  ForEachDataBrowserItem()
1086 *  
1087 *  Mac OS X threading:
1088 *    Not thread safe
1089 *  
1090 *  Availability:
1091 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1092 *    CarbonLib:        in CarbonLib 1.1 and later
1093 *    Non-Carbon CFM:   not available
1094 }
1095function ForEachDataBrowserItem( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; callback: DataBrowserItemUPP; clientData: UnivPtr ): OSStatus; external name '_ForEachDataBrowserItem';
1096(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1097
1098
1099{ Individual Item Access and Display }
1100{
1101 *  IsDataBrowserItemSelected()
1102 *  
1103 *  Mac OS X threading:
1104 *    Not thread safe
1105 *  
1106 *  Availability:
1107 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1108 *    CarbonLib:        in CarbonLib 1.1 and later
1109 *    Non-Carbon CFM:   not available
1110 }
1111function IsDataBrowserItemSelected( browser: ControlRef; item: DataBrowserItemID ): Boolean; external name '_IsDataBrowserItemSelected';
1112(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1113
1114
1115{
1116 *  GetDataBrowserItemState()
1117 *  
1118 *  Mac OS X threading:
1119 *    Not thread safe
1120 *  
1121 *  Availability:
1122 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1123 *    CarbonLib:        in CarbonLib 1.1 and later
1124 *    Non-Carbon CFM:   not available
1125 }
1126function GetDataBrowserItemState( browser: ControlRef; item: DataBrowserItemID; var state: DataBrowserItemState ): OSStatus; external name '_GetDataBrowserItemState';
1127(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1128
1129
1130{
1131 *  RevealDataBrowserItem()
1132 *  
1133 *  Mac OS X threading:
1134 *    Not thread safe
1135 *  
1136 *  Availability:
1137 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1138 *    CarbonLib:        in CarbonLib 1.1 and later
1139 *    Non-Carbon CFM:   not available
1140 }
1141function RevealDataBrowserItem( browser: ControlRef; item: DataBrowserItemID; propertyID: DataBrowserPropertyID; options: DataBrowserRevealOptions ): OSStatus; external name '_RevealDataBrowserItem';
1142(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1143
1144
1145{ Selection Set Manipulation }
1146{
1147 *  SetDataBrowserSelectedItems()
1148 *  
1149 *  Mac OS X threading:
1150 *    Not thread safe
1151 *  
1152 *  Availability:
1153 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1154 *    CarbonLib:        in CarbonLib 1.1 and later
1155 *    Non-Carbon CFM:   not available
1156 }
1157function SetDataBrowserSelectedItems( browser: ControlRef; numItems: ItemCount; items: DataBrowserItemIDPtr; operation: DataBrowserSetOption ): OSStatus; external name '_SetDataBrowserSelectedItems';
1158(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1159
1160
1161{ DataBrowser Attribute Manipulation }
1162{ The user customizable portion of the current view style settings }
1163{
1164 *  SetDataBrowserUserState()
1165 *  
1166 *  Mac OS X threading:
1167 *    Not thread safe
1168 *  
1169 *  Availability:
1170 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1171 *    CarbonLib:        in CarbonLib 1.1 and later
1172 *    Non-Carbon CFM:   not available
1173 }
1174function SetDataBrowserUserState( browser: ControlRef; stateInfo: CFDictionaryRef ): OSStatus; external name '_SetDataBrowserUserState';
1175(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1176
1177
1178{
1179 *  GetDataBrowserUserState()
1180 *  
1181 *  Mac OS X threading:
1182 *    Not thread safe
1183 *  
1184 *  Availability:
1185 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1186 *    CarbonLib:        in CarbonLib 1.1 and later
1187 *    Non-Carbon CFM:   not available
1188 }
1189function GetDataBrowserUserState( browser: ControlRef; var stateInfo: CFDictionaryRef ): OSStatus; external name '_GetDataBrowserUserState';
1190(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1191
1192
1193{ All items are active/enabled or not }
1194{
1195 *  SetDataBrowserActiveItems()
1196 *  
1197 *  Mac OS X threading:
1198 *    Not thread safe
1199 *  
1200 *  Availability:
1201 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1202 *    CarbonLib:        in CarbonLib 1.1 and later
1203 *    Non-Carbon CFM:   not available
1204 }
1205function SetDataBrowserActiveItems( browser: ControlRef; active: Boolean ): OSStatus; external name '_SetDataBrowserActiveItems';
1206(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1207
1208
1209{
1210 *  GetDataBrowserActiveItems()
1211 *  
1212 *  Mac OS X threading:
1213 *    Not thread safe
1214 *  
1215 *  Availability:
1216 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1217 *    CarbonLib:        in CarbonLib 1.1 and later
1218 *    Non-Carbon CFM:   not available
1219 }
1220function GetDataBrowserActiveItems( browser: ControlRef; var active: Boolean ): OSStatus; external name '_GetDataBrowserActiveItems';
1221(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1222
1223
1224{ Inset the scrollbars within the DataBrowser bounds }
1225{
1226 *  SetDataBrowserScrollBarInset()
1227 *  
1228 *  Mac OS X threading:
1229 *    Not thread safe
1230 *  
1231 *  Availability:
1232 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1233 *    CarbonLib:        in CarbonLib 1.1 and later
1234 *    Non-Carbon CFM:   not available
1235 }
1236function SetDataBrowserScrollBarInset( browser: ControlRef; var insetRect: Rect ): OSStatus; external name '_SetDataBrowserScrollBarInset';
1237(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1238
1239
1240{
1241 *  GetDataBrowserScrollBarInset()
1242 *  
1243 *  Mac OS X threading:
1244 *    Not thread safe
1245 *  
1246 *  Availability:
1247 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1248 *    CarbonLib:        in CarbonLib 1.1 and later
1249 *    Non-Carbon CFM:   not available
1250 }
1251function GetDataBrowserScrollBarInset( browser: ControlRef; var insetRect: Rect ): OSStatus; external name '_GetDataBrowserScrollBarInset';
1252(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1253
1254
1255{ The "user focused" item }
1256{ For the ListView, this means the root container }
1257{ For the ColumnView, this means the rightmost container column }
1258{
1259 *  SetDataBrowserTarget()
1260 *  
1261 *  Mac OS X threading:
1262 *    Not thread safe
1263 *  
1264 *  Availability:
1265 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1266 *    CarbonLib:        in CarbonLib 1.1 and later
1267 *    Non-Carbon CFM:   not available
1268 }
1269function SetDataBrowserTarget( browser: ControlRef; target: DataBrowserItemID ): OSStatus; external name '_SetDataBrowserTarget';
1270(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1271
1272
1273{
1274 *  GetDataBrowserTarget()
1275 *  
1276 *  Mac OS X threading:
1277 *    Not thread safe
1278 *  
1279 *  Availability:
1280 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1281 *    CarbonLib:        in CarbonLib 1.1 and later
1282 *    Non-Carbon CFM:   not available
1283 }
1284function GetDataBrowserTarget( browser: ControlRef; var target: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserTarget';
1285(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1286
1287
1288{ Current sort ordering }
1289{ ListView tracks this per-column }
1290{
1291 *  SetDataBrowserSortOrder()
1292 *  
1293 *  Mac OS X threading:
1294 *    Not thread safe
1295 *  
1296 *  Availability:
1297 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1298 *    CarbonLib:        in CarbonLib 1.1 and later
1299 *    Non-Carbon CFM:   not available
1300 }
1301function SetDataBrowserSortOrder( browser: ControlRef; order: DataBrowserSortOrder ): OSStatus; external name '_SetDataBrowserSortOrder';
1302(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1303
1304
1305{
1306 *  GetDataBrowserSortOrder()
1307 *  
1308 *  Mac OS X threading:
1309 *    Not thread safe
1310 *  
1311 *  Availability:
1312 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1313 *    CarbonLib:        in CarbonLib 1.1 and later
1314 *    Non-Carbon CFM:   not available
1315 }
1316function GetDataBrowserSortOrder( browser: ControlRef; var order: DataBrowserSortOrder ): OSStatus; external name '_GetDataBrowserSortOrder';
1317(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1318
1319
1320{ Scrollbar values }
1321{
1322 *  SetDataBrowserScrollPosition()
1323 *  
1324 *  Mac OS X threading:
1325 *    Not thread safe
1326 *  
1327 *  Availability:
1328 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1329 *    CarbonLib:        in CarbonLib 1.1 and later
1330 *    Non-Carbon CFM:   not available
1331 }
1332function SetDataBrowserScrollPosition( browser: ControlRef; top: UInt32; left: UInt32 ): OSStatus; external name '_SetDataBrowserScrollPosition';
1333(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1334
1335
1336{
1337 *  GetDataBrowserScrollPosition()
1338 *  
1339 *  Mac OS X threading:
1340 *    Not thread safe
1341 *  
1342 *  Availability:
1343 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1344 *    CarbonLib:        in CarbonLib 1.1 and later
1345 *    Non-Carbon CFM:   not available
1346 }
1347function GetDataBrowserScrollPosition( browser: ControlRef; var top: UInt32; var left: UInt32 ): OSStatus; external name '_GetDataBrowserScrollPosition';
1348(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1349
1350
1351{ Show/Hide each scrollbar }
1352{
1353 *  SetDataBrowserHasScrollBars()
1354 *  
1355 *  Mac OS X threading:
1356 *    Not thread safe
1357 *  
1358 *  Availability:
1359 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1360 *    CarbonLib:        in CarbonLib 1.1 and later
1361 *    Non-Carbon CFM:   not available
1362 }
1363function SetDataBrowserHasScrollBars( browser: ControlRef; horiz: Boolean; vert: Boolean ): OSStatus; external name '_SetDataBrowserHasScrollBars';
1364(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1365
1366
1367{
1368 *  GetDataBrowserHasScrollBars()
1369 *  
1370 *  Mac OS X threading:
1371 *    Not thread safe
1372 *  
1373 *  Availability:
1374 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1375 *    CarbonLib:        in CarbonLib 1.1 and later
1376 *    Non-Carbon CFM:   not available
1377 }
1378function GetDataBrowserHasScrollBars( browser: ControlRef; var horiz: Boolean; var vert: Boolean ): OSStatus; external name '_GetDataBrowserHasScrollBars';
1379(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1380
1381
1382{ Property passed to sort callback (ListView sort column) }
1383{
1384 *  SetDataBrowserSortProperty()
1385 *  
1386 *  Mac OS X threading:
1387 *    Not thread safe
1388 *  
1389 *  Availability:
1390 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1391 *    CarbonLib:        in CarbonLib 1.1 and later
1392 *    Non-Carbon CFM:   not available
1393 }
1394function SetDataBrowserSortProperty( browser: ControlRef; property: DataBrowserPropertyID ): OSStatus; external name '_SetDataBrowserSortProperty';
1395(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1396
1397
1398{
1399 *  GetDataBrowserSortProperty()
1400 *  
1401 *  Mac OS X threading:
1402 *    Not thread safe
1403 *  
1404 *  Availability:
1405 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1406 *    CarbonLib:        in CarbonLib 1.1 and later
1407 *    Non-Carbon CFM:   not available
1408 }
1409function GetDataBrowserSortProperty( browser: ControlRef; var property: DataBrowserPropertyID ): OSStatus; external name '_GetDataBrowserSortProperty';
1410(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1411
1412
1413{ Modify selection behavior }
1414{
1415 *  SetDataBrowserSelectionFlags()
1416 *  
1417 *  Mac OS X threading:
1418 *    Not thread safe
1419 *  
1420 *  Availability:
1421 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1422 *    CarbonLib:        in CarbonLib 1.1 and later
1423 *    Non-Carbon CFM:   not available
1424 }
1425function SetDataBrowserSelectionFlags( browser: ControlRef; selectionFlags: DataBrowserSelectionFlags ): OSStatus; external name '_SetDataBrowserSelectionFlags';
1426(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1427
1428
1429{
1430 *  GetDataBrowserSelectionFlags()
1431 *  
1432 *  Mac OS X threading:
1433 *    Not thread safe
1434 *  
1435 *  Availability:
1436 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1437 *    CarbonLib:        in CarbonLib 1.1 and later
1438 *    Non-Carbon CFM:   not available
1439 }
1440function GetDataBrowserSelectionFlags( browser: ControlRef; var selectionFlags: DataBrowserSelectionFlags ): OSStatus; external name '_GetDataBrowserSelectionFlags';
1441(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1442
1443
1444{ Dynamically modify property appearance/behavior }
1445{
1446 *  SetDataBrowserPropertyFlags()
1447 *  
1448 *  Mac OS X threading:
1449 *    Not thread safe
1450 *  
1451 *  Availability:
1452 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1453 *    CarbonLib:        in CarbonLib 1.1 and later
1454 *    Non-Carbon CFM:   not available
1455 }
1456function SetDataBrowserPropertyFlags( browser: ControlRef; property: DataBrowserPropertyID; flags: DataBrowserPropertyFlags ): OSStatus; external name '_SetDataBrowserPropertyFlags';
1457(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1458
1459
1460{
1461 *  GetDataBrowserPropertyFlags()
1462 *  
1463 *  Mac OS X threading:
1464 *    Not thread safe
1465 *  
1466 *  Availability:
1467 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1468 *    CarbonLib:        in CarbonLib 1.1 and later
1469 *    Non-Carbon CFM:   not available
1470 }
1471function GetDataBrowserPropertyFlags( browser: ControlRef; property: DataBrowserPropertyID; var flags: DataBrowserPropertyFlags ): OSStatus; external name '_GetDataBrowserPropertyFlags';
1472(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1473
1474
1475{ Text of current in-place edit session }
1476{
1477 *  SetDataBrowserEditText()
1478 *  
1479 *  Mac OS X threading:
1480 *    Not thread safe
1481 *  
1482 *  Availability:
1483 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1484 *    CarbonLib:        in CarbonLib 1.1 and later
1485 *    Non-Carbon CFM:   not available
1486 }
1487function SetDataBrowserEditText( browser: ControlRef; text: CFStringRef ): OSStatus; external name '_SetDataBrowserEditText';
1488(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1489
1490
1491{
1492 *  CopyDataBrowserEditText()
1493 *  
1494 *  Mac OS X threading:
1495 *    Not thread safe
1496 *  
1497 *  Availability:
1498 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1499 *    CarbonLib:        in CarbonLib 1.5 and later
1500 *    Non-Carbon CFM:   not available
1501 }
1502function CopyDataBrowserEditText( browser: ControlRef; var text: CFStringRef ): OSStatus; external name '_CopyDataBrowserEditText';
1503(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1504
1505
1506{
1507 *  GetDataBrowserEditText()
1508 *  
1509 *  Mac OS X threading:
1510 *    Not thread safe
1511 *  
1512 *  Availability:
1513 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1514 *    CarbonLib:        in CarbonLib 1.1 and later
1515 *    Non-Carbon CFM:   not available
1516 }
1517function GetDataBrowserEditText( browser: ControlRef; text: CFMutableStringRef ): OSStatus; external name '_GetDataBrowserEditText';
1518(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1519
1520
1521{ Item/property currently being edited }
1522{
1523 *  SetDataBrowserEditItem()
1524 *  
1525 *  Mac OS X threading:
1526 *    Not thread safe
1527 *  
1528 *  Availability:
1529 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1530 *    CarbonLib:        in CarbonLib 1.1 and later
1531 *    Non-Carbon CFM:   not available
1532 }
1533function SetDataBrowserEditItem( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID ): OSStatus; external name '_SetDataBrowserEditItem';
1534(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1535
1536
1537{
1538 *  GetDataBrowserEditItem()
1539 *  
1540 *  Mac OS X threading:
1541 *    Not thread safe
1542 *  
1543 *  Availability:
1544 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1545 *    CarbonLib:        in CarbonLib 1.1 and later
1546 *    Non-Carbon CFM:   not available
1547 }
1548function GetDataBrowserEditItem( browser: ControlRef; var item: DataBrowserItemID; var property: DataBrowserPropertyID ): OSStatus; external name '_GetDataBrowserEditItem';
1549(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1550
1551
1552{ Get the current bounds of a visual part of an item's property }
1553{
1554 *  GetDataBrowserItemPartBounds()
1555 *  
1556 *  Mac OS X threading:
1557 *    Not thread safe
1558 *  
1559 *  Availability:
1560 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1561 *    CarbonLib:        in CarbonLib 1.1 and later
1562 *    Non-Carbon CFM:   not available
1563 }
1564function GetDataBrowserItemPartBounds( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; part: DataBrowserPropertyPart; var bounds: Rect ): OSStatus; external name '_GetDataBrowserItemPartBounds';
1565(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1566
1567
1568{ DataBrowser ItemData Accessors (used within DataBrowserItemData callback) }
1569{$endc} {not TARGET_CPU_64}
1570
1571type
1572	DataBrowserItemDataRef = UnivPtr;
1573{$ifc not TARGET_CPU_64}
1574{
1575 *  SetDataBrowserItemDataIcon()
1576 *  
1577 *  Mac OS X threading:
1578 *    Not thread safe
1579 *  
1580 *  Availability:
1581 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1582 *    CarbonLib:        in CarbonLib 1.1 and later
1583 *    Non-Carbon CFM:   not available
1584 }
1585function SetDataBrowserItemDataIcon( itemData: DataBrowserItemDataRef; theData: IconRef ): OSStatus; external name '_SetDataBrowserItemDataIcon';
1586(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1587
1588
1589{
1590 *  GetDataBrowserItemDataIcon()
1591 *  
1592 *  Mac OS X threading:
1593 *    Not thread safe
1594 *  
1595 *  Availability:
1596 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1597 *    CarbonLib:        in CarbonLib 1.5 and later
1598 *    Non-Carbon CFM:   not available
1599 }
1600function GetDataBrowserItemDataIcon( itemData: DataBrowserItemDataRef; var theData: IconRef ): OSStatus; external name '_GetDataBrowserItemDataIcon';
1601(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1602
1603
1604{
1605 *  SetDataBrowserItemDataText()
1606 *  
1607 *  Mac OS X threading:
1608 *    Not thread safe
1609 *  
1610 *  Availability:
1611 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1612 *    CarbonLib:        in CarbonLib 1.1 and later
1613 *    Non-Carbon CFM:   not available
1614 }
1615function SetDataBrowserItemDataText( itemData: DataBrowserItemDataRef; theData: CFStringRef ): OSStatus; external name '_SetDataBrowserItemDataText';
1616(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1617
1618
1619{
1620 *  GetDataBrowserItemDataText()
1621 *  
1622 *  Mac OS X threading:
1623 *    Not thread safe
1624 *  
1625 *  Availability:
1626 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1627 *    CarbonLib:        in CarbonLib 1.1 and later
1628 *    Non-Carbon CFM:   not available
1629 }
1630function GetDataBrowserItemDataText( itemData: DataBrowserItemDataRef; var theData: CFStringRef ): OSStatus; external name '_GetDataBrowserItemDataText';
1631(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1632
1633
1634{
1635 *  SetDataBrowserItemDataValue()
1636 *  
1637 *  Mac OS X threading:
1638 *    Not thread safe
1639 *  
1640 *  Availability:
1641 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1642 *    CarbonLib:        in CarbonLib 1.1 and later
1643 *    Non-Carbon CFM:   not available
1644 }
1645function SetDataBrowserItemDataValue( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataValue';
1646(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1647
1648
1649{
1650 *  GetDataBrowserItemDataValue()
1651 *  
1652 *  Mac OS X threading:
1653 *    Not thread safe
1654 *  
1655 *  Availability:
1656 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1657 *    CarbonLib:        in CarbonLib 1.1 and later
1658 *    Non-Carbon CFM:   not available
1659 }
1660function GetDataBrowserItemDataValue( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataValue';
1661(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1662
1663
1664{
1665 *  SetDataBrowserItemDataMinimum()
1666 *  
1667 *  Mac OS X threading:
1668 *    Not thread safe
1669 *  
1670 *  Availability:
1671 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1672 *    CarbonLib:        in CarbonLib 1.1 and later
1673 *    Non-Carbon CFM:   not available
1674 }
1675function SetDataBrowserItemDataMinimum( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataMinimum';
1676(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1677
1678
1679{
1680 *  GetDataBrowserItemDataMinimum()
1681 *  
1682 *  Mac OS X threading:
1683 *    Not thread safe
1684 *  
1685 *  Availability:
1686 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1687 *    CarbonLib:        in CarbonLib 1.1 and later
1688 *    Non-Carbon CFM:   not available
1689 }
1690function GetDataBrowserItemDataMinimum( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataMinimum';
1691(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1692
1693
1694{
1695 *  SetDataBrowserItemDataMaximum()
1696 *  
1697 *  Mac OS X threading:
1698 *    Not thread safe
1699 *  
1700 *  Availability:
1701 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1702 *    CarbonLib:        in CarbonLib 1.1 and later
1703 *    Non-Carbon CFM:   not available
1704 }
1705function SetDataBrowserItemDataMaximum( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataMaximum';
1706(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1707
1708
1709{
1710 *  GetDataBrowserItemDataMaximum()
1711 *  
1712 *  Mac OS X threading:
1713 *    Not thread safe
1714 *  
1715 *  Availability:
1716 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1717 *    CarbonLib:        in CarbonLib 1.1 and later
1718 *    Non-Carbon CFM:   not available
1719 }
1720function GetDataBrowserItemDataMaximum( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataMaximum';
1721(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1722
1723
1724{
1725 *  SetDataBrowserItemDataBooleanValue()
1726 *  
1727 *  Mac OS X threading:
1728 *    Not thread safe
1729 *  
1730 *  Availability:
1731 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1732 *    CarbonLib:        in CarbonLib 1.1 and later
1733 *    Non-Carbon CFM:   not available
1734 }
1735function SetDataBrowserItemDataBooleanValue( itemData: DataBrowserItemDataRef; theData: Boolean ): OSStatus; external name '_SetDataBrowserItemDataBooleanValue';
1736(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1737
1738
1739{
1740 *  GetDataBrowserItemDataBooleanValue()
1741 *  
1742 *  Mac OS X threading:
1743 *    Not thread safe
1744 *  
1745 *  Availability:
1746 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1747 *    CarbonLib:        in CarbonLib 1.1 and later
1748 *    Non-Carbon CFM:   not available
1749 }
1750function GetDataBrowserItemDataBooleanValue( itemData: DataBrowserItemDataRef; var theData: Boolean ): OSStatus; external name '_GetDataBrowserItemDataBooleanValue';
1751(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1752
1753
1754{
1755 *  SetDataBrowserItemDataMenuRef()
1756 *  
1757 *  Mac OS X threading:
1758 *    Not thread safe
1759 *  
1760 *  Availability:
1761 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1762 *    CarbonLib:        in CarbonLib 1.1 and later
1763 *    Non-Carbon CFM:   not available
1764 }
1765function SetDataBrowserItemDataMenuRef( itemData: DataBrowserItemDataRef; theData: MenuRef ): OSStatus; external name '_SetDataBrowserItemDataMenuRef';
1766(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1767
1768
1769{
1770 *  GetDataBrowserItemDataMenuRef()
1771 *  
1772 *  Mac OS X threading:
1773 *    Not thread safe
1774 *  
1775 *  Availability:
1776 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1777 *    CarbonLib:        in CarbonLib 1.1 and later
1778 *    Non-Carbon CFM:   not available
1779 }
1780function GetDataBrowserItemDataMenuRef( itemData: DataBrowserItemDataRef; var theData: MenuRef ): OSStatus; external name '_GetDataBrowserItemDataMenuRef';
1781(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1782
1783
1784{
1785 *  SetDataBrowserItemDataRGBColor()
1786 *  
1787 *  Mac OS X threading:
1788 *    Not thread safe
1789 *  
1790 *  Availability:
1791 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1792 *    CarbonLib:        in CarbonLib 1.1 and later
1793 *    Non-Carbon CFM:   not available
1794 }
1795function SetDataBrowserItemDataRGBColor( itemData: DataBrowserItemDataRef; const (*var*) theData: RGBColor ): OSStatus; external name '_SetDataBrowserItemDataRGBColor';
1796(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1797
1798
1799{
1800 *  GetDataBrowserItemDataRGBColor()
1801 *  
1802 *  Mac OS X threading:
1803 *    Not thread safe
1804 *  
1805 *  Availability:
1806 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1807 *    CarbonLib:        in CarbonLib 1.1 and later
1808 *    Non-Carbon CFM:   not available
1809 }
1810function GetDataBrowserItemDataRGBColor( itemData: DataBrowserItemDataRef; var theData: RGBColor ): OSStatus; external name '_GetDataBrowserItemDataRGBColor';
1811(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1812
1813
1814{
1815 *  SetDataBrowserItemDataDrawState()
1816 *  
1817 *  Mac OS X threading:
1818 *    Not thread safe
1819 *  
1820 *  Availability:
1821 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1822 *    CarbonLib:        in CarbonLib 1.1 and later
1823 *    Non-Carbon CFM:   not available
1824 }
1825function SetDataBrowserItemDataDrawState( itemData: DataBrowserItemDataRef; theData: ThemeDrawState ): OSStatus; external name '_SetDataBrowserItemDataDrawState';
1826(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1827
1828
1829{
1830 *  GetDataBrowserItemDataDrawState()
1831 *  
1832 *  Mac OS X threading:
1833 *    Not thread safe
1834 *  
1835 *  Availability:
1836 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1837 *    CarbonLib:        in CarbonLib 1.1 and later
1838 *    Non-Carbon CFM:   not available
1839 }
1840function GetDataBrowserItemDataDrawState( itemData: DataBrowserItemDataRef; var theData: ThemeDrawState ): OSStatus; external name '_GetDataBrowserItemDataDrawState';
1841(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1842
1843
1844{
1845 *  SetDataBrowserItemDataButtonValue()
1846 *  
1847 *  Mac OS X threading:
1848 *    Not thread safe
1849 *  
1850 *  Availability:
1851 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1852 *    CarbonLib:        in CarbonLib 1.1 and later
1853 *    Non-Carbon CFM:   not available
1854 }
1855function SetDataBrowserItemDataButtonValue( itemData: DataBrowserItemDataRef; theData: ThemeButtonValue ): OSStatus; external name '_SetDataBrowserItemDataButtonValue';
1856(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1857
1858
1859{
1860 *  GetDataBrowserItemDataButtonValue()
1861 *  
1862 *  Mac OS X threading:
1863 *    Not thread safe
1864 *  
1865 *  Availability:
1866 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1867 *    CarbonLib:        in CarbonLib 1.1 and later
1868 *    Non-Carbon CFM:   not available
1869 }
1870function GetDataBrowserItemDataButtonValue( itemData: DataBrowserItemDataRef; var theData: ThemeButtonValue ): OSStatus; external name '_GetDataBrowserItemDataButtonValue';
1871(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1872
1873
1874{
1875 *  SetDataBrowserItemDataIconTransform()
1876 *  
1877 *  Mac OS X threading:
1878 *    Not thread safe
1879 *  
1880 *  Availability:
1881 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1882 *    CarbonLib:        in CarbonLib 1.1 and later
1883 *    Non-Carbon CFM:   not available
1884 }
1885function SetDataBrowserItemDataIconTransform( itemData: DataBrowserItemDataRef; theData: IconTransformType ): OSStatus; external name '_SetDataBrowserItemDataIconTransform';
1886(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1887
1888
1889{
1890 *  GetDataBrowserItemDataIconTransform()
1891 *  
1892 *  Mac OS X threading:
1893 *    Not thread safe
1894 *  
1895 *  Availability:
1896 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1897 *    CarbonLib:        in CarbonLib 1.1 and later
1898 *    Non-Carbon CFM:   not available
1899 }
1900function GetDataBrowserItemDataIconTransform( itemData: DataBrowserItemDataRef; var theData: IconTransformType ): OSStatus; external name '_GetDataBrowserItemDataIconTransform';
1901(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1902
1903
1904{
1905 *  SetDataBrowserItemDataDateTime()
1906 *  
1907 *  Mac OS X threading:
1908 *    Not thread safe
1909 *  
1910 *  Availability:
1911 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1912 *    CarbonLib:        in CarbonLib 1.1 and later
1913 *    Non-Carbon CFM:   not available
1914 }
1915function SetDataBrowserItemDataDateTime( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataDateTime';
1916(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1917
1918
1919{
1920 *  GetDataBrowserItemDataDateTime()
1921 *  
1922 *  Mac OS X threading:
1923 *    Not thread safe
1924 *  
1925 *  Availability:
1926 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1927 *    CarbonLib:        in CarbonLib 1.1 and later
1928 *    Non-Carbon CFM:   not available
1929 }
1930function GetDataBrowserItemDataDateTime( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataDateTime';
1931(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1932
1933
1934{
1935 *  SetDataBrowserItemDataLongDateTime()
1936 *  
1937 *  Mac OS X threading:
1938 *    Not thread safe
1939 *  
1940 *  Availability:
1941 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1942 *    CarbonLib:        in CarbonLib 1.1 and later
1943 *    Non-Carbon CFM:   not available
1944 }
1945function SetDataBrowserItemDataLongDateTime( itemData: DataBrowserItemDataRef; (*const*) var theData: LongDateTime ): OSStatus; external name '_SetDataBrowserItemDataLongDateTime';
1946(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1947
1948
1949{
1950 *  GetDataBrowserItemDataLongDateTime()
1951 *  
1952 *  Mac OS X threading:
1953 *    Not thread safe
1954 *  
1955 *  Availability:
1956 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1957 *    CarbonLib:        in CarbonLib 1.1 and later
1958 *    Non-Carbon CFM:   not available
1959 }
1960function GetDataBrowserItemDataLongDateTime( itemData: DataBrowserItemDataRef; var theData: LongDateTime ): OSStatus; external name '_GetDataBrowserItemDataLongDateTime';
1961(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1962
1963
1964{
1965 *  SetDataBrowserItemDataItemID()
1966 *  
1967 *  Mac OS X threading:
1968 *    Not thread safe
1969 *  
1970 *  Availability:
1971 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1972 *    CarbonLib:        in CarbonLib 1.1 and later
1973 *    Non-Carbon CFM:   not available
1974 }
1975function SetDataBrowserItemDataItemID( itemData: DataBrowserItemDataRef; theData: DataBrowserItemID ): OSStatus; external name '_SetDataBrowserItemDataItemID';
1976(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1977
1978
1979{
1980 *  GetDataBrowserItemDataItemID()
1981 *  
1982 *  Mac OS X threading:
1983 *    Not thread safe
1984 *  
1985 *  Availability:
1986 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
1987 *    CarbonLib:        in CarbonLib 1.5 and later
1988 *    Non-Carbon CFM:   not available
1989 }
1990function GetDataBrowserItemDataItemID( itemData: DataBrowserItemDataRef; var theData: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserItemDataItemID';
1991(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1992
1993
1994{
1995 *  GetDataBrowserItemDataProperty()
1996 *  
1997 *  Mac OS X threading:
1998 *    Not thread safe
1999 *  
2000 *  Availability:
2001 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
2002 *    CarbonLib:        in CarbonLib 1.1 and later
2003 *    Non-Carbon CFM:   not available
2004 }
2005function GetDataBrowserItemDataProperty( itemData: DataBrowserItemDataRef; var theData: DataBrowserPropertyID ): OSStatus; external name '_GetDataBrowserItemDataProperty';
2006(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2007
2008
2009{ Standard DataBrowser Callbacks }
2010
2011{ Basic Item Management & Manipulation }
2012{$endc} {not TARGET_CPU_64}
2013
2014type
2015	DataBrowserItemDataProcPtr = function( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; itemData: DataBrowserItemDataRef; setValue: Boolean ): OSStatus;
2016	DataBrowserItemDataUPP = DataBrowserItemDataProcPtr;
2017
2018{ Item Comparison }
2019type
2020	DataBrowserItemCompareProcPtr = function( browser: ControlRef; itemOne: DataBrowserItemID; itemTwo: DataBrowserItemID; sortProperty: DataBrowserPropertyID ): Boolean;
2021	DataBrowserItemCompareUPP = DataBrowserItemCompareProcPtr;
2022
2023{ ItemEvent Notification }
2024{  A Very Important Note about DataBrowserItemNotificationProcPtr:                                     }
2025{  Under all currently shipping versions of CarbonLib (eg. up through 1.3), your callback is called    }
2026{  just as the prototype appears in this header. It should only be expecting three parameters because  }
2027{  DataBrowser will only pass three parameters.                                                        }
2028{  Under Mac OS X, your callback is called with an additional parameter. If you wish to interpret      }
2029{  the additional parameter, your callback should have the same prototype as the                       }
2030{  DataBrowserItemNotificationWithItemProcPtr (below). You may freely take a callback with this        }
2031{  prototype and pass it to NewDataBrowserItemNotificationUPP in order to generate a                   }
2032{  DataBrowserItemNotificationUPP that you can use just like any other DataBrowserItemNotificationUPP. }
2033{  If you use this technique under CarbonLib, you will *not* receive valid data in the fourth          }
2034{  parameter, and any attempt to use the invalid data will probably result in a crash.                 }
2035type
2036	DataBrowserItemNotificationWithItemProcPtr = procedure( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification; itemData: DataBrowserItemDataRef );
2037	DataBrowserItemNotificationProcPtr = procedure( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification );
2038	DataBrowserItemNotificationWithItemUPP = DataBrowserItemNotificationWithItemProcPtr;
2039	DataBrowserItemNotificationUPP = DataBrowserItemNotificationProcPtr;
2040
2041
2042{ Drag & Drop Processing }
2043type
2044	DataBrowserAddDragItemProcPtr = function( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; var itemRef: ItemReference ): Boolean;
2045	DataBrowserAcceptDragProcPtr = function( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID ): Boolean;
2046	DataBrowserReceiveDragProcPtr = function( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID ): Boolean;
2047	DataBrowserPostProcessDragProcPtr = procedure( browser: ControlRef; theDrag: DragReference; trackDragResult: OSStatus );
2048	DataBrowserAddDragItemUPP = DataBrowserAddDragItemProcPtr;
2049	DataBrowserAcceptDragUPP = DataBrowserAcceptDragProcPtr;
2050	DataBrowserReceiveDragUPP = DataBrowserReceiveDragProcPtr;
2051	DataBrowserPostProcessDragUPP = DataBrowserPostProcessDragProcPtr;
2052
2053{ Contextual Menu Support }
2054type
2055	DataBrowserGetContextualMenuProcPtr = procedure( browser: ControlRef; var menu: MenuRef; var helpType: UInt32; var helpItemString: CFStringRef; var selection: AEDesc );
2056	DataBrowserSelectContextualMenuProcPtr = procedure( browser: ControlRef; menu: MenuRef; selectionType: UInt32; menuID: SInt16; menuItem: MenuItemIndex );
2057	DataBrowserGetContextualMenuUPP = DataBrowserGetContextualMenuProcPtr;
2058	DataBrowserSelectContextualMenuUPP = DataBrowserSelectContextualMenuProcPtr;
2059
2060{ Help Manager Support }
2061type
2062	DataBrowserItemHelpContentProcPtr = procedure( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; inRequest: HMContentRequest; var outContentProvided: HMContentProvidedType; var ioHelpContent: HMHelpContentRec );
2063	DataBrowserItemHelpContentUPP = DataBrowserItemHelpContentProcPtr;
2064{
2065 *  NewDataBrowserItemDataUPP()
2066 *  
2067 *  Availability:
2068 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2069 *    CarbonLib:        in CarbonLib 1.1 and later
2070 *    Non-Carbon CFM:   not available
2071 }
2072function NewDataBrowserItemDataUPP( userRoutine: DataBrowserItemDataProcPtr ): DataBrowserItemDataUPP; external name '_NewDataBrowserItemDataUPP';
2073(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2074
2075{
2076 *  NewDataBrowserItemCompareUPP()
2077 *  
2078 *  Availability:
2079 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2080 *    CarbonLib:        in CarbonLib 1.1 and later
2081 *    Non-Carbon CFM:   not available
2082 }
2083function NewDataBrowserItemCompareUPP( userRoutine: DataBrowserItemCompareProcPtr ): DataBrowserItemCompareUPP; external name '_NewDataBrowserItemCompareUPP';
2084(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2085
2086{
2087 *  NewDataBrowserItemNotificationWithItemUPP()
2088 *  
2089 *  Availability:
2090 *    Mac OS X:         in version 10.1 and later in Carbon.framework
2091 *    CarbonLib:        in CarbonLib 1.5 and later
2092 *    Non-Carbon CFM:   not available
2093 }
2094function NewDataBrowserItemNotificationWithItemUPP( userRoutine: DataBrowserItemNotificationWithItemProcPtr ): DataBrowserItemNotificationWithItemUPP; external name '_NewDataBrowserItemNotificationWithItemUPP';
2095(* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
2096
2097{
2098 *  NewDataBrowserItemNotificationUPP()
2099 *  
2100 *  Availability:
2101 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2102 *    CarbonLib:        in CarbonLib 1.1 and later
2103 *    Non-Carbon CFM:   not available
2104 }
2105function NewDataBrowserItemNotificationUPP( userRoutine: DataBrowserItemNotificationProcPtr ): DataBrowserItemNotificationUPP; external name '_NewDataBrowserItemNotificationUPP';
2106(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2107
2108{
2109 *  NewDataBrowserAddDragItemUPP()
2110 *  
2111 *  Availability:
2112 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2113 *    CarbonLib:        in CarbonLib 1.1 and later
2114 *    Non-Carbon CFM:   not available
2115 }
2116function NewDataBrowserAddDragItemUPP( userRoutine: DataBrowserAddDragItemProcPtr ): DataBrowserAddDragItemUPP; external name '_NewDataBrowserAddDragItemUPP';
2117(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2118
2119{
2120 *  NewDataBrowserAcceptDragUPP()
2121 *  
2122 *  Availability:
2123 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2124 *    CarbonLib:        in CarbonLib 1.1 and later
2125 *    Non-Carbon CFM:   not available
2126 }
2127function NewDataBrowserAcceptDragUPP( userRoutine: DataBrowserAcceptDragProcPtr ): DataBrowserAcceptDragUPP; external name '_NewDataBrowserAcceptDragUPP';
2128(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2129
2130{
2131 *  NewDataBrowserReceiveDragUPP()
2132 *  
2133 *  Availability:
2134 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2135 *    CarbonLib:        in CarbonLib 1.1 and later
2136 *    Non-Carbon CFM:   not available
2137 }
2138function NewDataBrowserReceiveDragUPP( userRoutine: DataBrowserReceiveDragProcPtr ): DataBrowserReceiveDragUPP; external name '_NewDataBrowserReceiveDragUPP';
2139(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2140
2141{
2142 *  NewDataBrowserPostProcessDragUPP()
2143 *  
2144 *  Availability:
2145 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2146 *    CarbonLib:        in CarbonLib 1.1 and later
2147 *    Non-Carbon CFM:   not available
2148 }
2149function NewDataBrowserPostProcessDragUPP( userRoutine: DataBrowserPostProcessDragProcPtr ): DataBrowserPostProcessDragUPP; external name '_NewDataBrowserPostProcessDragUPP';
2150(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2151
2152{
2153 *  NewDataBrowserGetContextualMenuUPP()
2154 *  
2155 *  Availability:
2156 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2157 *    CarbonLib:        in CarbonLib 1.1 and later
2158 *    Non-Carbon CFM:   not available
2159 }
2160function NewDataBrowserGetContextualMenuUPP( userRoutine: DataBrowserGetContextualMenuProcPtr ): DataBrowserGetContextualMenuUPP; external name '_NewDataBrowserGetContextualMenuUPP';
2161(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2162
2163{
2164 *  NewDataBrowserSelectContextualMenuUPP()
2165 *  
2166 *  Availability:
2167 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2168 *    CarbonLib:        in CarbonLib 1.1 and later
2169 *    Non-Carbon CFM:   not available
2170 }
2171function NewDataBrowserSelectContextualMenuUPP( userRoutine: DataBrowserSelectContextualMenuProcPtr ): DataBrowserSelectContextualMenuUPP; external name '_NewDataBrowserSelectContextualMenuUPP';
2172(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2173
2174{
2175 *  NewDataBrowserItemHelpContentUPP()
2176 *  
2177 *  Availability:
2178 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2179 *    CarbonLib:        in CarbonLib 1.1 and later
2180 *    Non-Carbon CFM:   not available
2181 }
2182function NewDataBrowserItemHelpContentUPP( userRoutine: DataBrowserItemHelpContentProcPtr ): DataBrowserItemHelpContentUPP; external name '_NewDataBrowserItemHelpContentUPP';
2183(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2184
2185{
2186 *  DisposeDataBrowserItemDataUPP()
2187 *  
2188 *  Availability:
2189 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2190 *    CarbonLib:        in CarbonLib 1.1 and later
2191 *    Non-Carbon CFM:   not available
2192 }
2193procedure DisposeDataBrowserItemDataUPP( userUPP: DataBrowserItemDataUPP ); external name '_DisposeDataBrowserItemDataUPP';
2194(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2195
2196{
2197 *  DisposeDataBrowserItemCompareUPP()
2198 *  
2199 *  Availability:
2200 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2201 *    CarbonLib:        in CarbonLib 1.1 and later
2202 *    Non-Carbon CFM:   not available
2203 }
2204procedure DisposeDataBrowserItemCompareUPP( userUPP: DataBrowserItemCompareUPP ); external name '_DisposeDataBrowserItemCompareUPP';
2205(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2206
2207{
2208 *  DisposeDataBrowserItemNotificationWithItemUPP()
2209 *  
2210 *  Availability:
2211 *    Mac OS X:         in version 10.1 and later in Carbon.framework
2212 *    CarbonLib:        in CarbonLib 1.5 and later
2213 *    Non-Carbon CFM:   not available
2214 }
2215procedure DisposeDataBrowserItemNotificationWithItemUPP( userUPP: DataBrowserItemNotificationWithItemUPP ); external name '_DisposeDataBrowserItemNotificationWithItemUPP';
2216(* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
2217
2218{
2219 *  DisposeDataBrowserItemNotificationUPP()
2220 *  
2221 *  Availability:
2222 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2223 *    CarbonLib:        in CarbonLib 1.1 and later
2224 *    Non-Carbon CFM:   not available
2225 }
2226procedure DisposeDataBrowserItemNotificationUPP( userUPP: DataBrowserItemNotificationUPP ); external name '_DisposeDataBrowserItemNotificationUPP';
2227(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2228
2229{
2230 *  DisposeDataBrowserAddDragItemUPP()
2231 *  
2232 *  Availability:
2233 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2234 *    CarbonLib:        in CarbonLib 1.1 and later
2235 *    Non-Carbon CFM:   not available
2236 }
2237procedure DisposeDataBrowserAddDragItemUPP( userUPP: DataBrowserAddDragItemUPP ); external name '_DisposeDataBrowserAddDragItemUPP';
2238(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2239
2240{
2241 *  DisposeDataBrowserAcceptDragUPP()
2242 *  
2243 *  Availability:
2244 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2245 *    CarbonLib:        in CarbonLib 1.1 and later
2246 *    Non-Carbon CFM:   not available
2247 }
2248procedure DisposeDataBrowserAcceptDragUPP( userUPP: DataBrowserAcceptDragUPP ); external name '_DisposeDataBrowserAcceptDragUPP';
2249(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2250
2251{
2252 *  DisposeDataBrowserReceiveDragUPP()
2253 *  
2254 *  Availability:
2255 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2256 *    CarbonLib:        in CarbonLib 1.1 and later
2257 *    Non-Carbon CFM:   not available
2258 }
2259procedure DisposeDataBrowserReceiveDragUPP( userUPP: DataBrowserReceiveDragUPP ); external name '_DisposeDataBrowserReceiveDragUPP';
2260(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2261
2262{
2263 *  DisposeDataBrowserPostProcessDragUPP()
2264 *  
2265 *  Availability:
2266 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2267 *    CarbonLib:        in CarbonLib 1.1 and later
2268 *    Non-Carbon CFM:   not available
2269 }
2270procedure DisposeDataBrowserPostProcessDragUPP( userUPP: DataBrowserPostProcessDragUPP ); external name '_DisposeDataBrowserPostProcessDragUPP';
2271(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2272
2273{
2274 *  DisposeDataBrowserGetContextualMenuUPP()
2275 *  
2276 *  Availability:
2277 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2278 *    CarbonLib:        in CarbonLib 1.1 and later
2279 *    Non-Carbon CFM:   not available
2280 }
2281procedure DisposeDataBrowserGetContextualMenuUPP( userUPP: DataBrowserGetContextualMenuUPP ); external name '_DisposeDataBrowserGetContextualMenuUPP';
2282(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2283
2284{
2285 *  DisposeDataBrowserSelectContextualMenuUPP()
2286 *  
2287 *  Availability:
2288 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2289 *    CarbonLib:        in CarbonLib 1.1 and later
2290 *    Non-Carbon CFM:   not available
2291 }
2292procedure DisposeDataBrowserSelectContextualMenuUPP( userUPP: DataBrowserSelectContextualMenuUPP ); external name '_DisposeDataBrowserSelectContextualMenuUPP';
2293(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2294
2295{
2296 *  DisposeDataBrowserItemHelpContentUPP()
2297 *  
2298 *  Availability:
2299 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2300 *    CarbonLib:        in CarbonLib 1.1 and later
2301 *    Non-Carbon CFM:   not available
2302 }
2303procedure DisposeDataBrowserItemHelpContentUPP( userUPP: DataBrowserItemHelpContentUPP ); external name '_DisposeDataBrowserItemHelpContentUPP';
2304(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2305
2306{
2307 *  InvokeDataBrowserItemDataUPP()
2308 *  
2309 *  Availability:
2310 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2311 *    CarbonLib:        in CarbonLib 1.1 and later
2312 *    Non-Carbon CFM:   not available
2313 }
2314function InvokeDataBrowserItemDataUPP( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; itemData: DataBrowserItemDataRef; setValue: Boolean; userUPP: DataBrowserItemDataUPP ): OSStatus; external name '_InvokeDataBrowserItemDataUPP';
2315(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2316
2317{
2318 *  InvokeDataBrowserItemCompareUPP()
2319 *  
2320 *  Availability:
2321 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2322 *    CarbonLib:        in CarbonLib 1.1 and later
2323 *    Non-Carbon CFM:   not available
2324 }
2325function InvokeDataBrowserItemCompareUPP( browser: ControlRef; itemOne: DataBrowserItemID; itemTwo: DataBrowserItemID; sortProperty: DataBrowserPropertyID; userUPP: DataBrowserItemCompareUPP ): Boolean; external name '_InvokeDataBrowserItemCompareUPP';
2326(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2327
2328{
2329 *  InvokeDataBrowserItemNotificationWithItemUPP()
2330 *  
2331 *  Availability:
2332 *    Mac OS X:         in version 10.1 and later in Carbon.framework
2333 *    CarbonLib:        in CarbonLib 1.5 and later
2334 *    Non-Carbon CFM:   not available
2335 }
2336procedure InvokeDataBrowserItemNotificationWithItemUPP( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification; itemData: DataBrowserItemDataRef; userUPP: DataBrowserItemNotificationWithItemUPP ); external name '_InvokeDataBrowserItemNotificationWithItemUPP';
2337(* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
2338
2339{
2340 *  InvokeDataBrowserItemNotificationUPP()
2341 *  
2342 *  Availability:
2343 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2344 *    CarbonLib:        in CarbonLib 1.1 and later
2345 *    Non-Carbon CFM:   not available
2346 }
2347procedure InvokeDataBrowserItemNotificationUPP( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification; userUPP: DataBrowserItemNotificationUPP ); external name '_InvokeDataBrowserItemNotificationUPP';
2348(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2349
2350{
2351 *  InvokeDataBrowserAddDragItemUPP()
2352 *  
2353 *  Availability:
2354 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2355 *    CarbonLib:        in CarbonLib 1.1 and later
2356 *    Non-Carbon CFM:   not available
2357 }
2358function InvokeDataBrowserAddDragItemUPP( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; var itemRef: ItemReference; userUPP: DataBrowserAddDragItemUPP ): Boolean; external name '_InvokeDataBrowserAddDragItemUPP';
2359(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2360
2361{
2362 *  InvokeDataBrowserAcceptDragUPP()
2363 *  
2364 *  Availability:
2365 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2366 *    CarbonLib:        in CarbonLib 1.1 and later
2367 *    Non-Carbon CFM:   not available
2368 }
2369function InvokeDataBrowserAcceptDragUPP( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; userUPP: DataBrowserAcceptDragUPP ): Boolean; external name '_InvokeDataBrowserAcceptDragUPP';
2370(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2371
2372{
2373 *  InvokeDataBrowserReceiveDragUPP()
2374 *  
2375 *  Availability:
2376 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2377 *    CarbonLib:        in CarbonLib 1.1 and later
2378 *    Non-Carbon CFM:   not available
2379 }
2380function InvokeDataBrowserReceiveDragUPP( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; userUPP: DataBrowserReceiveDragUPP ): Boolean; external name '_InvokeDataBrowserReceiveDragUPP';
2381(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2382
2383{
2384 *  InvokeDataBrowserPostProcessDragUPP()
2385 *  
2386 *  Availability:
2387 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2388 *    CarbonLib:        in CarbonLib 1.1 and later
2389 *    Non-Carbon CFM:   not available
2390 }
2391procedure InvokeDataBrowserPostProcessDragUPP( browser: ControlRef; theDrag: DragReference; trackDragResult: OSStatus; userUPP: DataBrowserPostProcessDragUPP ); external name '_InvokeDataBrowserPostProcessDragUPP';
2392(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2393
2394{
2395 *  InvokeDataBrowserGetContextualMenuUPP()
2396 *  
2397 *  Availability:
2398 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2399 *    CarbonLib:        in CarbonLib 1.1 and later
2400 *    Non-Carbon CFM:   not available
2401 }
2402procedure InvokeDataBrowserGetContextualMenuUPP( browser: ControlRef; var menu: MenuRef; var helpType: UInt32; var helpItemString: CFStringRef; var selection: AEDesc; userUPP: DataBrowserGetContextualMenuUPP ); external name '_InvokeDataBrowserGetContextualMenuUPP';
2403(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2404
2405{
2406 *  InvokeDataBrowserSelectContextualMenuUPP()
2407 *  
2408 *  Availability:
2409 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2410 *    CarbonLib:        in CarbonLib 1.1 and later
2411 *    Non-Carbon CFM:   not available
2412 }
2413procedure InvokeDataBrowserSelectContextualMenuUPP( browser: ControlRef; menu: MenuRef; selectionType: UInt32; menuID: SInt16; menuItem: MenuItemIndex; userUPP: DataBrowserSelectContextualMenuUPP ); external name '_InvokeDataBrowserSelectContextualMenuUPP';
2414(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2415
2416{
2417 *  InvokeDataBrowserItemHelpContentUPP()
2418 *  
2419 *  Availability:
2420 *    Mac OS X:         in version 10.0 and later in Carbon.framework
2421 *    CarbonLib:        in CarbonLib 1.1 and later
2422 *    Non-Carbon CFM:   not available
2423 }
2424procedure InvokeDataBrowserItemHelpContentUPP( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; inRequest: HMContentRequest; var outContentProvided: HMContentProvidedType; ioHelpContent: HMHelpContentPtr; userUPP: DataBrowserItemHelpContentUPP ); external name '_InvokeDataBrowserItemHelpContentUPP';
2425(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2426
2427
2428{ Standard Callback (vtable) Structure }
2429const
2430	kDataBrowserLatestCallbacks = 0;
2431
2432type
2433	DataBrowserCallbacksPtr = ^DataBrowserCallbacks;
2434	DataBrowserCallbacks = record
2435		version: UInt32;                { Use kDataBrowserLatestCallbacks }
2436		case SInt16 of
2437		0: (
2438			itemDataCallback:	DataBrowserItemDataUPP;
2439			itemCompareCallback: DataBrowserItemCompareUPP;
2440			itemNotificationCallback: DataBrowserItemNotificationUPP;
2441			addDragItemCallback: DataBrowserAddDragItemUPP;
2442			acceptDragCallback:	DataBrowserAcceptDragUPP;
2443			receiveDragCallback: DataBrowserReceiveDragUPP;
2444			postProcessDragCallback: DataBrowserPostProcessDragUPP;
2445			itemHelpContentCallback: DataBrowserItemHelpContentUPP;
2446			getContextualMenuCallback: DataBrowserGetContextualMenuUPP;
2447			selectContextualMenuCallback: DataBrowserSelectContextualMenuUPP;
2448		   );
2449	end;
2450{$ifc not TARGET_CPU_64}
2451{
2452 *  InitDataBrowserCallbacks()
2453 *  
2454 *  Mac OS X threading:
2455 *    Not thread safe
2456 *  
2457 *  Availability:
2458 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
2459 *    CarbonLib:        in CarbonLib 1.1 and later
2460 *    Non-Carbon CFM:   not available
2461 }
2462function InitDataBrowserCallbacks( var callbacks: DataBrowserCallbacks ): OSStatus; external name '_InitDataBrowserCallbacks';
2463(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2464
2465
2466{ Macro for initializing callback structure }
2467// #define InitializeDataBrowserCallbacks(callbacks, vers) \
2468{ (callbacks)->version = (vers); InitDataBrowserCallbacks(callbacks); }
2469
2470{
2471 *  GetDataBrowserCallbacks()
2472 *  
2473 *  Mac OS X threading:
2474 *    Not thread safe
2475 *  
2476 *  Availability:
2477 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
2478 *    CarbonLib:        in CarbonLib 1.1 and later
2479 *    Non-Carbon CFM:   not available
2480 }
2481function GetDataBrowserCallbacks( browser: ControlRef; var callbacks: DataBrowserCallbacks ): OSStatus; external name '_GetDataBrowserCallbacks';
2482(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2483
2484
2485{
2486 *  SetDataBrowserCallbacks()
2487 *  
2488 *  Mac OS X threading:
2489 *    Not thread safe
2490 *  
2491 *  Availability:
2492 *    Mac OS X:         in version 10.0 and later in Carbon.framework [32-bit only]
2493 *    CarbonLib:        in CarbonLib 1.1 and later
2494 *    Non-Carbon CFM:   not available
2495 }
2496function SetDataBrowserCallbacks( browser: ControlRef; const (*var*) callbacks: DataBrowserCallbacks ): OSStatus; external name '_SetDataBrowserCallbacks';
2497(* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2498
2499
2500{--------------------------------------------------------------------------------------}
2501{  DataBrowser Events                                                                  }
2502{--------------------------------------------------------------------------------------}
2503{$endc} {not TARGET_CPU_64}
2504
2505
2506{
2507 *  Summary:
2508 *    Event class
2509 }
2510const
2511{
2512   * Events related to DataBrowser.
2513   }
2514	kEventClassDataBrowser = FourCharCode('hidb');
2515
2516{
2517    kEventClassDataBrowser quick reference:
2518    
2519    kEventDataBrowserDrawCustomItem         = 1
2520}
2521
2522{ DataBrowser parameters}
2523
2524const
2525	kEventParamDataBrowserItemID = FourCharCode('dbid'); { typeRefCon}
2526	kEventParamDataBrowserPropertyID = FourCharCode('dbpd'); { typeRefCon}
2527	kEventParamDataBrowserItemState = FourCharCode('dbis'); { typeUInt32}
2528
2529{
2530 *  kEventClassDataBrowser / kEventDataBrowserDrawCustomItem
2531 *  
2532 *  Summary:
2533 *    DataBrowser is requesting a custom item be drawn.
2534 *  
2535 *  Discussion:
2536 *    If the client has installed a custom item draw handler on a data
2537 *    browser containing custom items, as indicated by the
2538 *    kDataBrowserCustomType property, this message will be sent at
2539 *    data browser draw time for all custom items currently showing.
2540 *    This event does not propagate past the Data Browser control and
2541 *    is only sent in compositing mode. If a result other than noErr is
2542 *    returned the DataBrowserDrawItemProcPtr will be invoked if it has
2543 *    bee installed.
2544 *  
2545 *  Mac OS X threading:
2546 *    Not thread safe
2547 *  
2548 *  Parameters:
2549 *    
2550 *    --> kEventParamDirectObject (in, typeControlRef)
2551 *          The DataBrowser requesting a custom item be drawn.
2552 *    
2553 *    --> kEventParamDataBrowserItemID (in, typeRefCon)
2554 *          The item ID for the item to draw.
2555 *    
2556 *    --> kEventParamDataBrowserPropertyID (in, typeRefCon)
2557 *          The property ID for the item. In list view, this is the
2558 *          four-character sequence that you previously assigned to the
2559 *          column. In column view, this is the property
2560 *          kDataBrowserItemSelfIdentityProperty.
2561 *    
2562 *    --> kEventParamDataBrowserItemState (in, typeUInt32)
2563 *          The state to use when drawing