/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
Large files are truncated click here to view the full file
- {
- File: HIToolbox/HIDataBrowser.h
-
- Contains: API and type definitions related to Data Browser.
-
- Version: HIToolbox-624~3
-
- Copyright: © 1999-2008 by Apple Computer, Inc., all rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://www.freepascal.org/bugs.html
-
- }
- { Initial Pascal Translation: Jonas Maebe, <jonas@freepascal.org>, October 2009 }
- { Pascal Translation Updated: Gorazd Krosl, <gorazd_1957@yahoo.ca>, October 2009 }
- { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2012 }
- {
- Modified for use with Free Pascal
- Version 308
- Please report any bugs to <gpc@microbizz.nl>
- }
- {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
- {$mode macpas}
- {$packenum 1}
- {$macro on}
- {$inline on}
- {$calling mwpascal}
- unit HIDataBrowser;
- interface
- {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
- {$setc GAP_INTERFACES_VERSION := $0308}
- {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
- {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
- {$endc}
- {$ifc defined CPUPOWERPC and defined CPUI386}
- {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
- {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
- {$endc}
- {$ifc not defined __ppc__ and defined CPUPOWERPC32}
- {$setc __ppc__ := 1}
- {$elsec}
- {$setc __ppc__ := 0}
- {$endc}
- {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
- {$setc __ppc64__ := 1}
- {$elsec}
- {$setc __ppc64__ := 0}
- {$endc}
- {$ifc not defined __i386__ and defined CPUI386}
- {$setc __i386__ := 1}
- {$elsec}
- {$setc __i386__ := 0}
- {$endc}
- {$ifc not defined __x86_64__ and defined CPUX86_64}
- {$setc __x86_64__ := 1}
- {$elsec}
- {$setc __x86_64__ := 0}
- {$endc}
- {$ifc not defined __arm__ and defined CPUARM}
- {$setc __arm__ := 1}
- {$elsec}
- {$setc __arm__ := 0}
- {$endc}
- {$ifc defined cpu64}
- {$setc __LP64__ := 1}
- {$elsec}
- {$setc __LP64__ := 0}
- {$endc}
- {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
- {$error Conflicting definitions for __ppc__ and __i386__}
- {$endc}
- {$ifc defined __ppc__ and __ppc__}
- {$setc TARGET_CPU_PPC := TRUE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __ppc64__ and __ppc64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := TRUE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __i386__ and __i386__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := TRUE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$ifc defined(iphonesim)}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$endc}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __x86_64__ and __x86_64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := TRUE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := FALSE}
- {$elifc defined __arm__ and __arm__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := TRUE}
- { will require compiler define when/if other Apple devices with ARM cpus ship }
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$setc TARGET_OS_EMBEDDED := TRUE}
- {$elsec}
- {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
- {$endc}
- {$ifc defined __LP64__ and __LP64__ }
- {$setc TARGET_CPU_64 := TRUE}
- {$elsec}
- {$setc TARGET_CPU_64 := FALSE}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := TRUE}
- {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
- {$elifc defined FPC_LITTLE_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := FALSE}
- {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
- {$elsec}
- {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
- {$endc}
- {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
- {$setc CALL_NOT_IN_CARBON := FALSE}
- {$setc OLDROUTINENAMES := FALSE}
- {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
- {$setc OPAQUE_UPP_TYPES := TRUE}
- {$setc OTCARBONAPPLICATION := TRUE}
- {$setc OTKERNEL := FALSE}
- {$setc PM_USE_SESSION_APIS := TRUE}
- {$setc TARGET_API_MAC_CARBON := TRUE}
- {$setc TARGET_API_MAC_OS8 := FALSE}
- {$setc TARGET_API_MAC_OSX := TRUE}
- {$setc TARGET_CARBON := TRUE}
- {$setc TARGET_CPU_68K := FALSE}
- {$setc TARGET_CPU_MIPS := FALSE}
- {$setc TARGET_CPU_SPARC := FALSE}
- {$setc TARGET_OS_UNIX := FALSE}
- {$setc TARGET_OS_WIN32 := FALSE}
- {$setc TARGET_RT_MAC_68881 := FALSE}
- {$setc TARGET_RT_MAC_CFM := FALSE}
- {$setc TARGET_RT_MAC_MACHO := TRUE}
- {$setc TYPED_FUNCTION_POINTERS := TRUE}
- {$setc TYPE_BOOL := FALSE}
- {$setc TYPE_EXTENDED := FALSE}
- {$setc TYPE_LONGLONG := TRUE}
- uses MacTypes,TextEdit,AXUIElement,AEDataModel,CFBase,Events,QuickdrawTypes,IconsCore,Icons,CFData,CFDictionary,DateTimeUtils,Drag,TextCommon,Appearance,CarbonEvents,Controls,Lists,MacHelp,Menus,CFString,CGBase,HIObject;
- {$endc} {not MACOSALLINCLUDE}
- {$ifc TARGET_OS_MAC}
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
- { ¥ DATA BROWSER }
- { (CDEF 29) }
- {ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ}
- { This control implements a user interface component for browsing (optionally) }
- { hiearchical data structures. The browser supports multiple presentation styles }
- { including, but not limited to: }
- { kDataBrowserListView - items and item properties in }
- { multi-column (optionally outline) format }
- { kDataBrowserColumnView - in-place browsing using fixed navigation columns }
- { The browser manages all view styles through a single high-level interface. }
- { The high-level interface makes the following assumptions: }
- { - Items have unique 32-bit identifiers (0 is reserved) }
- { - Items have two kinds of named and typed properties: }
- { - Predefined attribute properties ( < 1024 ) }
- { (including some display properties) }
- { - Client-defined display properties ( >= 1024 ) }
- { - Some items are containers of other items }
- { - Items may be sorted by any property }
- { Because a browser doesn't know all details about the type of objects it manages, }
- { some implementation responsibility is best handled by its client. The client must }
- { provide a set of callback routines which define the item hierarchy and help to }
- { populate the browser with items. The client may also provide callbacks for handling }
- { custom data types and doing low-level event management. }
- { The API is subdivided into a "universal" set of routines that applies to all view }
- { styles, and a set of routines unique to each view style. kDataBrowserListView and }
- { kDataBrowserColumnView share an (internal) TableView abstract base class. The }
- { TableView formatting options and API applies to both of these view styles. }
- { NOTE: This control is only available with CarbonLib 1.1. }
- { NOTE: This control must be created with the CreateDataBrowserControl API in }
- { CarbonLib 1.1 through 1.4. In Mac OS X and CarbonLib 1.5 and later, you }
- { may use the control's procID (29) to create the control with NewControl }
- { or with a 'CNTL' resource. }
- { The HIObject class ID for the HIDataBrowser class. }
- {$ALIGN MAC68K}
- {$ifc USE_CFSTR_CONSTANT_MACROS}
- {$definec kHIDataBrowserClassID CFSTRP('com.apple.HIDataBrowser')}
- {$endc}
- { Control Kind Tag }
- const
- kControlKindDataBrowser = FourCharCode('datb');
- { Error Codes }
- const
- errDataBrowserNotConfigured = -4970;
- errDataBrowserItemNotFound = -4971;
- errDataBrowserItemNotAdded = -4975;
- errDataBrowserPropertyNotFound = -4972;
- errDataBrowserInvalidPropertyPart = -4973;
- errDataBrowserInvalidPropertyData = -4974;
- errDataBrowserPropertyNotSupported = -4979; { Return from DataBrowserGetSetItemDataProc }
- const
- { Generic Control Tags }
- kControlDataBrowserIncludesFrameAndFocusTag = FourCharCode('brdr'); { Boolean }
- kControlDataBrowserKeyFilterTag = kControlKeyFilterTag;
- kControlDataBrowserEditTextKeyFilterTag = kControlDataBrowserKeyFilterTag;
- kControlDataBrowserEditTextValidationProcTag = FourCharCode('vali'); { ControlEditTextValidationUPP. Called when a key filter can't be: after cut, paste, etc.}
- { Data Browser View Styles }
- type
- DataBrowserViewStyle = OSType;
- const
- kDataBrowserNoView = $3F3F3F3F; { Error State }
- kDataBrowserListView = FourCharCode('lstv');
- kDataBrowserColumnView = FourCharCode('clmv');
- { Selection Flags }
- type
- DataBrowserSelectionFlags = UInt32;
- const
- kDataBrowserDragSelect = 1 shl 0; { Å ListMgr lNoRect }
- kDataBrowserSelectOnlyOne = 1 shl 1; { Å ListMgr lOnlyOne }
- kDataBrowserResetSelection = 1 shl 2; { Å ListMgr lNoExtend }
- kDataBrowserCmdTogglesSelection = 1 shl 3; { Å ListMgr lUseSense }
- kDataBrowserNoDisjointSelection = 1 shl 4; { Å ListMgr lNoDisjoint }
- kDataBrowserAlwaysExtendSelection = 1 shl 5; { Å ListMgr lExtendDrag }
- kDataBrowserNeverEmptySelectionSet = 1 shl 6; { Å ListMgr lNoNilHilite }
- { Data Browser Sorting }
- type
- DataBrowserSortOrder = UInt16;
- const
- kDataBrowserOrderUndefined = 0; { Not currently supported }
- kDataBrowserOrderIncreasing = 1;
- kDataBrowserOrderDecreasing = 2;
- { Data Browser Item Management }
- type
- DataBrowserItemID = UNSIGNEDLONG;
- DataBrowserItemIDPtr = ^DataBrowserItemID;
- const
- kDataBrowserNoItem = 0; { Reserved DataBrowserItemID }
- type
- DataBrowserItemState = UInt32;
- const
- kDataBrowserItemNoState = 0;
- kDataBrowserItemAnyState = $FFFFFFFF;
- kDataBrowserItemIsSelected = 1 shl 0;
- kDataBrowserContainerIsOpen = 1 shl 1;
- kDataBrowserItemIsDragTarget = 1 shl 2; { During a drag operation }
- { Options for use with RevealDataBrowserItem }
- type
- DataBrowserRevealOptions = UInt8;
- const
- kDataBrowserRevealOnly = 0;
- kDataBrowserRevealAndCenterInView = 1 shl 0;
- kDataBrowserRevealWithoutSelecting = 1 shl 1;
- { Set operations for use with SetDataBrowserSelectedItems }
- type
- DataBrowserSetOption = UInt32;
- const
- kDataBrowserItemsAdd = 0; { add specified items to existing set }
- kDataBrowserItemsAssign = 1; { assign destination set to specified items }
- kDataBrowserItemsToggle = 2; { toggle membership state of specified items }
- kDataBrowserItemsRemove = 3; { remove specified items from existing set }
- { Commands for use with MoveDataBrowserSelectionAnchor }
- type
- DataBrowserSelectionAnchorDirection = UInt32;
- const
- kDataBrowserSelectionAnchorUp = 0;
- kDataBrowserSelectionAnchorDown = 1;
- kDataBrowserSelectionAnchorLeft = 2;
- kDataBrowserSelectionAnchorRight = 3;
- { Edit menu command IDs for use with Enable/ExecuteDataBrowserEditCommand }
- type
- DataBrowserEditCommand = UInt32;
- const
- kDataBrowserEditMsgUndo = kHICommandUndo;
- kDataBrowserEditMsgRedo = kHICommandRedo;
- kDataBrowserEditMsgCut = kHICommandCut;
- kDataBrowserEditMsgCopy = kHICommandCopy;
- kDataBrowserEditMsgPaste = kHICommandPaste;
- kDataBrowserEditMsgClear = kHICommandClear;
- kDataBrowserEditMsgSelectAll = kHICommandSelectAll;
- { Notifications used in DataBrowserItemNotificationProcPtr }
- type
- DataBrowserItemNotification = UInt32;
- const
- kDataBrowserItemAdded = 1; { The specified item has been added to the browser }
- kDataBrowserItemRemoved = 2; { The specified item has been removed from the browser }
- kDataBrowserEditStarted = 3; { Starting an EditText session for specified item }
- kDataBrowserEditStopped = 4; { Stopping an EditText session for specified item }
- kDataBrowserItemSelected = 5; { Item has just been added to the selection set }
- kDataBrowserItemDeselected = 6; { Item has just been removed from the selection set }
- kDataBrowserItemDoubleClicked = 7;
- kDataBrowserContainerOpened = 8; { Container is open }
- kDataBrowserContainerClosing = 9; { Container is about to close (and will real soon now, y'all) }
- kDataBrowserContainerClosed = 10; { Container is closed (y'all come back now!) }
- kDataBrowserContainerSorting = 11; { Container is about to be sorted (lock any volatile properties) }
- kDataBrowserContainerSorted = 12; { Container has been sorted (you may release any property locks) }
- kDataBrowserUserToggledContainer = 16; { _User_ requested container open/close state to be toggled }
- kDataBrowserTargetChanged = 15; { The target has changed to the specified item }
- kDataBrowserUserStateChanged = 13; { The user has reformatted the view for the target }
- kDataBrowserSelectionSetChanged = 14; { The selection set has been modified (net result may be the same) }
- {
- * DataBrowserPropertyID
- *
- * Discussion:
- * Properties with values 0 through 1023 are reserved for Apple's
- * use. Values greater than or equal to 1024 are for client use.
- }
- const
- { Predefined attribute properties, optional & non-display unless otherwise stated }
- kDataBrowserItemNoProperty = 0; { The anti-property (no associated data) }
- kDataBrowserItemIsActiveProperty = 1; { Boolean typed data (defaults to true) }
- kDataBrowserItemIsSelectableProperty = 2; { Boolean typed data (defaults to true) }
- kDataBrowserItemIsEditableProperty = 3; { Boolean typed data (defaults to false, used for editable properties) }
- kDataBrowserItemIsContainerProperty = 4; { Boolean typed data (defaults to false) }
- kDataBrowserContainerIsOpenableProperty = 5; { Boolean typed data (defaults to true) }
- kDataBrowserContainerIsClosableProperty = 6; { Boolean typed data (defaults to true) }
- kDataBrowserContainerIsSortableProperty = 7; { Boolean typed data (defaults to true) }
- kDataBrowserItemSelfIdentityProperty = 8; { kDataBrowserIconAndTextType (display property; ColumnView only) }
- {
- * kDataBrowserContainerAliasIDProperty is sent to your
- * DataBrowserItemDataProcPtr callback to give you a chance to follow
- * an alias or symlink that the item might represent. If the incoming
- * item is an alias to another item, you can call
- * SetDataBrowserItemDataItemID to let Data Browser know which other
- * item the incoming item points to.
- *
- * This is only sent from column view, and your support for it is
- * optional. It allows Data Browser to be more memory efficient with
- * its internal storage. If a given container item is an alias to an
- * item whose contents are already displayed in an existing column
- * view column, the contents can be shared between those two columns.
- }
- kDataBrowserContainerAliasIDProperty = 9; { DataBrowserItemID (alias/symlink an item to a container item) }
- {
- * kDataBrowserColumnViewPreviewProperty is sent to various callbacks
- * to give you a chance to draw or track in the preview column of
- * column view.
- *
- * You can also pass kDataBrowserColumnViewPreviewProperty in the
- * property parameter of RevealDataBrowserItem in conjunction with
- * the appropriate DataBrowserItemID of the item whose preview is
- * being displayed when you want to make sure the preview column is
- * visible to the user.
- *
- * kDataBrowserColumnViewPreviewProperty is only supported in column
- * view.
- }
- kDataBrowserColumnViewPreviewProperty = 10; { kDataBrowserCustomType (display property; ColumnView only) }
- {
- * kDataBrowserItemParentContainerProperty is sent to your
- * DataBrowserItemDataProcPtr callback when Data Browser needs to
- * know the parent container item for a given item.
- *
- * In column view, this allows the internals of SetDataBrowserTarget
- * to work. The target is the container whose contents you wish to
- * display, which is the rightmost column in column view. However,
- * unlike SetDataBrowserColumnViewPath, SetDataBrowserTarget doesn't
- * offer a way for you to communicate the DataBrowserItemIDs of the
- * rest of the column containers, so SetDataBrowserTarget needs to
- * ask for them explicitly by asking for the container's parent, then
- * the container's parent's parent, and so on.
- *
- * In list view, this allows you to pass a non-container to
- * SetDataBrowserTarget. In this situation, Data Browser will ask you
- * for the parent of the target so it knows which container to
- * display the contents of in the list view.
- *
- * In both list and column views, your DataBrowserItemDataProcPtr
- * callback might be called with
- * kDataBrowserItemParentContainerProperty at a variety of other
- * times, so you should be sure to support this property if your Data
- * Browser displays a containment hierarchy.
- }
- kDataBrowserItemParentContainerProperty = 11; { DataBrowserItemID (the parent of the specified item, used by ColumnView) }
- type
- DataBrowserPropertyID = UNSIGNEDLONG;
- { DataBrowser Property Types (for display properties; i.e. ListView columns) }
- { These are primarily presentation types (or styles) although }
- { they also imply a particular set of primitive types or structures. }
- type
- DataBrowserPropertyType = OSType;
- const
- { == Corresponding data type or structure == }
- kDataBrowserCustomType = $3F3F3F3F; { No associated data, custom callbacks used }
- kDataBrowserIconType = FourCharCode('icnr'); { IconRef, IconTransformType, RGBColor }
- kDataBrowserTextType = FourCharCode('text'); { CFStringRef }
- kDataBrowserDateTimeType = FourCharCode('date'); { DateTime or LongDateTime }
- kDataBrowserSliderType = FourCharCode('sldr'); { Min, Max, Value }
- kDataBrowserCheckboxType = FourCharCode('chbx'); { ThemeButtonValue }
- kDataBrowserProgressBarType = FourCharCode('prog'); { Min, Max, Value }
- kDataBrowserRelevanceRankType = FourCharCode('rank'); { Min, Max, Value }
- kDataBrowserPopupMenuType = FourCharCode('menu'); { MenuRef, Value }
- kDataBrowserIconAndTextType = FourCharCode('ticn'); { IconRef, CFStringRef, etc }
- { DataBrowser Property Parts }
- { Visual components of a property type. }
- { For use with GetDataBrowserItemPartBounds. }
- type
- DataBrowserPropertyPart = OSType;
- const
- kDataBrowserPropertyEnclosingPart = 0;
- kDataBrowserPropertyContentPart = FourCharCode('----');
- kDataBrowserPropertyDisclosurePart = FourCharCode('disc');
- kDataBrowserPropertyTextPart = kDataBrowserTextType;
- kDataBrowserPropertyIconPart = kDataBrowserIconType;
- kDataBrowserPropertySliderPart = kDataBrowserSliderType;
- kDataBrowserPropertyCheckboxPart = kDataBrowserCheckboxType;
- kDataBrowserPropertyProgressBarPart = kDataBrowserProgressBarType;
- kDataBrowserPropertyRelevanceRankPart = kDataBrowserRelevanceRankType;
- { Modify appearance/behavior of display properties }
- type
- DataBrowserPropertyFlags = UInt32;
- { Low 8 bits apply to all property types }
- const
- kDataBrowserUniversalPropertyFlagsMask = $FF;
- kDataBrowserPropertyIsMutable = 1 shl 0;
- kDataBrowserDefaultPropertyFlags = 0 shl 0;
- kDataBrowserUniversalPropertyFlags = kDataBrowserUniversalPropertyFlagsMask; { support for an old name}
- kDataBrowserPropertyIsEditable = kDataBrowserPropertyIsMutable; { support for an old name}
- { Next 8 bits contain property-specific modifiers }
- {
- * Summary:
- * Data Browser Property Flags
- }
- const
- kDataBrowserPropertyFlagsOffset = 8;
- kDataBrowserPropertyFlagsMask = $FF shl kDataBrowserPropertyFlagsOffset;
- kDataBrowserCheckboxTriState = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserCheckboxType}
- kDataBrowserDateTimeRelative = 1 shl (kDataBrowserPropertyFlagsOffset); { kDataBrowserDateTimeType }
- kDataBrowserDateTimeDateOnly = 1 shl (kDataBrowserPropertyFlagsOffset + 1); { kDataBrowserDateTimeType }
- kDataBrowserDateTimeTimeOnly = 1 shl (kDataBrowserPropertyFlagsOffset + 2); { kDataBrowserDateTimeType }
- kDataBrowserDateTimeSecondsToo = 1 shl (kDataBrowserPropertyFlagsOffset + 3); { kDataBrowserDateTimeType }
- kDataBrowserSliderPlainThumb = kThemeThumbPlain shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
- kDataBrowserSliderUpwardThumb = kThemeThumbUpward shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
- kDataBrowserSliderDownwardThumb = kThemeThumbDownward shl kDataBrowserPropertyFlagsOffset; { kDataBrowserSliderType }
- kDataBrowserDoNotTruncateText = 3 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
- kDataBrowserTruncateTextAtEnd = 2 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
- kDataBrowserTruncateTextMiddle = 0 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
- kDataBrowserTruncateTextAtStart = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserTextType && kDataBrowserIconAndTextType }
- {
- * This flag is only for use with columns of type
- * kDataBrowserPopupMenuType. This flag indicates that the popup be
- * drawn in a sleek buttonless fashion. The text will be drawn next
- * to a popup glyph, and the whole cell will be clickable. Available
- * on 10.4 and later.
- }
- kDataBrowserPopupMenuButtonless = 1 shl kDataBrowserPropertyFlagsOffset; { kDataBrowserPopupMenuType}
- kDataBrowserPropertyModificationFlags = kDataBrowserPropertyFlagsMask; { support for an old name}
- kDataBrowserRelativeDateTime = kDataBrowserDateTimeRelative; { support for an old name}
- {
- Next 8 bits contain viewStyle-specific modifiers
- See individual ViewStyle sections below for flag definitions
- }
- const
- kDataBrowserViewSpecificFlagsOffset = 16;
- kDataBrowserViewSpecificFlagsMask = $FF shl kDataBrowserViewSpecificFlagsOffset;
- kDataBrowserViewSpecificPropertyFlags = kDataBrowserViewSpecificFlagsMask; { support for an old name}
- { High 8 bits are reserved for client application use }
- const
- kDataBrowserClientPropertyFlagsOffset = 24;
- kDataBrowserClientPropertyFlagsMask = $FF shl kDataBrowserClientPropertyFlagsOffset;
- { Client defined property description }
- type
- DataBrowserPropertyDescPtr = ^DataBrowserPropertyDesc;
- DataBrowserPropertyDesc = record
- propertyID: DataBrowserPropertyID;
- propertyType: DataBrowserPropertyType;
- propertyFlags: DataBrowserPropertyFlags;
- end;
- { Callback definition for use with ForEachDataBrowserItem }
- type
- DataBrowserItemProcPtr = procedure( item: DataBrowserItemID; state: DataBrowserItemState; clientData: UnivPtr );
- DataBrowserItemUPP = DataBrowserItemProcPtr;
- {
- * NewDataBrowserItemUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function NewDataBrowserItemUPP( userRoutine: DataBrowserItemProcPtr ): DataBrowserItemUPP; external name '_NewDataBrowserItemUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeDataBrowserItemUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- procedure DisposeDataBrowserItemUPP( userUPP: DataBrowserItemUPP ); external name '_DisposeDataBrowserItemUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeDataBrowserItemUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- procedure InvokeDataBrowserItemUPP( item: DataBrowserItemID; state: DataBrowserItemState; clientData: UnivPtr; userUPP: DataBrowserItemUPP ); external name '_InvokeDataBrowserItemUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Creation/Configuration }
- {$ifc not TARGET_CPU_64}
- {
- * CreateDataBrowserControl()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function CreateDataBrowserControl( window: WindowRef; const (*var*) boundsRect: Rect; style: DataBrowserViewStyle; var outControl: ControlRef ): OSStatus; external name '_CreateDataBrowserControl';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserViewStyle()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserViewStyle( browser: ControlRef; var style: DataBrowserViewStyle ): OSStatus; external name '_GetDataBrowserViewStyle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDataBrowserViewStyle()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SetDataBrowserViewStyle( browser: ControlRef; style: DataBrowserViewStyle ): OSStatus; external name '_SetDataBrowserViewStyle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {$endc} {not TARGET_CPU_64}
- {
- * Summary:
- * Data Browser attributes
- *
- * Discussion:
- * For use with DataBrowserChangeAttributes and
- * DataBrowserGetAttributes. Available in Mac OS X 10.4 and later.
- }
- const
- {
- * A constant with value zero; the lack of any attributes.
- }
- kDataBrowserAttributeNone = 0;
- {
- * In Column View, this Data Browser is allowed to resize the owning
- * window whenever necessary. This includes, but is not necessarily
- * limited to, situations where column resize operations need more
- * visible space in the window. If you turn this attribute on, your
- * window must tolerate being resized behind your app's back. If your
- * window needs to react to bounds changes, use a
- * kEventWindowBoundsChanged event handler. If you need to constrain
- * your window's minimum and maximum bounds, use
- * kEventWindowGetMinimum/MaximumSize handlers, the
- * SetWindowResizeLimits API, or something similar.
- }
- kDataBrowserAttributeColumnViewResizeWindow = 1 shl 0;
- {
- * In List View, this Data Browser should draw alternating row
- * background colors.
- }
- kDataBrowserAttributeListViewAlternatingRowColors = 1 shl 1;
- {
- * In List View, this Data Browser should draw a vertical line
- * between the columns.
- }
- kDataBrowserAttributeListViewDrawColumnDividers = 1 shl 2;
- {
- * Whether the Data Browser should hide scroll bar when they are not
- * necessary, and use the additional space to draw more content. By
- * default this attribute is turned off. This attribute is available
- * on Mac OS X 10.5 and later.
- * As of Mac OS X 10.5, this is only respected in list view, but it
- * may be respected in column view in the future. If you set this now
- * for a Data Browser instance that uses column view, you must be
- * prepared for the scroll bars to auto hide in the future. This
- * attribute is only respected in compositing mode; it will be
- * ignored in non-compositing mode.
- * When this attribute is turned on for a Data Browser instance that
- * is allowed to use both horizontal and vertical scroll bars (see
- * SetDataBrowserHasScrollBars), the Data Browser will attempt to use
- * the square space at the bottom right of the scroll bar area
- * whenever necessary. In other words, when the vertical scroll bar
- * is not necessary, the Data Browser will stretch the horizontal
- * scroll bar across the entire width. If your code needs Data
- * Browser to *not* use that square space - possibly because your
- * window's grow box will overlap that area - you should also turn on
- * the kDataBrowserAttributeReserveGrowBoxSpace attribute whenever
- * you turn on scroll bar auto hiding.
- }
- kDataBrowserAttributeAutoHideScrollBars = 1 shl 3;
- {
- * Whether the Data Browser should avoid positioning either of its
- * scroll bars such that they overlap the very bottom right of the
- * content area, where you'd typically have a grow box. By default,
- * this attribute is turned off. This attribute is available on Mac
- * OS X 10.5 and later.
- }
- kDataBrowserAttributeReserveGrowBoxSpace = 1 shl 4;
- {$ifc not TARGET_CPU_64}
- {
- * DataBrowserChangeAttributes()
- *
- * Summary:
- * Set the attributes for the given Data Browser.
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Parameters:
- *
- * inDataBrowser:
- * The Data Browser whose attributes to change.
- *
- * inAttributesToSet:
- * The attributes to set.
- *
- * inAttributesToClear:
- * The attributes to clear.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
- * Non-Carbon CFM: not available
- }
- function DataBrowserChangeAttributes( inDataBrowser: ControlRef; inAttributesToSet: OptionBits; inAttributesToClear: OptionBits ): OSStatus; external name '_DataBrowserChangeAttributes';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * DataBrowserGetAttributes()
- *
- * Summary:
- * Returns the attributes of a given Data Browser.
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Parameters:
- *
- * inDataBrowser:
- * The Data Browser whose attributes to query.
- *
- * outAttributes:
- * On exit, will contain the attributes of the Data Browser. This
- * parameter cannot be NULL.
- *
- * Result:
- * An operating system status code.
- *
- * Availability:
- * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
- * Non-Carbon CFM: not available
- }
- function DataBrowserGetAttributes( inDataBrowser: ControlRef; var outAttributes: OptionBits ): OSStatus; external name '_DataBrowserGetAttributes';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {$endc} {not TARGET_CPU_64}
- {
- * Summary:
- * DataBrowserMetric values
- *
- * Discussion:
- * For use with DataBrowserSetMetric.
- }
- const
- {
- * The content (icon, text, etc.) within a cell is drawn a certain
- * amount in from the left & right edges of the cell. This metric
- * governs the amount of inset.
- }
- kDataBrowserMetricCellContentInset = 1;
- {
- * This metric controls the space between the icon and text within a
- * column of type kDataBrowserIconAndTextType.
- }
- kDataBrowserMetricIconAndTextGap = 2;
- {
- * In List View only, this metric is similar to
- * kDataBrowserMetricCellContentInset, but it only affects the
- * disclosure column and it only affects the side of the cell that
- * displays the disclosure triangle. In other words, this metric is
- * used instead of (not in addition to)
- * DataBrowserMetricCellContentInset for one side of the disclosure
- * column.
- }
- kDataBrowserMetricDisclosureColumnEdgeInset = 3;
- {
- * In List View only, this metric controls the amount of space
- * between the disclosure triangle and the cell's content.
- }
- kDataBrowserMetricDisclosureTriangleAndContentGap = 4;
- {
- * In List View only, this metric controls the amount of space in the
- * disclosure column for each level of indentation in progressively
- * deeper hierarchies of disclosed items.
- }
- kDataBrowserMetricDisclosureColumnPerDepthGap = 5;
- kDataBrowserMetricLast = kDataBrowserMetricDisclosureColumnPerDepthGap;
- type
- DataBrowserMetric = UInt32;
- {$ifc not TARGET_CPU_64}
- {
- * DataBrowserSetMetric()
- *
- * Summary:
- * Sets a value for a specified Data Browser metric.
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Parameters:
- *
- * inDataBrowser:
- * The Data Browser instance whose metric is being changed.
- *
- * inMetric:
- * The DataBrowserMetric whose value is being changed.
- *
- * inUseDefaultValue:
- * A Boolean indicating whether you want the Data Browser instance
- * to revert to the default value for the metric. If you pass
- * true, inValue will be ignored and a suitable default value will
- * be used. If you pass false, inValue will be used as the value
- * of the metric.
- *
- * inValue:
- * When you pass false for inUseDefaultValue, this parameter is
- * the value to use for the metric.
- *
- * Result:
- * An operating system status code. If the incoming ControlRef isn't
- * a Data Browser instance, or if the incoming metric isn't known,
- * this function will return paramErr.
- *
- * Availability:
- * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
- * Non-Carbon CFM: not available
- }
- function DataBrowserSetMetric( inDataBrowser: ControlRef; inMetric: DataBrowserMetric; inUseDefaultValue: Boolean; inValue: CGFloat ): OSStatus; external name '_DataBrowserSetMetric';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * DataBrowserGetMetric()
- *
- * Summary:
- * Gets the value for a specified Data Browser metric.
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Parameters:
- *
- * inDataBrowser:
- * The Data Browser instance whose metric value to get.
- *
- * inMetric:
- * The DataBrowserMetric value to get.
- *
- * outUsingDefaultValue:
- * On exit, this is a Boolean indicating whether the metric's
- * value is determined by Data Browser's default values. You may
- * pass NULL if you don't need this information.
- *
- * outValue:
- * On exit, this is the value of the metric.
- *
- * Result:
- * An operating system status code. If the incoming ControlRef isn't
- * a Data Browser instance, or if the incoming metric isn't known,
- * this function will return paramErr.
- *
- * Availability:
- * Mac OS X: in version 10.4 and later in Carbon.framework [32-bit only]
- * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
- * Non-Carbon CFM: not available
- }
- function DataBrowserGetMetric( inDataBrowser: ControlRef; inMetric: DataBrowserMetric; outUsingDefaultValue: BooleanPtr { can be NULL }; var outValue: CGFloat ): OSStatus; external name '_DataBrowserGetMetric';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { Item Manipulation }
- { Passing NULL for "items" argument to RemoveDataBrowserItems and }
- { UpdateDataBrowserItems refers to all items in the specified container. }
- { Passing NULL for "items" argument to AddDataBrowserItems means }
- { "generate IDs starting from 1." }
- {
- * AddDataBrowserItems()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function AddDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID ): OSStatus; external name '_AddDataBrowserItems';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * RemoveDataBrowserItems()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function RemoveDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID ): OSStatus; external name '_RemoveDataBrowserItems';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * UpdateDataBrowserItems()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function UpdateDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; numItems: ItemCount; {const} items: DataBrowserItemIDPtr { can be NULL }; preSortProperty: DataBrowserPropertyID; propertyID: DataBrowserPropertyID ): OSStatus; external name '_UpdateDataBrowserItems';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Edit Menu Enabling and Handling }
- {
- * EnableDataBrowserEditCommand()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function EnableDataBrowserEditCommand( browser: ControlRef; command: DataBrowserEditCommand ): Boolean; external name '_EnableDataBrowserEditCommand';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ExecuteDataBrowserEditCommand()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function ExecuteDataBrowserEditCommand( browser: ControlRef; command: DataBrowserEditCommand ): OSStatus; external name '_ExecuteDataBrowserEditCommand';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserSelectionAnchor()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserSelectionAnchor( browser: ControlRef; var first: DataBrowserItemID; var last: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserSelectionAnchor';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * MoveDataBrowserSelectionAnchor()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function MoveDataBrowserSelectionAnchor( browser: ControlRef; direction: DataBrowserSelectionAnchorDirection; extendSelection: Boolean ): OSStatus; external name '_MoveDataBrowserSelectionAnchor';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Container Manipulation }
- {
- * OpenDataBrowserContainer()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function OpenDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID ): OSStatus; external name '_OpenDataBrowserContainer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CloseDataBrowserContainer()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function CloseDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID ): OSStatus; external name '_CloseDataBrowserContainer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SortDataBrowserContainer()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SortDataBrowserContainer( browser: ControlRef; container: DataBrowserItemID; sortChildren: Boolean ): OSStatus; external name '_SortDataBrowserContainer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Aggregate Item Access and Iteration }
- {
- * GetDataBrowserItems()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserItems( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; items: Handle ): OSStatus; external name '_GetDataBrowserItems';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserItemCount()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserItemCount( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; var numItems: ItemCount ): OSStatus; external name '_GetDataBrowserItemCount';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ForEachDataBrowserItem()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function ForEachDataBrowserItem( browser: ControlRef; container: DataBrowserItemID; recurse: Boolean; state: DataBrowserItemState; callback: DataBrowserItemUPP; clientData: UnivPtr ): OSStatus; external name '_ForEachDataBrowserItem';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Individual Item Access and Display }
- {
- * IsDataBrowserItemSelected()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function IsDataBrowserItemSelected( browser: ControlRef; item: DataBrowserItemID ): Boolean; external name '_IsDataBrowserItemSelected';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserItemState()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserItemState( browser: ControlRef; item: DataBrowserItemID; var state: DataBrowserItemState ): OSStatus; external name '_GetDataBrowserItemState';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * RevealDataBrowserItem()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function RevealDataBrowserItem( browser: ControlRef; item: DataBrowserItemID; propertyID: DataBrowserPropertyID; options: DataBrowserRevealOptions ): OSStatus; external name '_RevealDataBrowserItem';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Selection Set Manipulation }
- {
- * SetDataBrowserSelectedItems()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SetDataBrowserSelectedItems( browser: ControlRef; numItems: ItemCount; items: DataBrowserItemIDPtr; operation: DataBrowserSetOption ): OSStatus; external name '_SetDataBrowserSelectedItems';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { DataBrowser Attribute Manipulation }
- { The user customizable portion of the current view style settings }
- {
- * SetDataBrowserUserState()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SetDataBrowserUserState( browser: ControlRef; stateInfo: CFDictionaryRef ): OSStatus; external name '_SetDataBrowserUserState';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserUserState()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserUserState( browser: ControlRef; var stateInfo: CFDictionaryRef ): OSStatus; external name '_GetDataBrowserUserState';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { All items are active/enabled or not }
- {
- * SetDataBrowserActiveItems()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SetDataBrowserActiveItems( browser: ControlRef; active: Boolean ): OSStatus; external name '_SetDataBrowserActiveItems';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserActiveItems()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserActiveItems( browser: ControlRef; var active: Boolean ): OSStatus; external name '_GetDataBrowserActiveItems';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Inset the scrollbars within the DataBrowser bounds }
- {
- * SetDataBrowserScrollBarInset()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SetDataBrowserScrollBarInset( browser: ControlRef; var insetRect: Rect ): OSStatus; external name '_SetDataBrowserScrollBarInset';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserScrollBarInset()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserScrollBarInset( browser: ControlRef; var insetRect: Rect ): OSStatus; external name '_GetDataBrowserScrollBarInset';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { The "user focused" item }
- { For the ListView, this means the root container }
- { For the ColumnView, this means the rightmost container column }
- {
- * SetDataBrowserTarget()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SetDataBrowserTarget( browser: ControlRef; target: DataBrowserItemID ): OSStatus; external name '_SetDataBrowserTarget';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserTarget()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function GetDataBrowserTarget( browser: ControlRef; var target: DataBrowserItemID ): OSStatus; external name '_GetDataBrowserTarget';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Current sort ordering }
- { ListView tracks this per-column }
- {
- * SetDataBrowserSortOrder()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function SetDataBrowserSortOrder( browser: ControlRef; order: DataBrowserSortOrder ): OSStatus; external name '_SetDataBrowserSortOrder';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDataBrowserSortOrder()
- *
- * Mac OS X threading:
- * Not thread safe
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in Carbon.framework [32-bit only]
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: not available
- }
- function Ge…