diff options
Diffstat (limited to 'common/quicktime_win32/HIToolbar.h')
| -rw-r--r-- | common/quicktime_win32/HIToolbar.h | 1412 |
1 files changed, 1412 insertions, 0 deletions
diff --git a/common/quicktime_win32/HIToolbar.h b/common/quicktime_win32/HIToolbar.h new file mode 100644 index 0000000..3a3a253 --- /dev/null +++ b/common/quicktime_win32/HIToolbar.h @@ -0,0 +1,1412 @@ +/* + File: HIToolbar.h + + Contains: Toolbar and Toolbar Item API + + Version: QuickTime 7.3 + + Copyright: (c) 2007 (c) 2001 by Apple Computer, Inc., all rights reserved. + + Bugs?: For bug reports, consult the following page on + the World Wide Web: + + http://developer.apple.com/bugreporter/ + +*/ +#ifndef __HITOOLBAR__ +#define __HITOOLBAR__ + +#ifndef __ICONS__ +#include <Icons.h> +#endif + +#ifndef __HIOBJECT__ +#include <HIObject.h> +#endif + +#ifndef __MENUS__ +#include <Menus.h> +#endif + + + + +#if PRAGMA_ONCE +#pragma once +#endif + +#ifdef __cplusplus +extern "C" { +#endif + +#if PRAGMA_IMPORT +#pragma import on +#endif + +typedef HIObjectRef HIToolbarRef; +typedef HIObjectRef HIToolbarItemRef; +/*----------------------------------------------------------------------------------*/ +/* Standard Toolbox-provided item identifiers */ +/*----------------------------------------------------------------------------------*/ + +#define kHIToolbarSeparatorIdentifier CFSTR("com.apple.hitoolbox.toolbar.separator") +#define kHIToolbarSpaceIdentifier CFSTR("com.apple.hitoolbox.toolbar.space") +#define kHIToolbarFlexibleSpaceIdentifier CFSTR("com.apple.hitoolbox.toolbar.flexiblespace") +#define kHIToolbarCustomizeIdentifier CFSTR("com.apple.hitoolbox.toolbar.customize") +#define kHIToolbarPrintItemIdentifier CFSTR("com.apple.hitoolbox.toolbar.print") +#define kHIToolbarFontsItemIdentifier CFSTR("com.apple.hitoolbox.toolbar.fonts") + + + +/* + * Summary: + * Toolbar Display Mode + */ +enum { + + /* + * 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 +}; + +typedef UInt32 HIToolbarDisplayMode; + +/* + * Summary: + * Toolbar Display Size + */ +enum { + + /* + * 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 +}; + +typedef UInt32 HIToolbarDisplaySize; + +/* + * Summary: + * Toolbar Attributes + */ +enum { + + /* + * 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 << 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 << 1), + kHIToolbarValidAttrs = kHIToolbarAutoSavesConfig | kHIToolbarIsConfigurable +}; + + + +/* + * Summary: + * Toolbar Commands + */ +enum { + + /* + * 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 = FOUR_CHAR_CODE('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 = FOUR_CHAR_CODE('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 = FOUR_CHAR_CODE('tbhd') +}; + + +/* + Parameter Information: + + kEventToolbarGetDefaultIdentifiers + --> kEventParamToolbar typeHIToolbarRef + --> kEventParamMutableArray typeCFMutableArrayRef + + kEventToolbarGetAllowedIdentifiers + --> kEventParamToolbar typeHIToolbarRef + --> kEventParamMutableArray typeCFMutableArrayRef + + kEventToolbarCreateItemWithIdentifier + --> kEventParamToolbar typeHIToolbarRef + --> kEventParamToolbarItemIdentifier typeCFStringRef + --> kEventParamToolbarItemConfigData typeCFTypeRef (optional) + <-- kEventParamToolbarItem typeHIToolbarItemRef + + kEventToolbarCreateItemFromDrag + --> kEventParamDragRef typeDragRef + <-- kEventParamToolbarItem typeHIToolbarItemRef +*/ + +/* + * Summary: + * Toolbar Events + */ +enum { + + /* + * 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. You + * are passed a mutable array to fill in with the identifiers. + */ + kEventToolbarGetDefaultIdentifiers = 1, + + /* + * 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. + */ + kEventToolbarGetAllowedIdentifiers = 2, + + /* + * This event is sent to the delegate to when we need to create an + * item from an identifier. + */ + kEventToolbarCreateItemWithIdentifier = 3, + + /* + * This event is sent to the delegate to when we need to create an + * item from a drag. This 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. + */ + kEventToolbarCreateItemFromDrag = 4 +}; + + +/* + * Summary: + * Toolbar Item Model Events + */ +enum { + + /* + * 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. + */ + kEventToolbarItemImageChanged = 1, + + /* + * 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. + */ + kEventToolbarItemLabelChanged = 2, + + /* + * 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. + */ + kEventToolbarItemHelpTextChanged = 3, + + /* + * 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. + */ + kEventToolbarItemCommandIDChanged = 4, + + /* + * 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. + */ + kEventToolbarItemGetPersistentData = 5, + + /* + * 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. + */ + kEventToolbarItemCreateCustomView = 6, + + /* + * 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. + */ + kEventToolbarItemEnabledStateChanged = 7, + + /* + * 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. + */ + kEventToolbarItemPerformAction = 8 +}; + + +/* + * Summary: + * Toolbar Item Attributes + */ +enum { + kHIToolbarItemNoAttributes = 0, + kHIToolbarItemAllowDuplicates = (1 << 0), + kHIToolbarItemCantBeRemoved = (1 << 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 << 2), + kHIToolbarItemIsSeparator = (1 << 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 << 4), + kHIToolbarItemValidAttrs = kHIToolbarItemAllowDuplicates | kHIToolbarItemIsSeparator | kHIToolbarItemCantBeRemoved | kHIToolbarItemAnchoredLeft | kHIToolbarItemSendCmdToUserFocus, + kHIToolbarItemMutableAttrs = kHIToolbarItemCantBeRemoved | kHIToolbarItemAnchoredLeft +}; + +/*======================================================================================*/ +/* FUNCTIONS */ +/*======================================================================================*/ +#define _HIToolbarCreate HIToolbarCreate +/* + * HIToolbarCreate() + * + * Discussion: + * Creates a toolbar. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarCreate( + CFStringRef inIdentifier, + OptionBits inAttributes, + HIToolbarRef * outToolbar); + + +#define _HIToolbarGetAttributes HIToolbarGetAttributes +/* + * HIToolbarGetAttributes() + * + * Discussion: + * Returns the attributes for the given toolbar. + * + * Parameters: + * + * inToolbar: + * The toolbar whose attributes you desire. + * + * outAttributes: + * The attributes. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarGetAttributes( + HIToolbarRef inToolbar, + OptionBits * outAttributes); + + +#define _HIToolbarChangeAttributes HIToolbarChangeAttributes +/* + * HIToolbarChangeAttributes() + * + * Discussion: + * Changes the attributes of a toolbar. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarChangeAttributes( + HIToolbarRef inToolbar, + OptionBits inAttrsToSet, + OptionBits inAttrsToClear); + + +#define _HIToolbarGetDisplayMode HIToolbarGetDisplayMode +/* + * HIToolbarGetDisplayMode() + * + * Discussion: + * Returns the current display mode of a toolbar. + * + * Parameters: + * + * inToolbar: + * The toolbar whose display mode you wish to receive. + * + * outDisplayMode: + * The display mode. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarGetDisplayMode( + HIToolbarRef inToolbar, + HIToolbarDisplayMode * outDisplayMode); + + +#define _HIToolbarSetDisplayMode HIToolbarSetDisplayMode +/* + * HIToolbarSetDisplayMode() + * + * Discussion: + * Sets the current display mode of a toolbar. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarSetDisplayMode( + HIToolbarRef inToolbar, + HIToolbarDisplayMode inDisplayMode); + + +#define _HIToolbarGetDisplaySize HIToolbarGetDisplaySize +/* + * HIToolbarGetDisplaySize() + * + * Discussion: + * Gets the current display size of a toolbar. + * + * Parameters: + * + * inToolbar: + * The toolbar whose display size you wish to get. + * + * outSize: + * The display size. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarGetDisplaySize( + HIToolbarRef inToolbar, + HIToolbarDisplaySize * outSize); + + +#define _HIToolbarSetDisplaySize HIToolbarSetDisplaySize +/* + * HIToolbarSetDisplaySize() + * + * Discussion: + * Sets the current display size of a toolbar. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarSetDisplaySize( + HIToolbarRef inToolbar, + HIToolbarDisplaySize inSize); + + +#define _HIToolbarCopyIdentifier HIToolbarCopyIdentifier +/* + * HIToolbarCopyIdentifier() + * + * Discussion: + * Returns the identifier for a toolbar. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarCopyIdentifier( + HIToolbarRef inToolbar, + CFStringRef * outIdentifier); + + +#define _HIToolbarCopyItems HIToolbarCopyItems +/* + * HIToolbarCopyItems() + * + * Discussion: + * Returns the array of toolbar items for a toolbar. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarCopyItems( + HIToolbarRef inToolbar, + CFArrayRef * outItems); + + +/* + * 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. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarCreateItemWithIdentifier( + HIToolbarRef inToolbar, + CFStringRef inIdentifier, + CFTypeRef inConfigData, /* can be NULL */ + HIToolbarItemRef * outItem); + + + +#define _HIToolbarInsertItemAtIndex HIToolbarInsertItemAtIndex +/* + * 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. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarInsertItemAtIndex( + HIToolbarRef inToolbar, + HIToolbarItemRef inItem, + CFIndex inIndex); + + + +#define _HIToolbarAppendItem HIToolbarAppendItem +/* + * HIToolbarAppendItem() + * + * Discussion: + * Appends an item to the end of a toolbar. Generally, you should + * always add items via identifier, and not with this routine. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarAppendItem( + HIToolbarRef inToolbar, + HIToolbarItemRef inItem); + + +#define _HIToolbarRemoveItemAtIndex HIToolbarRemoveItemAtIndex +/* + * HIToolbarRemoveItemAtIndex() + * + * Discussion: + * Removes an item at a given index from a toolbar. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarRemoveItemAtIndex( + HIToolbarRef inToolbar, + CFIndex inIndex); + + +#define _HIToolbarSetDelegate HIToolbarSetDelegate +/* + * 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. + * + * Parameters: + * + * inToolbar: + * The toolbar you are removing the item from. + * + * inDelegate: + * The HIObjectRef to act as the delegate. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarSetDelegate( + HIToolbarRef inToolbar, + HIObjectRef inDelegate); + + +#define _HIToolbarGetDelegate HIToolbarGetDelegate +/* + * HIToolbarGetDelegate() + * + * Discussion: + * Returns the current delegate in use by a toolbar. + * + * Parameters: + * + * inToolbar: + * The toolbar you want the delegate from. + * + * Result: + * An HIObjectRef. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( HIObjectRef ) +HIToolbarGetDelegate(HIToolbarRef inToolbar); + + +/*==========================================================================*/ +/* HITOOLBARITEM */ +/*==========================================================================*/ +/* The HIObject class ID for the ToolbarItem class. */ + +#define kHIToolbarItemClassID CFSTR("com.apple.hitoolbaritem") + + +/* Required construction parameters */ +/* */ +/* You must pass these parameters in the initialization event if you are */ +/* subclassing the toolbar item */ +/* */ +/* kEventParamToolbarItemIdentifier typeCFStringRef */ +/* kEventParamAttibutes typeUInt32 */ + + +#define _HIToolbarItemCreate HIToolbarItemCreate +/* + * 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. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemCreate( + CFStringRef inIdentifier, + OptionBits inOptions, + HIToolbarItemRef * outItem); + + +#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). + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemCopyIdentifier( + HIToolbarItemRef inItem, + CFStringRef * outIdentifier); + + +#define _HIToolbarItemGetAttributes HIToolbarItemGetAttributes +/* + * HIToolbarItemGetAttributes() + * + * Discussion: + * Returns the attributes of the given item. + * + * Parameters: + * + * inItem: + * The item in question. + * + * outAttributes: + * The attributes of the item. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemGetAttributes( + HIToolbarItemRef inItem, + OptionBits * outAttributes); + + +#define _HIToolbarItemChangeAttributes HIToolbarItemChangeAttributes +/* + * HIToolbarItemChangeAttributes() + * + * Discussion: + * Changes the attributes of a toolbar item. Only those attributes + * defined by the kHIToolbarItemChangeableAttrs can be passed into + * this API. All other options can only be specified at creation. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemChangeAttributes( + HIToolbarItemRef inItem, + OptionBits inAttrsToSet, + OptionBits inAttrsToClear); + + +#define _HIToolbarItemSetLabel HIToolbarItemSetLabel +/* + * 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. + * + * Parameters: + * + * inItem: + * The item in question. + * + * inLabel: + * The label. The toolbox will copy the string passed in. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemSetLabel( + HIToolbarItemRef inItem, + CFStringRef inLabel); + + +#define _HIToolbarItemCopyLabel HIToolbarItemCopyLabel +/* + * HIToolbarItemCopyLabel() + * + * Discussion: + * Returns the label of a toolbar item. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemCopyLabel( + HIToolbarItemRef inItem, + CFStringRef * outLabel); + + +#define _HIToolbarItemSetHelpText HIToolbarItemSetHelpText +/* + * HIToolbarItemSetHelpText() + * + * Discussion: + * Sets the text used for help tags for a toolbar item. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemSetHelpText( + HIToolbarItemRef inItem, + CFStringRef inShortText, + CFStringRef inLongText); /* can be NULL */ + + +#define _HIToolbarItemCopyHelpText HIToolbarItemCopyHelpText +/* + * HIToolbarItemCopyHelpText() + * + * Discussion: + * Returns the text used for help tags for a toolbar item. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemCopyHelpText( + HIToolbarItemRef inItem, + CFStringRef * outShortText, /* can be NULL */ + CFStringRef * outLongText); /* can be NULL */ + + +#define _HIToolbarItemSetCommandID HIToolbarItemSetCommandID +/* + * 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. + * + * Parameters: + * + * inItem: + * The item in question. + * + * inCommandID: + * The command ID. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemSetCommandID( + HIToolbarItemRef inItem, + MenuCommand inCommandID); + + +#define _HIToolbarItemGetCommandID HIToolbarItemGetCommandID +/* + * HIToolbarItemGetCommandID() + * + * Discussion: + * Gets the command ID of a toolbar item. + * + * Parameters: + * + * inItem: + * The item in question. + * + * outCommandID: + * The command ID. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemGetCommandID( + HIToolbarItemRef inItem, + MenuCommand * outCommandID); + + +#define _HIToolbarItemSetIconRef HIToolbarItemSetIconRef +/* + * HIToolbarItemSetIconRef() + * + * Discussion: + * Sets the icon for a toolbar item. + * + * 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. ooo NOTE: This API may change or disappear! + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemSetIconRef( + HIToolbarItemRef inItem, + IconRef inIcon); + + +#define _HIToolbarItemSetImage HIToolbarItemSetImage +/* + * 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. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemSetImage( + HIToolbarItemRef inItem, + CGImageRef inImage); + + +#define _HIToolbarItemCopyImage HIToolbarItemCopyImage +/* + * 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. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemCopyImage( + HIToolbarItemRef inItem, + CGImageRef * outImage); + + +#define _HIToolbarItemSetMenu HIToolbarItemSetMenu +/* + * 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 both in the 'more items' indicator popup + * attached to the item name. 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. + * + * 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. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemSetMenu( + HIToolbarItemRef inItem, + MenuRef inMenu); + + +#define _HIToolbarItemCopyMenu HIToolbarItemCopyMenu +/* + * HIToolbarItemCopyMenu() + * + * Discussion: + * Gets the submenu for a toolbar item. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemCopyMenu( + HIToolbarItemRef inItem, + MenuRef * outMenu); + + +#define _HIToolbarItemGetToolbar HIToolbarItemGetToolbar +/* + * HIToolbarItemGetToolbar() + * + * Discussion: + * Gets the toolbar a toolbar item is attached to. + * + * 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: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( HIToolbarRef ) +HIToolbarItemGetToolbar(HIToolbarItemRef inItem); + + +/* + * HIToolbarItemIsEnabled() + * + * Discussion: + * Used to determine if a toolbar item is enabled. + * + * Parameters: + * + * inItem: + * The item in question. + * + * Result: + * A boolean result. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( Boolean ) +HIToolbarItemIsEnabled(HIToolbarItemRef inItem); + + +/* + * HIToolbarItemSetEnabled() + * + * Discussion: + * Enables or disables a toolbar item. + * + * Parameters: + * + * inItem: + * The item in question. + * + * inEnabled: + * The new enabled state. + * + * Result: + * An operating system result code. + * + * Availability: + * Non-Carbon CFM: not available + * CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.2 and later + * Mac OS X: in version 10.2 and later + */ +EXTERN_API_C( OSStatus ) +HIToolbarItemSetEnabled( + HIToolbarItemRef inItem, + Boolean inEnabled); + + + +#ifdef PRAGMA_IMPORT_OFF +#pragma import off +#elif PRAGMA_IMPORT +#pragma import reset +#endif + +#ifdef __cplusplus +} +#endif + +#endif /* __HITOOLBAR__ */ + |