summaryrefslogtreecommitdiff
path: root/packages/univint/src/HIToolbar.pas
diff options
context:
space:
mode:
Diffstat (limited to 'packages/univint/src/HIToolbar.pas')
-rw-r--r--packages/univint/src/HIToolbar.pas2413
1 files changed, 2413 insertions, 0 deletions
diff --git a/packages/univint/src/HIToolbar.pas b/packages/univint/src/HIToolbar.pas
new file mode 100644
index 0000000000..638aeac8c2
--- /dev/null
+++ b/packages/univint/src/HIToolbar.pas
@@ -0,0 +1,2413 @@
+{
+ File: HIToolbox/HIToolbar.h
+
+ Contains: Toolbar and Toolbar Item API
+
+ Version: HIToolbox-219.4.81~2
+
+ Copyright: © 2001-2005 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
+
+}
+{ File: HIToolbar.p(.pas) }
+{ }
+{ Contains: CodeWarrior Pascal(GPC) translation of Apple's Mac OS X 10.2 introduced HIToolbar.h. }
+{ Translation compatible with make-gpc-interfaces.pl generated MWPInterfaces }
+{ is linkable with Mac OS X 10.2.x or higher CFM CarbonLib and the GPC translation is }
+{ linkable with Mac OS X 10.2.x or higher Mach-O Carbon.framework. For the 10.3 }
+{ available APIs, the CodeWarrior Pascal translation is only selectively linkable with }
+{ Mac OS X 10.3.x or higher CFM CarbonLib and the GPC translation is linkable with Mac }
+{ OS X 10.3.x or higher Mach-O Carbon.framework. }
+{ }
+{ Version: 1.1 }
+{ }
+{ Pascal Translation: Gale Paeper, <gpaeper@empirenet.com>, 2004 }
+{ }
+{ Copyright: Subject to the constraints of Apple's original rights, you're free to use this }
+{ translation as you deem fit. }
+{ }
+{ Bugs?: This is an AS IS translation with no express guarentees of any kind. }
+{ If you do find a bug, please help out the Macintosh Pascal programming community by }
+{ reporting your bug finding and possible fix to either personal e-mail to Gale Paeper }
+{ or a posting to the MacPascal mailing list. }
+{ }
+{
+ Change History (most recent first):
+
+ <4> 5/8/04 GRP Completed new additions from HIToolbar.h, version HIToolbox-145.33~1.
+ <3> ?/?/04 PNL Added most new additions from HIToolbar.h, version HIToolbox-145.33~1.
+ <2> 10/02/04 GRP Added support for GPC as well as CodeWarrior Pascal.
+ <1> 9/8/03 GRP First Pascal translation of HIToolbar.h, version HIToolbox-123.6~10.
+}
+
+{ Translation assisted by: }
+{This file was processed by Dan's Source Converter}
+{version 1.3 (this version modified by Ingemar Ragnemalm)}
+{ Pascal Translation Updated: Peter N Lewis, <peter@stairways.com.au>, August 2005 }
+{
+ Modified for use with Free Pascal
+ Version 200
+ Please report any bugs to <gpc@microbizz.nl>
+}
+
+{$mode macpas}
+{$packenum 1}
+{$macro on}
+{$inline on}
+{$CALLING MWPASCAL}
+
+unit HIToolbar;
+interface
+{$setc UNIVERSAL_INTERFACES_VERSION := $0342}
+{$setc GAP_INTERFACES_VERSION := $0200}
+
+{$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 CPUPOWERPC}
+ {$setc __ppc__ := 1}
+{$elsec}
+ {$setc __ppc__ := 0}
+{$endc}
+{$ifc not defined __i386__ and defined CPUI386}
+ {$setc __i386__ := 1}
+{$elsec}
+ {$setc __i386__ := 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_X86 := FALSE}
+{$elifc defined __i386__ and __i386__}
+ {$setc TARGET_CPU_PPC := FALSE}
+ {$setc TARGET_CPU_X86 := TRUE}
+{$elsec}
+ {$error Neither __ppc__ nor __i386__ is defined.}
+{$endc}
+{$setc TARGET_CPU_PPC_64 := FALSE}
+
+{$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_MAC := TRUE}
+{$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,CFArray,CFBase,CGImage,Icons,Menus,HIObjectCore,Quickdraw;
+{$ALIGN POWER}
+
+
+type
+ HIToolbarRef = HIObjectRef;
+type
+ HIToolbarItemRef = HIObjectRef;
+{----------------------------------------------------------------------------------}
+{ Config data keys used in HIToolbarSetItemsWithIdentifiers }
+{----------------------------------------------------------------------------------}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarIdentifierKey CFSTRP('identifier')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarDataKey CFSTRP('data')}
+{$endc}
+{----------------------------------------------------------------------------------}
+{ Standard Toolbox-provided item identifiers }
+{----------------------------------------------------------------------------------}
+
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarSeparatorIdentifier CFSTRP('com.apple.hitoolbox.toolbar.separator')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarSpaceIdentifier CFSTRP('com.apple.hitoolbox.toolbar.space')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarFlexibleSpaceIdentifier CFSTRP('com.apple.hitoolbox.toolbar.flexiblespace')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarCustomizeIdentifier CFSTRP('com.apple.hitoolbox.toolbar.customize')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarPrintItemIdentifier CFSTRP('com.apple.hitoolbox.toolbar.print')}
+{$endc}
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarFontsItemIdentifier CFSTRP('com.apple.hitoolbox.toolbar.fonts')}
+{$endc}
+
+
+{
+ * Summary:
+ * Toolbar Display Mode
+ }
+const
+{
+ * This indicates to use the default display mode. Currently, this is
+ * defined as being both icon and label, but could change in the
+ * future.
+ }
+ kHIToolbarDisplayModeDefault = 0;
+
+ {
+ * This indicates to display the image as well as the label of the
+ * toolbar items.
+ }
+ kHIToolbarDisplayModeIconAndLabel = 1;
+
+ {
+ * This indicates that only the image should be shown.
+ }
+ kHIToolbarDisplayModeIconOnly = 2;
+
+ {
+ * This indicates that only the label should be shown.
+ }
+ kHIToolbarDisplayModeLabelOnly = 3;
+
+type
+ HIToolbarDisplayMode = UInt32;
+
+{
+ * Summary:
+ * Toolbar Display Size
+ }
+const
+{
+ * This indicates to use the default display size. Currently, this is
+ * defined as using 32 x 32 icons ("normal" size).
+ }
+ kHIToolbarDisplaySizeDefault = 0;
+
+ {
+ * This size uses a larger text and icon size.
+ }
+ kHIToolbarDisplaySizeNormal = 1;
+
+ {
+ * This size uses a smaller text and icon size.
+ }
+ kHIToolbarDisplaySizeSmall = 2;
+
+type
+ HIToolbarDisplaySize = UInt32;
+
+{
+ * Summary:
+ * Toolbar Attributes
+ }
+const
+{
+ * Pass this to indicate no attributes at all.
+ }
+ kHIToolbarNoAttributes = 0;
+
+ {
+ * Pass this attribute to allow the toolbar to save its configuration
+ * automatically to your application's preferences. You must make
+ * sure to synchronize the prefs at some point to ensure it gets
+ * written to disk. The toolbar will also read its config from the
+ * prefs if this attribute is set.
+ }
+ kHIToolbarAutoSavesConfig = 1 shl 0;
+
+ {
+ * This attribute indicates that the toolbar is configurable, i.e.
+ * the user can drag items around and bring up the configuration
+ * palette, etc.
+ }
+ kHIToolbarIsConfigurable = 1 shl 1;
+ kHIToolbarValidAttrs = kHIToolbarAutoSavesConfig or kHIToolbarIsConfigurable;
+
+
+{
+ * Summary:
+ * Toolbar Commands
+ }
+const
+{
+ * Sending this to a window with a toolbar will cause the
+ * configuration sheet to appear. You can set a menu item's command
+ * to this command ID and it will be handled and updated
+ * automatically for you.
+ }
+ kHICommandCustomizeToolbar = $74636667 (* 'tcfg' *);
+
+ {
+ * This command causes a window's toolbar to be shown. You can set a
+ * menu item's command to this ID and it will be handled and updated
+ * automatically for you.
+ }
+ kHICommandShowToolbar = $74627368 (* 'tbsh' *);
+
+ {
+ * This command causes a window's toolbar to be hidden. You can set a
+ * menu item's command to this ID and it will be handled and updated
+ * automatically for you.
+ }
+ kHICommandHideToolbar = $74626864 (* 'tbhd' *);
+
+ {
+ * This command, when specified as a toolbar itemÕs command ID, will
+ * cause a kEventToolbarItemPerformAction event to be generated when
+ * the toolbar itemÕs menu item in the toolbar overflow menu is
+ * selected. If the item has any other command ID, a
+ * kEventCommandProcess event will be generated instead, containing
+ * the itemÕs command ID.
+ }
+ kHIToolbarCommandPressAction = $74627072 (* 'tbpr' *);
+
+
+{
+ kEventClassToolbar quick reference:
+
+ kEventToolbarGetDefaultIdentifiers = 1,
+ kEventToolbarGetAllowedIdentifiers = 2,
+ kEventToolbarCreateItemWithIdentifier = 3,
+ kEventToolbarCreateItemFromDrag = 4,
+ kEventToolbarItemAdded = 5,
+ kEventToolbarItemRemoved = 6,
+ kEventToolbarDisplayModeChanged = 7,
+ kEventToolbarDisplaySizeChanged = 8,
+ kEventToolbarLayoutChanged = 9,
+ kEventToolbarGetSelectableIdentifiers = 10,
+ kEventToolbarBeginMultiChange = 12,
+ kEventToolbarEndMultiChange = 13
+}
+{ Toolbar event parameters and types}
+const
+ kEventParamToolbar = $74626172 (* 'tbar' *); { typeHIToolbarRef}
+ kEventParamToolbarItem = $74626974 (* 'tbit' *); { typeHIToolbarItemRef}
+ kEventParamToolbarItemIdentifier = $74626969 (* 'tbii' *); { typeCFStringRef}
+ kEventParamToolbarItemConfigData = $74626964 (* 'tbid' *); { typeCFTypeRef}
+ typeHIToolbarRef = $74626172 (* 'tbar' *); { HIToolbarRef}
+ typeHIToolbarItemRef = $74626974 (* 'tbit' *); { HIToolbarItemRef}
+
+{
+ * kEventClassToolbar / kEventToolbarGetDefaultIdentifiers
+ *
+ * Summary:
+ * This event is sent to the delegate to get a list of all of the
+ * default item identifiers that should be created for a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbar (in, typeHIToolbarRef)
+ * The toolbar for which to retrieve identifiers.
+ *
+ * --> kEventParamMutableArray (in, typeCFMutableArrayRef)
+ * A mutable array to fill in with the identifiers.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarGetDefaultIdentifiers = 1;
+
+{
+ * kEventClassToolbar / kEventToolbarGetAllowedIdentifiers
+ *
+ * Summary:
+ * This event is sent to the delegate to get a list of all the items
+ * which could possibly be added to the toolbar. This is sent out
+ * when the configuration sheet is about to be displayed. You are
+ * passed a mutable array to fill in with the identifiers.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbar (in, typeHIToolbarRef)
+ * The toolbar for which to retrieve identifiers.
+ *
+ * --> kEventParamMutableArray (in, typeCFMutableArrayRef)
+ * A mutable array to fill in with the identifiers.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarGetAllowedIdentifiers = 2;
+
+{
+ * kEventClassToolbar / kEventToolbarGetSelectableIdentifiers
+ *
+ * Summary:
+ * This event is sent to the delegate to get a list of all the items
+ * which can acquire a selection highlight when clicked. This is
+ * sent out after a toolbar item is clicked by the user. You are
+ * passed a mutable array to fill in with the identifiers. If you
+ * pass back a non-empty array, and the clicked item's identifier
+ * matches one of the identifiers that is in the list, then the
+ * toolbar will automatically draw that item with a selected
+ * highlight, and unhighlight the previously selected item. Note
+ * that the selection will only change in the clicked window; it
+ * will not change in other windows that share the same toolbar. To
+ * share the selection across all windows that use the same toolbar,
+ * you will need to manually change the kHIToolbarItemSelected
+ * attribute for the clicked item using
+ * HIToolbarItemChangeAttributes; in this case, you should not
+ * handle the kEventToolbarGetSelectableIdentifiers event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbar (in, typeHIToolbarRef)
+ * The toolbar for which to retrieve identifiers.
+ *
+ * --> kEventParamMutableArray (in, typeCFMutableArrayRef)
+ * A mutable array to fill in with the identifiers.
+ *
+ * Availability:
+ * Mac OS X: in version 10.4 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarGetSelectableIdentifiers = 10;
+
+{
+ * kEventClassToolbar / kEventToolbarCreateItemWithIdentifier
+ *
+ * Summary:
+ * This event is sent to the delegate when we need to create an item
+ * from an identifier.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbar (in, typeHIToolbarRef)
+ * The toolbar for which to create an item.
+ *
+ * --> kEventParamToolbarItemIdentifier (in, typeCFStringRef)
+ * The toolbar item identifier.
+ *
+ * --> kEventParamToolbarItemConfigData (in, typeCFTypeRef)
+ * The toolbar item configuration data. This parameter is
+ * optional and may not be present in all instances of this
+ * event.
+ *
+ * <-- kEventParamToolbarItem (out, typeHIToolbarItemRef)
+ * On exit, contains the new toolbar item.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarCreateItemWithIdentifier = 3;
+
+{
+ * kEventClassToolbar / kEventToolbarCreateItemFromDrag
+ *
+ * Summary:
+ * This event is sent to the delegate to when we need to create an
+ * item from a drag.
+ *
+ * Discussion:
+ * This event allows you to be able to drag items into a toolbar
+ * that arenÕt normal toolbar items. You might use this to allow
+ * your toolbar to accept file system items, for example.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamDragRef (in, typeDragRef)
+ * The DragRef with information about the drag.
+ *
+ * <-- kEventParamToolbarItem (out, typeHIToolbarItemRef)
+ * On exit, contains the new toolbar item.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarCreateItemFromDrag = 4;
+
+{
+ * kEventClassToolbar / kEventToolbarItemAdded
+ *
+ * Summary:
+ * Sent to interested parties when an item is added to the toolbar.
+ * The toolbar object sends this event to itself, so you'd need to
+ * install a handler on the toolbar to receive this event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbarItem (in, typeHIToolbarItemRef)
+ * The item that was just added.
+ *
+ * --> kEventParamIndex (in, typeCFIndex)
+ * The index at which the item now exists.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemAdded = 5;
+
+{
+ * kEventClassToolbar / kEventToolbarItemRemoved
+ *
+ * Summary:
+ * Sent to interested parties when an item is removed from toolbar.
+ * It is called after the item has already been removed. The toolbar
+ * object sends this event to itself, so you'd need to install a
+ * handler on the toolbar to receive this event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbarItem (in, typeHIToolbarItemRef)
+ * The item that was just removed.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemRemoved = 6;
+
+{
+ * kEventClassToolbar / kEventToolbarDisplayModeChanged
+ *
+ * Summary:
+ * Sent to interested parties when an the display mode is changed
+ * for a toolbar. The toolbar object sends this event to itself, so
+ * you'd need to install a handler on the toolbar to receive this
+ * event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarDisplayModeChanged = 7;
+
+{
+ * kEventClassToolbar / kEventToolbarDisplaySizeChanged
+ *
+ * Summary:
+ * Sent to interested parties when an the display size is changed
+ * for a toolbar. The toolbar object sends this event to itself, so
+ * you'd need to install a handler on the toolbar to receive this
+ * event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarDisplaySizeChanged = 8;
+
+{
+ * kEventClassToolbar / kEventToolbarLayoutChanged
+ *
+ * Summary:
+ * Sent to interested parties when the layout of a toolbar changes
+ * (either an item has been moved, or the entire contents have been
+ * replaced). Basically it is sent for changes which would require a
+ * total resync with the current state of things. The toolbar object
+ * sends this event to itself, so you'd need to install a handler on
+ * the toolbar to receive this event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarLayoutChanged = 9;
+
+{
+ * kEventClassToolbar / kEventToolbarBeginMultiChange
+ *
+ * Summary:
+ * Sent to interested parties when multiple attributes are going to
+ * be changed at once. For example, it is possible for the display
+ * mode and size to change at the same time. When this happens,
+ * instead of reacting two times (one for display mode changed and
+ * one for display size changed), you can listen to see if we are
+ * going to change multiple attributes and hold off on doing any
+ * relayout, etc. until the EndMultiChange event comes in. The
+ * toolbar object sends this event to itself, so you'd need to
+ * install a handler on the toolbar to receive this event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarBeginMultiChange = 12;
+
+{
+ * kEventClassToolbar / kEventToolbarEndMultiChange
+ *
+ * Summary:
+ * Sent to interested parties when the toolbar is done adjusting
+ * multiple attributes. See kEventToolbarBeginMultiChange for more
+ * information. The toolbar object sends this event to itself, so
+ * you'd need to install a handler on the toolbar to receive this
+ * event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarEndMultiChange = 13;
+
+{
+ kEventClassToolbarItem quick reference:
+
+ kEventToolbarItemImageChanged = 1,
+ kEventToolbarItemLabelChanged = 2,
+ kEventToolbarItemHelpTextChanged = 3,
+ kEventToolbarItemCommandIDChanged = 4,
+ kEventToolbarItemGetPersistentData = 5,
+ kEventToolbarItemCreateCustomView = 6,
+ kEventToolbarItemEnabledStateChanged = 7,
+ kEventToolbarItemPerformAction = 8,
+ kEventToolbarItemWouldAcceptDrop = 10,
+ kEventToolbarItemAcceptDrop = 11,
+ kEventToolbarItemSelectedStateChanged = 12
+}
+{
+ * kEventClassToolbarItem / kEventToolbarItemImageChanged
+ *
+ * Summary:
+ * This event is sent to the item (itself) when the image changes.
+ * Any interested parties can install handlers on the toolbar item
+ * to receive notifications.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemImageChanged = 1;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemLabelChanged
+ *
+ * Summary:
+ * This event is sent to the item (itself) when the label changes.
+ * Any interested parties can install handlers on the toolbar item
+ * to receive notifications.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemLabelChanged = 2;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemHelpTextChanged
+ *
+ * Summary:
+ * This event is sent to the item (itself) when the help text
+ * changes. Any interested parties can install handlers on the
+ * toolbar item to receive notifications.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemHelpTextChanged = 3;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemCommandIDChanged
+ *
+ * Summary:
+ * This event is sent to the item (itself) when the command ID
+ * changes. Any interested parties can install handlers on the
+ * toolbar item to receive notifications.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemCommandIDChanged = 4;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemGetPersistentData
+ *
+ * Summary:
+ * This event is sent to the item (itself) when the toolbar is going
+ * to write out the configuration information for the item. Any
+ * custom items can listen for this event and add any extra
+ * information to what is written out into the config so that it can
+ * be reanimated later on from the same config data. Typically,
+ * you'd not need to handle this event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * <-- kEventParamToolbarItemConfigData (out, typeCFTypeRef)
+ * On exit, contains configuration information for the item.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemGetPersistentData = 5;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemCreateCustomView
+ *
+ * Summary:
+ * This event is sent to the toolbar item when it is time to create
+ * a view for it to display its contents. Implementors of custom
+ * toolbar items can install a handler for this event to create
+ * their own custom views for their items.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * <-- kEventParamControlRef (out, typeControlRef)
+ * On exit, contains the itemÕs custom view.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemCreateCustomView = 6;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemEnabledStateChanged
+ *
+ * Summary:
+ * This event is sent to the item (itself) when the enabled state
+ * changes. Any interested parties can install handlers on the
+ * toolbar item to receive notifications.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemEnabledStateChanged = 7;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemSelectedStateChanged
+ *
+ * Summary:
+ * This event is sent to the item (itself) when the selected state
+ * changes. Any interested parties can install handlers on the
+ * toolbar item to receive notifications.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamWindowRef (in, typeWindowRef)
+ * The window in which the item is changing state. This
+ * parameter is optional and may not be present in all
+ * instances of this event. If not present, the item is
+ * changing state across all windows that share the same
+ * toolbar.
+ *
+ * Availability:
+ * Mac OS X: in version 10.4 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemSelectedStateChanged = 12;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemPerformAction
+ *
+ * Summary:
+ * This event is sent when a toolbar item is clicked. Subclasses of
+ * toolbar items can choose to do special actions by overriding this
+ * event. If this event is unhandled, the default action of sending
+ * a command event will occur.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemPerformAction = 8;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemWouldAcceptDrop
+ *
+ * Summary:
+ * This event is sent when a drag enters a toolbar item. If the
+ * toolbar item wants to accept drags (like finder items can when
+ * they represent containers), simply respond to this event and
+ * return true in the kEventParamResult parameter. The toolbar item
+ * will hilite appropriately. If you are using a custom view, you do
+ * not need to respond to this, since you'll have full drag and drop
+ * capability via the view system. This is to support custom items
+ * which are using the standard view.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamDragRef (in, typeDragRef)
+ * The drag to test for tastiness of flavors.
+ *
+ * <-- kEventParamResult (out, typeBoolean)
+ * A boolean value representing whether the drag was something
+ * the item wants to accept (true) or not (false). If this
+ * parameter does not exist or is false, we do not consult any
+ * other parameters in this event.
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemWouldAcceptDrop = 10;
+
+{
+ * kEventClassToolbarItem / kEventToolbarItemAcceptDrop
+ *
+ * Summary:
+ * If you responded to kEventToolbarItemLikesDrag and returned true
+ * in the kEventParamResult parameter, and the user drops the drag
+ * onto your item, you will be called with this event.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamDragRef (in, typeDragRef)
+ * The drag that was just dropped.
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemAcceptDrop = 11;
+
+{
+ kEventClassToolbarItemView quick reference:
+
+ kEventToolbarItemViewConfigForMode = 3,
+ kEventToolbarItemViewConfigForSize = 4,
+ kEventToolbarItemViewEnterConfigMode = 5,
+ kEventToolbarItemViewExitConfigMode = 6
+}
+const
+ kEventParamToolbarDisplayMode = $7462646D (* 'tbdm' *); { typeHIToolbarDisplayMode}
+ kEventParamToolbarDisplaySize = $74626473 (* 'tbds' *); { typeHIToolbarDisplaySize}
+ typeHIToolbarDisplayMode = $7462646D (* 'tbdm' *); { HIToolbarDisplayMode}
+ typeHIToolbarDisplaySize = $74626473 (* 'tbds' *); { HIToolbarDisplaySize}
+
+{
+ * kEventClassToolbarItemView / kEventToolbarItemViewConfigForMode
+ *
+ * Summary:
+ * Notifies a toolbar item view that the toolbar's display mode has
+ * changed.
+ *
+ * Discussion:
+ * Notifies a toolbar item view that the toolbar's display mode has
+ * changed. A custom toolbar item view can respond to this in any
+ * way it sees fit. Most times, responding to this is not necessary
+ * Ñ when the toolbar goes from icon to text only, for example, the
+ * view is automatically hidden, so there is not much to do. It is
+ * here for informational purposes only.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbarDisplayMode (in, typeHIToolbarDisplayMode)
+ * The toolbar item view's new display mode.
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemViewConfigForMode = 3;
+
+{
+ * kEventClassToolbarItemView / kEventToolbarItemViewConfigForSize
+ *
+ * Summary:
+ * Notifies a toolbar item view that the toolbar's display size has
+ * changed.
+ *
+ * Discussion:
+ * Notifies a toolbar item view that the toolbar's display size has
+ * changed. A custom toolbar item view can respond to this in any
+ * way it sees fit. Most times, responding to this is not necessary.
+ * However, some custom views might need to flush metrics caches
+ * when the display size changes.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * --> kEventParamToolbarDisplaySize (in, typeHIToolbarDisplaySize)
+ * The toolbar item view's new display size.
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemViewConfigForSize = 4;
+
+{
+ * kEventClassToolbarItemView / kEventToolbarItemViewEnterConfigMode
+ *
+ * Summary:
+ * Notifies a toolbar item view that we've entered configure mode.
+ *
+ * Discussion:
+ * Notifies a toolbar item view that we've entered configure mode. A
+ * custom toolbar item view can respond to this in any way it sees
+ * fit. For example, the space and flexible space mark themselves to
+ * draw a rectangle and merely invalidate so they get redrawn so you
+ * can see them during configure.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemViewEnterConfigMode = 5;
+
+{
+ * kEventClassToolbarItemView / kEventToolbarItemViewExitConfigMode
+ *
+ * Summary:
+ * Notifies a toolbar item view that we've finished with configure
+ * mode.
+ *
+ * Discussion:
+ * Notifies a toolbar item view that we're now out of configure
+ * mode. A custom toolbar item view can respond to this in any way
+ * it sees fit.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available
+ }
+const
+ kEventToolbarItemViewExitConfigMode = 6;
+
+
+{
+ * Summary:
+ * Toolbar Item Attributes
+ }
+const
+{
+ * Pass this to indicate no attributes at all.
+ }
+ kHIToolbarItemNoAttributes = 0;
+
+ {
+ * This indicates that an item can have more than one instance of
+ * itself in the toolbar. If this is not set, only one can be
+ * present. By default, the determining factor for what determines if
+ * two items are identical is the toolbar identifier. Subclasses of
+ * HIToolbarItem can specify more elaborate equality.
+ }
+ kHIToolbarItemAllowDuplicates = 1 shl 0;
+
+ {
+ * This item can be rearranged, but it cannot be removed from the
+ * Toolbar by the user.
+ }
+ kHIToolbarItemCantBeRemoved = 1 shl 1;
+
+ {
+ * This item cannot be moved at all by the user. It is anchored to
+ * the left of the toolbar. It is important that there not be any
+ * unanchored items to the left of this item, else dragging items
+ * around will be a bit wacky. It is up you you, the home viewer, to
+ * make sure that anchored items are all on the left. This allows you
+ * to do toolbars like the the one in the System Preferences app,
+ * where the first couple of items are stuck in place.
+ }
+ kHIToolbarItemAnchoredLeft = 1 shl 2;
+
+ {
+ * This indicates the item acts as a separator. This means two things
+ * at present. First, it means that it automatically shows up as a
+ * divider line in a menu representation of the toolbar, and second
+ * it means the view that represents this item can draw in the full
+ * top to bottom space that the toolbar item occupies in the toolbar.
+ }
+ kHIToolbarItemIsSeparator = 1 shl 3;
+
+ {
+ * If this attribute bit is set, the command that gets sent out will
+ * be directed at the user focus instead of at the window the toolbar
+ * is attached to.
+ }
+ kHIToolbarItemSendCmdToUserFocus = 1 shl 4;
+
+ {
+ * If this attribute bit is set, clicking on the label of an item
+ * does nothing. This attribute is ONLY considered when a custom view
+ * is present. What it really does is make the toolbar item view dead
+ * to clicks while still allowing clicks to be sent to the custom
+ * view. When the toolbar is in text-only mode and this attribute is
+ * set, it displays the label in a disabled (grayed) appearance. You
+ * might want to change this attribute when switching between display
+ * modes. For example, the view switcher in finder does not allow
+ * clicks on the label when in icon and text mode, but it does
+ * respond to clicks when in text only mode. To change this on the
+ * fly, you should listen for kEventToolbarItemViewConfigForMode in
+ * your custom view and adjust this attribute as you desire. This
+ * attribute is available in Mac OS X 10.3 and later.
+ }
+ kHIToolbarItemLabelDisabled = 1 shl 5;
+
+ {
+ * This item is disabled. Setting this attribute is the same as
+ * calling HIToolbarItemSetEnabled( item, false ). Available on Mac
+ * OS X 10.4 and later.
+ }
+ kHIToolbarItemDisabled = 1 shl 6;
+
+ {
+ * This item is drawn with a selected appearance. Available on Mac OS
+ * X 10.4 and later.
+ }
+ kHIToolbarItemSelected = 1 shl 7;
+
+ {
+ * The set of all valid toolbar item attributes.
+ }
+ kHIToolbarItemValidAttrs = kHIToolbarItemAllowDuplicates or kHIToolbarItemIsSeparator or kHIToolbarItemCantBeRemoved or kHIToolbarItemAnchoredLeft or kHIToolbarItemSendCmdToUserFocus or kHIToolbarItemLabelDisabled or kHIToolbarItemDisabled or kHIToolbarItemSelected;
+
+ {
+ * The set of toolbar item attributes that can be changed with
+ * HIToolbarItemChangeAttributes.
+ }
+ kHIToolbarItemMutableAttrs = kHIToolbarItemCantBeRemoved or kHIToolbarItemAnchoredLeft or kHIToolbarItemLabelDisabled or kHIToolbarItemDisabled or kHIToolbarItemSelected;
+
+{======================================================================================}
+{ FUNCTIONS }
+{======================================================================================}
+{
+ * HIToolbarCreate()
+ *
+ * Discussion:
+ * Creates a toolbar. After creating a toolbar, one would normally
+ * attach it to a window using SetWindowToolbar, described in
+ * MacWindows.h. Since the toolbar is merely the model (as opposed
+ * to the view), there are no routines to hide/show it here. Please
+ * look to MacWindows.h for the routines ShowHideWindowToolbar and
+ * IsWindowToolbarVisible there for more information.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inIdentifier:
+ * The identifier of the toolbar. If you specify that the toolbar
+ * auto-saves its configuration, this identifier is used to mark
+ * the config info in your application's preferences. You must
+ * specify an identifier.
+ *
+ * inAttributes:
+ * Any attributes you wish to specify.
+ *
+ * outToolbar:
+ * The toolbar reference to your shiny new toolbar.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarCreate( inIdentifier: CFStringRef; inAttributes: OptionBits; var outToolbar: HIToolbarRef ): OSStatus; external name '_HIToolbarCreate';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarGetAttributes()
+ *
+ * Discussion:
+ * Returns the attributes for the given toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose attributes you desire.
+ *
+ * outAttributes:
+ * The attributes.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarGetAttributes( inToolbar: HIToolbarRef; var outAttributes: OptionBits ): OSStatus; external name '_HIToolbarGetAttributes';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarChangeAttributes()
+ *
+ * Discussion:
+ * Changes the attributes of a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose attributes you want to change.
+ *
+ * inAttrsToSet:
+ * The attributes you wish to set/enable.
+ *
+ * inAttrsToClear:
+ * The attributes you wish to clear/disable.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarChangeAttributes( inToolbar: HIToolbarRef; inAttrsToSet: OptionBits; inAttrsToClear: OptionBits ): OSStatus; external name '_HIToolbarChangeAttributes';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarGetDisplayMode()
+ *
+ * Discussion:
+ * Returns the current display mode of a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display mode you wish to receive.
+ *
+ * outDisplayMode:
+ * The display mode.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarGetDisplayMode( inToolbar: HIToolbarRef; var outDisplayMode: HIToolbarDisplayMode ): OSStatus; external name '_HIToolbarGetDisplayMode';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarSetDisplayMode()
+ *
+ * Discussion:
+ * Sets the current display mode of a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display mode you wish to set.
+ *
+ * inDisplayMode:
+ * The display mode. If the toolbar is visible, it will be redrawn.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarSetDisplayMode( inToolbar: HIToolbarRef; inDisplayMode: HIToolbarDisplayMode ): OSStatus; external name '_HIToolbarSetDisplayMode';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarGetDisplaySize()
+ *
+ * Discussion:
+ * Gets the current display size of a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display size you wish to get.
+ *
+ * outSize:
+ * The display size.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarGetDisplaySize( inToolbar: HIToolbarRef; var outSize: HIToolbarDisplaySize ): OSStatus; external name '_HIToolbarGetDisplaySize';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarSetDisplaySize()
+ *
+ * Discussion:
+ * Sets the current display size of a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose display size you wish to set.
+ *
+ * inSize:
+ * The display size. If the toolbar is visible, it will be redrawn.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarSetDisplaySize( inToolbar: HIToolbarRef; inSize: HIToolbarDisplaySize ): OSStatus; external name '_HIToolbarSetDisplaySize';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarCopyIdentifier()
+ *
+ * Discussion:
+ * Returns the identifier for a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose identifier you wish to get.
+ *
+ * outIdentifier:
+ * The identifier. You must release it when you are finished with
+ * it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarCopyIdentifier( inToolbar: HIToolbarRef; var outIdentifier: CFStringRef ): OSStatus; external name '_HIToolbarCopyIdentifier';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarSetItemsWithIdentifiers()
+ *
+ * Discussion:
+ * Allows you to set a toolbar's items all at once. The array
+ * contains either CFStringRefs of item identifiers, or a small
+ * CFDictionaryRef containing the identifier string, and the config
+ * data (if the item requires it). The key for the identifier string
+ * is kHIToolbarIdentifierKey and the key for the config data string
+ * is kHIToolbarDataKey.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose items you wish to set.
+ *
+ * inArray:
+ * The array of toolbar items to create.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarSetItemsWithIdentifiers( inToolbar: HIToolbarRef; inArray: CFArrayRef ): OSStatus; external name '_HIToolbarSetItemsWithIdentifiers';
+(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+
+
+{
+ * HIToolbarCopyItems()
+ *
+ * Discussion:
+ * Returns the array of toolbar items for a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose items you wish to receive.
+ *
+ * outItems:
+ * The array of toolbar items owned by the toolbar. You must
+ * release the array when you are finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarCopyItems( inToolbar: HIToolbarRef; var outItems: CFArrayRef ): OSStatus; external name '_HIToolbarCopyItems';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarCreateItemWithIdentifier()
+ *
+ * Discussion:
+ * Creates an item specified by a particular identifier. Using this
+ * function allows you to create any item a delegate supports by
+ * naming its identifier. It also allows you to create standard
+ * items supplied by the Toolbox, such as the separator item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar you are adding to.
+ *
+ * inIdentifier:
+ * The identifier of the item you wish to add.
+ *
+ * inConfigData:
+ * Any config data required by the item to safely construct.
+ * Standard items do not require any extra data, so NULL can be
+ * passed.
+ *
+ * outItem:
+ * The newly created toolbar item.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarCreateItemWithIdentifier( inToolbar: HIToolbarRef; inIdentifier: CFStringRef; inConfigData: CFTypeRef { can be NULL }; var outItem: HIToolbarItemRef ): OSStatus; external name '_HIToolbarCreateItemWithIdentifier';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarInsertItemAtIndex()
+ *
+ * Discussion:
+ * Inserts a toolbar item at a given index into a toolbar.
+ * Generally, you should always add items via identifier, and not
+ * with this routine.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar to receive the new item.
+ *
+ * inItem:
+ * The item reference of the toolbar item you are adding.
+ *
+ * inIndex:
+ * The index you wish to add the item at. This index is zero-based.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarInsertItemAtIndex( inToolbar: HIToolbarRef; inItem: HIToolbarItemRef; inIndex: CFIndex ): OSStatus; external name '_HIToolbarInsertItemAtIndex';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarAppendItem()
+ *
+ * Discussion:
+ * Appends an item to the end of a toolbar. Generally, you should
+ * always add items via identifier, and not with this routine.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar to receive the new item.
+ *
+ * inItem:
+ * The item reference of the toolbar item you are adding.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarAppendItem( inToolbar: HIToolbarRef; inItem: HIToolbarItemRef ): OSStatus; external name '_HIToolbarAppendItem';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarRemoveItemAtIndex()
+ *
+ * Discussion:
+ * Removes an item at a given index from a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar you are removing the item from.
+ *
+ * inIndex:
+ * The index of the item to remove. This index is zero-based.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarRemoveItemAtIndex( inToolbar: HIToolbarRef; inIndex: CFIndex ): OSStatus; external name '_HIToolbarRemoveItemAtIndex';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarSetDelegate()
+ *
+ * Discussion:
+ * Sets the delegate event target for a toolbar. This is necessary
+ * for a toolbar to work properly if it wants items of its own. The
+ * delegate is who is asked to create toolbar items. If the delegate
+ * does not respond, the toolbar will attempt to create a toolbar
+ * item, but it can only create the standard items defined at the
+ * top of this header.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar whose delegate you want to set.
+ *
+ * inDelegate:
+ * The HIObjectRef to act as the delegate.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarSetDelegate( inToolbar: HIToolbarRef; inDelegate: HIObjectRef ): OSStatus; external name '_HIToolbarSetDelegate';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarGetDelegate()
+ *
+ * Discussion:
+ * Returns the current delegate in use by a toolbar.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar you want the delegate from.
+ *
+ * Result:
+ * An HIObjectRef.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarGetDelegate( inToolbar: HIToolbarRef ): HIObjectRef; external name '_HIToolbarGetDelegate';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{==========================================================================}
+{ HITOOLBARITEM }
+{==========================================================================}
+{ The HIObject class ID for the ToolbarItem class. }
+
+{$ifc USE_CFSTR_CONSTANT_MACROS}
+{$definec kHIToolbarItemClassID CFSTRP('com.apple.hitoolbaritem')}
+{$endc}
+
+
+{ Required construction parameters }
+{ You must pass these parameters in the initialization event if you are }
+{ subclassing the toolbar item }
+{ kEventParamToolbarItemIdentifier typeCFStringRef }
+{ kEventParamAttibutes typeUInt32 }
+
+
+{
+ * HIToolbarItemCreate()
+ *
+ * Discussion:
+ * Creates a toolbar item for use in a toolbar. Typically, you would
+ * create toolbar items in your delegate. When a toolbar needs to
+ * create an item with a given identifier, your delegate is asked to
+ * create it.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inIdentifier:
+ * The identifier of the item in question.
+ *
+ * inOptions:
+ * Any options for the item.
+ *
+ * outItem:
+ * The item you created.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemCreate( inIdentifier: CFStringRef; inOptions: OptionBits; var outItem: HIToolbarItemRef ): OSStatus; external name '_HIToolbarItemCreate';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+// #define _HIToolbarItemCopyIdentifier HIToolbarItemCopyIdentifier
+{
+ * HIToolbarItemCopyIdentifier()
+ *
+ * Discussion:
+ * Returns the identifier of the given item. The toolbar uses this
+ * identifier when writing the config information to the preferences
+ * (if set up for auto-config).
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outIdentifier:
+ * The identifier of the item. You should release this string when
+ * you are finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemCopyIdentifier( inItem: HIToolbarItemRef; var outIdentifier: CFStringRef ): OSStatus; external name '_HIToolbarItemCopyIdentifier';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemGetAttributes()
+ *
+ * Discussion:
+ * Returns the attributes of the given item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outAttributes:
+ * The attributes of the item.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemGetAttributes( inItem: HIToolbarItemRef; var outAttributes: OptionBits ): OSStatus; external name '_HIToolbarItemGetAttributes';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemChangeAttributes()
+ *
+ * Discussion:
+ * Changes the attributes of a toolbar item. Only those attributes
+ * defined by the kHIToolbarItemMutableAttrs can be passed into this
+ * API. All other options can only be specified at creation.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inAttrsToSet:
+ * The attributes to set on the item. This value can be
+ * kHIToolbarItemNoAttributes if you are only clearing attributes.
+ *
+ * inAttrsToClear:
+ * The attributes to clear on the item. This value can be
+ * kHIToolbarItemNoAttributes if you are only setting attributes.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemChangeAttributes( inItem: HIToolbarItemRef; inAttrsToSet: OptionBits; inAttrsToClear: OptionBits ): OSStatus; external name '_HIToolbarItemChangeAttributes';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemGetAttributesInWindow()
+ *
+ * Summary:
+ * Returns the attributes of the given item in a given window, and
+ * information about which attributes are overridden for that window.
+ *
+ * Discussion:
+ * The HIToolbarItemGetAttributesInWindow returns the combined
+ * attributes that control a toolbar item view in a specific window.
+ * It also returns a bitmask of toolbar item attributes indicating
+ * which attributes are overridden for this particular window, and
+ * which are inherited from the non-window-specific toolbar item
+ * attributes.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inWindow:
+ * The window containing the item. Passing NULL is equivalent to
+ * calling HIToolbarItemGetAttributes; it returns the
+ * non-window-specific attributes for the item with no per-window
+ * modifications.
+ *
+ * outOverriddenAttributes:
+ * On exit, contains a bitmask indicating which attributes are
+ * overridden for this particular window. May be NULL if you don't
+ * need this information.
+ *
+ * outCombinedAttributes:
+ * On exit, contains the effective attributes for this item in
+ * this window, produced by combining the item's
+ * non-window-specific attributes with the overridden attributes
+ * for this window. May be NULL if you don't need this information.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.4 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemGetAttributesInWindow( inItem: HIToolbarItemRef; inWindow: WindowRef { can be NULL }; outOverriddenAttributes: OptionBitsPtr { can be NULL }; outCombinedAttributes: OptionBitsPtr { can be NULL } ): OSStatus; external name '_HIToolbarItemGetAttributesInWindow';
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+
+
+{
+ * HIToolbarItemChangeAttributesInWindow()
+ *
+ * Summary:
+ * Changes the attributes of a toolbar item in a specific window.
+ *
+ * Discussion:
+ * The HIToolbarItemChangeAttributesInWindow API allows the
+ * attributes of a toolbar item to be overridden on a per-window
+ * basis. The attributes used to draw a toolbar item view in a
+ * particular window are determined by combining the
+ * non-window-specific attributes for the item (set by
+ * HIToolbarItemChangeAttributes) with the window-specific
+ * attributes (set by HIToolbarItemChangeAttributesInWindow). For
+ * example, your application might have a toolbar that is shared
+ * across several windows, but in some windows a toolbar item might
+ * be enabled, and in other windows the same item might be disabled.
+ *
+ *
+ * Whenever HIToolbarChangeAttributesInWindow is used to set or
+ * clear attributes, the toolbar item adds the modified attributes
+ * to a bitmask of attributes recording which attributes are
+ * overridden for that particular window. Once an attribute is
+ * overridden for a window (whether it is set or cleared), the
+ * attribute remains overridden for that window until
+ * HIToolbarItemChangeAttributesInWindow is called with that
+ * attribute specified in the inAttrsToNoLongerOverride parameter.
+ * The attributes specified in that parameter will be removed from
+ * the override mask for the toolbar item in the specified window.
+ * The effective value of attributes removed from the override mask
+ * will then revert back to the non-window- specific value of the
+ * attributes for the toolbar item.
+ *
+ * Only those attributes defined by the kHIToolbarItemMutableAttrs
+ * can be passed into this API. All other options can only be
+ * specified at creation.
+ *
+ * The per-window attributes for an item are not saved in the
+ * toolbar preferences.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inWindow:
+ * The window containing the item. Passing NULL is equivalent to
+ * calling HIToolbarItemChangeAttributes; the item's
+ * non-window-specific attributes will be changed, rather than its
+ * per-window attributes.
+ *
+ * inAttrsToSet:
+ * The attributes to set on the item. Pass
+ * kHIToolbarItemNoAttributes if you are only clearing attributes.
+ * These attributes will be added to the overridden attribute mask
+ * associated with this item in this window.
+ *
+ * inAttrsToClear:
+ * The attributes to clear on the item. Pass
+ * kHIToolbarItemNoAttributes if you are only setting attributes.
+ * These attributes will be added to the overridden attribute mask
+ * associated with this item in this window.
+ *
+ * inAttrsToNoLongerOverride:
+ * The attributes that should no longer be overridden at the
+ * per-window level for this toolbar item; pass
+ * kHIToolbarItemNoAttributes if all attributes should remain
+ * overridden. If an attribute is in both this parameter and
+ * either the inAttrsToSet or inAttrsToClear parameters, the
+ * attribute will no longer be overridden. If the inWindow
+ * parameter is NULL, this parameter must be
+ * kHIToolbarItemNoAttributes; if not, paramErr will be returned.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.4 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemChangeAttributesInWindow( inItem: HIToolbarItemRef; inWindow: WindowRef { can be NULL }; inAttrsToSet: OptionBits; inAttrsToClear: OptionBits; inAttrsToNoLongerOverride: OptionBits ): OSStatus; external name '_HIToolbarItemChangeAttributesInWindow';
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+
+
+{
+ * HIToolbarGetSelectedItemInWindow()
+ *
+ * Summary:
+ * Returns the toolbar item that is selected in a given window.
+ *
+ * Discussion:
+ * Each window that shares a toolbar may have a different selected
+ * item. This API returns the selected item in a particular window.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inToolbar:
+ * The toolbar in question.
+ *
+ * inWindow:
+ * A window containing the toolbar.
+ *
+ * outItem:
+ * On exit, contains the toolbar item that is selected in the
+ * specified window, or NULL if there is no selected item.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.4 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.4 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarGetSelectedItemInWindow( inToolbar: HIToolbarRef; inWindow: WindowRef; var outItem: HIToolbarItemRef ): OSStatus; external name '_HIToolbarGetSelectedItemInWindow';
+(* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
+
+
+{
+ * HIToolbarItemSetLabel()
+ *
+ * Discussion:
+ * Sets the label of a toolbar item. This is what the toolbar view
+ * will display underneath the image. It is also used in the
+ * configuration palette for configurable toolbars.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inLabel:
+ * The label. The toolbox will copy the string passed in.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemSetLabel( inItem: HIToolbarItemRef; inLabel: CFStringRef ): OSStatus; external name '_HIToolbarItemSetLabel';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemCopyLabel()
+ *
+ * Discussion:
+ * Returns the label of a toolbar item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outLabel:
+ * The label of the item. You should release this when you are
+ * finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemCopyLabel( inItem: HIToolbarItemRef; var outLabel: CFStringRef ): OSStatus; external name '_HIToolbarItemCopyLabel';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemSetHelpText()
+ *
+ * Discussion:
+ * Sets the text used for help tags for a toolbar item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inShortText:
+ * The short help text. This is what is displayed normally by the
+ * help tag system when the user hovers over the toolbar item with
+ * the mouse.
+ *
+ * inLongText:
+ * The long help text. This is what is displayed by the help tag
+ * system when the user hovers over the toolbar item with the
+ * mouse and holds the command key down. This parameter is
+ * optional, you may pass NULL.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemSetHelpText( inItem: HIToolbarItemRef; inShortText: CFStringRef; inLongText: CFStringRef { can be NULL } ): OSStatus; external name '_HIToolbarItemSetHelpText';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemCopyHelpText()
+ *
+ * Discussion:
+ * Returns the text used for help tags for a toolbar item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outShortText:
+ * The short help text. This is what is displayed normally by the
+ * help tag system when the user hovers over the toolbar item with
+ * the mouse. You should release this string when you are finished
+ * with it. If you do not wish to receive the short help text,
+ * pass NULL for this parameter.
+ *
+ * outLongText:
+ * The long help text. This is what is displayed by the help tag
+ * system when the user hovers over the toolbar item with the
+ * mouse and holds the command key down. You should release this
+ * string when you are finished with it. If you do not wish to
+ * receive the long help text, pass NULL for this parameter.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemCopyHelpText( inItem: HIToolbarItemRef; outShortText: CFStringRefPtr { can be NULL }; outLongText: CFStringRefPtr { can be NULL } ): OSStatus; external name '_HIToolbarItemCopyHelpText';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemSetCommandID()
+ *
+ * Discussion:
+ * Sets the command ID of a toolbar item. When an toolbar item is
+ * clicked, the default behavior is to send out the command assigned
+ * to the item. This API lets you set that command ID. The command
+ * is sent out via the ProcessHICommand API, so it uses Carbon
+ * Events.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inCommandID:
+ * The command ID.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemSetCommandID( inItem: HIToolbarItemRef; inCommandID: MenuCommand ): OSStatus; external name '_HIToolbarItemSetCommandID';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemGetCommandID()
+ *
+ * Discussion:
+ * Gets the command ID of a toolbar item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outCommandID:
+ * The command ID.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemGetCommandID( inItem: HIToolbarItemRef; var outCommandID: MenuCommand ): OSStatus; external name '_HIToolbarItemGetCommandID';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemSetIconRef()
+ *
+ * Discussion:
+ * Sets the icon for a toolbar item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inIcon:
+ * The icon ref. The toolbar will create an appropriate CGImageRef
+ * for the icon passed in. The icon can be released after this API
+ * is called.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemSetIconRef( inItem: HIToolbarItemRef; inIcon: IconRef ): OSStatus; external name '_HIToolbarItemSetIconRef';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemSetImage()
+ *
+ * Discussion:
+ * Sets the image for a toolbar item. Currently, the image should be
+ * no higher than 32 pixels. This image is used both in the toolbar
+ * as well as the configuration sheet, if the toolbar is
+ * configurable.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inImage:
+ * The image. This image is retained by the toolbar item. You may
+ * release it after calling this API.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemSetImage( inItem: HIToolbarItemRef; inImage: CGImageRef ): OSStatus; external name '_HIToolbarItemSetImage';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemCopyImage()
+ *
+ * Discussion:
+ * Returns the image for a toolbar item. This image is already
+ * retained by the time you receive it, so you can release it when
+ * you are done with it.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outImage:
+ * The retained image. You should release it when finished with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemCopyImage( inItem: HIToolbarItemRef; var outImage: CGImageRef ): OSStatus; external name '_HIToolbarItemCopyImage';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemSetMenu()
+ *
+ * Discussion:
+ * Sets the submenu for a toolbar item. Normally, items do not have
+ * a submenu. You can attach one with this API. The submenu will, by
+ * default, show up in the 'more items' indicator popup, as a
+ * submenu of the menu item corresponding to the toolbar item. It
+ * will also appear if the toolbar is in text only mode and the
+ * label is clicked. You should attach a Carbon Event handler to the
+ * menu to handle updating the menu items as appropriate before the
+ * menu is displayed.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inMenu:
+ * The menu. It is retained by the toolbar item, so you can safely
+ * release it after calling this API. On Mac OS X 10.3 and later,
+ * you can pass NULL for this parameter to remove and release any
+ * menu that might be attached.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemSetMenu( inItem: HIToolbarItemRef; inMenu: MenuRef { can be NULL } ): OSStatus; external name '_HIToolbarItemSetMenu';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemCopyMenu()
+ *
+ * Discussion:
+ * Gets the submenu for a toolbar item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * outMenu:
+ * The retained menu. You should release it when you are finished
+ * with it.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemCopyMenu( inItem: HIToolbarItemRef; var outMenu: MenuRef ): OSStatus; external name '_HIToolbarItemCopyMenu';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemGetToolbar()
+ *
+ * Discussion:
+ * Gets the toolbar a toolbar item is attached to.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * Result:
+ * The toolbar item reference of the toolbar this item is bound to,
+ * or NULL if this toolbar item is not attached to any toolbar.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemGetToolbar( inItem: HIToolbarItemRef ): HIToolbarRef; external name '_HIToolbarItemGetToolbar';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemIsEnabled()
+ *
+ * Discussion:
+ * Used to determine if a toolbar item is enabled.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * Result:
+ * A boolean result.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemIsEnabled( inItem: HIToolbarItemRef ): Boolean; external name '_HIToolbarItemIsEnabled';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemSetEnabled()
+ *
+ * Discussion:
+ * Enables or disables a toolbar item.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item in question.
+ *
+ * inEnabled:
+ * The new enabled state.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.2 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemSetEnabled( inItem: HIToolbarItemRef; inEnabled: Boolean ): OSStatus; external name '_HIToolbarItemSetEnabled';
+(* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
+
+
+{
+ * HIToolbarItemConfigDataChanged()
+ *
+ * Discussion:
+ * Informs the toolbar that the config data for a toolbar item has
+ * changed and should be written to the toolbar config prefs. This
+ * is used when a custom toolbar item has extra data (config data)
+ * that has changed (perhaps you've changed an alias that a toolbar
+ * item points to, for example). This function does nothing if the
+ * toolbar is not set to auto save its configuration.
+ *
+ * Mac OS X threading:
+ * Not thread safe
+ *
+ * Parameters:
+ *
+ * inItem:
+ * The item whose information has changed.
+ *
+ * Result:
+ * An operating system result code.
+ *
+ * Availability:
+ * Mac OS X: in version 10.3 and later in Carbon.framework
+ * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.3 and later
+ * Non-Carbon CFM: not available
+ }
+function HIToolbarItemConfigDataChanged( inItem: HIToolbarItemRef ): OSStatus; external name '_HIToolbarItemConfigDataChanged';
+(* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
+
+
+end.