PageRenderTime 89ms CodeModel.GetById 31ms RepoModel.GetById 0ms app.codeStats 1ms

/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. Contains: API and type definitions related to Data Browser.
  4. Version: HIToolbox-624~3
  5. Copyright: © 1999-2008 by Apple Computer, Inc., all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://www.freepascal.org/bugs.html
  9. }
  10. { Initial Pascal Translation: Jonas Maebe, <jonas@freepascal.org>, October 2009 }
  11. { Pascal Translation Updated: Gorazd Krosl, <gorazd_1957@yahoo.ca>, October 2009 }
  12. { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2012 }
  13. {
  14. Modified for use with Free Pascal
  15. Version 308
  16. Please report any bugs to <gpc@microbizz.nl>
  17. }
  18. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  19. {$mode macpas}
  20. {$packenum 1}
  21. {$macro on}
  22. {$inline on}
  23. {$calling mwpascal}
  24. unit HIDataBrowser;
  25. interface
  26. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  27. {$setc GAP_INTERFACES_VERSION := $0308}
  28. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  29. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  30. {$endc}
  31. {$ifc defined CPUPOWERPC and defined CPUI386}
  32. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  33. {$endc}
  34. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  35. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  36. {$endc}
  37. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  38. {$setc __ppc__ := 1}
  39. {$elsec}
  40. {$setc __ppc__ := 0}
  41. {$endc}
  42. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  43. {$setc __ppc64__ := 1}
  44. {$elsec}
  45. {$setc __ppc64__ := 0}
  46. {$endc}
  47. {$ifc not defined __i386__ and defined CPUI386}
  48. {$setc __i386__ := 1}
  49. {$elsec}
  50. {$setc __i386__ := 0}
  51. {$endc}
  52. {$ifc not defined __x86_64__ and defined CPUX86_64}
  53. {$setc __x86_64__ := 1}
  54. {$elsec}
  55. {$setc __x86_64__ := 0}
  56. {$endc}
  57. {$ifc not defined __arm__ and defined CPUARM}
  58. {$setc __arm__ := 1}
  59. {$elsec}
  60. {$setc __arm__ := 0}
  61. {$endc}
  62. {$ifc defined cpu64}
  63. {$setc __LP64__ := 1}
  64. {$elsec}
  65. {$setc __LP64__ := 0}
  66. {$endc}
  67. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  68. {$error Conflicting definitions for __ppc__ and __i386__}
  69. {$endc}
  70. {$ifc defined __ppc__ and __ppc__}
  71. {$setc TARGET_CPU_PPC := TRUE}
  72. {$setc TARGET_CPU_PPC64 := FALSE}
  73. {$setc TARGET_CPU_X86 := FALSE}
  74. {$setc TARGET_CPU_X86_64 := FALSE}
  75. {$setc TARGET_CPU_ARM := FALSE}
  76. {$setc TARGET_OS_MAC := TRUE}
  77. {$setc TARGET_OS_IPHONE := FALSE}
  78. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  79. {$setc TARGET_OS_EMBEDDED := FALSE}
  80. {$elifc defined __ppc64__ and __ppc64__}
  81. {$setc TARGET_CPU_PPC := FALSE}
  82. {$setc TARGET_CPU_PPC64 := TRUE}
  83. {$setc TARGET_CPU_X86 := FALSE}
  84. {$setc TARGET_CPU_X86_64 := FALSE}
  85. {$setc TARGET_CPU_ARM := FALSE}
  86. {$setc TARGET_OS_MAC := TRUE}
  87. {$setc TARGET_OS_IPHONE := FALSE}
  88. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  89. {$setc TARGET_OS_EMBEDDED := FALSE}
  90. {$elifc defined __i386__ and __i386__}
  91. {$setc TARGET_CPU_PPC := FALSE}
  92. {$setc TARGET_CPU_PPC64 := FALSE}
  93. {$setc TARGET_CPU_X86 := TRUE}
  94. {$setc TARGET_CPU_X86_64 := FALSE}
  95. {$setc TARGET_CPU_ARM := FALSE}
  96. {$ifc defined(iphonesim)}
  97. {$setc TARGET_OS_MAC := FALSE}
  98. {$setc TARGET_OS_IPHONE := TRUE}
  99. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  100. {$elsec}
  101. {$setc TARGET_OS_MAC := TRUE}
  102. {$setc TARGET_OS_IPHONE := FALSE}
  103. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  104. {$endc}
  105. {$setc TARGET_OS_EMBEDDED := FALSE}
  106. {$elifc defined __x86_64__ and __x86_64__}
  107. {$setc TARGET_CPU_PPC := FALSE}
  108. {$setc TARGET_CPU_PPC64 := FALSE}
  109. {$setc TARGET_CPU_X86 := FALSE}
  110. {$setc TARGET_CPU_X86_64 := TRUE}
  111. {$setc TARGET_CPU_ARM := FALSE}
  112. {$setc TARGET_OS_MAC := TRUE}
  113. {$setc TARGET_OS_IPHONE := FALSE}
  114. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  115. {$setc TARGET_OS_EMBEDDED := FALSE}
  116. {$elifc defined __arm__ and __arm__}
  117. {$setc TARGET_CPU_PPC := FALSE}
  118. {$setc TARGET_CPU_PPC64 := FALSE}
  119. {$setc TARGET_CPU_X86 := FALSE}
  120. {$setc TARGET_CPU_X86_64 := FALSE}
  121. {$setc TARGET_CPU_ARM := TRUE}
  122. { will require compiler define when/if other Apple devices with ARM cpus ship }
  123. {$setc TARGET_OS_MAC := FALSE}
  124. {$setc TARGET_OS_IPHONE := TRUE}
  125. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  126. {$setc TARGET_OS_EMBEDDED := TRUE}
  127. {$elsec}
  128. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
  129. {$endc}
  130. {$ifc defined __LP64__ and __LP64__ }
  131. {$setc TARGET_CPU_64 := TRUE}
  132. {$elsec}
  133. {$setc TARGET_CPU_64 := FALSE}
  134. {$endc}
  135. {$ifc defined FPC_BIG_ENDIAN}
  136. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  137. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  138. {$elifc defined FPC_LITTLE_ENDIAN}
  139. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  140. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  141. {$elsec}
  142. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  143. {$endc}
  144. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  145. {$setc CALL_NOT_IN_CARBON := FALSE}
  146. {$setc OLDROUTINENAMES := FALSE}
  147. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  148. {$setc OPAQUE_UPP_TYPES := TRUE}
  149. {$setc OTCARBONAPPLICATION := TRUE}
  150. {$setc OTKERNEL := FALSE}
  151. {$setc PM_USE_SESSION_APIS := TRUE}
  152. {$setc TARGET_API_MAC_CARBON := TRUE}
  153. {$setc TARGET_API_MAC_OS8 := FALSE}
  154. {$setc TARGET_API_MAC_OSX := TRUE}
  155. {$setc TARGET_CARBON := TRUE}
  156. {$setc TARGET_CPU_68K := FALSE}
  157. {$setc TARGET_CPU_MIPS := FALSE}
  158. {$setc TARGET_CPU_SPARC := FALSE}
  159. {$setc TARGET_OS_UNIX := FALSE}
  160. {$setc TARGET_OS_WIN32 := FALSE}
  161. {$setc TARGET_RT_MAC_68881 := FALSE}
  162. {$setc TARGET_RT_MAC_CFM := FALSE}
  163. {$setc TARGET_RT_MAC_MACHO := TRUE}
  164. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  165. {$setc TYPE_BOOL := FALSE}
  166. {$setc TYPE_EXTENDED := FALSE}
  167. {$setc TYPE_LONGLONG := TRUE}
  168. uses MacTypes,TextEdit,AXUIElement,AEDataModel,CFBase,Events,QuickdrawTypes,IconsCore,Icons,CFData,CFDictionary,DateTimeUtils,Drag,TextCommon,Appearance,CarbonEvents,Controls,Lists,MacHelp,Menus,CFString,CGBase,HIObject;
  169. {$endc} {not MACOSALLINCLUDE}
  170. {$ifc TARGET_OS_MAC}
  171. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  172. { ¥ DATA BROWSER }
  173. { (CDEF 29) }
  174. {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
  175. { This control implements a user interface component for browsing (optionally) }
  176. { hiearchical data structures. The browser supports multiple presentation styles }
  177. { including, but not limited to: }
  178. { kDataBrowserListView - items and item properties in }
  179. { multi-column (optionally outline) format }
  180. { kDataBrowserColumnView - in-place browsing using fixed navigation columns }
  181. { The browser manages all view styles through a single high-level interface. }
  182. { The high-level interface makes the following assumptions: }
  183. { - Items have unique 32-bit identifiers (0 is reserved) }
  184. { - Items have two kinds of named and typed properties: }
  185. { - Predefined attribute properties ( < 1024 ) }
  186. { (including some display properties) }
  187. { - Client-defined display properties ( >= 1024 ) }
  188. { - Some items are containers of other items }
  189. { - Items may be sorted by any property }
  190. { Because a browser doesn't know all details about the type of objects it manages, }
  191. { some implementation responsibility is best handled by its client. The client must }
  192. { provide a set of callback routines which define the item hierarchy and help to }
  193. { populate the browser with items. The client may also provide callbacks for handling }
  194. { custom data types and doing low-level event management. }
  195. { The API is subdivided into a "universal" set of routines that applies to all view }
  196. { styles, and a set of routines unique to each view style. kDataBrowserListView and }
  197. { kDataBrowserColumnView share an (internal) TableView abstract base class. The }
  198. { TableView formatting options and API applies to both of these view styles. }
  199. { NOTE: This control is only available with CarbonLib 1.1. }
  200. { NOTE: This control must be created with the CreateDataBrowserControl API in }
  201. { CarbonLib 1.1 through 1.4. In Mac OS X and CarbonLib 1.5 and later, you }
  202. { may use the control's procID (29) to create the control with NewControl }
  203. { or with a 'CNTL' resource. }
  204. { The HIObject class ID for the HIDataBrowser class. }
  205. {$ALIGN MAC68K}
  206. {$ifc USE_CFSTR_CONSTANT_MACROS}
  207. {$definec kHIDataBrowserClassID CFSTRP('com.apple.HIDataBrowser')}
  208. {$endc}
  209. { Control Kind Tag }
  210. const
  211. kControlKindDataBrowser = FourCharCode('datb');
  212. { Error Codes }
  213. const
  214. errDataBrowserNotConfigured = -4970;
  215. errDataBrowserItemNotFound = -4971;
  216. errDataBrowserItemNotAdded = -4975;
  217. errDataBrowserPropertyNotFound = -4972;
  218. errDataBrowserInvalidPropertyPart = -4973;
  219. errDataBrowserInvalidPropertyData = -4974;
  220. errDataBrowserPropertyNotSupported = -4979; { Return from DataBrowserGetSetItemDataProc }
  221. const
  222. { Generic Control Tags }
  223. kControlDataBrowserIncludesFrameAndFocusTag = FourCharCode('brdr'); { Boolean }
  224. kControlDataBrowserKeyFilterTag = kControlKeyFilterTag;
  225. kControlDataBrowserEditTextKeyFilterTag = kControlDataBrowserKeyFilterTag;
  226. kControlDataBrowserEditTextValidationProcTag = FourCharCode('vali'); { ControlEditTextValidationUPP. Called when a key filter can't be: after cut, paste, etc.}
  227. { Data Browser View Styles }
  228. type
  229. DataBrowserViewStyle = OSType;
  230. const
  231. kDataBrowserNoView = $3F3F3F3F; { Error State }
  232. kDataBrowserListView = FourCharCode('lstv');
  233. kDataBrowserColumnView = FourCharCode('clmv');
  234. { Selection Flags }
  235. type
  236. DataBrowserSelectionFlags = UInt32;
  237. const
  238. kDataBrowserDragSelect = 1 shl 0; { Å ListMgr lNoRect }
  239. kDataBrowserSelectOnlyOne = 1 shl 1; { Å ListMgr lOnlyOne }
  240. kDataBrowserResetSelection = 1 shl 2; { Å ListMgr lNoExtend }
  241. kDataBrowserCmdTogglesSelection = 1 shl 3; { Å ListMgr lUseSense }
  242. kDataBrowserNoDisjointSelection = 1 shl 4; { Å ListMgr lNoDisjoint }
  243. kDataBrowserAlwaysExtendSelection = 1 shl 5; { Å ListMgr lExtendDrag }
  244. kDataBrowserNeverEmptySelectionSet = 1 shl 6; { Å ListMgr lNoNilHilite }
  245. { Data Browser Sorting }
  246. type
  247. DataBrowserSortOrder = UInt16;
  248. const
  249. kDataBrowserOrderUndefined = 0; { Not currently supported }
  250. kDataBrowserOrderIncreasing = 1;
  251. kDataBrowserOrderDecreasing = 2;
  252. { Data Browser Item Management }
  253. type
  254. DataBrowserItemID = UNSIGNEDLONG;
  255. DataBrowserItemIDPtr = ^DataBrowserItemID;
  256. const
  257. kDataBrowserNoItem = 0; { Reserved DataBrowserItemID }
  258. type
  259. DataBrowserItemState = UInt32;
  260. const
  261. kDataBrowserItemNoState = 0;
  262. kDataBrowserItemAnyState = $FFFFFFFF;
  263. kDataBrowserItemIsSelected = 1 shl 0;
  264. kDataBrowserContainerIsOpen = 1 shl 1;
  265. kDataBrowserItemIsDragTarget = 1 shl 2; { During a drag operation }
  266. { Options for use with RevealDataBrowserItem }
  267. type
  268. DataBrowserRevealOptions = UInt8;
  269. const
  270. kDataBrowserRevealOnly = 0;
  271. kDataBrowserRevealAndCenterInView = 1 shl 0;
  272. kDataBrowserRevealWithoutSelecting = 1 shl 1;
  273. { Set operations for use with SetDataBrowserSelectedItems }
  274. type
  275. DataBrowserSetOption = UInt32;
  276. const
  277. kDataBrowserItemsAdd = 0; { add specified items to existing set }
  278. kDataBrowserItemsAssign = 1; { assign destination set to specified items }
  279. kDataBrowserItemsToggle = 2; { toggle membership state of specified items }
  280. kDataBrowserItemsRemove = 3; { remove specified items from existing set }
  281. { Commands for use with MoveDataBrowserSelectionAnchor }
  282. type
  283. DataBrowserSelectionAnchorDirection = UInt32;
  284. const
  285. kDataBrowserSelectionAnchorUp = 0;
  286. kDataBrowserSelectionAnchorDown = 1;
  287. kDataBrowserSelectionAnchorLeft = 2;
  288. kDataBrowserSelectionAnchorRight = 3;
  289. { Edit menu command IDs for use with Enable/ExecuteDataBrowserEditCommand }
  290. type
  291. DataBrowserEditCommand = UInt32;
  292. const
  293. kDataBrowserEditMsgUndo = kHICommandUndo;
  294. kDataBrowserEditMsgRedo = kHICommandRedo;
  295. kDataBrowserEditMsgCut = kHICommandCut;
  296. kDataBrowserEditMsgCopy = kHICommandCopy;
  297. kDataBrowserEditMsgPaste = kHICommandPaste;
  298. kDataBrowserEditMsgClear = kHICommandClear;
  299. kDataBrowserEditMsgSelectAll = kHICommandSelectAll;
  300. { Notifications used in DataBrowserItemNotificationProcPtr }
  301. type
  302. DataBrowserItemNotification = UInt32;
  303. const
  304. kDataBrowserItemAdded = 1; { The specified item has been added to the browser }
  305. kDataBrowserItemRemoved = 2; { The specified item has been removed from the browser }
  306. kDataBrowserEditStarted = 3; { Starting an EditText session for specified item }
  307. kDataBrowserEditStopped = 4; { Stopping an EditText session for specified item }
  308. kDataBrowserItemSelected = 5; { Item has just been added to the selection set }
  309. kDataBrowserItemDeselected = 6; { Item has just been removed from the selection set }
  310. kDataBrowserItemDoubleClicked = 7;
  311. kDataBrowserContainerOpened = 8; { Container is open }
  312. kDataBrowserContainerClosing = 9; { Container is about to close (and will real soon now, y'all) }
  313. kDataBrowserContainerClosed = 10; { Container is closed (y'all come back now!) }
  314. kDataBrowserContainerSorting = 11; { Container is about to be sorted (lock any volatile properties) }
  315. kDataBrowserContainerSorted = 12; { Container has been sorted (you may release any property locks) }
  316. kDataBrowserUserToggledContainer = 16; { _User_ requested container open/close state to be toggled }
  317. kDataBrowserTargetChanged = 15; { The target has changed to the specified item }
  318. kDataBrowserUserStateChanged = 13; { The user has reformatted the view for the target }
  319. kDataBrowserSelectionSetChanged = 14; { The selection set has been modified (net result may be the same) }
  320. {
  321. * DataBrowserPropertyID
  322. *
  323. * Discussion:
  324. * Properties with values 0 through 1023 are reserved for Apple's
  325. * use. Values greater than or equal to 1024 are for client use.
  326. }
  327. const
  328. { Predefined attribute properties, optional & non-display unless otherwise stated }
  329. kDataBrowserItemNoProperty = 0; { The anti-property (no associated data) }
  330. kDataBrowserItemIsActiveProperty = 1; { Boolean typed data (defaults to true) }
  331. kDataBrowserItemIsSelectableProperty = 2; { Boolean typed data (defaults to true) }
  332. kDataBrowserItemIsEditableProperty = 3; { Boolean typed data (defaults to false, used for editable properties) }
  333. kDataBrowserItemIsContainerProperty = 4; { Boolean typed data (defaults to false) }
  334. kDataBrowserContainerIsOpenableProperty = 5; { Boolean typed data (defaults to true) }
  335. kDataBrowserContainerIsClosableProperty = 6; { Boolean typed data (defaults to true) }
  336. kDataBrowserContainerIsSortableProperty = 7; { Boolean typed data (defaults to true) }
  337. kDataBrowserItemSelfIdentityProperty = 8; { kDataBrowserIconAndTextType (display property; ColumnView only) }
  338. {
  339. * kDataBrowserContainerAliasIDProperty is sent to your
  340. * DataBrowserItemDataProcPtr callback to give you a chance to follow
  341. * an alias or symlink that the item might represent. If the incoming
  342. * item is an alias to another item, you can call
  343. * SetDataBrowserItemDataItemID to let Data Browser know which other
  344. * item the incoming item points to.
  345. *
  346. * This is only sent from column view, and your support for it is
  347. * optional. It allows Data Browser to be more memory efficient with
  348. * its internal storage. If a given container item is an alias to an
  349. * item whose contents are already displayed in an existing column
  350. * view column, the contents can be shared between those two columns.
  351. }
  352. kDataBrowserContainerAliasIDProperty = 9; { DataBrowserItemID (alias/symlink an item to a container item) }
  353. {
  354. * kDataBrowserColumnViewPreviewProperty is sent to various callbacks
  355. * to give you a chance to draw or track in the preview column of
  356. * column view.
  357. *
  358. * You can also pass kDataBrowserColumnViewPreviewProperty in the
  359. * property parameter of RevealDataBrowserItem in conjunction with
  360. * the appropriate DataBrowserItemID of the item whose preview is
  361. * being displayed when you want to make sure the preview column is
  362. * visible to the user.
  363. *
  364. * kDataBrowserColumnViewPreviewProperty is only supported in column
  365. * view.
  366. }
  367. kDataBrowserColumnViewPreviewProperty = 10; { kDataBrowserCustomType (display property; ColumnView only) }
  368. {
  369. * kDataBrowserItemParentContainerProperty is sent to your
  370. * DataBrowserItemDataProcPtr callback when Data Browser needs to
  371. * know the parent container item for a given item.
  372. *
  373. * In column view, this allows the internals of SetDataBrowserTarget
  374. * to work. The target is the container whose contents you wish to
  375. * display, which is the rightmost column in column view. However,
  376. * unlike SetDataBrowserColumnViewPath, SetDataBrowserTarget doesn't
  377. * offer a way for you to communicate the DataBrowserItemIDs of the
  378. * rest of the column containers, so SetDataBrowserTarget needs to
  379. * ask for them explicitly by asking for the container's parent, then
  380. * the container's parent's parent, and so on.
  381. *
  382. * In list view, this allows you to pass a non-container to
  383. * SetDataBrowserTarget. In this situation, Data Browser will ask you
  384. * for the parent of the target so it knows which container to
  385. * display the contents of in the list view.
  386. *
  387. * In both list and column views, your DataBrowserItemDataProcPtr
  388. * callback might be called with
  389. * kDataBrowserItemParentContainerProperty at a variety of other
  390. * times, so you should be sure to support this property if your Data
  391. * Browser displays a containment hierarchy.
  392. }
  393. kDataBrowserItemParentContainerProperty = 11; { DataBrowserItemID (the parent of the specified item, used by ColumnView) }
  394. type
  395. DataBrowserPropertyID = UNSIGNEDLONG;
  396. { DataBrowser Property Types (for display properties; i.e. ListView columns) }
  397. { These are primarily presentation types (or styles) although }
  398. { they also imply a particular set of primitive types or structures. }
  399. type
  400. DataBrowserPropertyType = OSType;
  401. const
  402. { == Corresponding data type or structure == }
  403. kDataBrowserCustomType = $3F3F3F3F; { No associated data, custom callbacks used }
  404. kDataBrowserIconType = FourCharCode('icnr'); { IconRef, IconTransformType, RGBColor }
  405. kDataBrowserTextType = FourCharCode('text'); { CFStringRef }
  406. kDataBrowserDateTimeType = FourCharCode('date'); { DateTime or LongDateTime }
  407. kDataBrowserSliderType = FourCharCode('sldr'); { Min, Max, Value }
  408. kDataBrowserCheckboxType = FourCharCode('chbx'); { ThemeButtonValue }
  409. kDataBrowserProgressBarType = FourCharCode('prog'); { Min, Max, Value }
  410. kDataBrowserRelevanceRankType = FourCharCode('rank'); { Min, Max, Value }
  411. kDataBrowserPopupMenuType = FourCharCode('menu'); { MenuRef, Value }
  412. kDataBrowserIconAndTextType = FourCharCode('ticn'); { IconRef, CFStringRef, etc }
  413. { DataBrowser Property Parts }
  414. { Visual components of a property type. }
  415. { For use with GetDataBrowserItemPartBounds. }
  416. type
  417. DataBrowserPropertyPart = OSType;
  418. const
  419. kDataBrowserPropertyEnclosingPart = 0;
  420. kDataBrowserPropertyContentPart = FourCharCode('----');
  421. kDataBrowserPropertyDisclosurePart = FourCharCode('disc');
  422. kDataBrowserPropertyTextPart = kDataBrowserTextType;
  423. kDataBrowserPropertyIconPart = kDataBrowserIconType;
  424. kDataBrowserPropertySliderPart = kDataBrowserSliderType;
  425. kDataBrowserPropertyCheckboxPart = kDataBrowserCheckboxType;
  426. kDataBrowserPropertyProgressBarPart = kDataBrowserProgressBarType;
  427. kDataBrowserPropertyRelevanceRankPart = kDataBrowserRelevanceRankType;
  428. { Modify appearance/behavior of display properties }
  429. type
  430. DataBrowserPropertyFlags = UInt32;
  431. { Low 8 bits apply to all property types }
  432. const
  433. kDataBrowserUniversalPropertyFlagsMask = $FF;
  434. kDataBrowserPropertyIsMutable = 1 shl 0;
  435. kDataBrowserDefaultPropertyFlags = 0 shl 0;
  436. kDataBrowserUniversalPropertyFlags = kDataBrowserUniversalPropertyFlagsMask; { support for an old name}
  437. kDataBrowserPropertyIsEditable = kDataBrowserPropertyIsMutable; { support for an old name}
  438. { Next 8 bits contain property-specific modifiers }
  439. {
  440. * Summary:
  441. * Data Browser Property Flags
  442. }
  443. const
  444. kDataBrowserPropertyFlagsOffset = 8;
  445. kDataBrowserPropertyFlagsMask = $FF shl kDataBrowserPropertyFlagsOffset;
  446. kDataBrowserCheckboxTriState = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserCheckboxType}
  447. kDataBrowserDateTimeRelative = 1 shl (kDataBrowserPropertyFlagsOffset); { kDataBrowserDateTimeType }
  448. kDataBrowserDateTimeDateOnly = 1 shl (kDataBrowserPropertyFlagsOffset + 1); { kDataBrowserDateTimeType }
  449. kDataBrowserDateTimeTimeOnly = 1 shl (kDataBrowserPropertyFlagsOffset + 2); { kDataBrowserDateTimeType }
  450. kDataBrowserDateTimeSecondsToo = 1 shl (kDataBrowserPropertyFlagsOffset + 3); { kDataBrowserDateTimeType }
  451. kDataBrowserSliderPlainThumb = kThemeThumbPlain shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
  452. kDataBrowserSliderUpwardThumb = kThemeThumbUpward shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
  453. kDataBrowserSliderDownwardThumb = kThemeThumbDownward shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
  454. kDataBrowserDoNotTruncateText = 3 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
  455. kDataBrowserTruncateTextAtEnd = 2 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
  456. kDataBrowserTruncateTextMiddle = 0 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
  457. kDataBrowserTruncateTextAtStart = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
  458. {
  459. * This flag is only for use with columns of type
  460. * kDataBrowserPopupMenuType. This flag indicates that the popup be
  461. * drawn in a sleek buttonless fashion. The text will be drawn next
  462. * to a popup glyph, and the whole cell will be clickable. Available
  463. * on 10.4 and later.
  464. }
  465. kDataBrowserPopupMenuButtonless = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserPopupMenuType}
  466. kDataBrowserPropertyModificationFlags = kDataBrowserPropertyFlagsMask; { support for an old name}
  467. kDataBrowserRelativeDateTime = kDataBrowserDateTimeRelative; { support for an old name}
  468. {
  469. Next 8 bits contain viewStyle-specific modifiers
  470. See individual ViewStyle sections below for flag definitions
  471. }
  472. const
  473. kDataBrowserViewSpecificFlagsOffset = 16;
  474. kDataBrowserViewSpecificFlagsMask = $FF shl kDataBrowserViewSpecificFlagsOffset;
  475. kDataBrowserViewSpecificPropertyFlags = kDataBrowserViewSpecificFlagsMask; { support for an old name}
  476. { High 8 bits are reserved for client application use }
  477. const
  478. kDataBrowserClientPropertyFlagsOffset = 24;
  479. kDataBrowserClientPropertyFlagsMask = $FF shl kDataBrowserClientPropertyFlagsOffset;
  480. { Client defined property description }
  481. type
  482. DataBrowserPropertyDescPtr = ^DataBrowserPropertyDesc;
  483. DataBrowserPropertyDesc = record
  484. propertyID: DataBrowserPropertyID;
  485. propertyType: DataBrowserPropertyType;
  486. propertyFlags: DataBrowserPropertyFlags;
  487. end;
  488. { Callback definition for use with ForEachDataBrowserItem }
  489. type
  490. DataBrowserItemProcPtr = procedure( item: DataBrowserItemID; state: DataBrowserItemState; clientData: UnivPtr );
  491. DataBrowserItemUPP = DataBrowserItemProcPtr;
  492. {
  493. * NewDataBrowserItemUPP()
  494. *
  495. * Availability:
  496. * Mac OS X: in version 10.0 and later in Carbon.framework
  497. * CarbonLib: in CarbonLib 1.1 and later
  498. * Non-Carbon CFM: not available
  499. }
  500. function NewDataBrowserItemUPP( userRoutine: DataBrowserItemProcPtr ): DataBrowserItemUPP; external name '_NewDataBrowserItemUPP';
  501. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  502. {
  503. * DisposeDataBrowserItemUPP()
  504. *
  505. * Availability:
  506. * Mac OS X: in version 10.0 and later in Carbon.framework
  507. * CarbonLib: in CarbonLib 1.1 and later
  508. * Non-Carbon CFM: not available
  509. }
  510. procedure DisposeDataBrowserItemUPP( userUPP: DataBrowserItemUPP ); external name '_DisposeDataBrowserItemUPP';
  511. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  512. {
  513. * InvokeDataBrowserItemUPP()
  514. *
  515. * Availability:
  516. * Mac OS X: in version 10.0 and later in Carbon.framework
  517. * CarbonLib: in CarbonLib 1.1 and later
  518. * Non-Carbon CFM: not available
  519. }
  520. procedure InvokeDataBrowserItemUPP( item: DataBrowserItemID; state: DataBrowserItemState; clientData: UnivPtr; userUPP: DataBrowserItemUPP ); external name '_InvokeDataBrowserItemUPP';
  521. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  522. { Creation/Configuration }
  523. {$ifc not TARGET_CPU_64}
  524. {
  525. * CreateDataBrowserControl()
  526. *
  527. * Mac OS X threading:
  528. * Not thread safe
  529. *
  530. * Availability:
  531. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  532. * CarbonLib: in CarbonLib 1.1 and later
  533. * Non-Carbon CFM: not available
  534. }
  535. function CreateDataBrowserControl( window: WindowRef; const (*var*) boundsRect: Rect; style: DataBrowserViewStyle; var outControl: ControlRef ): OSStatus; external name '_CreateDataBrowserControl';
  536. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  537. {
  538. * GetDataBrowserViewStyle()
  539. *
  540. * Mac OS X threading:
  541. * Not thread safe
  542. *
  543. * Availability:
  544. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  545. * CarbonLib: in CarbonLib 1.1 and later
  546. * Non-Carbon CFM: not available
  547. }
  548. function GetDataBrowserViewStyle( browser: ControlRef; var style: DataBrowserViewStyle ): OSStatus; external name '_GetDataBrowserViewStyle';
  549. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  550. {
  551. * SetDataBrowserViewStyle()
  552. *
  553. * Mac OS X threading:
  554. * Not thread safe
  555. *
  556. * Availability:
  557. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  558. * CarbonLib: in CarbonLib 1.1 and later
  559. * Non-Carbon CFM: not available
  560. }
  561. function SetDataBrowserViewStyle( browser: ControlRef; style: DataBrowserViewStyle ): OSStatus; external name '_SetDataBrowserViewStyle';
  562. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  563. {$endc} {not TARGET_CPU_64}
  564. {
  565. * Summary:
  566. * Data Browser attributes
  567. *
  568. * Discussion:
  569. * For use with DataBrowserChangeAttributes and
  570. * DataBrowserGetAttributes. Available in Mac OS X 10.4 and later.
  571. }
  572. const
  573. {
  574. * A constant with value zero; the lack of any attributes.
  575. }
  576. kDataBrowserAttributeNone = 0;
  577. {
  578. * In Column View, this Data Browser is allowed to resize the owning
  579. * window whenever necessary. This includes, but is not necessarily
  580. * limited to, situations where column resize operations need more
  581. * visible space in the window. If you turn this attribute on, your
  582. * window must tolerate being resized behind your app's back. If your
  583. * window needs to react to bounds changes, use a
  584. * kEventWindowBoundsChanged event handler. If you need to constrain
  585. * your window's minimum and maximum bounds, use
  586. * kEventWindowGetMinimum/MaximumSize handlers, the
  587. * SetWindowResizeLimits API, or something similar.
  588. }
  589. kDataBrowserAttributeColumnViewResizeWindow = 1 shl 0;
  590. {
  591. * In List View, this Data Browser should draw alternating row
  592. * background colors.
  593. }
  594. kDataBrowserAttributeListViewAlternatingRowColors = 1 shl 1;
  595. {
  596. * In List View, this Data Browser should draw a vertical line
  597. * between the columns.
  598. }
  599. kDataBrowserAttributeListViewDrawColumnDividers = 1 shl 2;
  600. {
  601. * Whether the Data Browser should hide scroll bar when they are not
  602. * necessary, and use the additional space to draw more content. By
  603. * default this attribute is turned off. This attribute is available
  604. * on Mac OS X 10.5 and later.
  605. * As of Mac OS X 10.5, this is only respected in list view, but it
  606. * may be respected in column view in the future. If you set this now
  607. * for a Data Browser instance that uses column view, you must be
  608. * prepared for the scroll bars to auto hide in the future. This
  609. * attribute is only respected in compositing mode; it will be
  610. * ignored in non-compositing mode.
  611. * When this attribute is turned on for a Data Browser instance that
  612. * is allowed to use both horizontal and vertical scroll bars (see
  613. * SetDataBrowserHasScrollBars), the Data Browser will attempt to use
  614. * the square space at the bottom right of the scroll bar area
  615. * whenever necessary. In other words, when the vertical scroll bar
  616. * is not necessary, the Data Browser will stretch the horizontal
  617. * scroll bar across the entire width. If your code needs Data
  618. * Browser to *not* use that square space - possibly because your
  619. * window's grow box will overlap that area - you should also turn on
  620. * the kDataBrowserAttributeReserveGrowBoxSpace attribute whenever
  621. * you turn on scroll bar auto hiding.
  622. }
  623. kDataBrowserAttributeAutoHideScrollBars = 1 shl 3;
  624. {
  625. * Whether the Data Browser should avoid positioning either of its
  626. * scroll bars such that they overlap the very bottom right of the
  627. * content area, where you'd typically have a grow box. By default,
  628. * this attribute is turned off. This attribute is available on Mac
  629. * OS X 10.5 and later.
  630. }
  631. kDataBrowserAttributeReserveGrowBoxSpace = 1 shl 4;
  632. {$ifc not TARGET_CPU_64}
  633. {
  634. * DataBrowserChangeAttributes()
  635. *
  636. * Summary:
  637. * Set the attributes for the given Data Browser.
  638. *
  639. * Mac OS X threading:
  640. * Not thread safe
  641. *
  642. * Parameters:
  643. *
  644. * inDataBrowser:
  645. * The Data Browser whose attributes to change.
  646. *
  647. * inAttributesToSet:
  648. * The attributes to set.
  649. *
  650. * inAttributesToClear:
  651. * The attributes to clear.
  652. *
  653. * Result:
  654. * An operating system status code.
  655. *
  656. * Availability:
  657. * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
  658. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  659. * Non-Carbon CFM: not available
  660. }
  661. function DataBrowserChangeAttributes( inDataBrowser: ControlRef; inAttributesToSet: OptionBits; inAttributesToClear: OptionBits ): OSStatus; external name '_DataBrowserChangeAttributes';
  662. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  663. {
  664. * DataBrowserGetAttributes()
  665. *
  666. * Summary:
  667. * Returns the attributes of a given Data Browser.
  668. *
  669. * Mac OS X threading:
  670. * Not thread safe
  671. *
  672. * Parameters:
  673. *
  674. * inDataBrowser:
  675. * The Data Browser whose attributes to query.
  676. *
  677. * outAttributes:
  678. * On exit, will contain the attributes of the Data Browser. This
  679. * parameter cannot be NULL.
  680. *
  681. * Result:
  682. * An operating system status code.
  683. *
  684. * Availability:
  685. * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
  686. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  687. * Non-Carbon CFM: not available
  688. }
  689. function DataBrowserGetAttributes( inDataBrowser: ControlRef; var outAttributes: OptionBits ): OSStatus; external name '_DataBrowserGetAttributes';
  690. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  691. {$endc} {not TARGET_CPU_64}
  692. {
  693. * Summary:
  694. * DataBrowserMetric values
  695. *
  696. * Discussion:
  697. * For use with DataBrowserSetMetric.
  698. }
  699. const
  700. {
  701. * The content (icon, text, etc.) within a cell is drawn a certain
  702. * amount in from the left & right edges of the cell. This metric
  703. * governs the amount of inset.
  704. }
  705. kDataBrowserMetricCellContentInset = 1;
  706. {
  707. * This metric controls the space between the icon and text within a
  708. * column of type kDataBrowserIconAndTextType.
  709. }
  710. kDataBrowserMetricIconAndTextGap = 2;
  711. {
  712. * In List View only, this metric is similar to
  713. * kDataBrowserMetricCellContentInset, but it only affects the
  714. * disclosure column and it only affects the side of the cell that
  715. * displays the disclosure triangle. In other words, this metric is
  716. * used instead of (not in addition to)
  717. * DataBrowserMetricCellContentInset for one side of the disclosure
  718. * column.
  719. }
  720. kDataBrowserMetricDisclosureColumnEdgeInset = 3;
  721. {
  722. * In List View only, this metric controls the amount of space
  723. * between the disclosure triangle and the cell's content.
  724. }
  725. kDataBrowserMetricDisclosureTriangleAndContentGap = 4;
  726. {
  727. * In List View only, this metric controls the amount of space in the
  728. * disclosure column for each level of indentation in progressively
  729. * deeper hierarchies of disclosed items.
  730. }
  731. kDataBrowserMetricDisclosureColumnPerDepthGap = 5;
  732. kDataBrowserMetricLast = kDataBrowserMetricDisclosureColumnPerDepthGap;
  733. type
  734. DataBrowserMetric = UInt32;
  735. {$ifc not TARGET_CPU_64}
  736. {
  737. * DataBrowserSetMetric()
  738. *
  739. * Summary:
  740. * Sets a value for a specified Data Browser metric.
  741. *
  742. * Mac OS X threading:
  743. * Not thread safe
  744. *
  745. * Parameters:
  746. *
  747. * inDataBrowser:
  748. * The Data Browser instance whose metric is being changed.
  749. *
  750. * inMetric:
  751. * The DataBrowserMetric whose value is being changed.
  752. *
  753. * inUseDefaultValue:
  754. * A Boolean indicating whether you want the Data Browser instance
  755. * to revert to the default value for the metric. If you pass
  756. * true, inValue will be ignored and a suitable default value will
  757. * be used. If you pass false, inValue will be used as the value
  758. * of the metric.
  759. *
  760. * inValue:
  761. * When you pass false for inUseDefaultValue, this parameter is
  762. * the value to use for the metric.
  763. *
  764. * Result:
  765. * An operating system status code. If the incoming ControlRef isn't
  766. * a Data Browser instance, or if the incoming metric isn't known,
  767. * this function will return paramErr.
  768. *
  769. * Availability:
  770. * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
  771. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  772. * Non-Carbon CFM: not available
  773. }
  774. function DataBrowserSetMetric( inDataBrowser: ControlRef; inMetric: DataBrowserMetric; inUseDefaultValue: Boolean; inValue: CGFloat ): OSStatus; external name '_DataBrowserSetMetric';
  775. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  776. {
  777. * DataBrowserGetMetric()
  778. *
  779. * Summary:
  780. * Gets the value for a specified Data Browser metric.
  781. *
  782. * Mac OS X threading:
  783. * Not thread safe
  784. *
  785. * Parameters:
  786. *
  787. * inDataBrowser:
  788. * The Data Browser instance whose metric value to get.
  789. *
  790. * inMetric:
  791. * The DataBrowserMetric value to get.
  792. *
  793. * outUsingDefaultValue:
  794. * On exit, this is a Boolean indicating whether the metric's
  795. * value is determined by Data Browser's default values. You may
  796. * pass NULL if you don't need this information.
  797. *
  798. * outValue:
  799. * On exit, this is the value of the metric.
  800. *
  801. * Result:
  802. * An operating system status code. If the incoming ControlRef isn't
  803. * a Data Browser instance, or if the incoming metric isn't known,
  804. * this function will return paramErr.
  805. *
  806. * Availability:
  807. * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
  808. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  809. * Non-Carbon CFM: not available
  810. }
  811. function DataBrowserGetMetric( inDataBrowser: ControlRef; inMetric: DataBrowserMetric; outUsingDefaultValue: BooleanPtr { can be NULL }; var outValue: CGFloat ): OSStatus; external name '_DataBrowserGetMetric';
  812. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  813. { Item Manipulation }
  814. { Passing NULL for "items" argument to RemoveDataBrowserItems and }
  815. { UpdateDataBrowserItems refers to all items in the specified container. }
  816. { Passing NULL for "items" argument to AddDataBrowserItems means }
  817. { "generate IDs starting from 1." }
  818. {
  819. * AddDataBrowserItems()
  820. *
  821. * Mac OS X threading:
  822. * Not thread safe
  823. *
  824. * Availability:
  825. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  826. * CarbonLib: in CarbonLib 1.1 and later
  827. * Non-Carbon CFM: not available
  828. }
  829. function AddDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID ): OSStatus; external name '_AddDataBrowserItems';
  830. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  831. {
  832. * RemoveDataBrowserItems()
  833. *
  834. * Mac OS X threading:
  835. * Not thread safe
  836. *
  837. * Availability:
  838. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  839. * CarbonLib: in CarbonLib 1.1 and later
  840. * Non-Carbon CFM: not available
  841. }
  842. function RemoveDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID ): OSStatus; external name '_RemoveDataBrowserItems';
  843. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  844. {
  845. * UpdateDataBrowserItems()
  846. *
  847. * Mac OS X threading:
  848. * Not thread safe
  849. *
  850. * Availability:
  851. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  852. * CarbonLib: in CarbonLib 1.1 and later
  853. * Non-Carbon CFM: not available
  854. }
  855. function UpdateDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID; propertyID: DataBrowserPropertyID ): OSStatus; external name '_UpdateDataBrowserItems';
  856. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  857. { Edit Menu Enabling and Handling }
  858. {
  859. * EnableDataBrowserEditCommand()
  860. *
  861. * Mac OS X threading:
  862. * Not thread safe
  863. *
  864. * Availability:
  865. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  866. * CarbonLib: in CarbonLib 1.1 and later
  867. * Non-Carbon CFM: not available
  868. }
  869. function EnableDataBrowserEditCommand( browser: ControlRef; command: DataBrowserEditCommand ): Boolean; external name '_EnableDataBrowserEditCommand';
  870. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  871. {
  872. * ExecuteDataBrowserEditCommand()
  873. *
  874. * Mac OS X threading:
  875. * Not thread safe
  876. *
  877. * Availability:
  878. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  879. * CarbonLib: in CarbonLib 1.1 and later
  880. * Non-Carbon CFM: not available
  881. }
  882. function ExecuteDataBrowserEditCommand( browser: ControlRef; command: DataBrowserEditCommand ): OSStatus; external name '_ExecuteDataBrowserEditCommand';
  883. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  884. {
  885. * GetDataBrowserSelectionAnchor()
  886. *
  887. * Mac OS X threading:
  888. * Not thread safe
  889. *
  890. * Availability:
  891. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  892. * CarbonLib: in CarbonLib 1.1 and later
  893. * Non-Carbon CFM: not available
  894. }
  895. function GetDataBrowserSelectionAnchor( browser: ControlRef; var first: DataBrowserItemID; var last: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserSelectionAnchor';
  896. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  897. {
  898. * MoveDataBrowserSelectionAnchor()
  899. *
  900. * Mac OS X threading:
  901. * Not thread safe
  902. *
  903. * Availability:
  904. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  905. * CarbonLib: in CarbonLib 1.1 and later
  906. * Non-Carbon CFM: not available
  907. }
  908. function MoveDataBrowserSelectionAnchor( browser: ControlRef; direction: DataBrowserSelectionAnchorDirection; extendSelection: Boolean ): OSStatus; external name '_MoveDataBrowserSelectionAnchor';
  909. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  910. { Container Manipulation }
  911. {
  912. * OpenDataBrowserContainer()
  913. *
  914. * Mac OS X threading:
  915. * Not thread safe
  916. *
  917. * Availability:
  918. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  919. * CarbonLib: in CarbonLib 1.1 and later
  920. * Non-Carbon CFM: not available
  921. }
  922. function OpenDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID ): OSStatus; external name '_OpenDataBrowserContainer';
  923. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  924. {
  925. * CloseDataBrowserContainer()
  926. *
  927. * Mac OS X threading:
  928. * Not thread safe
  929. *
  930. * Availability:
  931. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  932. * CarbonLib: in CarbonLib 1.1 and later
  933. * Non-Carbon CFM: not available
  934. }
  935. function CloseDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID ): OSStatus; external name '_CloseDataBrowserContainer';
  936. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  937. {
  938. * SortDataBrowserContainer()
  939. *
  940. * Mac OS X threading:
  941. * Not thread safe
  942. *
  943. * Availability:
  944. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  945. * CarbonLib: in CarbonLib 1.1 and later
  946. * Non-Carbon CFM: not available
  947. }
  948. function SortDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID; sortChildren: Boolean ): OSStatus; external name '_SortDataBrowserContainer';
  949. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  950. { Aggregate Item Access and Iteration }
  951. {
  952. * GetDataBrowserItems()
  953. *
  954. * Mac OS X threading:
  955. * Not thread safe
  956. *
  957. * Availability:
  958. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  959. * CarbonLib: in CarbonLib 1.1 and later
  960. * Non-Carbon CFM: not available
  961. }
  962. function GetDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; items: Handle ): OSStatus; external name '_GetDataBrowserItems';
  963. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  964. {
  965. * GetDataBrowserItemCount()
  966. *
  967. * Mac OS X threading:
  968. * Not thread safe
  969. *
  970. * Availability:
  971. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  972. * CarbonLib: in CarbonLib 1.1 and later
  973. * Non-Carbon CFM: not available
  974. }
  975. function GetDataBrowserItemCount( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; var numItems: ItemCount ): OSStatus; external name '_GetDataBrowserItemCount';
  976. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  977. {
  978. * ForEachDataBrowserItem()
  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. }
  988. function ForEachDataBrowserItem( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; callback: DataBrowserItemUPP; clientData: UnivPtr ): OSStatus; external name '_ForEachDataBrowserItem';
  989. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  990. { Individual Item Access and Display }
  991. {
  992. * IsDataBrowserItemSelected()
  993. *
  994. * Mac OS X threading:
  995. * Not thread safe
  996. *
  997. * Availability:
  998. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  999. * CarbonLib: in CarbonLib 1.1 and later
  1000. * Non-Carbon CFM: not available
  1001. }
  1002. function IsDataBrowserItemSelected( browser: ControlRef; item: DataBrowserItemID ): Boolean; external name '_IsDataBrowserItemSelected';
  1003. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1004. {
  1005. * GetDataBrowserItemState()
  1006. *
  1007. * Mac OS X threading:
  1008. * Not thread safe
  1009. *
  1010. * Availability:
  1011. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1012. * CarbonLib: in CarbonLib 1.1 and later
  1013. * Non-Carbon CFM: not available
  1014. }
  1015. function GetDataBrowserItemState( browser: ControlRef; item: DataBrowserItemID; var state: DataBrowserItemState ): OSStatus; external name '_GetDataBrowserItemState';
  1016. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1017. {
  1018. * RevealDataBrowserItem()
  1019. *
  1020. * Mac OS X threading:
  1021. * Not thread safe
  1022. *
  1023. * Availability:
  1024. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1025. * CarbonLib: in CarbonLib 1.1 and later
  1026. * Non-Carbon CFM: not available
  1027. }
  1028. function RevealDataBrowserItem( browser: ControlRef; item: DataBrowserItemID; propertyID: DataBrowserPropertyID; options: DataBrowserRevealOptions ): OSStatus; external name '_RevealDataBrowserItem';
  1029. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1030. { Selection Set Manipulation }
  1031. {
  1032. * SetDataBrowserSelectedItems()
  1033. *
  1034. * Mac OS X threading:
  1035. * Not thread safe
  1036. *
  1037. * Availability:
  1038. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1039. * CarbonLib: in CarbonLib 1.1 and later
  1040. * Non-Carbon CFM: not available
  1041. }
  1042. function SetDataBrowserSelectedItems( browser: ControlRef; numItems: ItemCount; items: DataBrowserItemIDPtr; operation: DataBrowserSetOption ): OSStatus; external name '_SetDataBrowserSelectedItems';
  1043. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1044. { DataBrowser Attribute Manipulation }
  1045. { The user customizable portion of the current view style settings }
  1046. {
  1047. * SetDataBrowserUserState()
  1048. *
  1049. * Mac OS X threading:
  1050. * Not thread safe
  1051. *
  1052. * Availability:
  1053. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1054. * CarbonLib: in CarbonLib 1.1 and later
  1055. * Non-Carbon CFM: not available
  1056. }
  1057. function SetDataBrowserUserState( browser: ControlRef; stateInfo: CFDictionaryRef ): OSStatus; external name '_SetDataBrowserUserState';
  1058. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1059. {
  1060. * GetDataBrowserUserState()
  1061. *
  1062. * Mac OS X threading:
  1063. * Not thread safe
  1064. *
  1065. * Availability:
  1066. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1067. * CarbonLib: in CarbonLib 1.1 and later
  1068. * Non-Carbon CFM: not available
  1069. }
  1070. function GetDataBrowserUserState( browser: ControlRef; var stateInfo: CFDictionaryRef ): OSStatus; external name '_GetDataBrowserUserState';
  1071. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1072. { All items are active/enabled or not }
  1073. {
  1074. * SetDataBrowserActiveItems()
  1075. *
  1076. * Mac OS X threading:
  1077. * Not thread safe
  1078. *
  1079. * Availability:
  1080. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1081. * CarbonLib: in CarbonLib 1.1 and later
  1082. * Non-Carbon CFM: not available
  1083. }
  1084. function SetDataBrowserActiveItems( browser: ControlRef; active: Boolean ): OSStatus; external name '_SetDataBrowserActiveItems';
  1085. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1086. {
  1087. * GetDataBrowserActiveItems()
  1088. *
  1089. * Mac OS X threading:
  1090. * Not thread safe
  1091. *
  1092. * Availability:
  1093. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1094. * CarbonLib: in CarbonLib 1.1 and later
  1095. * Non-Carbon CFM: not available
  1096. }
  1097. function GetDataBrowserActiveItems( browser: ControlRef; var active: Boolean ): OSStatus; external name '_GetDataBrowserActiveItems';
  1098. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1099. { Inset the scrollbars within the DataBrowser bounds }
  1100. {
  1101. * SetDataBrowserScrollBarInset()
  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. }
  1111. function SetDataBrowserScrollBarInset( browser: ControlRef; var insetRect: Rect ): OSStatus; external name '_SetDataBrowserScrollBarInset';
  1112. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1113. {
  1114. * GetDataBrowserScrollBarInset()
  1115. *
  1116. * Mac OS X threading:
  1117. * Not thread safe
  1118. *
  1119. * Availability:
  1120. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1121. * CarbonLib: in CarbonLib 1.1 and later
  1122. * Non-Carbon CFM: not available
  1123. }
  1124. function GetDataBrowserScrollBarInset( browser: ControlRef; var insetRect: Rect ): OSStatus; external name '_GetDataBrowserScrollBarInset';
  1125. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1126. { The "user focused" item }
  1127. { For the ListView, this means the root container }
  1128. { For the ColumnView, this means the rightmost container column }
  1129. {
  1130. * SetDataBrowserTarget()
  1131. *
  1132. * Mac OS X threading:
  1133. * Not thread safe
  1134. *
  1135. * Availability:
  1136. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1137. * CarbonLib: in CarbonLib 1.1 and later
  1138. * Non-Carbon CFM: not available
  1139. }
  1140. function SetDataBrowserTarget( browser: ControlRef; target: DataBrowserItemID ): OSStatus; external name '_SetDataBrowserTarget';
  1141. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1142. {
  1143. * GetDataBrowserTarget()
  1144. *
  1145. * Mac OS X threading:
  1146. * Not thread safe
  1147. *
  1148. * Availability:
  1149. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1150. * CarbonLib: in CarbonLib 1.1 and later
  1151. * Non-Carbon CFM: not available
  1152. }
  1153. function GetDataBrowserTarget( browser: ControlRef; var target: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserTarget';
  1154. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1155. { Current sort ordering }
  1156. { ListView tracks this per-column }
  1157. {
  1158. * SetDataBrowserSortOrder()
  1159. *
  1160. * Mac OS X threading:
  1161. * Not thread safe
  1162. *
  1163. * Availability:
  1164. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1165. * CarbonLib: in CarbonLib 1.1 and later
  1166. * Non-Carbon CFM: not available
  1167. }
  1168. function SetDataBrowserSortOrder( browser: ControlRef; order: DataBrowserSortOrder ): OSStatus; external name '_SetDataBrowserSortOrder';
  1169. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1170. {
  1171. * GetDataBrowserSortOrder()
  1172. *
  1173. * Mac OS X threading:
  1174. * Not thread safe
  1175. *
  1176. * Availability:
  1177. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1178. * CarbonLib: in CarbonLib 1.1 and later
  1179. * Non-Carbon CFM: not available
  1180. }
  1181. function GetDataBrowserSortOrder( browser: ControlRef; var order: DataBrowserSortOrder ): OSStatus; external name '_GetDataBrowserSortOrder';
  1182. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1183. { Scrollbar values }
  1184. {
  1185. * SetDataBrowserScrollPosition()
  1186. *
  1187. * Mac OS X threading:
  1188. * Not thread safe
  1189. *
  1190. * Availability:
  1191. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1192. * CarbonLib: in CarbonLib 1.1 and later
  1193. * Non-Carbon CFM: not available
  1194. }
  1195. function SetDataBrowserScrollPosition( browser: ControlRef; top: UInt32; left: UInt32 ): OSStatus; external name '_SetDataBrowserScrollPosition';
  1196. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1197. {
  1198. * GetDataBrowserScrollPosition()
  1199. *
  1200. * Mac OS X threading:
  1201. * Not thread safe
  1202. *
  1203. * Availability:
  1204. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1205. * CarbonLib: in CarbonLib 1.1 and later
  1206. * Non-Carbon CFM: not available
  1207. }
  1208. function GetDataBrowserScrollPosition( browser: ControlRef; var top: UInt32; var left: UInt32 ): OSStatus; external name '_GetDataBrowserScrollPosition';
  1209. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1210. { Show/Hide each scrollbar }
  1211. {
  1212. * SetDataBrowserHasScrollBars()
  1213. *
  1214. * Mac OS X threading:
  1215. * Not thread safe
  1216. *
  1217. * Availability:
  1218. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1219. * CarbonLib: in CarbonLib 1.1 and later
  1220. * Non-Carbon CFM: not available
  1221. }
  1222. function SetDataBrowserHasScrollBars( browser: ControlRef; horiz: Boolean; vert: Boolean ): OSStatus; external name '_SetDataBrowserHasScrollBars';
  1223. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1224. {
  1225. * GetDataBrowserHasScrollBars()
  1226. *
  1227. * Mac OS X threading:
  1228. * Not thread safe
  1229. *
  1230. * Availability:
  1231. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1232. * CarbonLib: in CarbonLib 1.1 and later
  1233. * Non-Carbon CFM: not available
  1234. }
  1235. function GetDataBrowserHasScrollBars( browser: ControlRef; var horiz: Boolean; var vert: Boolean ): OSStatus; external name '_GetDataBrowserHasScrollBars';
  1236. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1237. { Property passed to sort callback (ListView sort column) }
  1238. {
  1239. * SetDataBrowserSortProperty()
  1240. *
  1241. * Mac OS X threading:
  1242. * Not thread safe
  1243. *
  1244. * Availability:
  1245. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1246. * CarbonLib: in CarbonLib 1.1 and later
  1247. * Non-Carbon CFM: not available
  1248. }
  1249. function SetDataBrowserSortProperty( browser: ControlRef; property: DataBrowserPropertyID ): OSStatus; external name '_SetDataBrowserSortProperty';
  1250. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1251. {
  1252. * GetDataBrowserSortProperty()
  1253. *
  1254. * Mac OS X threading:
  1255. * Not thread safe
  1256. *
  1257. * Availability:
  1258. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1259. * CarbonLib: in CarbonLib 1.1 and later
  1260. * Non-Carbon CFM: not available
  1261. }
  1262. function GetDataBrowserSortProperty( browser: ControlRef; var property: DataBrowserPropertyID ): OSStatus; external name '_GetDataBrowserSortProperty';
  1263. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1264. { Modify selection behavior }
  1265. {
  1266. * SetDataBrowserSelectionFlags()
  1267. *
  1268. * Mac OS X threading:
  1269. * Not thread safe
  1270. *
  1271. * Availability:
  1272. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1273. * CarbonLib: in CarbonLib 1.1 and later
  1274. * Non-Carbon CFM: not available
  1275. }
  1276. function SetDataBrowserSelectionFlags( browser: ControlRef; selectionFlags: DataBrowserSelectionFlags ): OSStatus; external name '_SetDataBrowserSelectionFlags';
  1277. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1278. {
  1279. * GetDataBrowserSelectionFlags()
  1280. *
  1281. * Mac OS X threading:
  1282. * Not thread safe
  1283. *
  1284. * Availability:
  1285. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1286. * CarbonLib: in CarbonLib 1.1 and later
  1287. * Non-Carbon CFM: not available
  1288. }
  1289. function GetDataBrowserSelectionFlags( browser: ControlRef; var selectionFlags: DataBrowserSelectionFlags ): OSStatus; external name '_GetDataBrowserSelectionFlags';
  1290. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1291. { Dynamically modify property appearance/behavior }
  1292. {
  1293. * SetDataBrowserPropertyFlags()
  1294. *
  1295. * Mac OS X threading:
  1296. * Not thread safe
  1297. *
  1298. * Availability:
  1299. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1300. * CarbonLib: in CarbonLib 1.1 and later
  1301. * Non-Carbon CFM: not available
  1302. }
  1303. function SetDataBrowserPropertyFlags( browser: ControlRef; property: DataBrowserPropertyID; flags: DataBrowserPropertyFlags ): OSStatus; external name '_SetDataBrowserPropertyFlags';
  1304. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1305. {
  1306. * GetDataBrowserPropertyFlags()
  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. }
  1316. function GetDataBrowserPropertyFlags( browser: ControlRef; property: DataBrowserPropertyID; var flags: DataBrowserPropertyFlags ): OSStatus; external name '_GetDataBrowserPropertyFlags';
  1317. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1318. { Text of current in-place edit session }
  1319. {
  1320. * SetDataBrowserEditText()
  1321. *
  1322. * Mac OS X threading:
  1323. * Not thread safe
  1324. *
  1325. * Availability:
  1326. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1327. * CarbonLib: in CarbonLib 1.1 and later
  1328. * Non-Carbon CFM: not available
  1329. }
  1330. function SetDataBrowserEditText( browser: ControlRef; text: CFStringRef ): OSStatus; external name '_SetDataBrowserEditText';
  1331. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1332. {
  1333. * CopyDataBrowserEditText()
  1334. *
  1335. * Mac OS X threading:
  1336. * Not thread safe
  1337. *
  1338. * Availability:
  1339. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1340. * CarbonLib: in CarbonLib 1.5 and later
  1341. * Non-Carbon CFM: not available
  1342. }
  1343. function CopyDataBrowserEditText( browser: ControlRef; var text: CFStringRef ): OSStatus; external name '_CopyDataBrowserEditText';
  1344. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1345. {
  1346. * GetDataBrowserEditText()
  1347. *
  1348. * Mac OS X threading:
  1349. * Not thread safe
  1350. *
  1351. * Availability:
  1352. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1353. * CarbonLib: in CarbonLib 1.1 and later
  1354. * Non-Carbon CFM: not available
  1355. }
  1356. function GetDataBrowserEditText( browser: ControlRef; text: CFMutableStringRef ): OSStatus; external name '_GetDataBrowserEditText';
  1357. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1358. { Item/property currently being edited }
  1359. {
  1360. * SetDataBrowserEditItem()
  1361. *
  1362. * Mac OS X threading:
  1363. * Not thread safe
  1364. *
  1365. * Availability:
  1366. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1367. * CarbonLib: in CarbonLib 1.1 and later
  1368. * Non-Carbon CFM: not available
  1369. }
  1370. function SetDataBrowserEditItem( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID ): OSStatus; external name '_SetDataBrowserEditItem';
  1371. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1372. {
  1373. * GetDataBrowserEditItem()
  1374. *
  1375. * Mac OS X threading:
  1376. * Not thread safe
  1377. *
  1378. * Availability:
  1379. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1380. * CarbonLib: in CarbonLib 1.1 and later
  1381. * Non-Carbon CFM: not available
  1382. }
  1383. function GetDataBrowserEditItem( browser: ControlRef; var item: DataBrowserItemID; var property: DataBrowserPropertyID ): OSStatus; external name '_GetDataBrowserEditItem';
  1384. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1385. { Get the current bounds of a visual part of an item's property }
  1386. {
  1387. * GetDataBrowserItemPartBounds()
  1388. *
  1389. * Mac OS X threading:
  1390. * Not thread safe
  1391. *
  1392. * Availability:
  1393. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1394. * CarbonLib: in CarbonLib 1.1 and later
  1395. * Non-Carbon CFM: not available
  1396. }
  1397. function GetDataBrowserItemPartBounds( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; part: DataBrowserPropertyPart; var bounds: Rect ): OSStatus; external name '_GetDataBrowserItemPartBounds';
  1398. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1399. { DataBrowser ItemData Accessors (used within DataBrowserItemData callback) }
  1400. {$endc} {not TARGET_CPU_64}
  1401. type
  1402. DataBrowserItemDataRef = UnivPtr;
  1403. {$ifc not TARGET_CPU_64}
  1404. {
  1405. * SetDataBrowserItemDataIcon()
  1406. *
  1407. * Mac OS X threading:
  1408. * Not thread safe
  1409. *
  1410. * Availability:
  1411. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1412. * CarbonLib: in CarbonLib 1.1 and later
  1413. * Non-Carbon CFM: not available
  1414. }
  1415. function SetDataBrowserItemDataIcon( itemData: DataBrowserItemDataRef; theData: IconRef ): OSStatus; external name '_SetDataBrowserItemDataIcon';
  1416. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1417. {
  1418. * GetDataBrowserItemDataIcon()
  1419. *
  1420. * Mac OS X threading:
  1421. * Not thread safe
  1422. *
  1423. * Availability:
  1424. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1425. * CarbonLib: in CarbonLib 1.5 and later
  1426. * Non-Carbon CFM: not available
  1427. }
  1428. function GetDataBrowserItemDataIcon( itemData: DataBrowserItemDataRef; var theData: IconRef ): OSStatus; external name '_GetDataBrowserItemDataIcon';
  1429. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1430. {
  1431. * SetDataBrowserItemDataText()
  1432. *
  1433. * Mac OS X threading:
  1434. * Not thread safe
  1435. *
  1436. * Availability:
  1437. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1438. * CarbonLib: in CarbonLib 1.1 and later
  1439. * Non-Carbon CFM: not available
  1440. }
  1441. function SetDataBrowserItemDataText( itemData: DataBrowserItemDataRef; theData: CFStringRef ): OSStatus; external name '_SetDataBrowserItemDataText';
  1442. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1443. {
  1444. * GetDataBrowserItemDataText()
  1445. *
  1446. * Mac OS X threading:
  1447. * Not thread safe
  1448. *
  1449. * Availability:
  1450. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1451. * CarbonLib: in CarbonLib 1.1 and later
  1452. * Non-Carbon CFM: not available
  1453. }
  1454. function GetDataBrowserItemDataText( itemData: DataBrowserItemDataRef; var theData: CFStringRef ): OSStatus; external name '_GetDataBrowserItemDataText';
  1455. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1456. {
  1457. * SetDataBrowserItemDataValue()
  1458. *
  1459. * Mac OS X threading:
  1460. * Not thread safe
  1461. *
  1462. * Availability:
  1463. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1464. * CarbonLib: in CarbonLib 1.1 and later
  1465. * Non-Carbon CFM: not available
  1466. }
  1467. function SetDataBrowserItemDataValue( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataValue';
  1468. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1469. {
  1470. * GetDataBrowserItemDataValue()
  1471. *
  1472. * Mac OS X threading:
  1473. * Not thread safe
  1474. *
  1475. * Availability:
  1476. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1477. * CarbonLib: in CarbonLib 1.1 and later
  1478. * Non-Carbon CFM: not available
  1479. }
  1480. function GetDataBrowserItemDataValue( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataValue';
  1481. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1482. {
  1483. * SetDataBrowserItemDataMinimum()
  1484. *
  1485. * Mac OS X threading:
  1486. * Not thread safe
  1487. *
  1488. * Availability:
  1489. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1490. * CarbonLib: in CarbonLib 1.1 and later
  1491. * Non-Carbon CFM: not available
  1492. }
  1493. function SetDataBrowserItemDataMinimum( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataMinimum';
  1494. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1495. {
  1496. * GetDataBrowserItemDataMinimum()
  1497. *
  1498. * Mac OS X threading:
  1499. * Not thread safe
  1500. *
  1501. * Availability:
  1502. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1503. * CarbonLib: in CarbonLib 1.1 and later
  1504. * Non-Carbon CFM: not available
  1505. }
  1506. function GetDataBrowserItemDataMinimum( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataMinimum';
  1507. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1508. {
  1509. * SetDataBrowserItemDataMaximum()
  1510. *
  1511. * Mac OS X threading:
  1512. * Not thread safe
  1513. *
  1514. * Availability:
  1515. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1516. * CarbonLib: in CarbonLib 1.1 and later
  1517. * Non-Carbon CFM: not available
  1518. }
  1519. function SetDataBrowserItemDataMaximum( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataMaximum';
  1520. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1521. {
  1522. * GetDataBrowserItemDataMaximum()
  1523. *
  1524. * Mac OS X threading:
  1525. * Not thread safe
  1526. *
  1527. * Availability:
  1528. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1529. * CarbonLib: in CarbonLib 1.1 and later
  1530. * Non-Carbon CFM: not available
  1531. }
  1532. function GetDataBrowserItemDataMaximum( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataMaximum';
  1533. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1534. {
  1535. * SetDataBrowserItemDataBooleanValue()
  1536. *
  1537. * Mac OS X threading:
  1538. * Not thread safe
  1539. *
  1540. * Availability:
  1541. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1542. * CarbonLib: in CarbonLib 1.1 and later
  1543. * Non-Carbon CFM: not available
  1544. }
  1545. function SetDataBrowserItemDataBooleanValue( itemData: DataBrowserItemDataRef; theData: Boolean ): OSStatus; external name '_SetDataBrowserItemDataBooleanValue';
  1546. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1547. {
  1548. * GetDataBrowserItemDataBooleanValue()
  1549. *
  1550. * Mac OS X threading:
  1551. * Not thread safe
  1552. *
  1553. * Availability:
  1554. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1555. * CarbonLib: in CarbonLib 1.1 and later
  1556. * Non-Carbon CFM: not available
  1557. }
  1558. function GetDataBrowserItemDataBooleanValue( itemData: DataBrowserItemDataRef; var theData: Boolean ): OSStatus; external name '_GetDataBrowserItemDataBooleanValue';
  1559. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1560. {
  1561. * SetDataBrowserItemDataMenuRef()
  1562. *
  1563. * Mac OS X threading:
  1564. * Not thread safe
  1565. *
  1566. * Availability:
  1567. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1568. * CarbonLib: in CarbonLib 1.1 and later
  1569. * Non-Carbon CFM: not available
  1570. }
  1571. function SetDataBrowserItemDataMenuRef( itemData: DataBrowserItemDataRef; theData: MenuRef ): OSStatus; external name '_SetDataBrowserItemDataMenuRef';
  1572. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1573. {
  1574. * GetDataBrowserItemDataMenuRef()
  1575. *
  1576. * Mac OS X threading:
  1577. * Not thread safe
  1578. *
  1579. * Availability:
  1580. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1581. * CarbonLib: in CarbonLib 1.1 and later
  1582. * Non-Carbon CFM: not available
  1583. }
  1584. function GetDataBrowserItemDataMenuRef( itemData: DataBrowserItemDataRef; var theData: MenuRef ): OSStatus; external name '_GetDataBrowserItemDataMenuRef';
  1585. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1586. {
  1587. * SetDataBrowserItemDataRGBColor()
  1588. *
  1589. * Mac OS X threading:
  1590. * Not thread safe
  1591. *
  1592. * Availability:
  1593. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1594. * CarbonLib: in CarbonLib 1.1 and later
  1595. * Non-Carbon CFM: not available
  1596. }
  1597. function SetDataBrowserItemDataRGBColor( itemData: DataBrowserItemDataRef; const (*var*) theData: RGBColor ): OSStatus; external name '_SetDataBrowserItemDataRGBColor';
  1598. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1599. {
  1600. * GetDataBrowserItemDataRGBColor()
  1601. *
  1602. * Mac OS X threading:
  1603. * Not thread safe
  1604. *
  1605. * Availability:
  1606. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1607. * CarbonLib: in CarbonLib 1.1 and later
  1608. * Non-Carbon CFM: not available
  1609. }
  1610. function GetDataBrowserItemDataRGBColor( itemData: DataBrowserItemDataRef; var theData: RGBColor ): OSStatus; external name '_GetDataBrowserItemDataRGBColor';
  1611. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1612. {
  1613. * SetDataBrowserItemDataDrawState()
  1614. *
  1615. * Mac OS X threading:
  1616. * Not thread safe
  1617. *
  1618. * Availability:
  1619. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1620. * CarbonLib: in CarbonLib 1.1 and later
  1621. * Non-Carbon CFM: not available
  1622. }
  1623. function SetDataBrowserItemDataDrawState( itemData: DataBrowserItemDataRef; theData: ThemeDrawState ): OSStatus; external name '_SetDataBrowserItemDataDrawState';
  1624. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1625. {
  1626. * GetDataBrowserItemDataDrawState()
  1627. *
  1628. * Mac OS X threading:
  1629. * Not thread safe
  1630. *
  1631. * Availability:
  1632. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1633. * CarbonLib: in CarbonLib 1.1 and later
  1634. * Non-Carbon CFM: not available
  1635. }
  1636. function GetDataBrowserItemDataDrawState( itemData: DataBrowserItemDataRef; var theData: ThemeDrawState ): OSStatus; external name '_GetDataBrowserItemDataDrawState';
  1637. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1638. {
  1639. * SetDataBrowserItemDataButtonValue()
  1640. *
  1641. * Mac OS X threading:
  1642. * Not thread safe
  1643. *
  1644. * Availability:
  1645. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1646. * CarbonLib: in CarbonLib 1.1 and later
  1647. * Non-Carbon CFM: not available
  1648. }
  1649. function SetDataBrowserItemDataButtonValue( itemData: DataBrowserItemDataRef; theData: ThemeButtonValue ): OSStatus; external name '_SetDataBrowserItemDataButtonValue';
  1650. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1651. {
  1652. * GetDataBrowserItemDataButtonValue()
  1653. *
  1654. * Mac OS X threading:
  1655. * Not thread safe
  1656. *
  1657. * Availability:
  1658. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1659. * CarbonLib: in CarbonLib 1.1 and later
  1660. * Non-Carbon CFM: not available
  1661. }
  1662. function GetDataBrowserItemDataButtonValue( itemData: DataBrowserItemDataRef; var theData: ThemeButtonValue ): OSStatus; external name '_GetDataBrowserItemDataButtonValue';
  1663. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1664. {
  1665. * SetDataBrowserItemDataIconTransform()
  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. }
  1675. function SetDataBrowserItemDataIconTransform( itemData: DataBrowserItemDataRef; theData: IconTransformType ): OSStatus; external name '_SetDataBrowserItemDataIconTransform';
  1676. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1677. {
  1678. * GetDataBrowserItemDataIconTransform()
  1679. *
  1680. * Mac OS X threading:
  1681. * Not thread safe
  1682. *
  1683. * Availability:
  1684. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1685. * CarbonLib: in CarbonLib 1.1 and later
  1686. * Non-Carbon CFM: not available
  1687. }
  1688. function GetDataBrowserItemDataIconTransform( itemData: DataBrowserItemDataRef; var theData: IconTransformType ): OSStatus; external name '_GetDataBrowserItemDataIconTransform';
  1689. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1690. {
  1691. * SetDataBrowserItemDataDateTime()
  1692. *
  1693. * Mac OS X threading:
  1694. * Not thread safe
  1695. *
  1696. * Availability:
  1697. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1698. * CarbonLib: in CarbonLib 1.1 and later
  1699. * Non-Carbon CFM: not available
  1700. }
  1701. function SetDataBrowserItemDataDateTime( itemData: DataBrowserItemDataRef; theData: SInt32 ): OSStatus; external name '_SetDataBrowserItemDataDateTime';
  1702. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1703. {
  1704. * GetDataBrowserItemDataDateTime()
  1705. *
  1706. * Mac OS X threading:
  1707. * Not thread safe
  1708. *
  1709. * Availability:
  1710. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1711. * CarbonLib: in CarbonLib 1.1 and later
  1712. * Non-Carbon CFM: not available
  1713. }
  1714. function GetDataBrowserItemDataDateTime( itemData: DataBrowserItemDataRef; var theData: SInt32 ): OSStatus; external name '_GetDataBrowserItemDataDateTime';
  1715. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1716. {
  1717. * SetDataBrowserItemDataLongDateTime()
  1718. *
  1719. * Mac OS X threading:
  1720. * Not thread safe
  1721. *
  1722. * Availability:
  1723. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1724. * CarbonLib: in CarbonLib 1.1 and later
  1725. * Non-Carbon CFM: not available
  1726. }
  1727. function SetDataBrowserItemDataLongDateTime( itemData: DataBrowserItemDataRef; (*const*) var theData: LongDateTime ): OSStatus; external name '_SetDataBrowserItemDataLongDateTime';
  1728. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1729. {
  1730. * GetDataBrowserItemDataLongDateTime()
  1731. *
  1732. * Mac OS X threading:
  1733. * Not thread safe
  1734. *
  1735. * Availability:
  1736. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1737. * CarbonLib: in CarbonLib 1.1 and later
  1738. * Non-Carbon CFM: not available
  1739. }
  1740. function GetDataBrowserItemDataLongDateTime( itemData: DataBrowserItemDataRef; var theData: LongDateTime ): OSStatus; external name '_GetDataBrowserItemDataLongDateTime';
  1741. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1742. {
  1743. * SetDataBrowserItemDataItemID()
  1744. *
  1745. * Mac OS X threading:
  1746. * Not thread safe
  1747. *
  1748. * Availability:
  1749. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1750. * CarbonLib: in CarbonLib 1.1 and later
  1751. * Non-Carbon CFM: not available
  1752. }
  1753. function SetDataBrowserItemDataItemID( itemData: DataBrowserItemDataRef; theData: DataBrowserItemID ): OSStatus; external name '_SetDataBrowserItemDataItemID';
  1754. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1755. {
  1756. * GetDataBrowserItemDataItemID()
  1757. *
  1758. * Mac OS X threading:
  1759. * Not thread safe
  1760. *
  1761. * Availability:
  1762. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1763. * CarbonLib: in CarbonLib 1.5 and later
  1764. * Non-Carbon CFM: not available
  1765. }
  1766. function GetDataBrowserItemDataItemID( itemData: DataBrowserItemDataRef; var theData: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserItemDataItemID';
  1767. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1768. {
  1769. * GetDataBrowserItemDataProperty()
  1770. *
  1771. * Mac OS X threading:
  1772. * Not thread safe
  1773. *
  1774. * Availability:
  1775. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  1776. * CarbonLib: in CarbonLib 1.1 and later
  1777. * Non-Carbon CFM: not available
  1778. }
  1779. function GetDataBrowserItemDataProperty( itemData: DataBrowserItemDataRef; var theData: DataBrowserPropertyID ): OSStatus; external name '_GetDataBrowserItemDataProperty';
  1780. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1781. { Standard DataBrowser Callbacks }
  1782. { Basic Item Management & Manipulation }
  1783. {$endc} {not TARGET_CPU_64}
  1784. type
  1785. DataBrowserItemDataProcPtr = function( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; itemData: DataBrowserItemDataRef; setValue: Boolean ): OSStatus;
  1786. DataBrowserItemDataUPP = DataBrowserItemDataProcPtr;
  1787. { Item Comparison }
  1788. type
  1789. DataBrowserItemCompareProcPtr = function( browser: ControlRef; itemOne: DataBrowserItemID; itemTwo: DataBrowserItemID; sortProperty: DataBrowserPropertyID ): Boolean;
  1790. DataBrowserItemCompareUPP = DataBrowserItemCompareProcPtr;
  1791. { ItemEvent Notification }
  1792. { A Very Important Note about DataBrowserItemNotificationProcPtr: }
  1793. { Under all currently shipping versions of CarbonLib (eg. up through 1.3), your callback is called }
  1794. { just as the prototype appears in this header. It should only be expecting three parameters because }
  1795. { DataBrowser will only pass three parameters. }
  1796. { Under Mac OS X, your callback is called with an additional parameter. If you wish to interpret }
  1797. { the additional parameter, your callback should have the same prototype as the }
  1798. { DataBrowserItemNotificationWithItemProcPtr (below). You may freely take a callback with this }
  1799. { prototype and pass it to NewDataBrowserItemNotificationUPP in order to generate a }
  1800. { DataBrowserItemNotificationUPP that you can use just like any other DataBrowserItemNotificationUPP. }
  1801. { If you use this technique under CarbonLib, you will *not* receive valid data in the fourth }
  1802. { parameter, and any attempt to use the invalid data will probably result in a crash. }
  1803. type
  1804. DataBrowserItemNotificationWithItemProcPtr = procedure( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification; itemData: DataBrowserItemDataRef );
  1805. DataBrowserItemNotificationProcPtr = procedure( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification );
  1806. DataBrowserItemNotificationWithItemUPP = DataBrowserItemNotificationWithItemProcPtr;
  1807. DataBrowserItemNotificationUPP = DataBrowserItemNotificationProcPtr;
  1808. { Drag & Drop Processing }
  1809. type
  1810. DataBrowserAddDragItemProcPtr = function( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; var itemRef: ItemReference ): Boolean;
  1811. DataBrowserAcceptDragProcPtr = function( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID ): Boolean;
  1812. DataBrowserReceiveDragProcPtr = function( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID ): Boolean;
  1813. DataBrowserPostProcessDragProcPtr = procedure( browser: ControlRef; theDrag: DragReference; trackDragResult: OSStatus );
  1814. DataBrowserAddDragItemUPP = DataBrowserAddDragItemProcPtr;
  1815. DataBrowserAcceptDragUPP = DataBrowserAcceptDragProcPtr;
  1816. DataBrowserReceiveDragUPP = DataBrowserReceiveDragProcPtr;
  1817. DataBrowserPostProcessDragUPP = DataBrowserPostProcessDragProcPtr;
  1818. { Contextual Menu Support }
  1819. type
  1820. DataBrowserGetContextualMenuProcPtr = procedure( browser: ControlRef; var menu: MenuRef; var helpType: UInt32; var helpItemString: CFStringRef; var selection: AEDesc );
  1821. DataBrowserSelectContextualMenuProcPtr = procedure( browser: ControlRef; menu: MenuRef; selectionType: UInt32; menuID: SInt16; menuItem: MenuItemIndex );
  1822. DataBrowserGetContextualMenuUPP = DataBrowserGetContextualMenuProcPtr;
  1823. DataBrowserSelectContextualMenuUPP = DataBrowserSelectContextualMenuProcPtr;
  1824. { Help Manager Support }
  1825. type
  1826. DataBrowserItemHelpContentProcPtr = procedure( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; inRequest: HMContentRequest; var outContentProvided: HMContentProvidedType; var ioHelpContent: HMHelpContentRec );
  1827. DataBrowserItemHelpContentUPP = DataBrowserItemHelpContentProcPtr;
  1828. {
  1829. * NewDataBrowserItemDataUPP()
  1830. *
  1831. * Availability:
  1832. * Mac OS X: in version 10.0 and later in Carbon.framework
  1833. * CarbonLib: in CarbonLib 1.1 and later
  1834. * Non-Carbon CFM: not available
  1835. }
  1836. function NewDataBrowserItemDataUPP( userRoutine: DataBrowserItemDataProcPtr ): DataBrowserItemDataUPP; external name '_NewDataBrowserItemDataUPP';
  1837. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1838. {
  1839. * NewDataBrowserItemCompareUPP()
  1840. *
  1841. * Availability:
  1842. * Mac OS X: in version 10.0 and later in Carbon.framework
  1843. * CarbonLib: in CarbonLib 1.1 and later
  1844. * Non-Carbon CFM: not available
  1845. }
  1846. function NewDataBrowserItemCompareUPP( userRoutine: DataBrowserItemCompareProcPtr ): DataBrowserItemCompareUPP; external name '_NewDataBrowserItemCompareUPP';
  1847. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1848. {
  1849. * NewDataBrowserItemNotificationWithItemUPP()
  1850. *
  1851. * Availability:
  1852. * Mac OS X: in version 10.1 and later in Carbon.framework
  1853. * CarbonLib: in CarbonLib 1.5 and later
  1854. * Non-Carbon CFM: not available
  1855. }
  1856. function NewDataBrowserItemNotificationWithItemUPP( userRoutine: DataBrowserItemNotificationWithItemProcPtr ): DataBrowserItemNotificationWithItemUPP; external name '_NewDataBrowserItemNotificationWithItemUPP';
  1857. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  1858. {
  1859. * NewDataBrowserItemNotificationUPP()
  1860. *
  1861. * Availability:
  1862. * Mac OS X: in version 10.0 and later in Carbon.framework
  1863. * CarbonLib: in CarbonLib 1.1 and later
  1864. * Non-Carbon CFM: not available
  1865. }
  1866. function NewDataBrowserItemNotificationUPP( userRoutine: DataBrowserItemNotificationProcPtr ): DataBrowserItemNotificationUPP; external name '_NewDataBrowserItemNotificationUPP';
  1867. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1868. {
  1869. * NewDataBrowserAddDragItemUPP()
  1870. *
  1871. * Availability:
  1872. * Mac OS X: in version 10.0 and later in Carbon.framework
  1873. * CarbonLib: in CarbonLib 1.1 and later
  1874. * Non-Carbon CFM: not available
  1875. }
  1876. function NewDataBrowserAddDragItemUPP( userRoutine: DataBrowserAddDragItemProcPtr ): DataBrowserAddDragItemUPP; external name '_NewDataBrowserAddDragItemUPP';
  1877. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1878. {
  1879. * NewDataBrowserAcceptDragUPP()
  1880. *
  1881. * Availability:
  1882. * Mac OS X: in version 10.0 and later in Carbon.framework
  1883. * CarbonLib: in CarbonLib 1.1 and later
  1884. * Non-Carbon CFM: not available
  1885. }
  1886. function NewDataBrowserAcceptDragUPP( userRoutine: DataBrowserAcceptDragProcPtr ): DataBrowserAcceptDragUPP; external name '_NewDataBrowserAcceptDragUPP';
  1887. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1888. {
  1889. * NewDataBrowserReceiveDragUPP()
  1890. *
  1891. * Availability:
  1892. * Mac OS X: in version 10.0 and later in Carbon.framework
  1893. * CarbonLib: in CarbonLib 1.1 and later
  1894. * Non-Carbon CFM: not available
  1895. }
  1896. function NewDataBrowserReceiveDragUPP( userRoutine: DataBrowserReceiveDragProcPtr ): DataBrowserReceiveDragUPP; external name '_NewDataBrowserReceiveDragUPP';
  1897. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1898. {
  1899. * NewDataBrowserPostProcessDragUPP()
  1900. *
  1901. * Availability:
  1902. * Mac OS X: in version 10.0 and later in Carbon.framework
  1903. * CarbonLib: in CarbonLib 1.1 and later
  1904. * Non-Carbon CFM: not available
  1905. }
  1906. function NewDataBrowserPostProcessDragUPP( userRoutine: DataBrowserPostProcessDragProcPtr ): DataBrowserPostProcessDragUPP; external name '_NewDataBrowserPostProcessDragUPP';
  1907. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1908. {
  1909. * NewDataBrowserGetContextualMenuUPP()
  1910. *
  1911. * Availability:
  1912. * Mac OS X: in version 10.0 and later in Carbon.framework
  1913. * CarbonLib: in CarbonLib 1.1 and later
  1914. * Non-Carbon CFM: not available
  1915. }
  1916. function NewDataBrowserGetContextualMenuUPP( userRoutine: DataBrowserGetContextualMenuProcPtr ): DataBrowserGetContextualMenuUPP; external name '_NewDataBrowserGetContextualMenuUPP';
  1917. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1918. {
  1919. * NewDataBrowserSelectContextualMenuUPP()
  1920. *
  1921. * Availability:
  1922. * Mac OS X: in version 10.0 and later in Carbon.framework
  1923. * CarbonLib: in CarbonLib 1.1 and later
  1924. * Non-Carbon CFM: not available
  1925. }
  1926. function NewDataBrowserSelectContextualMenuUPP( userRoutine: DataBrowserSelectContextualMenuProcPtr ): DataBrowserSelectContextualMenuUPP; external name '_NewDataBrowserSelectContextualMenuUPP';
  1927. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1928. {
  1929. * NewDataBrowserItemHelpContentUPP()
  1930. *
  1931. * Availability:
  1932. * Mac OS X: in version 10.0 and later in Carbon.framework
  1933. * CarbonLib: in CarbonLib 1.1 and later
  1934. * Non-Carbon CFM: not available
  1935. }
  1936. function NewDataBrowserItemHelpContentUPP( userRoutine: DataBrowserItemHelpContentProcPtr ): DataBrowserItemHelpContentUPP; external name '_NewDataBrowserItemHelpContentUPP';
  1937. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1938. {
  1939. * DisposeDataBrowserItemDataUPP()
  1940. *
  1941. * Availability:
  1942. * Mac OS X: in version 10.0 and later in Carbon.framework
  1943. * CarbonLib: in CarbonLib 1.1 and later
  1944. * Non-Carbon CFM: not available
  1945. }
  1946. procedure DisposeDataBrowserItemDataUPP( userUPP: DataBrowserItemDataUPP ); external name '_DisposeDataBrowserItemDataUPP';
  1947. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1948. {
  1949. * DisposeDataBrowserItemCompareUPP()
  1950. *
  1951. * Availability:
  1952. * Mac OS X: in version 10.0 and later in Carbon.framework
  1953. * CarbonLib: in CarbonLib 1.1 and later
  1954. * Non-Carbon CFM: not available
  1955. }
  1956. procedure DisposeDataBrowserItemCompareUPP( userUPP: DataBrowserItemCompareUPP ); external name '_DisposeDataBrowserItemCompareUPP';
  1957. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1958. {
  1959. * DisposeDataBrowserItemNotificationWithItemUPP()
  1960. *
  1961. * Availability:
  1962. * Mac OS X: in version 10.1 and later in Carbon.framework
  1963. * CarbonLib: in CarbonLib 1.5 and later
  1964. * Non-Carbon CFM: not available
  1965. }
  1966. procedure DisposeDataBrowserItemNotificationWithItemUPP( userUPP: DataBrowserItemNotificationWithItemUPP ); external name '_DisposeDataBrowserItemNotificationWithItemUPP';
  1967. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  1968. {
  1969. * DisposeDataBrowserItemNotificationUPP()
  1970. *
  1971. * Availability:
  1972. * Mac OS X: in version 10.0 and later in Carbon.framework
  1973. * CarbonLib: in CarbonLib 1.1 and later
  1974. * Non-Carbon CFM: not available
  1975. }
  1976. procedure DisposeDataBrowserItemNotificationUPP( userUPP: DataBrowserItemNotificationUPP ); external name '_DisposeDataBrowserItemNotificationUPP';
  1977. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1978. {
  1979. * DisposeDataBrowserAddDragItemUPP()
  1980. *
  1981. * Availability:
  1982. * Mac OS X: in version 10.0 and later in Carbon.framework
  1983. * CarbonLib: in CarbonLib 1.1 and later
  1984. * Non-Carbon CFM: not available
  1985. }
  1986. procedure DisposeDataBrowserAddDragItemUPP( userUPP: DataBrowserAddDragItemUPP ); external name '_DisposeDataBrowserAddDragItemUPP';
  1987. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1988. {
  1989. * DisposeDataBrowserAcceptDragUPP()
  1990. *
  1991. * Availability:
  1992. * Mac OS X: in version 10.0 and later in Carbon.framework
  1993. * CarbonLib: in CarbonLib 1.1 and later
  1994. * Non-Carbon CFM: not available
  1995. }
  1996. procedure DisposeDataBrowserAcceptDragUPP( userUPP: DataBrowserAcceptDragUPP ); external name '_DisposeDataBrowserAcceptDragUPP';
  1997. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  1998. {
  1999. * DisposeDataBrowserReceiveDragUPP()
  2000. *
  2001. * Availability:
  2002. * Mac OS X: in version 10.0 and later in Carbon.framework
  2003. * CarbonLib: in CarbonLib 1.1 and later
  2004. * Non-Carbon CFM: not available
  2005. }
  2006. procedure DisposeDataBrowserReceiveDragUPP( userUPP: DataBrowserReceiveDragUPP ); external name '_DisposeDataBrowserReceiveDragUPP';
  2007. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2008. {
  2009. * DisposeDataBrowserPostProcessDragUPP()
  2010. *
  2011. * Availability:
  2012. * Mac OS X: in version 10.0 and later in Carbon.framework
  2013. * CarbonLib: in CarbonLib 1.1 and later
  2014. * Non-Carbon CFM: not available
  2015. }
  2016. procedure DisposeDataBrowserPostProcessDragUPP( userUPP: DataBrowserPostProcessDragUPP ); external name '_DisposeDataBrowserPostProcessDragUPP';
  2017. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2018. {
  2019. * DisposeDataBrowserGetContextualMenuUPP()
  2020. *
  2021. * Availability:
  2022. * Mac OS X: in version 10.0 and later in Carbon.framework
  2023. * CarbonLib: in CarbonLib 1.1 and later
  2024. * Non-Carbon CFM: not available
  2025. }
  2026. procedure DisposeDataBrowserGetContextualMenuUPP( userUPP: DataBrowserGetContextualMenuUPP ); external name '_DisposeDataBrowserGetContextualMenuUPP';
  2027. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2028. {
  2029. * DisposeDataBrowserSelectContextualMenuUPP()
  2030. *
  2031. * Availability:
  2032. * Mac OS X: in version 10.0 and later in Carbon.framework
  2033. * CarbonLib: in CarbonLib 1.1 and later
  2034. * Non-Carbon CFM: not available
  2035. }
  2036. procedure DisposeDataBrowserSelectContextualMenuUPP( userUPP: DataBrowserSelectContextualMenuUPP ); external name '_DisposeDataBrowserSelectContextualMenuUPP';
  2037. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2038. {
  2039. * DisposeDataBrowserItemHelpContentUPP()
  2040. *
  2041. * Availability:
  2042. * Mac OS X: in version 10.0 and later in Carbon.framework
  2043. * CarbonLib: in CarbonLib 1.1 and later
  2044. * Non-Carbon CFM: not available
  2045. }
  2046. procedure DisposeDataBrowserItemHelpContentUPP( userUPP: DataBrowserItemHelpContentUPP ); external name '_DisposeDataBrowserItemHelpContentUPP';
  2047. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2048. {
  2049. * InvokeDataBrowserItemDataUPP()
  2050. *
  2051. * Availability:
  2052. * Mac OS X: in version 10.0 and later in Carbon.framework
  2053. * CarbonLib: in CarbonLib 1.1 and later
  2054. * Non-Carbon CFM: not available
  2055. }
  2056. function InvokeDataBrowserItemDataUPP( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; itemData: DataBrowserItemDataRef; setValue: Boolean; userUPP: DataBrowserItemDataUPP ): OSStatus; external name '_InvokeDataBrowserItemDataUPP';
  2057. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2058. {
  2059. * InvokeDataBrowserItemCompareUPP()
  2060. *
  2061. * Availability:
  2062. * Mac OS X: in version 10.0 and later in Carbon.framework
  2063. * CarbonLib: in CarbonLib 1.1 and later
  2064. * Non-Carbon CFM: not available
  2065. }
  2066. function InvokeDataBrowserItemCompareUPP( browser: ControlRef; itemOne: DataBrowserItemID; itemTwo: DataBrowserItemID; sortProperty: DataBrowserPropertyID; userUPP: DataBrowserItemCompareUPP ): Boolean; external name '_InvokeDataBrowserItemCompareUPP';
  2067. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2068. {
  2069. * InvokeDataBrowserItemNotificationWithItemUPP()
  2070. *
  2071. * Availability:
  2072. * Mac OS X: in version 10.1 and later in Carbon.framework
  2073. * CarbonLib: in CarbonLib 1.5 and later
  2074. * Non-Carbon CFM: not available
  2075. }
  2076. procedure InvokeDataBrowserItemNotificationWithItemUPP( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification; itemData: DataBrowserItemDataRef; userUPP: DataBrowserItemNotificationWithItemUPP ); external name '_InvokeDataBrowserItemNotificationWithItemUPP';
  2077. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2078. {
  2079. * InvokeDataBrowserItemNotificationUPP()
  2080. *
  2081. * Availability:
  2082. * Mac OS X: in version 10.0 and later in Carbon.framework
  2083. * CarbonLib: in CarbonLib 1.1 and later
  2084. * Non-Carbon CFM: not available
  2085. }
  2086. procedure InvokeDataBrowserItemNotificationUPP( browser: ControlRef; item: DataBrowserItemID; message: DataBrowserItemNotification; userUPP: DataBrowserItemNotificationUPP ); external name '_InvokeDataBrowserItemNotificationUPP';
  2087. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2088. {
  2089. * InvokeDataBrowserAddDragItemUPP()
  2090. *
  2091. * Availability:
  2092. * Mac OS X: in version 10.0 and later in Carbon.framework
  2093. * CarbonLib: in CarbonLib 1.1 and later
  2094. * Non-Carbon CFM: not available
  2095. }
  2096. function InvokeDataBrowserAddDragItemUPP( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; var itemRef: ItemReference; userUPP: DataBrowserAddDragItemUPP ): Boolean; external name '_InvokeDataBrowserAddDragItemUPP';
  2097. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2098. {
  2099. * InvokeDataBrowserAcceptDragUPP()
  2100. *
  2101. * Availability:
  2102. * Mac OS X: in version 10.0 and later in Carbon.framework
  2103. * CarbonLib: in CarbonLib 1.1 and later
  2104. * Non-Carbon CFM: not available
  2105. }
  2106. function InvokeDataBrowserAcceptDragUPP( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; userUPP: DataBrowserAcceptDragUPP ): Boolean; external name '_InvokeDataBrowserAcceptDragUPP';
  2107. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2108. {
  2109. * InvokeDataBrowserReceiveDragUPP()
  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. }
  2116. function InvokeDataBrowserReceiveDragUPP( browser: ControlRef; theDrag: DragReference; item: DataBrowserItemID; userUPP: DataBrowserReceiveDragUPP ): Boolean; external name '_InvokeDataBrowserReceiveDragUPP';
  2117. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2118. {
  2119. * InvokeDataBrowserPostProcessDragUPP()
  2120. *
  2121. * Availability:
  2122. * Mac OS X: in version 10.0 and later in Carbon.framework
  2123. * CarbonLib: in CarbonLib 1.1 and later
  2124. * Non-Carbon CFM: not available
  2125. }
  2126. procedure InvokeDataBrowserPostProcessDragUPP( browser: ControlRef; theDrag: DragReference; trackDragResult: OSStatus; userUPP: DataBrowserPostProcessDragUPP ); external name '_InvokeDataBrowserPostProcessDragUPP';
  2127. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2128. {
  2129. * InvokeDataBrowserGetContextualMenuUPP()
  2130. *
  2131. * Availability:
  2132. * Mac OS X: in version 10.0 and later in Carbon.framework
  2133. * CarbonLib: in CarbonLib 1.1 and later
  2134. * Non-Carbon CFM: not available
  2135. }
  2136. procedure InvokeDataBrowserGetContextualMenuUPP( browser: ControlRef; var menu: MenuRef; var helpType: UInt32; var helpItemString: CFStringRef; var selection: AEDesc; userUPP: DataBrowserGetContextualMenuUPP ); external name '_InvokeDataBrowserGetContextualMenuUPP';
  2137. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2138. {
  2139. * InvokeDataBrowserSelectContextualMenuUPP()
  2140. *
  2141. * Availability:
  2142. * Mac OS X: in version 10.0 and later in Carbon.framework
  2143. * CarbonLib: in CarbonLib 1.1 and later
  2144. * Non-Carbon CFM: not available
  2145. }
  2146. procedure InvokeDataBrowserSelectContextualMenuUPP( browser: ControlRef; menu: MenuRef; selectionType: UInt32; menuID: SInt16; menuItem: MenuItemIndex; userUPP: DataBrowserSelectContextualMenuUPP ); external name '_InvokeDataBrowserSelectContextualMenuUPP';
  2147. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2148. {
  2149. * InvokeDataBrowserItemHelpContentUPP()
  2150. *
  2151. * Availability:
  2152. * Mac OS X: in version 10.0 and later in Carbon.framework
  2153. * CarbonLib: in CarbonLib 1.1 and later
  2154. * Non-Carbon CFM: not available
  2155. }
  2156. procedure InvokeDataBrowserItemHelpContentUPP( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; inRequest: HMContentRequest; var outContentProvided: HMContentProvidedType; ioHelpContent: HMHelpContentPtr; userUPP: DataBrowserItemHelpContentUPP ); external name '_InvokeDataBrowserItemHelpContentUPP';
  2157. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2158. { Standard Callback (vtable) Structure }
  2159. const
  2160. kDataBrowserLatestCallbacks = 0;
  2161. type
  2162. DataBrowserCallbacksPtr = ^DataBrowserCallbacks;
  2163. DataBrowserCallbacks = record
  2164. version: UInt32; { Use kDataBrowserLatestCallbacks }
  2165. case SInt16 of
  2166. 0: (
  2167. itemDataCallback: DataBrowserItemDataUPP;
  2168. itemCompareCallback: DataBrowserItemCompareUPP;
  2169. itemNotificationCallback: DataBrowserItemNotificationUPP;
  2170. addDragItemCallback: DataBrowserAddDragItemUPP;
  2171. acceptDragCallback: DataBrowserAcceptDragUPP;
  2172. receiveDragCallback: DataBrowserReceiveDragUPP;
  2173. postProcessDragCallback: DataBrowserPostProcessDragUPP;
  2174. itemHelpContentCallback: DataBrowserItemHelpContentUPP;
  2175. getContextualMenuCallback: DataBrowserGetContextualMenuUPP;
  2176. selectContextualMenuCallback: DataBrowserSelectContextualMenuUPP;
  2177. );
  2178. end;
  2179. {$ifc not TARGET_CPU_64}
  2180. {
  2181. * InitDataBrowserCallbacks()
  2182. *
  2183. * Mac OS X threading:
  2184. * Not thread safe
  2185. *
  2186. * Availability:
  2187. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2188. * CarbonLib: in CarbonLib 1.1 and later
  2189. * Non-Carbon CFM: not available
  2190. }
  2191. function InitDataBrowserCallbacks( var callbacks: DataBrowserCallbacks ): OSStatus; external name '_InitDataBrowserCallbacks';
  2192. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2193. { Macro for initializing callback structure }
  2194. // #define InitializeDataBrowserCallbacks(callbacks, vers) \
  2195. { (callbacks)->version = (vers); InitDataBrowserCallbacks(callbacks); }
  2196. {
  2197. * GetDataBrowserCallbacks()
  2198. *
  2199. * Mac OS X threading:
  2200. * Not thread safe
  2201. *
  2202. * Availability:
  2203. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2204. * CarbonLib: in CarbonLib 1.1 and later
  2205. * Non-Carbon CFM: not available
  2206. }
  2207. function GetDataBrowserCallbacks( browser: ControlRef; var callbacks: DataBrowserCallbacks ): OSStatus; external name '_GetDataBrowserCallbacks';
  2208. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2209. {
  2210. * SetDataBrowserCallbacks()
  2211. *
  2212. * Mac OS X threading:
  2213. * Not thread safe
  2214. *
  2215. * Availability:
  2216. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2217. * CarbonLib: in CarbonLib 1.1 and later
  2218. * Non-Carbon CFM: not available
  2219. }
  2220. function SetDataBrowserCallbacks( browser: ControlRef; const (*var*) callbacks: DataBrowserCallbacks ): OSStatus; external name '_SetDataBrowserCallbacks';
  2221. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2222. {--------------------------------------------------------------------------------------}
  2223. { DataBrowser Events }
  2224. {--------------------------------------------------------------------------------------}
  2225. {$endc} {not TARGET_CPU_64}
  2226. {
  2227. * Summary:
  2228. * Event class
  2229. }
  2230. const
  2231. {
  2232. * Events related to DataBrowser.
  2233. }
  2234. kEventClassDataBrowser = FourCharCode('hidb');
  2235. {
  2236. kEventClassDataBrowser quick reference:
  2237. kEventDataBrowserDrawCustomItem = 1
  2238. }
  2239. { DataBrowser parameters}
  2240. const
  2241. kEventParamDataBrowserItemID = FourCharCode('dbid'); { typeRefCon}
  2242. kEventParamDataBrowserPropertyID = FourCharCode('dbpd'); { typeRefCon}
  2243. kEventParamDataBrowserItemState = FourCharCode('dbis'); { typeUInt32}
  2244. {
  2245. * kEventClassDataBrowser / kEventDataBrowserDrawCustomItem
  2246. *
  2247. * Summary:
  2248. * DataBrowser is requesting a custom item be drawn.
  2249. *
  2250. * Discussion:
  2251. * If the client has installed a custom item draw handler on a data
  2252. * browser containing custom items, as indicated by the
  2253. * kDataBrowserCustomType property, this message will be sent at
  2254. * data browser draw time for all custom items currently showing.
  2255. * This event does not propagate past the Data Browser control and
  2256. * is only sent in compositing mode. If a result other than noErr is
  2257. * returned the DataBrowserDrawItemProcPtr will be invoked if it has
  2258. * bee installed.
  2259. *
  2260. * Mac OS X threading:
  2261. * Not thread safe
  2262. *
  2263. * Parameters:
  2264. *
  2265. * --> kEventParamDirectObject (in, typeControlRef)
  2266. * The DataBrowser requesting a custom item be drawn.
  2267. *
  2268. * --> kEventParamDataBrowserItemID (in, typeRefCon)
  2269. * The item ID for the item to draw.
  2270. *
  2271. * --> kEventParamDataBrowserPropertyID (in, typeRefCon)
  2272. * The property ID for the item. In list view, this is the
  2273. * four-character sequence that you previously assigned to the
  2274. * column. In column view, this is the property
  2275. * kDataBrowserItemSelfIdentityProperty.
  2276. *
  2277. * --> kEventParamDataBrowserItemState (in, typeUInt32)
  2278. * The state to use when drawing the item.
  2279. *
  2280. * --> kEventParamBounds (in, typeHIRect)
  2281. * The bounding rectangle that specifies where in the provided
  2282. * context to draw the item. This rectangle is the content
  2283. * rectangle, not the enclosing rectangle.
  2284. *
  2285. * --> kEventParamCGContextRef (in, typeCGContext)
  2286. * The context into which the custom drawing should be
  2287. * performed. The context will be automatically flipped to use
  2288. * a top left orientation similar to the kEventControlDraw
  2289. * event.
  2290. *
  2291. * Availability:
  2292. * Mac OS X: in version 10.5 and later in Carbon.framework
  2293. * CarbonLib: not available
  2294. }
  2295. const
  2296. kEventDataBrowserDrawCustomItem = 1;
  2297. { Custom Format Callbacks (kDataBrowserCustomType display properties) }
  2298. type
  2299. DataBrowserDragFlags = UInt32;
  2300. DataBrowserTrackingResult = SInt16;
  2301. const
  2302. kDataBrowserContentHit = 1;
  2303. kDataBrowserNothingHit = 0;
  2304. kDataBrowserStopTracking = -1;
  2305. type
  2306. DataBrowserDrawItemProcPtr = procedure( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; itemState: DataBrowserItemState; const (*var*) theRect: Rect; gdDepth: SInt16; colorDevice: Boolean );
  2307. DataBrowserEditItemProcPtr = function( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; theString: CFStringRef; var maxEditTextRect: Rect; var shrinkToFit: Boolean ): Boolean;
  2308. DataBrowserHitTestProcPtr = function( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; const (*var*) mouseRect: Rect ): Boolean;
  2309. DataBrowserTrackingProcPtr = function( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; startPt: Point; modifiers: EventModifiers ): DataBrowserTrackingResult;
  2310. DataBrowserItemDragRgnProcPtr = procedure( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; dragRgn: RgnHandle );
  2311. DataBrowserItemAcceptDragProcPtr = function( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; theDrag: DragReference ): DataBrowserDragFlags;
  2312. DataBrowserItemReceiveDragProcPtr = function( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; dragFlags: DataBrowserDragFlags; theDrag: DragReference ): Boolean;
  2313. DataBrowserDrawItemUPP = DataBrowserDrawItemProcPtr;
  2314. DataBrowserEditItemUPP = DataBrowserEditItemProcPtr;
  2315. DataBrowserHitTestUPP = DataBrowserHitTestProcPtr;
  2316. DataBrowserTrackingUPP = DataBrowserTrackingProcPtr;
  2317. DataBrowserItemDragRgnUPP = DataBrowserItemDragRgnProcPtr;
  2318. DataBrowserItemAcceptDragUPP = DataBrowserItemAcceptDragProcPtr;
  2319. DataBrowserItemReceiveDragUPP = DataBrowserItemReceiveDragProcPtr;
  2320. {
  2321. * NewDataBrowserDrawItemUPP()
  2322. *
  2323. * Availability:
  2324. * Mac OS X: in version 10.1 and later in Carbon.framework
  2325. * CarbonLib: in CarbonLib 1.1 and later
  2326. * Non-Carbon CFM: not available
  2327. }
  2328. function NewDataBrowserDrawItemUPP( userRoutine: DataBrowserDrawItemProcPtr ): DataBrowserDrawItemUPP; external name '_NewDataBrowserDrawItemUPP';
  2329. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2330. {
  2331. * NewDataBrowserEditItemUPP()
  2332. *
  2333. * Availability:
  2334. * Mac OS X: in version 10.1 and later in Carbon.framework
  2335. * CarbonLib: in CarbonLib 1.1 and later
  2336. * Non-Carbon CFM: not available
  2337. }
  2338. function NewDataBrowserEditItemUPP( userRoutine: DataBrowserEditItemProcPtr ): DataBrowserEditItemUPP; external name '_NewDataBrowserEditItemUPP';
  2339. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2340. {
  2341. * NewDataBrowserHitTestUPP()
  2342. *
  2343. * Availability:
  2344. * Mac OS X: in version 10.1 and later in Carbon.framework
  2345. * CarbonLib: in CarbonLib 1.1 and later
  2346. * Non-Carbon CFM: not available
  2347. }
  2348. function NewDataBrowserHitTestUPP( userRoutine: DataBrowserHitTestProcPtr ): DataBrowserHitTestUPP; external name '_NewDataBrowserHitTestUPP';
  2349. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2350. {
  2351. * NewDataBrowserTrackingUPP()
  2352. *
  2353. * Availability:
  2354. * Mac OS X: in version 10.1 and later in Carbon.framework
  2355. * CarbonLib: in CarbonLib 1.1 and later
  2356. * Non-Carbon CFM: not available
  2357. }
  2358. function NewDataBrowserTrackingUPP( userRoutine: DataBrowserTrackingProcPtr ): DataBrowserTrackingUPP; external name '_NewDataBrowserTrackingUPP';
  2359. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2360. {
  2361. * NewDataBrowserItemDragRgnUPP()
  2362. *
  2363. * Availability:
  2364. * Mac OS X: in version 10.1 and later in Carbon.framework
  2365. * CarbonLib: in CarbonLib 1.1 and later
  2366. * Non-Carbon CFM: not available
  2367. }
  2368. function NewDataBrowserItemDragRgnUPP( userRoutine: DataBrowserItemDragRgnProcPtr ): DataBrowserItemDragRgnUPP; external name '_NewDataBrowserItemDragRgnUPP';
  2369. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2370. {
  2371. * NewDataBrowserItemAcceptDragUPP()
  2372. *
  2373. * Availability:
  2374. * Mac OS X: in version 10.1 and later in Carbon.framework
  2375. * CarbonLib: in CarbonLib 1.1 and later
  2376. * Non-Carbon CFM: not available
  2377. }
  2378. function NewDataBrowserItemAcceptDragUPP( userRoutine: DataBrowserItemAcceptDragProcPtr ): DataBrowserItemAcceptDragUPP; external name '_NewDataBrowserItemAcceptDragUPP';
  2379. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2380. {
  2381. * NewDataBrowserItemReceiveDragUPP()
  2382. *
  2383. * Availability:
  2384. * Mac OS X: in version 10.1 and later in Carbon.framework
  2385. * CarbonLib: in CarbonLib 1.1 and later
  2386. * Non-Carbon CFM: not available
  2387. }
  2388. function NewDataBrowserItemReceiveDragUPP( userRoutine: DataBrowserItemReceiveDragProcPtr ): DataBrowserItemReceiveDragUPP; external name '_NewDataBrowserItemReceiveDragUPP';
  2389. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2390. {
  2391. * DisposeDataBrowserDrawItemUPP()
  2392. *
  2393. * Availability:
  2394. * Mac OS X: in version 10.1 and later in Carbon.framework
  2395. * CarbonLib: in CarbonLib 1.1 and later
  2396. * Non-Carbon CFM: not available
  2397. }
  2398. procedure DisposeDataBrowserDrawItemUPP( userUPP: DataBrowserDrawItemUPP ); external name '_DisposeDataBrowserDrawItemUPP';
  2399. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2400. {
  2401. * DisposeDataBrowserEditItemUPP()
  2402. *
  2403. * Availability:
  2404. * Mac OS X: in version 10.1 and later in Carbon.framework
  2405. * CarbonLib: in CarbonLib 1.1 and later
  2406. * Non-Carbon CFM: not available
  2407. }
  2408. procedure DisposeDataBrowserEditItemUPP( userUPP: DataBrowserEditItemUPP ); external name '_DisposeDataBrowserEditItemUPP';
  2409. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2410. {
  2411. * DisposeDataBrowserHitTestUPP()
  2412. *
  2413. * Availability:
  2414. * Mac OS X: in version 10.1 and later in Carbon.framework
  2415. * CarbonLib: in CarbonLib 1.1 and later
  2416. * Non-Carbon CFM: not available
  2417. }
  2418. procedure DisposeDataBrowserHitTestUPP( userUPP: DataBrowserHitTestUPP ); external name '_DisposeDataBrowserHitTestUPP';
  2419. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2420. {
  2421. * DisposeDataBrowserTrackingUPP()
  2422. *
  2423. * Availability:
  2424. * Mac OS X: in version 10.1 and later in Carbon.framework
  2425. * CarbonLib: in CarbonLib 1.1 and later
  2426. * Non-Carbon CFM: not available
  2427. }
  2428. procedure DisposeDataBrowserTrackingUPP( userUPP: DataBrowserTrackingUPP ); external name '_DisposeDataBrowserTrackingUPP';
  2429. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2430. {
  2431. * DisposeDataBrowserItemDragRgnUPP()
  2432. *
  2433. * Availability:
  2434. * Mac OS X: in version 10.1 and later in Carbon.framework
  2435. * CarbonLib: in CarbonLib 1.1 and later
  2436. * Non-Carbon CFM: not available
  2437. }
  2438. procedure DisposeDataBrowserItemDragRgnUPP( userUPP: DataBrowserItemDragRgnUPP ); external name '_DisposeDataBrowserItemDragRgnUPP';
  2439. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2440. {
  2441. * DisposeDataBrowserItemAcceptDragUPP()
  2442. *
  2443. * Availability:
  2444. * Mac OS X: in version 10.1 and later in Carbon.framework
  2445. * CarbonLib: in CarbonLib 1.1 and later
  2446. * Non-Carbon CFM: not available
  2447. }
  2448. procedure DisposeDataBrowserItemAcceptDragUPP( userUPP: DataBrowserItemAcceptDragUPP ); external name '_DisposeDataBrowserItemAcceptDragUPP';
  2449. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2450. {
  2451. * DisposeDataBrowserItemReceiveDragUPP()
  2452. *
  2453. * Availability:
  2454. * Mac OS X: in version 10.1 and later in Carbon.framework
  2455. * CarbonLib: in CarbonLib 1.1 and later
  2456. * Non-Carbon CFM: not available
  2457. }
  2458. procedure DisposeDataBrowserItemReceiveDragUPP( userUPP: DataBrowserItemReceiveDragUPP ); external name '_DisposeDataBrowserItemReceiveDragUPP';
  2459. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2460. {
  2461. * InvokeDataBrowserDrawItemUPP()
  2462. *
  2463. * Availability:
  2464. * Mac OS X: in version 10.1 and later in Carbon.framework
  2465. * CarbonLib: in CarbonLib 1.1 and later
  2466. * Non-Carbon CFM: not available
  2467. }
  2468. procedure InvokeDataBrowserDrawItemUPP( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; itemState: DataBrowserItemState; const (*var*) theRect: Rect; gdDepth: SInt16; colorDevice: Boolean; userUPP: DataBrowserDrawItemUPP ); external name '_InvokeDataBrowserDrawItemUPP';
  2469. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2470. {
  2471. * InvokeDataBrowserEditItemUPP()
  2472. *
  2473. * Availability:
  2474. * Mac OS X: in version 10.1 and later in Carbon.framework
  2475. * CarbonLib: in CarbonLib 1.1 and later
  2476. * Non-Carbon CFM: not available
  2477. }
  2478. function InvokeDataBrowserEditItemUPP( browser: ControlRef; item: DataBrowserItemID; property: DataBrowserPropertyID; theString: CFStringRef; var maxEditTextRect: Rect; var shrinkToFit: Boolean; userUPP: DataBrowserEditItemUPP ): Boolean; external name '_InvokeDataBrowserEditItemUPP';
  2479. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2480. {
  2481. * InvokeDataBrowserHitTestUPP()
  2482. *
  2483. * Availability:
  2484. * Mac OS X: in version 10.1 and later in Carbon.framework
  2485. * CarbonLib: in CarbonLib 1.1 and later
  2486. * Non-Carbon CFM: not available
  2487. }
  2488. function InvokeDataBrowserHitTestUPP( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; const (*var*) mouseRect: Rect; userUPP: DataBrowserHitTestUPP ): Boolean; external name '_InvokeDataBrowserHitTestUPP';
  2489. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2490. {
  2491. * InvokeDataBrowserTrackingUPP()
  2492. *
  2493. * Availability:
  2494. * Mac OS X: in version 10.1 and later in Carbon.framework
  2495. * CarbonLib: in CarbonLib 1.1 and later
  2496. * Non-Carbon CFM: not available
  2497. }
  2498. function InvokeDataBrowserTrackingUPP( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; startPt: Point; modifiers: EventModifiers; userUPP: DataBrowserTrackingUPP ): DataBrowserTrackingResult; external name '_InvokeDataBrowserTrackingUPP';
  2499. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2500. {
  2501. * InvokeDataBrowserItemDragRgnUPP()
  2502. *
  2503. * Availability:
  2504. * Mac OS X: in version 10.1 and later in Carbon.framework
  2505. * CarbonLib: in CarbonLib 1.1 and later
  2506. * Non-Carbon CFM: not available
  2507. }
  2508. procedure InvokeDataBrowserItemDragRgnUPP( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; dragRgn: RgnHandle; userUPP: DataBrowserItemDragRgnUPP ); external name '_InvokeDataBrowserItemDragRgnUPP';
  2509. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2510. {
  2511. * InvokeDataBrowserItemAcceptDragUPP()
  2512. *
  2513. * Availability:
  2514. * Mac OS X: in version 10.1 and later in Carbon.framework
  2515. * CarbonLib: in CarbonLib 1.1 and later
  2516. * Non-Carbon CFM: not available
  2517. }
  2518. function InvokeDataBrowserItemAcceptDragUPP( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; const (*var*) theRect: Rect; theDrag: DragReference; userUPP: DataBrowserItemAcceptDragUPP ): DataBrowserDragFlags; external name '_InvokeDataBrowserItemAcceptDragUPP';
  2519. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2520. {
  2521. * InvokeDataBrowserItemReceiveDragUPP()
  2522. *
  2523. * Availability:
  2524. * Mac OS X: in version 10.1 and later in Carbon.framework
  2525. * CarbonLib: in CarbonLib 1.1 and later
  2526. * Non-Carbon CFM: not available
  2527. }
  2528. function InvokeDataBrowserItemReceiveDragUPP( browser: ControlRef; itemID: DataBrowserItemID; property: DataBrowserPropertyID; dragFlags: DataBrowserDragFlags; theDrag: DragReference; userUPP: DataBrowserItemReceiveDragUPP ): Boolean; external name '_InvokeDataBrowserItemReceiveDragUPP';
  2529. (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
  2530. { Custom Callback (vtable) Structure }
  2531. const
  2532. kDataBrowserLatestCustomCallbacks = 0;
  2533. type
  2534. DataBrowserCustomCallbacksPtr = ^DataBrowserCustomCallbacks;
  2535. DataBrowserCustomCallbacks = record
  2536. version: UInt32; { Use kDataBrowserLatestCustomCallbacks }
  2537. case SInt16 of
  2538. 0: (
  2539. drawItemCallback: DataBrowserDrawItemUPP;
  2540. editTextCallback: DataBrowserEditItemUPP;
  2541. hitTestCallback: DataBrowserHitTestUPP;
  2542. trackingCallback: DataBrowserTrackingUPP;
  2543. dragRegionCallback: DataBrowserItemDragRgnUPP;
  2544. acceptDragCallback: DataBrowserItemAcceptDragUPP;
  2545. receiveDragCallback: DataBrowserItemReceiveDragUPP;
  2546. );
  2547. end;
  2548. {$ifc not TARGET_CPU_64}
  2549. {
  2550. * InitDataBrowserCustomCallbacks()
  2551. *
  2552. * Mac OS X threading:
  2553. * Not thread safe
  2554. *
  2555. * Availability:
  2556. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2557. * CarbonLib: in CarbonLib 1.1 and later
  2558. * Non-Carbon CFM: not available
  2559. }
  2560. function InitDataBrowserCustomCallbacks( var callbacks: DataBrowserCustomCallbacks ): OSStatus; external name '_InitDataBrowserCustomCallbacks';
  2561. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2562. { Macro for initializing custom callback structure }
  2563. // #define InitializeDataBrowserCustomCallbacks(callbacks, vers) \
  2564. { (callbacks)->version = (vers); InitDataBrowserCustomCallbacks(callbacks); }
  2565. {
  2566. * GetDataBrowserCustomCallbacks()
  2567. *
  2568. * Mac OS X threading:
  2569. * Not thread safe
  2570. *
  2571. * Availability:
  2572. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2573. * CarbonLib: in CarbonLib 1.1 and later
  2574. * Non-Carbon CFM: not available
  2575. }
  2576. function GetDataBrowserCustomCallbacks( browser: ControlRef; var callbacks: DataBrowserCustomCallbacks ): OSStatus; external name '_GetDataBrowserCustomCallbacks';
  2577. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2578. {
  2579. * SetDataBrowserCustomCallbacks()
  2580. *
  2581. * Mac OS X threading:
  2582. * Not thread safe
  2583. *
  2584. * Availability:
  2585. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2586. * CarbonLib: in CarbonLib 1.1 and later
  2587. * Non-Carbon CFM: not available
  2588. }
  2589. function SetDataBrowserCustomCallbacks( browser: ControlRef; const (*var*) callbacks: DataBrowserCustomCallbacks ): OSStatus; external name '_SetDataBrowserCustomCallbacks';
  2590. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2591. { TableView Formatting }
  2592. {$endc} {not TARGET_CPU_64}
  2593. type
  2594. DataBrowserTableViewHiliteStyle = UInt32;
  2595. const
  2596. kDataBrowserTableViewMinimalHilite = 0;
  2597. kDataBrowserTableViewFillHilite = 1;
  2598. type
  2599. DataBrowserTableViewPropertyFlags = UInt32;
  2600. const
  2601. { kDataBrowserTableView DataBrowserPropertyFlags }
  2602. kDataBrowserTableViewSelectionColumn = 1 shl kDataBrowserViewSpecificFlagsOffset;
  2603. { The row and column indices are zero-based }
  2604. type
  2605. DataBrowserTableViewRowIndex = UNSIGNEDLONG;
  2606. DataBrowserTableViewColumnIndex = UNSIGNEDLONG;
  2607. DataBrowserTableViewColumnID = DataBrowserPropertyID;
  2608. DataBrowserTableViewColumnDesc = DataBrowserPropertyDesc;
  2609. { TableView API }
  2610. { Use when setting column position }
  2611. const
  2612. kDataBrowserTableViewLastColumn = -1;
  2613. {$ifc not TARGET_CPU_64}
  2614. {
  2615. * RemoveDataBrowserTableViewColumn()
  2616. *
  2617. * Mac OS X threading:
  2618. * Not thread safe
  2619. *
  2620. * Availability:
  2621. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2622. * CarbonLib: in CarbonLib 1.1 and later
  2623. * Non-Carbon CFM: not available
  2624. }
  2625. function RemoveDataBrowserTableViewColumn( browser: ControlRef; column: DataBrowserTableViewColumnID ): OSStatus; external name '_RemoveDataBrowserTableViewColumn';
  2626. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2627. {
  2628. * GetDataBrowserTableViewColumnCount()
  2629. *
  2630. * Mac OS X threading:
  2631. * Not thread safe
  2632. *
  2633. * Availability:
  2634. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2635. * CarbonLib: in CarbonLib 1.1 and later
  2636. * Non-Carbon CFM: not available
  2637. }
  2638. function GetDataBrowserTableViewColumnCount( browser: ControlRef; var numColumns: UInt32 ): OSStatus; external name '_GetDataBrowserTableViewColumnCount';
  2639. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2640. {
  2641. * SetDataBrowserTableViewHiliteStyle()
  2642. *
  2643. * Mac OS X threading:
  2644. * Not thread safe
  2645. *
  2646. * Availability:
  2647. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2648. * CarbonLib: in CarbonLib 1.1 and later
  2649. * Non-Carbon CFM: not available
  2650. }
  2651. function SetDataBrowserTableViewHiliteStyle( browser: ControlRef; hiliteStyle: DataBrowserTableViewHiliteStyle ): OSStatus; external name '_SetDataBrowserTableViewHiliteStyle';
  2652. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2653. {
  2654. * GetDataBrowserTableViewHiliteStyle()
  2655. *
  2656. * Mac OS X threading:
  2657. * Not thread safe
  2658. *
  2659. * Availability:
  2660. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2661. * CarbonLib: in CarbonLib 1.1 and later
  2662. * Non-Carbon CFM: not available
  2663. }
  2664. function GetDataBrowserTableViewHiliteStyle( browser: ControlRef; var hiliteStyle: DataBrowserTableViewHiliteStyle ): OSStatus; external name '_GetDataBrowserTableViewHiliteStyle';
  2665. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2666. {
  2667. * SetDataBrowserTableViewRowHeight()
  2668. *
  2669. * Mac OS X threading:
  2670. * Not thread safe
  2671. *
  2672. * Availability:
  2673. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2674. * CarbonLib: in CarbonLib 1.1 and later
  2675. * Non-Carbon CFM: not available
  2676. }
  2677. function SetDataBrowserTableViewRowHeight( browser: ControlRef; height: UInt16 ): OSStatus; external name '_SetDataBrowserTableViewRowHeight';
  2678. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2679. {
  2680. * GetDataBrowserTableViewRowHeight()
  2681. *
  2682. * Mac OS X threading:
  2683. * Not thread safe
  2684. *
  2685. * Availability:
  2686. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2687. * CarbonLib: in CarbonLib 1.1 and later
  2688. * Non-Carbon CFM: not available
  2689. }
  2690. function GetDataBrowserTableViewRowHeight( browser: ControlRef; var height: UInt16 ): OSStatus; external name '_GetDataBrowserTableViewRowHeight';
  2691. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2692. {
  2693. * SetDataBrowserTableViewColumnWidth()
  2694. *
  2695. * Mac OS X threading:
  2696. * Not thread safe
  2697. *
  2698. * Availability:
  2699. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2700. * CarbonLib: in CarbonLib 1.1 and later
  2701. * Non-Carbon CFM: not available
  2702. }
  2703. function SetDataBrowserTableViewColumnWidth( browser: ControlRef; width: UInt16 ): OSStatus; external name '_SetDataBrowserTableViewColumnWidth';
  2704. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2705. {
  2706. * GetDataBrowserTableViewColumnWidth()
  2707. *
  2708. * Mac OS X threading:
  2709. * Not thread safe
  2710. *
  2711. * Availability:
  2712. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2713. * CarbonLib: in CarbonLib 1.1 and later
  2714. * Non-Carbon CFM: not available
  2715. }
  2716. function GetDataBrowserTableViewColumnWidth( browser: ControlRef; var width: UInt16 ): OSStatus; external name '_GetDataBrowserTableViewColumnWidth';
  2717. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2718. {
  2719. * SetDataBrowserTableViewItemRowHeight()
  2720. *
  2721. * Mac OS X threading:
  2722. * Not thread safe
  2723. *
  2724. * Availability:
  2725. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2726. * CarbonLib: in CarbonLib 1.1 and later
  2727. * Non-Carbon CFM: not available
  2728. }
  2729. function SetDataBrowserTableViewItemRowHeight( browser: ControlRef; item: DataBrowserItemID; height: UInt16 ): OSStatus; external name '_SetDataBrowserTableViewItemRowHeight';
  2730. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2731. {
  2732. * GetDataBrowserTableViewItemRowHeight()
  2733. *
  2734. * Mac OS X threading:
  2735. * Not thread safe
  2736. *
  2737. * Availability:
  2738. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2739. * CarbonLib: in CarbonLib 1.1 and later
  2740. * Non-Carbon CFM: not available
  2741. }
  2742. function GetDataBrowserTableViewItemRowHeight( browser: ControlRef; item: DataBrowserItemID; var height: UInt16 ): OSStatus; external name '_GetDataBrowserTableViewItemRowHeight';
  2743. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2744. {
  2745. * SetDataBrowserTableViewNamedColumnWidth()
  2746. *
  2747. * Mac OS X threading:
  2748. * Not thread safe
  2749. *
  2750. * Availability:
  2751. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2752. * CarbonLib: in CarbonLib 1.1 and later
  2753. * Non-Carbon CFM: not available
  2754. }
  2755. function SetDataBrowserTableViewNamedColumnWidth( browser: ControlRef; column: DataBrowserTableViewColumnID; width: UInt16 ): OSStatus; external name '_SetDataBrowserTableViewNamedColumnWidth';
  2756. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2757. {
  2758. * GetDataBrowserTableViewNamedColumnWidth()
  2759. *
  2760. * Mac OS X threading:
  2761. * Not thread safe
  2762. *
  2763. * Availability:
  2764. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2765. * CarbonLib: in CarbonLib 1.1 and later
  2766. * Non-Carbon CFM: not available
  2767. }
  2768. function GetDataBrowserTableViewNamedColumnWidth( browser: ControlRef; column: DataBrowserTableViewColumnID; var width: UInt16 ): OSStatus; external name '_GetDataBrowserTableViewNamedColumnWidth';
  2769. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2770. {
  2771. * SetDataBrowserTableViewGeometry()
  2772. *
  2773. * Mac OS X threading:
  2774. * Not thread safe
  2775. *
  2776. * Availability:
  2777. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2778. * CarbonLib: in CarbonLib 1.1 and later
  2779. * Non-Carbon CFM: not available
  2780. }
  2781. function SetDataBrowserTableViewGeometry( browser: ControlRef; variableWidthColumns: Boolean; variableHeightRows: Boolean ): OSStatus; external name '_SetDataBrowserTableViewGeometry';
  2782. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2783. {
  2784. * GetDataBrowserTableViewGeometry()
  2785. *
  2786. * Mac OS X threading:
  2787. * Not thread safe
  2788. *
  2789. * Availability:
  2790. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2791. * CarbonLib: in CarbonLib 1.1 and later
  2792. * Non-Carbon CFM: not available
  2793. }
  2794. function GetDataBrowserTableViewGeometry( browser: ControlRef; var variableWidthColumns: Boolean; var variableHeightRows: Boolean ): OSStatus; external name '_GetDataBrowserTableViewGeometry';
  2795. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2796. {
  2797. * GetDataBrowserTableViewItemID()
  2798. *
  2799. * Mac OS X threading:
  2800. * Not thread safe
  2801. *
  2802. * Availability:
  2803. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2804. * CarbonLib: in CarbonLib 1.1 and later
  2805. * Non-Carbon CFM: not available
  2806. }
  2807. function GetDataBrowserTableViewItemID( browser: ControlRef; row: DataBrowserTableViewRowIndex; var item: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserTableViewItemID';
  2808. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2809. {
  2810. * SetDataBrowserTableViewItemRow()
  2811. *
  2812. * Mac OS X threading:
  2813. * Not thread safe
  2814. *
  2815. * Availability:
  2816. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2817. * CarbonLib: in CarbonLib 1.1 and later
  2818. * Non-Carbon CFM: not available
  2819. }
  2820. function SetDataBrowserTableViewItemRow( browser: ControlRef; item: DataBrowserItemID; row: DataBrowserTableViewRowIndex ): OSStatus; external name '_SetDataBrowserTableViewItemRow';
  2821. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2822. {
  2823. * GetDataBrowserTableViewItemRow()
  2824. *
  2825. * Mac OS X threading:
  2826. * Not thread safe
  2827. *
  2828. * Availability:
  2829. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2830. * CarbonLib: in CarbonLib 1.1 and later
  2831. * Non-Carbon CFM: not available
  2832. }
  2833. function GetDataBrowserTableViewItemRow( browser: ControlRef; item: DataBrowserItemID; var row: DataBrowserTableViewRowIndex ): OSStatus; external name '_GetDataBrowserTableViewItemRow';
  2834. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2835. {
  2836. * SetDataBrowserTableViewColumnPosition()
  2837. *
  2838. * Mac OS X threading:
  2839. * Not thread safe
  2840. *
  2841. * Availability:
  2842. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2843. * CarbonLib: in CarbonLib 1.1 and later
  2844. * Non-Carbon CFM: not available
  2845. }
  2846. function SetDataBrowserTableViewColumnPosition( browser: ControlRef; column: DataBrowserTableViewColumnID; position: DataBrowserTableViewColumnIndex ): OSStatus; external name '_SetDataBrowserTableViewColumnPosition';
  2847. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2848. {
  2849. * GetDataBrowserTableViewColumnPosition()
  2850. *
  2851. * Mac OS X threading:
  2852. * Not thread safe
  2853. *
  2854. * Availability:
  2855. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2856. * CarbonLib: in CarbonLib 1.1 and later
  2857. * Non-Carbon CFM: not available
  2858. }
  2859. function GetDataBrowserTableViewColumnPosition( browser: ControlRef; column: DataBrowserTableViewColumnID; var position: DataBrowserTableViewColumnIndex ): OSStatus; external name '_GetDataBrowserTableViewColumnPosition';
  2860. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2861. {
  2862. * GetDataBrowserTableViewColumnProperty()
  2863. *
  2864. * Mac OS X threading:
  2865. * Not thread safe
  2866. *
  2867. * Availability:
  2868. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2869. * CarbonLib: in CarbonLib 1.1 and later
  2870. * Non-Carbon CFM: not available
  2871. }
  2872. function GetDataBrowserTableViewColumnProperty( browser: ControlRef; column: DataBrowserTableViewColumnIndex; var property: DataBrowserTableViewColumnID ): OSStatus; external name '_GetDataBrowserTableViewColumnProperty';
  2873. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2874. { kDataBrowserListView Formatting }
  2875. {$endc} {not TARGET_CPU_64}
  2876. {
  2877. * Discussion:
  2878. * DataBrowserPropertyFlags that are specific to kDataBrowserListView
  2879. }
  2880. const
  2881. kDataBrowserListViewSelectionColumn = kDataBrowserTableViewSelectionColumn;
  2882. kDataBrowserListViewMovableColumn = 1 shl (kDataBrowserViewSpecificFlagsOffset + 1);
  2883. kDataBrowserListViewSortableColumn = 1 shl (kDataBrowserViewSpecificFlagsOffset + 2);
  2884. {
  2885. * kDataBrowserListViewTypeSelectColumn marks a column as
  2886. * type-selectable. If one or more of your list view columns are
  2887. * marked as type-selectable, Data Browser will do type-selection for
  2888. * you automatically. Data Browser applies the typing to the first
  2889. * column (in the system direction) with this property flag. This
  2890. * flag only intended for use with columns of type
  2891. * kDataBrowserTextType, kDataBrowserIconAndTextType, and
  2892. * kDataBrowserDateTimeType; if you set it for a column of another
  2893. * type, the type-selection behavior is undefined. Turning on this
  2894. * flag also causes Data Browser to gather all keyboard input via a
  2895. * carbon event handler instead of relying on calls to
  2896. * HandleControlKey; therefore, you will never see these keyboard
  2897. * events come out of WaitNextEvent. Only available on 10.3 and later.
  2898. }
  2899. kDataBrowserListViewTypeSelectColumn = 1 shl (kDataBrowserViewSpecificFlagsOffset + 3);
  2900. {
  2901. * Normally the text in a header button for a column of type
  2902. * kDataBrowserIconAndTextType is aligned as though it has an icon
  2903. * next to it even if no icon is specified for the header button; in
  2904. * other words, space is reserved for an icon in the header button
  2905. * even if no icon is displayed. However, this flag indicates that
  2906. * space should not be reserved for an icon if no icon is provided
  2907. * for the header button. This flag allows a client to justify the
  2908. * left edge of the text in a header button to the left edge of the
  2909. * icon in the cells beneath it. Available on 10.4 and later.
  2910. }
  2911. kDataBrowserListViewNoGapForIconInHeaderButton = 1 shl (kDataBrowserViewSpecificFlagsOffset + 4);
  2912. kDataBrowserListViewDefaultColumnFlags = kDataBrowserListViewMovableColumn + kDataBrowserListViewSortableColumn;
  2913. type
  2914. DataBrowserListViewPropertyFlags = DataBrowserPropertyFlags;
  2915. const
  2916. kDataBrowserListViewLatestHeaderDesc = 0;
  2917. type
  2918. DataBrowserListViewHeaderDescPtr = ^DataBrowserListViewHeaderDesc;
  2919. DataBrowserListViewHeaderDesc = record
  2920. version: UInt32; { Use kDataBrowserListViewLatestHeaderDesc }
  2921. minimumWidth: UInt16;
  2922. maximumWidth: UInt16;
  2923. titleOffset: SInt16;
  2924. titleString: CFStringRef;
  2925. initialOrder: DataBrowserSortOrder;
  2926. btnFontStyle: ControlFontStyleRec;
  2927. btnContentInfo: ControlButtonContentInfo;
  2928. end;
  2929. type
  2930. DataBrowserListViewColumnDescPtr = ^DataBrowserListViewColumnDesc;
  2931. DataBrowserListViewColumnDesc = record
  2932. propertyDesc: DataBrowserTableViewColumnDesc;
  2933. headerBtnDesc: DataBrowserListViewHeaderDesc;
  2934. end;
  2935. { DataBrowserListView API }
  2936. const
  2937. kDataBrowserListViewAppendColumn = kDataBrowserTableViewLastColumn;
  2938. {$ifc not TARGET_CPU_64}
  2939. {
  2940. * AutoSizeDataBrowserListViewColumns()
  2941. *
  2942. * Mac OS X threading:
  2943. * Not thread safe
  2944. *
  2945. * Availability:
  2946. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2947. * CarbonLib: in CarbonLib 1.1 and later
  2948. * Non-Carbon CFM: not available
  2949. }
  2950. function AutoSizeDataBrowserListViewColumns( browser: ControlRef ): OSStatus; external name '_AutoSizeDataBrowserListViewColumns';
  2951. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2952. {
  2953. * AddDataBrowserListViewColumn()
  2954. *
  2955. * Mac OS X threading:
  2956. * Not thread safe
  2957. *
  2958. * Availability:
  2959. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  2960. * CarbonLib: in CarbonLib 1.1 and later
  2961. * Non-Carbon CFM: not available
  2962. }
  2963. function AddDataBrowserListViewColumn( browser: ControlRef; var columnDesc: DataBrowserListViewColumnDesc; position: DataBrowserTableViewColumnIndex ): OSStatus; external name '_AddDataBrowserListViewColumn';
  2964. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  2965. {
  2966. * GetDataBrowserListViewHeaderDesc()
  2967. *
  2968. * Summary:
  2969. * Returns information about a specified column header in a list
  2970. * view.
  2971. *
  2972. * Discussion:
  2973. * Note that this API does not correctly use CoreFoundation naming
  2974. * conventions. Although the API name begins with "Get", implying
  2975. * that you do not need to release the CFStringRef and IconRef
  2976. * returned by this API, in fact you do actually need to release
  2977. * these objects.
  2978. *
  2979. * Mac OS X threading:
  2980. * Not thread safe
  2981. *
  2982. * Parameters:
  2983. *
  2984. * browser:
  2985. * The data browser for which you need header information.
  2986. *
  2987. * column:
  2988. * The column ID for which you need header information.
  2989. *
  2990. * desc:
  2991. * On exit, contains header information for the specified column.
  2992. * You must release the CFStringRef and IconRef contained in this
  2993. * structure.
  2994. *
  2995. * Availability:
  2996. * Mac OS X: in version 10.2 and later in Carbon.framework [32-bit only]
  2997. * CarbonLib: in CarbonLib 1.5 and later
  2998. * Non-Carbon CFM: not available
  2999. }
  3000. function GetDataBrowserListViewHeaderDesc( browser: ControlRef; column: DataBrowserTableViewColumnID; var desc: DataBrowserListViewHeaderDesc ): OSStatus; external name '_GetDataBrowserListViewHeaderDesc';
  3001. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3002. {
  3003. * SetDataBrowserListViewHeaderDesc()
  3004. *
  3005. * Mac OS X threading:
  3006. * Not thread safe
  3007. *
  3008. * Availability:
  3009. * Mac OS X: in version 10.2 and later in Carbon.framework [32-bit only]
  3010. * CarbonLib: in CarbonLib 1.5 and later
  3011. * Non-Carbon CFM: not available
  3012. }
  3013. function SetDataBrowserListViewHeaderDesc( browser: ControlRef; column: DataBrowserTableViewColumnID; var desc: DataBrowserListViewHeaderDesc ): OSStatus; external name '_SetDataBrowserListViewHeaderDesc';
  3014. (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
  3015. {
  3016. * SetDataBrowserListViewHeaderBtnHeight()
  3017. *
  3018. * Mac OS X threading:
  3019. * Not thread safe
  3020. *
  3021. * Availability:
  3022. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3023. * CarbonLib: in CarbonLib 1.1 and later
  3024. * Non-Carbon CFM: not available
  3025. }
  3026. function SetDataBrowserListViewHeaderBtnHeight( browser: ControlRef; height: UInt16 ): OSStatus; external name '_SetDataBrowserListViewHeaderBtnHeight';
  3027. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3028. {
  3029. * GetDataBrowserListViewHeaderBtnHeight()
  3030. *
  3031. * Mac OS X threading:
  3032. * Not thread safe
  3033. *
  3034. * Availability:
  3035. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3036. * CarbonLib: in CarbonLib 1.1 and later
  3037. * Non-Carbon CFM: not available
  3038. }
  3039. function GetDataBrowserListViewHeaderBtnHeight( browser: ControlRef; var height: UInt16 ): OSStatus; external name '_GetDataBrowserListViewHeaderBtnHeight';
  3040. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3041. {
  3042. * SetDataBrowserListViewUsePlainBackground()
  3043. *
  3044. * Mac OS X threading:
  3045. * Not thread safe
  3046. *
  3047. * Availability:
  3048. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3049. * CarbonLib: in CarbonLib 1.1 and later
  3050. * Non-Carbon CFM: not available
  3051. }
  3052. function SetDataBrowserListViewUsePlainBackground( browser: ControlRef; usePlainBackground: Boolean ): OSStatus; external name '_SetDataBrowserListViewUsePlainBackground';
  3053. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3054. {
  3055. * GetDataBrowserListViewUsePlainBackground()
  3056. *
  3057. * Mac OS X threading:
  3058. * Not thread safe
  3059. *
  3060. * Availability:
  3061. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3062. * CarbonLib: in CarbonLib 1.1 and later
  3063. * Non-Carbon CFM: not available
  3064. }
  3065. function GetDataBrowserListViewUsePlainBackground( browser: ControlRef; var usePlainBackground: Boolean ): OSStatus; external name '_GetDataBrowserListViewUsePlainBackground';
  3066. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3067. {
  3068. * SetDataBrowserListViewDisclosureColumn()
  3069. *
  3070. * Mac OS X threading:
  3071. * Not thread safe
  3072. *
  3073. * Availability:
  3074. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3075. * CarbonLib: in CarbonLib 1.1 and later
  3076. * Non-Carbon CFM: not available
  3077. }
  3078. function SetDataBrowserListViewDisclosureColumn( browser: ControlRef; column: DataBrowserTableViewColumnID; expandableRows: Boolean ): OSStatus; external name '_SetDataBrowserListViewDisclosureColumn';
  3079. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3080. {
  3081. * GetDataBrowserListViewDisclosureColumn()
  3082. *
  3083. * Mac OS X threading:
  3084. * Not thread safe
  3085. *
  3086. * Availability:
  3087. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3088. * CarbonLib: in CarbonLib 1.1 and later
  3089. * Non-Carbon CFM: not available
  3090. }
  3091. function GetDataBrowserListViewDisclosureColumn( browser: ControlRef; var column: DataBrowserTableViewColumnID; var expandableRows: Boolean ): OSStatus; external name '_GetDataBrowserListViewDisclosureColumn';
  3092. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3093. { DataBrowserColumnView API }
  3094. {
  3095. * GetDataBrowserColumnViewPath()
  3096. *
  3097. * Mac OS X threading:
  3098. * Not thread safe
  3099. *
  3100. * Availability:
  3101. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3102. * CarbonLib: in CarbonLib 1.1 and later
  3103. * Non-Carbon CFM: not available
  3104. }
  3105. function GetDataBrowserColumnViewPath( browser: ControlRef; path: Handle ): OSStatus; external name '_GetDataBrowserColumnViewPath';
  3106. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3107. {
  3108. * GetDataBrowserColumnViewPathLength()
  3109. *
  3110. * Mac OS X threading:
  3111. * Not thread safe
  3112. *
  3113. * Availability:
  3114. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3115. * CarbonLib: in CarbonLib 1.1 and later
  3116. * Non-Carbon CFM: not available
  3117. }
  3118. function GetDataBrowserColumnViewPathLength( browser: ControlRef; var pathLength: UInt32 ): OSStatus; external name '_GetDataBrowserColumnViewPathLength';
  3119. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3120. {
  3121. * SetDataBrowserColumnViewPath()
  3122. *
  3123. * Mac OS X threading:
  3124. * Not thread safe
  3125. *
  3126. * Availability:
  3127. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3128. * CarbonLib: in CarbonLib 1.1 and later
  3129. * Non-Carbon CFM: not available
  3130. }
  3131. function SetDataBrowserColumnViewPath( browser: ControlRef; length: UInt32; path: DataBrowserItemIDPtr ): OSStatus; external name '_SetDataBrowserColumnViewPath';
  3132. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3133. {
  3134. * SetDataBrowserColumnViewDisplayType()
  3135. *
  3136. * Mac OS X threading:
  3137. * Not thread safe
  3138. *
  3139. * Availability:
  3140. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3141. * CarbonLib: in CarbonLib 1.1 and later
  3142. * Non-Carbon CFM: not available
  3143. }
  3144. function SetDataBrowserColumnViewDisplayType( browser: ControlRef; propertyType: DataBrowserPropertyType ): OSStatus; external name '_SetDataBrowserColumnViewDisplayType';
  3145. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3146. {
  3147. * GetDataBrowserColumnViewDisplayType()
  3148. *
  3149. * Mac OS X threading:
  3150. * Not thread safe
  3151. *
  3152. * Availability:
  3153. * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
  3154. * CarbonLib: in CarbonLib 1.1 and later
  3155. * Non-Carbon CFM: not available
  3156. }
  3157. function GetDataBrowserColumnViewDisplayType( browser: ControlRef; var propertyType: DataBrowserPropertyType ): OSStatus; external name '_GetDataBrowserColumnViewDisplayType';
  3158. (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
  3159. { DataBrowser UPP macros }
  3160. {
  3161. Customizing Data Browser Accessibility Information
  3162. Warning: The following assumes you already understand how to handle the
  3163. Accessibility Carbon Events described in CarbonEvents.h.
  3164. Data Browser automatically handles the various Accessibility Carbon
  3165. Events to provide a large amount of Accessibility information. However,
  3166. your application may need to override or augment the default information
  3167. that Data Browser provides.
  3168. Though it is already possible for your application to install various
  3169. Accessibility Carbon Event handlers on a Data Browser instance, it is
  3170. impossible to interpret the AXUIElementRefs contained in the events
  3171. without the help of the Data Browser. A given AXUIElementRef that is
  3172. passed to Data Browser list view in an Accessibility Carbon Event could
  3173. represent a row, a cell, or the list view as a whole. If your
  3174. application needs to add an attribute to only the rows in a list view,
  3175. your application will need to ask Data Browser what any given
  3176. AXUIElementRef represents. The AXUIElementGetDataBrowserItemInfo allows
  3177. your application to ask that question.
  3178. Additionally, your application may want to generate its own AXUIElementRefs
  3179. that represent children of or point to various rows or cells of a Data Browser
  3180. instance. The AXUIElementCreateWithDataBrowserAndItemInfo API allows your
  3181. application to manufacture AXUIElementRefs that represent certain parts of a
  3182. Data Browser so you can provide them in your Accessibility Carbon Event
  3183. handlers.
  3184. Typical Usage Scenario: You want to add an Accessibility attribute to
  3185. all rows in a Data Browser list view.
  3186. Step 1: Install the appropriate Accessibility Carbon Event handlers
  3187. on your Data Browser instance. Call InstallEventHandler or a similar
  3188. API to install a handler onto your Data Browser ControlRef for the
  3189. kEventAccessibleGetAllAttributeNames,
  3190. kEventAccessibleGetNamedAttribute, and other appropriate events.
  3191. Step 2: Your handler should find out what part of the Data Browser
  3192. is being asked for its accessibility information. Extract the
  3193. kEventParamAccessibleObject parameter out of the Carbon Event and
  3194. pass it to AXUIElementGetDataBrowserItemInfo. See that API
  3195. description for more usage information and calling requirements.
  3196. Examine the DataBrowserAccessibilityItemInfo structure that is
  3197. filled out to determine whether it represents the part of the Data
  3198. Browser you are interested in adding an attribute to. In this case,
  3199. you are looking for a row, so you would make sure the item field is
  3200. not kDataBrowserNoItem, and that the columnProperty is
  3201. kDataBrowserItemNoProperty.
  3202. Step 3: Your event handler should call CallNextEventHandler to allow
  3203. the Data Browser to do the default handling of the event. This is
  3204. particularly important if the AXUIElementRef did not represent a
  3205. row, since you don't want to disrupt the Data Browser's handling of
  3206. the event for parts other than rows.
  3207. Step 4: If you determined that the part was a row in step 2, your
  3208. handler should now do whatever custom work it deems necessary. For
  3209. the kEventAccessibleGetAllAttributeNames, your handler would extract
  3210. the kEventParamAccessibleAttributeNames parameter out of the event
  3211. and add your custom attribute name to the array. For the
  3212. kEventAccessibleGetNamedAttribute event, your handler would test the
  3213. kEventParamAccessibleAttributeName parameter to see if it matches
  3214. your custom attribute name; if so, your handler would put its custom
  3215. data in the kEventParamAccessibleAttributeValue parameter. Any other
  3216. events would be handled similarly.
  3217. Step 5: Your event handler should return an appropriate result code.
  3218. In cases where the AXUIElementRef does not represent a row or when
  3219. the attribute name is not your custom attribute, your handler can
  3220. return the same result code that was returned by
  3221. CallNextEventHandler in step 3. In cases where your handler decided
  3222. to augment or override the default handling of the event, your
  3223. handler will typically want to return noErr. See the Carbon Event
  3224. documentation for more details on the meanings of result codes
  3225. returned by event handlers.
  3226. }
  3227. {$endc} {not TARGET_CPU_64}
  3228. {
  3229. * DataBrowserAccessibilityItemInfoV0
  3230. *
  3231. * Summary:
  3232. * A specific description of Data Browser accessibility item
  3233. * information.
  3234. *
  3235. * Discussion:
  3236. * If you fill this structure as part of a
  3237. * DataBrowserAccessibilityItemInfo, you must set the
  3238. * DataBrowserAccessibilityItemInfo's version field to zero.
  3239. }
  3240. type
  3241. DataBrowserAccessibilityItemInfoV0 = record
  3242. {
  3243. * The DataBrowserItemID of the container the AXUIElementRef
  3244. * represents or lives within. Even kDataBrowserNoItem might be
  3245. * meaningful, since it is the root container ID if you haven't
  3246. * overridden it via SetDataBrowserTarget. In list view, the
  3247. * container helps narrow down the AXUIElementRef to either a
  3248. * disclosed child of another row, or the list as a whole. In column
  3249. * view, the container helps narrow down the AXUIElementRef to a
  3250. * column; also see the columnProperty description below.
  3251. }
  3252. container: DataBrowserItemID;
  3253. {
  3254. * The DataBrowserItemID of the item the AXUIElementRef represents or
  3255. * lives within. If item is kDataBrowserNoItem, the AXUIElementRef
  3256. * represents just the container. In list view, the item helps narrow
  3257. * down the AXUIElementRef to either a row, or the root container as
  3258. * a whole. In column view, the item helps narrow down the
  3259. * AXUIElementRef to either a cell, or a column as a whole; also see
  3260. * the columnProperty description below.
  3261. }
  3262. item: DataBrowserItemID;
  3263. {
  3264. * The DataBrowserPropertyID of the column the AXUIElementRef
  3265. * represents or lives within. If columnProperty is
  3266. * kDataBrowserItemNoProperty and item is not kDataBrowserNoItem, the
  3267. * AXUIElementRef represents a whole row. In list view, this field
  3268. * helps narrow down the AXUIElementRef to either a cell, or a row as
  3269. * a whole. In column view, the columnProperty will/must always be
  3270. * set to kDataBrowserItemNoProperty unless the AXUIElementRef
  3271. * represents the preview column. When the AXUIElementRef represents
  3272. * the preview column, the columnProperty will/must always be set to
  3273. * kDataBrowserColumnViewPreviewProperty, and the other fields of
  3274. * this structure will/must be set to zero or the equivalent constant.
  3275. }
  3276. columnProperty: DataBrowserPropertyID;
  3277. {
  3278. * The DataBrowserPropertyPart of the sub-cell part the
  3279. * AXUIElementRef represents. Examples include the disclosure
  3280. * triangle in a cell, the text in a cell, and the check box in a
  3281. * cell. If propertyPart is kDataBrowserPropertyEnclosingPart and
  3282. * columnProperty is not kDataBrowserItemNoProperty, the
  3283. * AXUIElementRef represents the cell as a whole. In both list view
  3284. * and column view, this field helps narrow down the AXUIElementRef
  3285. * to either a sub-cell part, or a cell as a whole. For column view,
  3286. * also see the columnProperty description above.
  3287. }
  3288. propertyPart: DataBrowserPropertyPart;
  3289. end;
  3290. {
  3291. * DataBrowserAccessibilityItemInfoV1
  3292. *
  3293. * Summary:
  3294. * A specific description of Data Browser accessibility item
  3295. * information.
  3296. *
  3297. * Discussion:
  3298. * If you fill this structure as part of a
  3299. * DataBrowserAccessibilityItemInfo, you must set the
  3300. * DataBrowserAccessibilityItemInfo's version field to one.
  3301. *
  3302. * This structure is identical to the V0 structure except for the
  3303. * inclusion of row and column indices. These indices may be useful
  3304. * to clients who call AXUIElementGetDataBrowserItemInfo.
  3305. * If your Data Browser instance allows a given item and/or
  3306. * container to be displayed more than once at a given point in
  3307. * time, you can use the row and column indices to differentiate the
  3308. * particular visual occurances of that item when calling
  3309. * AXUIElementCreateWithDataBrowserAndItemInfo. See the additional
  3310. * details in the rowIndex and columnIndex discussions below.
  3311. }
  3312. type
  3313. DataBrowserAccessibilityItemInfoV1 = record
  3314. {
  3315. * The DataBrowserItemID of the container the AXUIElementRef
  3316. * represents or lives within. Even kDataBrowserNoItem might be
  3317. * meaningful, since it is the root container ID if you haven't
  3318. * overridden it via SetDataBrowserTarget. In list view, the
  3319. * container helps narrow down the AXUIElementRef to either a
  3320. * disclosed child of another row, or the list as a whole. In column
  3321. * view, the container helps narrow down the AXUIElementRef to a
  3322. * column; also see the columnProperty description below.
  3323. }
  3324. container: DataBrowserItemID;
  3325. {
  3326. * The DataBrowserItemID of the item the AXUIElementRef represents or
  3327. * lives within. If item is kDataBrowserNoItem, the AXUIElementRef
  3328. * represents just the container. In list view, the item helps narrow
  3329. * down the AXUIElementRef to either a row, or the root container as
  3330. * a whole. In column view, the item helps narrow down the
  3331. * AXUIElementRef to either a cell, or a column as a whole; also see
  3332. * the columnProperty description below.
  3333. }
  3334. item: DataBrowserItemID;
  3335. {
  3336. * The DataBrowserPropertyID of the column the AXUIElementRef
  3337. * represents or lives within. If columnProperty is
  3338. * kDataBrowserItemNoProperty and item is not kDataBrowserNoItem, the
  3339. * AXUIElementRef represents a whole row. In list view, this field
  3340. * helps narrow down the AXUIElementRef to either a cell, or a row as
  3341. * a whole. In column view, the columnProperty will/must always be
  3342. * set to kDataBrowserItemNoProperty unless the AXUIElementRef
  3343. * represents the preview column. When the AXUIElementRef represents
  3344. * the preview column, the columnProperty will/must always be set to
  3345. * kDataBrowserColumnViewPreviewProperty, and the other fields of
  3346. * this structure will/must be set to zero or the equivalent constant.
  3347. }
  3348. columnProperty: DataBrowserPropertyID;
  3349. {
  3350. * The DataBrowserPropertyPart of the sub-cell part the
  3351. * AXUIElementRef represents. Examples include the disclosure
  3352. * triangle in a cell, the text in a cell, and the check box in a
  3353. * cell. If propertyPart is kDataBrowserPropertyEnclosingPart and
  3354. * columnProperty is not kDataBrowserItemNoProperty, the
  3355. * AXUIElementRef represents the cell as a whole. In both list view
  3356. * and column view, this field helps narrow down the AXUIElementRef
  3357. * to either a sub-cell part, or a cell as a whole. For column view,
  3358. * also see the columnProperty description above.
  3359. }
  3360. propertyPart: DataBrowserPropertyPart;
  3361. {
  3362. * The zero-based DataBrowserTableViewRowIndex of the row specified
  3363. * by the other parts of this structure. If the other parts of this
  3364. * structure do not specify a row or a part thereof, this field
  3365. * will/must be set to zero; because this field is zero based, you
  3366. * must test the other parts this structure to see whether this field
  3367. * is meaningful. In list view, when the other parts of this
  3368. * structure specify an item or part thereof, this field will/must be
  3369. * set to the row index at which the specified item can be found. In
  3370. * column view, when the other parts of this structure specify a cell
  3371. * or part thereof, this field will/must be set to the row index at
  3372. * which the specified cell can be found.
  3373. }
  3374. rowIndex: DataBrowserTableViewRowIndex;
  3375. {
  3376. * The zero-based DataBrowserTableViewColumnIndex of the column
  3377. * specified by the other parts of this structure. If the other parts
  3378. * of this structure do not specify a column or a part thereof, this
  3379. * field will/must be set to zero; because this field is zero based,
  3380. * you must test the other parts this structure to see whether this
  3381. * field is meaningful. In list view, when the other parts of this
  3382. * structure specify a cell or part thereof, this field will/must be
  3383. * set to the column index at which the specified cell can be found.
  3384. * In column view, when the other parts of this structure specify a
  3385. * column or part thereof, this field will/must be set to the column
  3386. * index at which the specified cell can be found.
  3387. }
  3388. columnIndex: DataBrowserTableViewColumnIndex;
  3389. end;
  3390. {
  3391. * DataBrowserAccessibilityItemInfo
  3392. *
  3393. * Summary:
  3394. * A generalized description of Data Browser accessibility item
  3395. * information.
  3396. *
  3397. * Discussion:
  3398. * Pass this structure to AXUIElementGetDataBrowserItemInfo or
  3399. * AXUIElementCreateWithDataBrowserAndItemInfo.
  3400. }
  3401. type
  3402. DataBrowserAccessibilityItemInfo = record
  3403. {
  3404. * A UInt32 which identifies how to interpret the following union.
  3405. * Set this field to zero if you fill out the union's data in the
  3406. * form of a DataBrowserAccessibilityItemInfoV0 structure. Set this
  3407. * field to one if you fill out the union's data in the form of a
  3408. * DataBrowserAccessibilityItemInfoV1 structure.
  3409. }
  3410. version: UInt32;
  3411. case SInt16 of
  3412. 0: (
  3413. v0: DataBrowserAccessibilityItemInfoV0;
  3414. );
  3415. 1: (
  3416. v1: DataBrowserAccessibilityItemInfoV1;
  3417. );
  3418. end;
  3419. {$ifc not TARGET_CPU_64}
  3420. {
  3421. * AXUIElementGetDataBrowserItemInfo()
  3422. *
  3423. * Summary:
  3424. * Gets a description of the part of a Data Browser represented by a
  3425. * given AXUIElementRef.
  3426. *
  3427. * Mac OS X threading:
  3428. * Not thread safe
  3429. *
  3430. * Parameters:
  3431. *
  3432. * inElement:
  3433. * An AXUIElementRef representing part of a Data Browser.
  3434. *
  3435. * inDataBrowser:
  3436. * A Data Browser ControlRef.
  3437. *
  3438. * inDesiredInfoVersion:
  3439. * A UInt32 indicating the the version you want the ioInfo
  3440. * structure passed back as.
  3441. *
  3442. * outInfo:
  3443. * A DataBrowserAccessibilityItemInfo that will be filled in with
  3444. * a description of the part of the Data Browser that the
  3445. * AXUIElementRef represents.
  3446. *
  3447. * Result:
  3448. * An OSStatus result code. The function will return noErr if it was
  3449. * able to generate a description of the AXUIElementRef. If the
  3450. * AXUIElementRef does not represent the Data Browser you passed in,
  3451. * the function will return paramErr. If the AXUIElementRef
  3452. * represents some non-item part of the Data Browser, the function
  3453. * will return errDataBrowserItemNotFound.
  3454. *
  3455. * Availability:
  3456. * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
  3457. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3458. * Non-Carbon CFM: not available
  3459. }
  3460. function AXUIElementGetDataBrowserItemInfo( inElement: AXUIElementRef; inDataBrowser: ControlRef; inDesiredInfoVersion: UInt32; var outInfo: DataBrowserAccessibilityItemInfo ): OSStatus; external name '_AXUIElementGetDataBrowserItemInfo';
  3461. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3462. {
  3463. * AXUIElementCreateWithDataBrowserAndItemInfo()
  3464. *
  3465. * Summary:
  3466. * Creates an AXUIElementRef to represent some part of a Data
  3467. * Browser accessibility hierarchy.
  3468. *
  3469. * Mac OS X threading:
  3470. * Not thread safe
  3471. *
  3472. * Parameters:
  3473. *
  3474. * inDataBrowser:
  3475. * A Data Browser ControlRef.
  3476. *
  3477. * inInfo:
  3478. * A DataBrowserAccessibilityItemInfo describing the part of the
  3479. * Data Browser for which you want to create an AXUIElementRef.
  3480. *
  3481. * Result:
  3482. * An AXUIElementRef representing the part, or NULL if one cannot be
  3483. * created to represent the part you specified.
  3484. *
  3485. * Availability:
  3486. * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
  3487. * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
  3488. * Non-Carbon CFM: not available
  3489. }
  3490. function AXUIElementCreateWithDataBrowserAndItemInfo( inDataBrowser: ControlRef; const (*var*) inInfo: DataBrowserAccessibilityItemInfo ): AXUIElementRef; external name '_AXUIElementCreateWithDataBrowserAndItemInfo';
  3491. (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
  3492. {$endc} {not TARGET_CPU_64}
  3493. {$endc} {TARGET_OS_MAC}
  3494. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  3495. end.
  3496. {$endc} {not MACOSALLINCLUDE}