You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6103 lines
211 KiB
6103 lines
211 KiB
/* |
|
File: ControlDefinitions.h |
|
|
|
Contains: Definitions of controls provided by the Control Manager |
|
|
|
Version: QuickTime 7.3 |
|
|
|
Copyright: (c) 2007 (c) 1999-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 __CONTROLDEFINITIONS__ |
|
#define __CONTROLDEFINITIONS__ |
|
|
|
#ifndef __MACTYPES__ |
|
#include <MacTypes.h> |
|
#endif |
|
|
|
#ifndef __CFSTRING__ |
|
#include <CFString.h> |
|
#endif |
|
|
|
#ifndef __APPEARANCE__ |
|
#include <Appearance.h> |
|
#endif |
|
|
|
#ifndef __CARBONEVENTS__ |
|
#include <CarbonEvents.h> |
|
#endif |
|
|
|
#ifndef __CONTROLS__ |
|
#include <Controls.h> |
|
#endif |
|
|
|
#ifndef __LISTS__ |
|
#include <Lists.h> |
|
#endif |
|
|
|
#ifndef __MACHELP__ |
|
#include <MacHelp.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 |
|
|
|
#if PRAGMA_STRUCT_ALIGN |
|
#pragma options align=mac68k |
|
#elif PRAGMA_STRUCT_PACKPUSH |
|
#pragma pack(push, 2) |
|
#elif PRAGMA_STRUCT_PACK |
|
#pragma pack(2) |
|
#endif |
|
|
|
|
|
/* |
|
* ControlDefinitions.h |
|
* |
|
* Discussion: |
|
* System software supplies a variety of controls for your |
|
* applications to use. They are described herein. |
|
*/ |
|
/*------------------------------------------------------------------------------------------------------*/ |
|
/* o Resource Types */ |
|
/*------------------------------------------------------------------------------------------------------*/ |
|
|
|
enum { |
|
kControlTabListResType = FOUR_CHAR_CODE('tab#'), /* used for tab control (Appearance 1.0 and later)*/ |
|
kControlListDescResType = FOUR_CHAR_CODE('ldes') /* used for list box control (Appearance 1.0 and later)*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o Check Box Values */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
enum { |
|
kControlCheckBoxUncheckedValue = 0, |
|
kControlCheckBoxCheckedValue = 1, |
|
kControlCheckBoxMixedValue = 2 |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o Radio Button Values */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
enum { |
|
kControlRadioButtonUncheckedValue = 0, |
|
kControlRadioButtonCheckedValue = 1, |
|
kControlRadioButtonMixedValue = 2 |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o Pop-Up Menu Control Constants */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Variant codes for the System 7 pop-up menu*/ |
|
enum { |
|
popupFixedWidth = 1 << 0, |
|
popupVariableWidth = 1 << 1, |
|
popupUseAddResMenu = 1 << 2, |
|
popupUseWFont = 1 << 3 |
|
}; |
|
|
|
/* Menu label styles for the System 7 pop-up menu*/ |
|
enum { |
|
popupTitleBold = 1 << 8, |
|
popupTitleItalic = 1 << 9, |
|
popupTitleUnderline = 1 << 10, |
|
popupTitleOutline = 1 << 11, |
|
popupTitleShadow = 1 << 12, |
|
popupTitleCondense = 1 << 13, |
|
popupTitleExtend = 1 << 14, |
|
popupTitleNoStyle = 1 << 15 |
|
}; |
|
|
|
/* Menu label justifications for the System 7 pop-up menu*/ |
|
enum { |
|
popupTitleLeftJust = 0x00000000, |
|
popupTitleCenterJust = 0x00000001, |
|
popupTitleRightJust = 0x000000FF |
|
}; |
|
|
|
/*------------------------------------------------------------------------------------------------------*/ |
|
/* o PopUp Menu Private Data Structure */ |
|
/*------------------------------------------------------------------------------------------------------*/ |
|
#if !OPAQUE_TOOLBOX_STRUCTS |
|
struct PopupPrivateData { |
|
MenuRef mHandle; |
|
SInt16 mID; |
|
}; |
|
typedef struct PopupPrivateData PopupPrivateData; |
|
typedef PopupPrivateData * PopupPrivateDataPtr; |
|
typedef PopupPrivateDataPtr * PopupPrivateDataHandle; |
|
#endif /* !OPAQUE_TOOLBOX_STRUCTS */ |
|
|
|
/*------------------------------------------------------------------------------------------------------*/ |
|
/* o Control Definition ID's */ |
|
/*------------------------------------------------------------------------------------------------------*/ |
|
/* Standard System 7 procIDs*/ |
|
|
|
enum { |
|
pushButProc = 0, |
|
checkBoxProc = 1, |
|
radioButProc = 2, |
|
scrollBarProc = 16, |
|
popupMenuProc = 1008 |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o Control Part Codes */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
enum { |
|
kControlLabelPart = 1, |
|
kControlMenuPart = 2, |
|
kControlTrianglePart = 4, |
|
kControlEditTextPart = 5, /* Appearance 1.0 and later*/ |
|
kControlPicturePart = 6, /* Appearance 1.0 and later*/ |
|
kControlIconPart = 7, /* Appearance 1.0 and later*/ |
|
kControlClockPart = 8, /* Appearance 1.0 and later*/ |
|
kControlListBoxPart = 24, /* Appearance 1.0 and later*/ |
|
kControlListBoxDoubleClickPart = 25, /* Appearance 1.0 and later*/ |
|
kControlImageWellPart = 26, /* Appearance 1.0 and later*/ |
|
kControlRadioGroupPart = 27, /* Appearance 1.0.2 and later*/ |
|
kControlButtonPart = 10, |
|
kControlCheckBoxPart = 11, |
|
kControlRadioButtonPart = 11, |
|
kControlUpButtonPart = 20, |
|
kControlDownButtonPart = 21, |
|
kControlPageUpPart = 22, |
|
kControlPageDownPart = 23, |
|
kControlClockHourDayPart = 9, /* Appearance 1.1 and later*/ |
|
kControlClockMinuteMonthPart = 10, /* Appearance 1.1 and later*/ |
|
kControlClockSecondYearPart = 11, /* Appearance 1.1 and later*/ |
|
kControlClockAMPMPart = 12, /* Appearance 1.1 and later*/ |
|
kControlDataBrowserPart = 24, /* CarbonLib 1.0 and later*/ |
|
kControlDataBrowserDraggedPart = 25 /* CarbonLib 1.0 and later*/ |
|
}; |
|
|
|
|
|
|
|
/*------------------------------------------------------------------------------------------------------*/ |
|
/* o Control Types and ID's available only with Appearance 1.0 and later */ |
|
/*------------------------------------------------------------------------------------------------------*/ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o BEVEL BUTTON INTERFACE (CDEF 2) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Bevel buttons allow you to control the content type (pict/icon/etc.), the behavior */ |
|
/* (pushbutton/toggle/sticky), and the bevel size. You also have the option of */ |
|
/* attaching a menu to it. When a menu is present, you can specify which way the */ |
|
/* popup arrow is facing (down or right). */ |
|
/* */ |
|
/* This is all made possible by overloading the Min, Max, and Value parameters for the */ |
|
/* control, as well as adjusting the variant. Here's the breakdown of what goes where: */ |
|
/* */ |
|
/* Parameter What Goes Here */ |
|
/* ------------------- ---------------------------------------------------- */ |
|
/* Min Hi Byte = Behavior, Lo Byte = content type. */ |
|
/* Max ResID for resource-based content types. */ |
|
/* Value MenuID to attach, 0 = no menu, please. */ |
|
/* */ |
|
/* The variant is broken down into two halfs. The low 2 bits control the bevel type. */ |
|
/* Bit 2 controls the popup arrow direction (if a menu is present) and bit 3 controls */ |
|
/* whether or not to use the control's owning window's font. */ |
|
/* */ |
|
/* Constants for all you need to put this together are below. The values for behaviors */ |
|
/* are set up so that you can simply add them to the content type and pass them into */ |
|
/* the Min parameter of NewControl. */ |
|
/* */ |
|
/* An example call: */ |
|
/* */ |
|
/* control = NewControl( window, &bounds, "\p", true, 0, kControlContentIconSuiteRes + */ |
|
/* kBehaviorToggles, myIconSuiteID, bevelButtonSmallBevelProc, */ |
|
/* 0L ); */ |
|
/* */ |
|
/* Attaching a menu: */ |
|
/* */ |
|
/* control = NewControl( window, &bounds, "\p", true, kMyMenuID, */ |
|
/* kControlContentIconSuiteRes, myIconSuiteID, bevelButtonSmallBevelProc + */ |
|
/* kBevelButtonMenuOnRight, 0L ); */ |
|
/* */ |
|
/* This will attach menu ID kMyMenuID to the button, with the popup arrow facing right.*/ |
|
/* This also puts the menu up to the right of the button. You can also specify that a */ |
|
/* menu can have multiple items checked at once by adding kBehaviorMultiValueMenus */ |
|
/* into the Min parameter. If you do use multivalue menus, the GetBevelButtonMenuValue */ |
|
/* helper function will return the last item chosen from the menu, whether or not it */ |
|
/* was checked. */ |
|
/* */ |
|
/* NOTE: Bevel buttons with menus actually have *two* values. The value of the */ |
|
/* button (on/off), and the value of the menu. The menu value can be gotten */ |
|
/* with the GetBevelButtonMenuValue helper function. */ |
|
/* */ |
|
/* Handle-based Content */ |
|
/* -------------------- */ |
|
/* You can create your control and then set the content to an existing handle to an */ |
|
/* icon suite, etc. using the macros below. Please keep in mind that resource-based */ |
|
/* content is owned by the control, handle-based content is owned by you. The CDEF will*/ |
|
/* not try to dispose of handle-based content. If you are changing the content type of */ |
|
/* the button on the fly, you must make sure that if you are replacing a handle- */ |
|
/* based content with a resource-based content to properly dispose of the handle, */ |
|
/* else a memory leak will ensue. */ |
|
/* */ |
|
/* Bevel Button Proc IDs */ |
|
enum { |
|
kControlBevelButtonSmallBevelProc = 32, |
|
kControlBevelButtonNormalBevelProc = 33, |
|
kControlBevelButtonLargeBevelProc = 34 |
|
}; |
|
|
|
/* Add these variant codes to kBevelButtonSmallBevelProc to change the type of button */ |
|
enum { |
|
kControlBevelButtonSmallBevelVariant = 0, |
|
kControlBevelButtonNormalBevelVariant = (1 << 0), |
|
kControlBevelButtonLargeBevelVariant = (1 << 1), |
|
kControlBevelButtonMenuOnRightVariant = (1 << 2) |
|
}; |
|
|
|
/* Bevel Thicknesses */ |
|
typedef UInt16 ControlBevelThickness; |
|
enum { |
|
kControlBevelButtonSmallBevel = 0, |
|
kControlBevelButtonNormalBevel = 1, |
|
kControlBevelButtonLargeBevel = 2 |
|
}; |
|
|
|
/* Behaviors of bevel buttons. These are set up so you can add */ |
|
/* them together with the content types. */ |
|
enum { |
|
kControlBehaviorPushbutton = 0, |
|
kControlBehaviorToggles = 0x0100, |
|
kControlBehaviorSticky = 0x0200, |
|
kControlBehaviorSingleValueMenu = 0, |
|
kControlBehaviorMultiValueMenu = 0x4000, /* only makes sense when a menu is attached.*/ |
|
kControlBehaviorOffsetContents = 0x8000 |
|
}; |
|
|
|
/* Behaviors for 1.0.1 or later */ |
|
enum { |
|
kControlBehaviorCommandMenu = 0x2000 /* menu holds commands, not choices. Overrides multi-value bit.*/ |
|
}; |
|
|
|
typedef UInt16 ControlBevelButtonBehavior; |
|
typedef UInt16 ControlBevelButtonMenuBehavior; |
|
/* Bevel Button Menu Placements */ |
|
typedef UInt16 ControlBevelButtonMenuPlacement; |
|
enum { |
|
kControlBevelButtonMenuOnBottom = 0, |
|
kControlBevelButtonMenuOnRight = (1 << 2) |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindBevelButton = FOUR_CHAR_CODE('bevl') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreateBevelButtonControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateBevelButtonControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
ControlBevelThickness thickness, |
|
ControlBevelButtonBehavior behavior, |
|
ControlButtonContentInfoPtr info, |
|
SInt16 menuID, |
|
ControlBevelButtonMenuBehavior menuBehavior, |
|
ControlBevelButtonMenuPlacement menuPlacement, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
|
|
/* Graphic Alignments */ |
|
typedef SInt16 ControlButtonGraphicAlignment; |
|
enum { |
|
kControlBevelButtonAlignSysDirection = -1, /* only left or right*/ |
|
kControlBevelButtonAlignCenter = 0, |
|
kControlBevelButtonAlignLeft = 1, |
|
kControlBevelButtonAlignRight = 2, |
|
kControlBevelButtonAlignTop = 3, |
|
kControlBevelButtonAlignBottom = 4, |
|
kControlBevelButtonAlignTopLeft = 5, |
|
kControlBevelButtonAlignBottomLeft = 6, |
|
kControlBevelButtonAlignTopRight = 7, |
|
kControlBevelButtonAlignBottomRight = 8 |
|
}; |
|
|
|
/* Text Alignments */ |
|
typedef SInt16 ControlButtonTextAlignment; |
|
enum { |
|
kControlBevelButtonAlignTextSysDirection = teFlushDefault, |
|
kControlBevelButtonAlignTextCenter = teCenter, |
|
kControlBevelButtonAlignTextFlushRight = teFlushRight, |
|
kControlBevelButtonAlignTextFlushLeft = teFlushLeft |
|
}; |
|
|
|
/* Text Placements */ |
|
typedef SInt16 ControlButtonTextPlacement; |
|
enum { |
|
kControlBevelButtonPlaceSysDirection = -1, /* if graphic on right, then on left*/ |
|
kControlBevelButtonPlaceNormally = 0, |
|
kControlBevelButtonPlaceToRightOfGraphic = 1, |
|
kControlBevelButtonPlaceToLeftOfGraphic = 2, |
|
kControlBevelButtonPlaceBelowGraphic = 3, |
|
kControlBevelButtonPlaceAboveGraphic = 4 |
|
}; |
|
|
|
|
|
/* Data tags supported by the bevel button controls */ |
|
enum { |
|
kControlBevelButtonContentTag = FOUR_CHAR_CODE('cont'), /* ButtonContentInfo*/ |
|
kControlBevelButtonTransformTag = FOUR_CHAR_CODE('tran'), /* IconTransformType*/ |
|
kControlBevelButtonTextAlignTag = FOUR_CHAR_CODE('tali'), /* ButtonTextAlignment*/ |
|
kControlBevelButtonTextOffsetTag = FOUR_CHAR_CODE('toff'), /* SInt16*/ |
|
kControlBevelButtonGraphicAlignTag = FOUR_CHAR_CODE('gali'), /* ButtonGraphicAlignment*/ |
|
kControlBevelButtonGraphicOffsetTag = FOUR_CHAR_CODE('goff'), /* Point*/ |
|
kControlBevelButtonTextPlaceTag = FOUR_CHAR_CODE('tplc'), /* ButtonTextPlacement*/ |
|
kControlBevelButtonMenuValueTag = FOUR_CHAR_CODE('mval'), /* SInt16*/ |
|
kControlBevelButtonMenuHandleTag = FOUR_CHAR_CODE('mhnd'), /* MenuRef*/ |
|
kControlBevelButtonMenuRefTag = FOUR_CHAR_CODE('mhnd'), /* MenuRef*/ |
|
kControlBevelButtonCenterPopupGlyphTag = FOUR_CHAR_CODE('pglc') /* Boolean: true = center, false = bottom right*/ |
|
}; |
|
|
|
/* These are tags in 1.0.1 or later */ |
|
enum { |
|
kControlBevelButtonLastMenuTag = FOUR_CHAR_CODE('lmnu'), /* SInt16: menuID of last menu item selected from*/ |
|
kControlBevelButtonMenuDelayTag = FOUR_CHAR_CODE('mdly') /* SInt32: ticks to delay before menu appears*/ |
|
}; |
|
|
|
/* tags available with Appearance 1.1 or later */ |
|
enum { |
|
/* Boolean: True = if an icon of the ideal size for*/ |
|
/* the button isn't available, scale a larger or*/ |
|
/* smaller icon to the ideal size. False = don't*/ |
|
/* scale; draw a smaller icon or clip a larger icon.*/ |
|
/* Default is false. Only applies to IconSuites and*/ |
|
kControlBevelButtonScaleIconTag = FOUR_CHAR_CODE('scal') /* IconRefs.*/ |
|
}; |
|
|
|
/* tags available in Mac OS X and later */ |
|
enum { |
|
kControlBevelButtonOwnedMenuRefTag = FOUR_CHAR_CODE('omrf'), /* MenuRef (control will dispose)*/ |
|
kControlBevelButtonKindTag = FOUR_CHAR_CODE('bebk') /* ThemeButtonKind ( kTheme[Small,Medium,Large,Rounded]BevelButton )*/ |
|
}; |
|
|
|
/* Helper routines are available only thru the shared library/glue. */ |
|
/* |
|
* GetBevelButtonMenuValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetBevelButtonMenuValue( |
|
ControlRef inButton, |
|
SInt16 * outValue); |
|
|
|
|
|
/* |
|
* SetBevelButtonMenuValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetBevelButtonMenuValue( |
|
ControlRef inButton, |
|
SInt16 inValue); |
|
|
|
|
|
/* |
|
* GetBevelButtonMenuHandle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetBevelButtonMenuHandle( |
|
ControlRef inButton, |
|
MenuHandle * outHandle); |
|
|
|
|
|
#define GetBevelButtonMenuRef GetBevelButtonMenuHandle |
|
/* |
|
* GetBevelButtonContentInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetBevelButtonContentInfo( |
|
ControlRef inButton, |
|
ControlButtonContentInfoPtr outContent); |
|
|
|
|
|
/* |
|
* SetBevelButtonContentInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetBevelButtonContentInfo( |
|
ControlRef inButton, |
|
ControlButtonContentInfoPtr inContent); |
|
|
|
|
|
/* |
|
* SetBevelButtonTransform() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetBevelButtonTransform( |
|
ControlRef inButton, |
|
IconTransformType transform); |
|
|
|
|
|
/* |
|
* SetBevelButtonGraphicAlignment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetBevelButtonGraphicAlignment( |
|
ControlRef inButton, |
|
ControlButtonGraphicAlignment inAlign, |
|
SInt16 inHOffset, |
|
SInt16 inVOffset); |
|
|
|
|
|
/* |
|
* SetBevelButtonTextAlignment() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetBevelButtonTextAlignment( |
|
ControlRef inButton, |
|
ControlButtonTextAlignment inAlign, |
|
SInt16 inHOffset); |
|
|
|
|
|
/* |
|
* SetBevelButtonTextPlacement() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetBevelButtonTextPlacement( |
|
ControlRef inButton, |
|
ControlButtonTextPlacement inWhere); |
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o SLIDER (CDEF 3) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* There are several variants that control the behavior of the slider control. Any */ |
|
/* combination of the following three constants can be added to the basic CDEF ID */ |
|
/* (kSliderProc). */ |
|
/* */ |
|
/* Variants: */ |
|
/* */ |
|
/* kSliderLiveFeedback Slider does not use "ghosted" indicator when tracking. */ |
|
/* ActionProc is called (set via SetControlAction) as the */ |
|
/* indicator is dragged. The value is updated so that the */ |
|
/* actionproc can adjust some other property based on the */ |
|
/* value each time the action proc is called. If no action */ |
|
/* proc is installed, it reverts to the ghost indicator. */ |
|
/* */ |
|
/* kSliderHasTickMarks Slider is drawn with 'tick marks'. The control */ |
|
/* rectangle must be large enough to accomidate the tick */ |
|
/* marks. */ |
|
/* */ |
|
/* kSliderReverseDirection Slider thumb points in opposite direction than normal. */ |
|
/* If the slider is vertical, the thumb will point to the */ |
|
/* left, if the slider is horizontal, the thumb will point */ |
|
/* upwards. */ |
|
/* */ |
|
/* kSliderNonDirectional This option overrides the kSliderReverseDirection and */ |
|
/* kSliderHasTickMarks variants. It creates an indicator */ |
|
/* which is rectangular and doesn't point in any direction */ |
|
/* like the normal indicator does. */ |
|
/* Slider proc ID and variants */ |
|
enum { |
|
kControlSliderProc = 48, |
|
kControlSliderLiveFeedback = (1 << 0), |
|
kControlSliderHasTickMarks = (1 << 1), |
|
kControlSliderReverseDirection = (1 << 2), |
|
kControlSliderNonDirectional = (1 << 3) |
|
}; |
|
|
|
/* Slider Orientation */ |
|
typedef UInt16 ControlSliderOrientation; |
|
enum { |
|
kControlSliderPointsDownOrRight = 0, |
|
kControlSliderPointsUpOrLeft = 1, |
|
kControlSliderDoesNotPoint = 2 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindSlider = FOUR_CHAR_CODE('sldr') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreateSliderControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateSliderControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
SInt32 value, |
|
SInt32 minimum, |
|
SInt32 maximum, |
|
ControlSliderOrientation orientation, |
|
UInt16 numTickMarks, |
|
Boolean liveTracking, |
|
ControlActionUPP liveTrackingProc, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o DISCLOSURE TRIANGLE (CDEF 4) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This control can be used as either left or right facing. It can also handle its own */ |
|
/* tracking if you wish. This means that when the 'autotoggle' variant is used, if the */ |
|
/* user clicks the control, it's state will change automatically from open to closed */ |
|
/* and vice-versa depending on its initial state. After a successful call to Track- */ |
|
/* Control, you can just check the current value to see what state it was switched to. */ |
|
/* Triangle proc IDs */ |
|
enum { |
|
kControlTriangleProc = 64, |
|
kControlTriangleLeftFacingProc = 65, |
|
kControlTriangleAutoToggleProc = 66, |
|
kControlTriangleLeftFacingAutoToggleProc = 67 |
|
}; |
|
|
|
typedef UInt16 ControlDisclosureTriangleOrientation; |
|
enum { |
|
kControlDisclosureTrianglePointDefault = 0, /* points right on a left-to-right script system (Mac OS X and later or CarbonLib 1.5 and later only)*/ |
|
kControlDisclosureTrianglePointRight = 1, |
|
kControlDisclosureTrianglePointLeft = 2 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindDisclosureTriangle = FOUR_CHAR_CODE('dist') |
|
}; |
|
|
|
/* |
|
* CreateDisclosureTriangleControl() |
|
* |
|
* Summary: |
|
* Creates a Disclosure Triangle control at a specific position in |
|
* the specified window. |
|
* |
|
* Discussion: |
|
* Disclosure Triangles are small controls that give the user a way |
|
* to toggle the visibility of information or other user interface. |
|
* When information is in a hidden state, a Disclosure Triangle is |
|
* considered "closed" and should point to the right (or sometimes |
|
* to the left). When the user clicks on it, the Disclosure Triangle |
|
* rotates downwards into the "open" state. The application should |
|
* repond by revealing the appropriate information or interface. On |
|
* Mac OS X, a root control will be created for the window if one |
|
* does not already exist. If a root control exists for the window, |
|
* the Disclosure Triangle control will be embedded into it. |
|
* |
|
* Parameters: |
|
* |
|
* inWindow: |
|
* The WindowRef into which the Disclosure Triangle will be |
|
* created. |
|
* |
|
* inBoundsRect: |
|
* The desired position (in coordinates local to the window's |
|
* port) for the Disclosure Triangle. |
|
* |
|
* inOrientation: |
|
* The direction the Disclosure Triangle should point when it is |
|
* "closed". Passing kControlDisclosureTrianglePointDefault is |
|
* only legal as of Mac OS X and CarbonLib 1.5. |
|
* |
|
* inTitle: |
|
* The title for the Disclosure Triangle. The title will only be |
|
* displayed if the inDrawTitle parameter is true. Title display |
|
* only works on Mac OS X. |
|
* |
|
* inInitialValue: |
|
* The starting value determines whether the Disclosure Triangle |
|
* is initially in its "open" or "closed" state. The value 0 |
|
* represents the "closed" state and 1 represents the "open" state. |
|
* |
|
* inDrawTitle: |
|
* A Boolean indicating whether the Disclosure Triangle should |
|
* draw its title next to the widget. Title display only works on |
|
* Mac OS X. |
|
* |
|
* inAutoToggles: |
|
* A Boolean indicating whether the Disclosure Triangle should |
|
* change its own value (from "open" to "closed" and vice-versa) |
|
* automatically when it is clicked on. |
|
* |
|
* outControl: |
|
* On successful output, outControl will contain a reference to |
|
* the Disclosure Triangle control. |
|
* |
|
* Result: |
|
* An OSStatus code indicating success or failure. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateDisclosureTriangleControl( |
|
WindowRef inWindow, |
|
const Rect * inBoundsRect, |
|
ControlDisclosureTriangleOrientation inOrientation, |
|
CFStringRef inTitle, |
|
SInt32 inInitialValue, |
|
Boolean inDrawTitle, |
|
Boolean inAutoToggles, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/* Tagged data supported by disclosure triangles */ |
|
enum { |
|
kControlTriangleLastValueTag = FOUR_CHAR_CODE('last') /* SInt16*/ |
|
}; |
|
|
|
/* Helper routines are available only thru the shared library/glue. */ |
|
/* |
|
* SetDisclosureTriangleLastValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetDisclosureTriangleLastValue( |
|
ControlRef inTabControl, |
|
SInt16 inValue); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o PROGRESS INDICATOR (CDEF 5) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This CDEF implements both determinate and indeterminate progress bars. To switch, */ |
|
/* just use SetControlData to set the indeterminate flag to make it indeterminate call */ |
|
/* IdleControls to step thru the animation. IdleControls should be called at least */ |
|
/* once during your event loop. */ |
|
/* */ |
|
/* We also use this same CDEF for Relevance bars. At this time this control does not */ |
|
/* idle. */ |
|
/* Progress Bar proc IDs */ |
|
enum { |
|
kControlProgressBarProc = 80, |
|
kControlRelevanceBarProc = 81 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindProgressBar = FOUR_CHAR_CODE('prgb'), |
|
kControlKindRelevanceBar = FOUR_CHAR_CODE('relb') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateProgressBarControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateProgressBarControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
SInt32 value, |
|
SInt32 minimum, |
|
SInt32 maximum, |
|
Boolean indeterminate, |
|
ControlRef * outControl); |
|
|
|
|
|
/* |
|
* CreateRelevanceBarControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateRelevanceBarControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
SInt32 value, |
|
SInt32 minimum, |
|
SInt32 maximum, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by progress bars */ |
|
enum { |
|
kControlProgressBarIndeterminateTag = FOUR_CHAR_CODE('inde'), /* Boolean*/ |
|
kControlProgressBarAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o LITTLE ARROWS (CDEF 6) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This control implements the little up and down arrows you'd see in the Memory */ |
|
/* control panel for adjusting the cache size. */ |
|
/* Little Arrows proc IDs */ |
|
enum { |
|
kControlLittleArrowsProc = 96 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindLittleArrows = FOUR_CHAR_CODE('larr') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateLittleArrowsControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateLittleArrowsControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
SInt32 value, |
|
SInt32 minimum, |
|
SInt32 maximum, |
|
SInt32 increment, |
|
ControlRef * outControl); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o CHASING ARROWS (CDEF 7) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* To animate this control, make sure to call IdleControls repeatedly. */ |
|
/* */ |
|
/* Chasing Arrows proc IDs */ |
|
enum { |
|
kControlChasingArrowsProc = 112 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindChasingArrows = FOUR_CHAR_CODE('carr') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateChasingArrowsControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateChasingArrowsControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by the Chasing Arrows control */ |
|
enum { |
|
kControlChasingArrowsAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/ |
|
}; |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o TABS (CDEF 8) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Tabs use an auxiliary resource (tab#) to hold tab information such as the tab name */ |
|
/* and an icon suite ID for each tab. */ |
|
/* */ |
|
/* The ID of the tab# resource that you wish to associate with a tab control should */ |
|
/* be passed in as the Value parameter of the control. If you are using GetNewControl, */ |
|
/* then the Value slot in the CNTL resource should have the ID of the 'tab#' resource */ |
|
/* on creation. */ |
|
/* */ |
|
/* Passing zero in for the tab# resource tells the control not to read in a tab# res. */ |
|
/* You can then use SetControlMaximum to add tabs, followed by a call to SetControlData*/ |
|
/* with the kControlTabInfoTag, passing in a pointer to a ControlTabInfoRec. This sets */ |
|
/* the name and optionally an icon for a tab. */ |
|
/* Tabs proc IDs */ |
|
enum { |
|
kControlTabLargeProc = 128, /* Large tab size, north facing */ |
|
kControlTabSmallProc = 129, /* Small tab size, north facing */ |
|
kControlTabLargeNorthProc = 128, /* Large tab size, north facing */ |
|
kControlTabSmallNorthProc = 129, /* Small tab size, north facing */ |
|
kControlTabLargeSouthProc = 130, /* Large tab size, south facing */ |
|
kControlTabSmallSouthProc = 131, /* Small tab size, south facing */ |
|
kControlTabLargeEastProc = 132, /* Large tab size, east facing */ |
|
kControlTabSmallEastProc = 133, /* Small tab size, east facing */ |
|
kControlTabLargeWestProc = 134, /* Large tab size, west facing */ |
|
kControlTabSmallWestProc = 135 /* Small tab size, west facing */ |
|
}; |
|
|
|
/* Tab Directions */ |
|
typedef UInt16 ControlTabDirection; |
|
enum { |
|
kControlTabDirectionNorth = 0, |
|
kControlTabDirectionSouth = 1, |
|
kControlTabDirectionEast = 2, |
|
kControlTabDirectionWest = 3 |
|
}; |
|
|
|
/* Tab Sizes */ |
|
typedef UInt16 ControlTabSize; |
|
enum { |
|
kControlTabSizeLarge = kControlSizeNormal, |
|
kControlTabSizeSmall = kControlSizeSmall |
|
}; |
|
|
|
/* Control Tab Entry - used during creation */ |
|
/* Note that the client is responsible for allocating/providing */ |
|
/* the ControlButtonContentInfo and string storage for this */ |
|
/* structure. */ |
|
struct ControlTabEntry { |
|
ControlButtonContentInfo * icon; |
|
CFStringRef name; |
|
Boolean enabled; |
|
}; |
|
typedef struct ControlTabEntry ControlTabEntry; |
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindTabs = FOUR_CHAR_CODE('tabs') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateTabsControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateTabsControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
ControlTabSize size, |
|
ControlTabDirection direction, |
|
UInt16 numTabs, |
|
const ControlTabEntry * tabArray, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/* Tagged data supported by tabs */ |
|
enum { |
|
kControlTabContentRectTag = FOUR_CHAR_CODE('rect'), /* Rect*/ |
|
kControlTabEnabledFlagTag = FOUR_CHAR_CODE('enab'), /* Boolean*/ |
|
kControlTabFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/ |
|
}; |
|
|
|
/* New tags in 1.0.1 or later */ |
|
enum { |
|
kControlTabInfoTag = FOUR_CHAR_CODE('tabi') /* ControlTabInfoRec*/ |
|
}; |
|
|
|
/* New tags in X 10.1 or later */ |
|
enum { |
|
kControlTabImageContentTag = FOUR_CHAR_CODE('cont') /* ControlButtonContentInfo*/ |
|
}; |
|
|
|
enum { |
|
kControlTabInfoVersionZero = 0, /* ControlTabInfoRec*/ |
|
kControlTabInfoVersionOne = 1 /* ControlTabInfoRecV1*/ |
|
}; |
|
|
|
struct ControlTabInfoRec { |
|
SInt16 version; /* version of this structure.*/ |
|
SInt16 iconSuiteID; /* icon suite to use. Zero indicates no icon*/ |
|
Str255 name; /* name to be displayed on the tab*/ |
|
}; |
|
typedef struct ControlTabInfoRec ControlTabInfoRec; |
|
struct ControlTabInfoRecV1 { |
|
SInt16 version; /* version of this structure. == kControlTabInfoVersionOne*/ |
|
SInt16 iconSuiteID; /* icon suite to use. Zero indicates no icon*/ |
|
CFStringRef name; /* name to be displayed on the tab. Will be retained so caller*/ |
|
/* should always release it.*/ |
|
}; |
|
typedef struct ControlTabInfoRecV1 ControlTabInfoRecV1; |
|
/* Helper routines are available only thru the shared library/glue. */ |
|
/* |
|
* GetTabContentRect() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetTabContentRect( |
|
ControlRef inTabControl, |
|
Rect * outContentRect); |
|
|
|
|
|
/* |
|
* SetTabEnabled() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetTabEnabled( |
|
ControlRef inTabControl, |
|
SInt16 inTabToHilite, |
|
Boolean inEnabled); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o VISUAL SEPARATOR (CDEF 9) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Separator lines determine their orientation (horizontal or vertical) automatically */ |
|
/* based on the relative height and width of their contrlRect. */ |
|
/* Visual separator proc IDs */ |
|
enum { |
|
kControlSeparatorLineProc = 144 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindSeparator = FOUR_CHAR_CODE('sepa') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateSeparatorControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateSeparatorControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
ControlRef * outControl); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o GROUP BOX (CDEF 10) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* The group box CDEF can be use in several ways. It can have no title, a text title, */ |
|
/* a check box as the title, or a popup button as a title. There are two versions of */ |
|
/* group boxes, primary and secondary, which look slightly different. */ |
|
/* Group Box proc IDs */ |
|
enum { |
|
kControlGroupBoxTextTitleProc = 160, |
|
kControlGroupBoxCheckBoxProc = 161, |
|
kControlGroupBoxPopupButtonProc = 162, |
|
kControlGroupBoxSecondaryTextTitleProc = 164, |
|
kControlGroupBoxSecondaryCheckBoxProc = 165, |
|
kControlGroupBoxSecondaryPopupButtonProc = 166 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindGroupBox = FOUR_CHAR_CODE('grpb'), |
|
kControlKindCheckGroupBox = FOUR_CHAR_CODE('cgrp'), |
|
kControlKindPopupGroupBox = FOUR_CHAR_CODE('pgrp') |
|
}; |
|
|
|
/* Creation APIs: Carbon only */ |
|
/* |
|
* CreateGroupBoxControl() |
|
* |
|
* Summary: |
|
* Creates a group box control. |
|
* |
|
* Parameters: |
|
* |
|
* window: |
|
* The window that should contain the control. |
|
* |
|
* boundsRect: |
|
* The bounding box of the control. |
|
* |
|
* title: |
|
* The title of the control. |
|
* |
|
* primary: |
|
* Whether to create a primary or secondary group box. |
|
* |
|
* outControl: |
|
* On exit, contains the new control. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateGroupBoxControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
Boolean primary, |
|
ControlRef * outControl); |
|
|
|
|
|
/* |
|
* CreateCheckGroupBoxControl() |
|
* |
|
* Summary: |
|
* Creates a group box control that has a check box as its title. |
|
* |
|
* Parameters: |
|
* |
|
* window: |
|
* The window that should contain the control. |
|
* |
|
* boundsRect: |
|
* The bounding box of the control. |
|
* |
|
* title: |
|
* The title of the control (used as the title of the check box). |
|
* |
|
* initialValue: |
|
* The initial value of the check box. |
|
* |
|
* primary: |
|
* Whether to create a primary or secondary group box. |
|
* |
|
* autoToggle: |
|
* Whether to create an auto-toggling check box. Auto-toggling |
|
* check box titles are only supported on Mac OS X; this parameter |
|
* must be false when used with CarbonLib. |
|
* |
|
* outControl: |
|
* On exit, contains the new control. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateCheckGroupBoxControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
SInt32 initialValue, |
|
Boolean primary, |
|
Boolean autoToggle, |
|
ControlRef * outControl); |
|
|
|
|
|
/* |
|
* CreatePopupGroupBoxControl() |
|
* |
|
* Summary: |
|
* Creates a group box control that has a popup button as its title. |
|
* |
|
* Parameters: |
|
* |
|
* window: |
|
* The window that should contain the control. |
|
* |
|
* boundsRect: |
|
* The bounding box of the control. |
|
* |
|
* title: |
|
* The title of the control (used as the title of the popup |
|
* button). |
|
* |
|
* primary: |
|
* Whether to create a primary or secondary group box. |
|
* |
|
* menuID: |
|
* The menu ID of the menu to be displayed by the popup button. |
|
* |
|
* variableWidth: |
|
* Whether the popup button should have a variable-width title. |
|
* Fixed-width titles are only supported by Mac OS X; this |
|
* parameter must be true when used with CarbonLib. |
|
* |
|
* titleWidth: |
|
* The width in pixels of the popup button title. |
|
* |
|
* titleJustification: |
|
* The justification of the popup button title. Use one of the |
|
* TextEdit justification constants here (teFlushDefault, |
|
* teCenter, teFlushRight, or teFlushLeft). |
|
* |
|
* titleStyle: |
|
* The QuickDraw text style of the popup button title. |
|
* |
|
* outControl: |
|
* On exit, contains the new control. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreatePopupGroupBoxControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
Boolean primary, |
|
SInt16 menuID, |
|
Boolean variableWidth, |
|
SInt16 titleWidth, |
|
SInt16 titleJustification, |
|
Style titleStyle, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/* Tagged data supported by group box */ |
|
enum { |
|
kControlGroupBoxMenuHandleTag = FOUR_CHAR_CODE('mhan'), /* MenuRef (popup title only)*/ |
|
kControlGroupBoxMenuRefTag = FOUR_CHAR_CODE('mhan'), /* MenuRef (popup title only)*/ |
|
kControlGroupBoxFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/ |
|
}; |
|
|
|
/* tags available with Appearance 1.1 or later */ |
|
enum { |
|
kControlGroupBoxTitleRectTag = FOUR_CHAR_CODE('trec') /* Rect. Rectangle that the title text/control is drawn in. (get only)*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o IMAGE WELL (CDEF 11) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Image Wells allow you to control the content type (pict/icon/etc.) shown in the */ |
|
/* well. */ |
|
/* */ |
|
/* This is made possible by overloading the Min and Value parameters for the control. */ |
|
/* */ |
|
/* Parameter What Goes Here */ |
|
/* ------------------- -------------------------------------------------- */ |
|
/* Min content type (see constants for bevel buttons) */ |
|
/* Value Resource ID of content type, if resource-based. */ |
|
/* */ |
|
/* */ |
|
/* Handle-based Content */ |
|
/* -------------------- */ |
|
/* You can create your control and then set the content to an existing handle to an */ |
|
/* icon suite, etc. using the macros below. Please keep in mind that resource-based */ |
|
/* content is owned by the control, handle-based content is owned by you. The CDEF will*/ |
|
/* not try to dispose of handle-based content. If you are changing the content type of */ |
|
/* the button on the fly, you must make sure that if you are replacing a handle- */ |
|
/* based content with a resource-based content to properly dispose of the handle, */ |
|
/* else a memory leak will ensue. */ |
|
/* */ |
|
/* Image Well proc IDs */ |
|
enum { |
|
kControlImageWellProc = 176 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindImageWell = FOUR_CHAR_CODE('well') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateImageWellControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateImageWellControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
const ControlButtonContentInfo * info, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by image wells */ |
|
enum { |
|
kControlImageWellContentTag = FOUR_CHAR_CODE('cont'), /* ButtonContentInfo*/ |
|
kControlImageWellTransformTag = FOUR_CHAR_CODE('tran'), /* IconTransformType*/ |
|
kControlImageWellIsDragDestinationTag = FOUR_CHAR_CODE('drag') /* Boolean*/ |
|
}; |
|
|
|
/* Helper routines are available only thru the shared library/glue. */ |
|
/* |
|
* GetImageWellContentInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
GetImageWellContentInfo( |
|
ControlRef inButton, |
|
ControlButtonContentInfoPtr outContent); |
|
|
|
|
|
/* |
|
* SetImageWellContentInfo() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetImageWellContentInfo( |
|
ControlRef inButton, |
|
ControlButtonContentInfoPtr inContent); |
|
|
|
|
|
/* |
|
* SetImageWellTransform() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: in AppearanceLib 1.0 and later |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSErr ) |
|
SetImageWellTransform( |
|
ControlRef inButton, |
|
IconTransformType inTransform); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o POPUP ARROW (CDEF 12) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* The popup arrow CDEF is used to draw the small arrow normally associated with a */ |
|
/* popup control. The arrow can point in four directions, and a small or large version */ |
|
/* can be used. This control is provided to allow clients to draw the arrow in a */ |
|
/* normalized fashion which will take advantage of themes automatically. */ |
|
/* */ |
|
/* Popup Arrow proc IDs */ |
|
enum { |
|
kControlPopupArrowEastProc = 192, |
|
kControlPopupArrowWestProc = 193, |
|
kControlPopupArrowNorthProc = 194, |
|
kControlPopupArrowSouthProc = 195, |
|
kControlPopupArrowSmallEastProc = 196, |
|
kControlPopupArrowSmallWestProc = 197, |
|
kControlPopupArrowSmallNorthProc = 198, |
|
kControlPopupArrowSmallSouthProc = 199 |
|
}; |
|
|
|
/* Popup Arrow Orientations */ |
|
enum { |
|
kControlPopupArrowOrientationEast = 0, |
|
kControlPopupArrowOrientationWest = 1, |
|
kControlPopupArrowOrientationNorth = 2, |
|
kControlPopupArrowOrientationSouth = 3 |
|
}; |
|
|
|
|
|
typedef UInt16 ControlPopupArrowOrientation; |
|
/* Popup Arrow Size */ |
|
enum { |
|
kControlPopupArrowSizeNormal = 0, |
|
kControlPopupArrowSizeSmall = 1 |
|
}; |
|
|
|
typedef UInt16 ControlPopupArrowSize; |
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindPopupArrow = FOUR_CHAR_CODE('parr') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreatePopupArrowControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreatePopupArrowControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
ControlPopupArrowOrientation orientation, |
|
ControlPopupArrowSize size, |
|
ControlRef * outControl); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o PLACARD (CDEF 14) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Placard proc IDs */ |
|
enum { |
|
kControlPlacardProc = 224 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindPlacard = FOUR_CHAR_CODE('plac') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreatePlacardControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreatePlacardControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
ControlRef * outControl); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o CLOCK (CDEF 15) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* NOTE: You can specify more options in the Value paramter when creating the clock. */ |
|
/* See below. */ |
|
/* */ |
|
/* NOTE: Under Appearance 1.1, the clock control knows and returns more part codes. */ |
|
/* The new clock-specific part codes are defined with the other control parts. */ |
|
/* Besides these clock-specific parts, we also return kControlUpButtonPart */ |
|
/* and kControlDownButtonPart when they hit the up and down arrows. */ |
|
/* The new part codes give you more flexibility for focusing and hit testing. */ |
|
/* */ |
|
/* The original kControlClockPart is still valid. When hit testing, it means */ |
|
/* that some non-editable area of the clock's whitespace has been clicked. */ |
|
/* When focusing a currently unfocused clock, it changes the focus to the */ |
|
/* first part; it is the same as passing kControlFocusNextPart. When */ |
|
/* re-focusing a focused clock, it will not change the focus at all. */ |
|
/* Clock proc IDs */ |
|
enum { |
|
kControlClockTimeProc = 240, |
|
kControlClockTimeSecondsProc = 241, |
|
kControlClockDateProc = 242, |
|
kControlClockMonthYearProc = 243 |
|
}; |
|
|
|
/* Clock Types */ |
|
typedef UInt16 ControlClockType; |
|
enum { |
|
kControlClockTypeHourMinute = 0, |
|
kControlClockTypeHourMinuteSecond = 1, |
|
kControlClockTypeMonthDayYear = 2, |
|
kControlClockTypeMonthYear = 3 |
|
}; |
|
|
|
/* Clock Flags */ |
|
/* These flags can be passed into 'value' field on creation of the control. */ |
|
/* Value is set to 0 after control is created. */ |
|
typedef UInt32 ControlClockFlags; |
|
enum { |
|
kControlClockFlagStandard = 0, /* editable, non-live*/ |
|
kControlClockNoFlags = 0, |
|
kControlClockFlagDisplayOnly = 1, /* add this to become non-editable*/ |
|
kControlClockIsDisplayOnly = 1, |
|
kControlClockFlagLive = 2, /* automatically shows current time on idle. only valid with display only.*/ |
|
kControlClockIsLive = 2 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindClock = FOUR_CHAR_CODE('clck') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateClockControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateClockControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
ControlClockType clockType, |
|
ControlClockFlags clockFlags, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by clocks */ |
|
enum { |
|
kControlClockLongDateTag = FOUR_CHAR_CODE('date'), /* LongDateRec*/ |
|
kControlClockFontStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/ |
|
kControlClockAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o USER PANE (CDEF 16) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* User panes have two primary purposes: to allow easy implementation of a custom */ |
|
/* control by the developer, and to provide a generic container for embedding other */ |
|
/* controls. */ |
|
/* */ |
|
/* In Carbon, with the advent of Carbon-event-based controls, you may find it easier */ |
|
/* to simply write a new control from scratch than to customize a user pane control. */ |
|
/* The set of callbacks provided by the user pane will not be extended to support */ |
|
/* new Control Manager features; instead, you should just write a real control. */ |
|
/* */ |
|
/* User panes do not, by default, support embedding. If you try to embed a control */ |
|
/* into a user pane, you will get back errControlIsNotEmbedder. You can make a user */ |
|
/* pane support embedding by passing the kControlSupportsEmbedding flag in the 'value' */ |
|
/* parameter when you create the control. */ |
|
/* */ |
|
/* User panes support the following overloaded control initialization options: */ |
|
/* */ |
|
/* Parameter What Goes Here */ |
|
/* ------------------- -------------------------------------------------- */ |
|
/* Value Control feature flags */ |
|
|
|
/* User Pane proc IDs */ |
|
enum { |
|
kControlUserPaneProc = 256 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindUserPane = FOUR_CHAR_CODE('upan') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateUserPaneControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateUserPaneControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
UInt32 features, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by user panes */ |
|
/* Currently, they are all proc ptrs for doing things like drawing and hit testing, etc. */ |
|
enum { |
|
kControlUserItemDrawProcTag = FOUR_CHAR_CODE('uidp'), /* UserItemUPP*/ |
|
kControlUserPaneDrawProcTag = FOUR_CHAR_CODE('draw'), /* ControlUserPaneDrawingUPP*/ |
|
kControlUserPaneHitTestProcTag = FOUR_CHAR_CODE('hitt'), /* ControlUserPaneHitTestUPP*/ |
|
kControlUserPaneTrackingProcTag = FOUR_CHAR_CODE('trak'), /* ControlUserPaneTrackingUPP*/ |
|
kControlUserPaneIdleProcTag = FOUR_CHAR_CODE('idle'), /* ControlUserPaneIdleUPP*/ |
|
kControlUserPaneKeyDownProcTag = FOUR_CHAR_CODE('keyd'), /* ControlUserPaneKeyDownUPP*/ |
|
kControlUserPaneActivateProcTag = FOUR_CHAR_CODE('acti'), /* ControlUserPaneActivateUPP*/ |
|
kControlUserPaneFocusProcTag = FOUR_CHAR_CODE('foci'), /* ControlUserPaneFocusUPP*/ |
|
kControlUserPaneBackgroundProcTag = FOUR_CHAR_CODE('back') /* ControlUserPaneBackgroundUPP*/ |
|
}; |
|
|
|
typedef CALLBACK_API( void , ControlUserPaneDrawProcPtr )(ControlRef control, SInt16 part); |
|
typedef CALLBACK_API( ControlPartCode , ControlUserPaneHitTestProcPtr )(ControlRef control, Point where); |
|
typedef CALLBACK_API( ControlPartCode , ControlUserPaneTrackingProcPtr )(ControlRef control, Point startPt, ControlActionUPP actionProc); |
|
typedef CALLBACK_API( void , ControlUserPaneIdleProcPtr )(ControlRef control); |
|
typedef CALLBACK_API( ControlPartCode , ControlUserPaneKeyDownProcPtr )(ControlRef control, SInt16 keyCode, SInt16 charCode, SInt16 modifiers); |
|
typedef CALLBACK_API( void , ControlUserPaneActivateProcPtr )(ControlRef control, Boolean activating); |
|
typedef CALLBACK_API( ControlPartCode , ControlUserPaneFocusProcPtr )(ControlRef control, ControlFocusPart action); |
|
typedef CALLBACK_API( void , ControlUserPaneBackgroundProcPtr )(ControlRef control, ControlBackgroundPtr info); |
|
typedef STACK_UPP_TYPE(ControlUserPaneDrawProcPtr) ControlUserPaneDrawUPP; |
|
typedef STACK_UPP_TYPE(ControlUserPaneHitTestProcPtr) ControlUserPaneHitTestUPP; |
|
typedef STACK_UPP_TYPE(ControlUserPaneTrackingProcPtr) ControlUserPaneTrackingUPP; |
|
typedef STACK_UPP_TYPE(ControlUserPaneIdleProcPtr) ControlUserPaneIdleUPP; |
|
typedef STACK_UPP_TYPE(ControlUserPaneKeyDownProcPtr) ControlUserPaneKeyDownUPP; |
|
typedef STACK_UPP_TYPE(ControlUserPaneActivateProcPtr) ControlUserPaneActivateUPP; |
|
typedef STACK_UPP_TYPE(ControlUserPaneFocusProcPtr) ControlUserPaneFocusUPP; |
|
typedef STACK_UPP_TYPE(ControlUserPaneBackgroundProcPtr) ControlUserPaneBackgroundUPP; |
|
/* |
|
* NewControlUserPaneDrawUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneDrawUPP ) |
|
NewControlUserPaneDrawUPP(ControlUserPaneDrawProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneDrawProcInfo = 0x000002C0 }; /* pascal no_return_value Func(4_bytes, 2_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneDrawUPP) NewControlUserPaneDrawUPP(ControlUserPaneDrawProcPtr userRoutine) { return (ControlUserPaneDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneDrawProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneDrawUPP(userRoutine) (ControlUserPaneDrawUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneDrawProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewControlUserPaneHitTestUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneHitTestUPP ) |
|
NewControlUserPaneHitTestUPP(ControlUserPaneHitTestProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneHitTestProcInfo = 0x000003E0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneHitTestUPP) NewControlUserPaneHitTestUPP(ControlUserPaneHitTestProcPtr userRoutine) { return (ControlUserPaneHitTestUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneHitTestProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneHitTestUPP(userRoutine) (ControlUserPaneHitTestUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneHitTestProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewControlUserPaneTrackingUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneTrackingUPP ) |
|
NewControlUserPaneTrackingUPP(ControlUserPaneTrackingProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneTrackingProcInfo = 0x00000FE0 }; /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneTrackingUPP) NewControlUserPaneTrackingUPP(ControlUserPaneTrackingProcPtr userRoutine) { return (ControlUserPaneTrackingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneTrackingProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneTrackingUPP(userRoutine) (ControlUserPaneTrackingUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneTrackingProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewControlUserPaneIdleUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneIdleUPP ) |
|
NewControlUserPaneIdleUPP(ControlUserPaneIdleProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneIdleProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneIdleUPP) NewControlUserPaneIdleUPP(ControlUserPaneIdleProcPtr userRoutine) { return (ControlUserPaneIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneIdleProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneIdleUPP(userRoutine) (ControlUserPaneIdleUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneIdleProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewControlUserPaneKeyDownUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneKeyDownUPP ) |
|
NewControlUserPaneKeyDownUPP(ControlUserPaneKeyDownProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneKeyDownProcInfo = 0x00002AE0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes, 2_bytes, 2_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneKeyDownUPP) NewControlUserPaneKeyDownUPP(ControlUserPaneKeyDownProcPtr userRoutine) { return (ControlUserPaneKeyDownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneKeyDownProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneKeyDownUPP(userRoutine) (ControlUserPaneKeyDownUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneKeyDownProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewControlUserPaneActivateUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneActivateUPP ) |
|
NewControlUserPaneActivateUPP(ControlUserPaneActivateProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneActivateProcInfo = 0x000001C0 }; /* pascal no_return_value Func(4_bytes, 1_byte) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneActivateUPP) NewControlUserPaneActivateUPP(ControlUserPaneActivateProcPtr userRoutine) { return (ControlUserPaneActivateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneActivateProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneActivateUPP(userRoutine) (ControlUserPaneActivateUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneActivateProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewControlUserPaneFocusUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneFocusUPP ) |
|
NewControlUserPaneFocusUPP(ControlUserPaneFocusProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneFocusProcInfo = 0x000002E0 }; /* pascal 2_bytes Func(4_bytes, 2_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneFocusUPP) NewControlUserPaneFocusUPP(ControlUserPaneFocusProcPtr userRoutine) { return (ControlUserPaneFocusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneFocusProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneFocusUPP(userRoutine) (ControlUserPaneFocusUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneFocusProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* NewControlUserPaneBackgroundUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlUserPaneBackgroundUPP ) |
|
NewControlUserPaneBackgroundUPP(ControlUserPaneBackgroundProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlUserPaneBackgroundProcInfo = 0x000003C0 }; /* pascal no_return_value Func(4_bytes, 4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlUserPaneBackgroundUPP) NewControlUserPaneBackgroundUPP(ControlUserPaneBackgroundProcPtr userRoutine) { return (ControlUserPaneBackgroundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneBackgroundProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlUserPaneBackgroundUPP(userRoutine) (ControlUserPaneBackgroundUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlUserPaneBackgroundProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneDrawUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneDrawUPP(ControlUserPaneDrawUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneDrawUPP(ControlUserPaneDrawUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneDrawUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneHitTestUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneHitTestUPP(ControlUserPaneHitTestUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneHitTestUPP(ControlUserPaneHitTestUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneHitTestUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneTrackingUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneTrackingUPP(ControlUserPaneTrackingUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneTrackingUPP(ControlUserPaneTrackingUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneTrackingUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneIdleUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneIdleUPP(ControlUserPaneIdleUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneIdleUPP(ControlUserPaneIdleUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneIdleUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneKeyDownUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneKeyDownUPP(ControlUserPaneKeyDownUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneKeyDownUPP(ControlUserPaneKeyDownUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneKeyDownUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneActivateUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneActivateUPP(ControlUserPaneActivateUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneActivateUPP(ControlUserPaneActivateUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneActivateUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneFocusUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneFocusUPP(ControlUserPaneFocusUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneFocusUPP(ControlUserPaneFocusUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneFocusUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlUserPaneBackgroundUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlUserPaneBackgroundUPP(ControlUserPaneBackgroundUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlUserPaneBackgroundUPP(ControlUserPaneBackgroundUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlUserPaneBackgroundUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneDrawUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeControlUserPaneDrawUPP( |
|
ControlRef control, |
|
SInt16 part, |
|
ControlUserPaneDrawUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeControlUserPaneDrawUPP(ControlRef control, SInt16 part, ControlUserPaneDrawUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneDrawProcInfo, control, part); } |
|
#else |
|
#define InvokeControlUserPaneDrawUPP(control, part, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneDrawProcInfo, (control), (part)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneHitTestUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlPartCode ) |
|
InvokeControlUserPaneHitTestUPP( |
|
ControlRef control, |
|
Point where, |
|
ControlUserPaneHitTestUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneHitTestUPP(ControlRef control, Point where, ControlUserPaneHitTestUPP userUPP) { return (ControlPartCode)CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneHitTestProcInfo, control, where); } |
|
#else |
|
#define InvokeControlUserPaneHitTestUPP(control, where, userUPP) (ControlPartCode)CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneHitTestProcInfo, (control), (where)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneTrackingUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlPartCode ) |
|
InvokeControlUserPaneTrackingUPP( |
|
ControlRef control, |
|
Point startPt, |
|
ControlActionUPP actionProc, |
|
ControlUserPaneTrackingUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneTrackingUPP(ControlRef control, Point startPt, ControlActionUPP actionProc, ControlUserPaneTrackingUPP userUPP) { return (ControlPartCode)CALL_THREE_PARAMETER_UPP(userUPP, uppControlUserPaneTrackingProcInfo, control, startPt, actionProc); } |
|
#else |
|
#define InvokeControlUserPaneTrackingUPP(control, startPt, actionProc, userUPP) (ControlPartCode)CALL_THREE_PARAMETER_UPP((userUPP), uppControlUserPaneTrackingProcInfo, (control), (startPt), (actionProc)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneIdleUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeControlUserPaneIdleUPP( |
|
ControlRef control, |
|
ControlUserPaneIdleUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeControlUserPaneIdleUPP(ControlRef control, ControlUserPaneIdleUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppControlUserPaneIdleProcInfo, control); } |
|
#else |
|
#define InvokeControlUserPaneIdleUPP(control, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppControlUserPaneIdleProcInfo, (control)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneKeyDownUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlPartCode ) |
|
InvokeControlUserPaneKeyDownUPP( |
|
ControlRef control, |
|
SInt16 keyCode, |
|
SInt16 charCode, |
|
SInt16 modifiers, |
|
ControlUserPaneKeyDownUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneKeyDownUPP(ControlRef control, SInt16 keyCode, SInt16 charCode, SInt16 modifiers, ControlUserPaneKeyDownUPP userUPP) { return (ControlPartCode)CALL_FOUR_PARAMETER_UPP(userUPP, uppControlUserPaneKeyDownProcInfo, control, keyCode, charCode, modifiers); } |
|
#else |
|
#define InvokeControlUserPaneKeyDownUPP(control, keyCode, charCode, modifiers, userUPP) (ControlPartCode)CALL_FOUR_PARAMETER_UPP((userUPP), uppControlUserPaneKeyDownProcInfo, (control), (keyCode), (charCode), (modifiers)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneActivateUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeControlUserPaneActivateUPP( |
|
ControlRef control, |
|
Boolean activating, |
|
ControlUserPaneActivateUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeControlUserPaneActivateUPP(ControlRef control, Boolean activating, ControlUserPaneActivateUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneActivateProcInfo, control, activating); } |
|
#else |
|
#define InvokeControlUserPaneActivateUPP(control, activating, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneActivateProcInfo, (control), (activating)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneFocusUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlPartCode ) |
|
InvokeControlUserPaneFocusUPP( |
|
ControlRef control, |
|
ControlFocusPart action, |
|
ControlUserPaneFocusUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlPartCode) InvokeControlUserPaneFocusUPP(ControlRef control, ControlFocusPart action, ControlUserPaneFocusUPP userUPP) { return (ControlPartCode)CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneFocusProcInfo, control, action); } |
|
#else |
|
#define InvokeControlUserPaneFocusUPP(control, action, userUPP) (ControlPartCode)CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneFocusProcInfo, (control), (action)) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlUserPaneBackgroundUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeControlUserPaneBackgroundUPP( |
|
ControlRef control, |
|
ControlBackgroundPtr info, |
|
ControlUserPaneBackgroundUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeControlUserPaneBackgroundUPP(ControlRef control, ControlBackgroundPtr info, ControlUserPaneBackgroundUPP userUPP) { CALL_TWO_PARAMETER_UPP(userUPP, uppControlUserPaneBackgroundProcInfo, control, info); } |
|
#else |
|
#define InvokeControlUserPaneBackgroundUPP(control, info, userUPP) CALL_TWO_PARAMETER_UPP((userUPP), uppControlUserPaneBackgroundProcInfo, (control), (info)) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES |
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ |
|
#define NewControlUserPaneDrawProc(userRoutine) NewControlUserPaneDrawUPP(userRoutine) |
|
#define NewControlUserPaneHitTestProc(userRoutine) NewControlUserPaneHitTestUPP(userRoutine) |
|
#define NewControlUserPaneTrackingProc(userRoutine) NewControlUserPaneTrackingUPP(userRoutine) |
|
#define NewControlUserPaneIdleProc(userRoutine) NewControlUserPaneIdleUPP(userRoutine) |
|
#define NewControlUserPaneKeyDownProc(userRoutine) NewControlUserPaneKeyDownUPP(userRoutine) |
|
#define NewControlUserPaneActivateProc(userRoutine) NewControlUserPaneActivateUPP(userRoutine) |
|
#define NewControlUserPaneFocusProc(userRoutine) NewControlUserPaneFocusUPP(userRoutine) |
|
#define NewControlUserPaneBackgroundProc(userRoutine) NewControlUserPaneBackgroundUPP(userRoutine) |
|
#define CallControlUserPaneDrawProc(userRoutine, control, part) InvokeControlUserPaneDrawUPP(control, part, userRoutine) |
|
#define CallControlUserPaneHitTestProc(userRoutine, control, where) InvokeControlUserPaneHitTestUPP(control, where, userRoutine) |
|
#define CallControlUserPaneTrackingProc(userRoutine, control, startPt, actionProc) InvokeControlUserPaneTrackingUPP(control, startPt, actionProc, userRoutine) |
|
#define CallControlUserPaneIdleProc(userRoutine, control) InvokeControlUserPaneIdleUPP(control, userRoutine) |
|
#define CallControlUserPaneKeyDownProc(userRoutine, control, keyCode, charCode, modifiers) InvokeControlUserPaneKeyDownUPP(control, keyCode, charCode, modifiers, userRoutine) |
|
#define CallControlUserPaneActivateProc(userRoutine, control, activating) InvokeControlUserPaneActivateUPP(control, activating, userRoutine) |
|
#define CallControlUserPaneFocusProc(userRoutine, control, action) InvokeControlUserPaneFocusUPP(control, action, userRoutine) |
|
#define CallControlUserPaneBackgroundProc(userRoutine, control, info) InvokeControlUserPaneBackgroundUPP(control, info, userRoutine) |
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/* |
|
------------------------------------------------------------------------------------------ |
|
o EDIT TEXT (CDEF 17) |
|
------------------------------------------------------------------------------------------ |
|
*/ |
|
/* Edit Text proc IDs */ |
|
enum { |
|
kControlEditTextProc = 272, |
|
kControlEditTextPasswordProc = 274 |
|
}; |
|
|
|
/* proc IDs available with Appearance 1.1 or later */ |
|
enum { |
|
kControlEditTextInlineInputProc = 276 /* Can't combine with the other variants*/ |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindEditText = FOUR_CHAR_CODE('etxt') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateEditTextControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateEditTextControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef text, |
|
Boolean isPassword, |
|
Boolean useInlineInput, |
|
const ControlFontStyleRec * style, /* can be NULL */ |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/* Tagged data supported by edit text */ |
|
enum { |
|
kControlEditTextStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/ |
|
kControlEditTextTextTag = FOUR_CHAR_CODE('text'), /* Buffer of chars - you supply the buffer*/ |
|
kControlEditTextTEHandleTag = FOUR_CHAR_CODE('than'), /* The TEHandle of the text edit record*/ |
|
kControlEditTextKeyFilterTag = kControlKeyFilterTag, |
|
kControlEditTextSelectionTag = FOUR_CHAR_CODE('sele'), /* ControlEditTextSelectionRec*/ |
|
kControlEditTextPasswordTag = FOUR_CHAR_CODE('pass') /* The clear text password text*/ |
|
}; |
|
|
|
/* tags available with Appearance 1.1 or later */ |
|
enum { |
|
kControlEditTextKeyScriptBehaviorTag = FOUR_CHAR_CODE('kscr'), /* ControlKeyScriptBehavior. Defaults to "PrefersRoman" for password fields,*/ |
|
/* or "AllowAnyScript" for non-password fields.*/ |
|
kControlEditTextLockedTag = FOUR_CHAR_CODE('lock'), /* Boolean. Locking disables editability.*/ |
|
kControlEditTextFixedTextTag = FOUR_CHAR_CODE('ftxt'), /* Like the normal text tag, but fixes inline input first*/ |
|
kControlEditTextValidationProcTag = FOUR_CHAR_CODE('vali'), /* ControlEditTextValidationUPP. Called when a key filter can't be: after cut, paste, etc.*/ |
|
kControlEditTextInlinePreUpdateProcTag = FOUR_CHAR_CODE('prup'), /* TSMTEPreUpdateUPP and TSMTEPostUpdateUpp. For use with inline input variant...*/ |
|
kControlEditTextInlinePostUpdateProcTag = FOUR_CHAR_CODE('poup') /* ...The refCon parameter will contain the ControlRef.*/ |
|
}; |
|
|
|
|
|
/* |
|
* Discussion: |
|
* EditText ControlData tags available with MacOSX and later. |
|
*/ |
|
enum { |
|
|
|
/* |
|
* Extract the content of the edit text field as a CFString. Don't |
|
* forget that you own the returned CFStringRef and are responsible |
|
* for CFReleasing it. |
|
*/ |
|
kControlEditTextCFStringTag = FOUR_CHAR_CODE('cfst'), /* CFStringRef (Also available on CarbonLib 1.5)*/ |
|
|
|
/* |
|
* Extract the content of the edit text field as a CFString, if it is |
|
* a password field. Don't forget that you own the returned |
|
* CFStringRef and are responsible for CFReleasing it. |
|
*/ |
|
kControlEditTextPasswordCFStringTag = FOUR_CHAR_CODE('pwcf') /* CFStringRef*/ |
|
}; |
|
|
|
|
|
|
|
|
|
/* Structure for getting the edit text selection */ |
|
struct ControlEditTextSelectionRec { |
|
SInt16 selStart; |
|
SInt16 selEnd; |
|
}; |
|
typedef struct ControlEditTextSelectionRec ControlEditTextSelectionRec; |
|
typedef ControlEditTextSelectionRec * ControlEditTextSelectionPtr; |
|
typedef CALLBACK_API( void , ControlEditTextValidationProcPtr )(ControlRef control); |
|
typedef STACK_UPP_TYPE(ControlEditTextValidationProcPtr) ControlEditTextValidationUPP; |
|
/* |
|
* NewControlEditTextValidationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( ControlEditTextValidationUPP ) |
|
NewControlEditTextValidationUPP(ControlEditTextValidationProcPtr userRoutine); |
|
#if !OPAQUE_UPP_TYPES |
|
enum { uppControlEditTextValidationProcInfo = 0x000000C0 }; /* pascal no_return_value Func(4_bytes) */ |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(ControlEditTextValidationUPP) NewControlEditTextValidationUPP(ControlEditTextValidationProcPtr userRoutine) { return (ControlEditTextValidationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlEditTextValidationProcInfo, GetCurrentArchitecture()); } |
|
#else |
|
#define NewControlEditTextValidationUPP(userRoutine) (ControlEditTextValidationUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppControlEditTextValidationProcInfo, GetCurrentArchitecture()) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* DisposeControlEditTextValidationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeControlEditTextValidationUPP(ControlEditTextValidationUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) DisposeControlEditTextValidationUPP(ControlEditTextValidationUPP userUPP) { DisposeRoutineDescriptor((UniversalProcPtr)userUPP); } |
|
#else |
|
#define DisposeControlEditTextValidationUPP(userUPP) DisposeRoutineDescriptor(userUPP) |
|
#endif |
|
#endif |
|
|
|
/* |
|
* InvokeControlEditTextValidationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: available as macro/inline |
|
* CarbonLib: in CarbonLib 1.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeControlEditTextValidationUPP( |
|
ControlRef control, |
|
ControlEditTextValidationUPP userUPP); |
|
#if !OPAQUE_UPP_TYPES |
|
#ifdef __cplusplus |
|
inline DEFINE_API_C(void) InvokeControlEditTextValidationUPP(ControlRef control, ControlEditTextValidationUPP userUPP) { CALL_ONE_PARAMETER_UPP(userUPP, uppControlEditTextValidationProcInfo, control); } |
|
#else |
|
#define InvokeControlEditTextValidationUPP(control, userUPP) CALL_ONE_PARAMETER_UPP((userUPP), uppControlEditTextValidationProcInfo, (control)) |
|
#endif |
|
#endif |
|
|
|
#if CALL_NOT_IN_CARBON || OLDROUTINENAMES |
|
/* support for pre-Carbon UPP routines: New...Proc and Call...Proc */ |
|
#define NewControlEditTextValidationProc(userRoutine) NewControlEditTextValidationUPP(userRoutine) |
|
#define CallControlEditTextValidationProc(userRoutine, control) InvokeControlEditTextValidationUPP(control, userRoutine) |
|
#endif /* CALL_NOT_IN_CARBON */ |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o STATIC TEXT (CDEF 18) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Static Text proc IDs */ |
|
enum { |
|
kControlStaticTextProc = 288 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindStaticText = FOUR_CHAR_CODE('stxt') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreateStaticTextControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateStaticTextControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef text, |
|
const ControlFontStyleRec * style, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/* Tagged data supported by static text */ |
|
enum { |
|
kControlStaticTextStyleTag = kControlFontStyleTag, /* ControlFontStyleRec*/ |
|
kControlStaticTextTextTag = FOUR_CHAR_CODE('text'), /* Copy of text*/ |
|
kControlStaticTextTextHeightTag = FOUR_CHAR_CODE('thei') /* SInt16*/ |
|
}; |
|
|
|
/* Tags available with appearance 1.1 or later */ |
|
enum { |
|
kControlStaticTextTruncTag = FOUR_CHAR_CODE('trun') /* TruncCode (-1 means no truncation)*/ |
|
}; |
|
|
|
/* Tags available with Mac OS X or later */ |
|
enum { |
|
kControlStaticTextCFStringTag = FOUR_CHAR_CODE('cfst') /* CFStringRef (Also available on CarbonLib 1.5)*/ |
|
}; |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o PICTURE CONTROL (CDEF 19) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Value parameter should contain the ID of the picture you wish to display when */ |
|
/* creating controls of this type. If you don't want the control tracked at all, use */ |
|
/* the 'no track' variant. */ |
|
/* Picture control proc IDs */ |
|
enum { |
|
kControlPictureProc = 304, |
|
kControlPictureNoTrackProc = 305 /* immediately returns kControlPicturePart*/ |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindPicture = FOUR_CHAR_CODE('pict') |
|
}; |
|
|
|
/* Creation API: Carbon only */ |
|
/* |
|
* CreatePictureControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreatePictureControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
const ControlButtonContentInfo * content, |
|
Boolean dontTrack, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by picture controls */ |
|
enum { |
|
kControlPictureHandleTag = FOUR_CHAR_CODE('pich') /* PicHandle*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o ICON CONTROL (CDEF 20) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Value parameter should contain the ID of the ICON or cicn you wish to display when */ |
|
/* creating controls of this type. If you don't want the control tracked at all, use */ |
|
/* the 'no track' variant. */ |
|
/* Icon control proc IDs */ |
|
enum { |
|
kControlIconProc = 320, |
|
kControlIconNoTrackProc = 321, /* immediately returns kControlIconPart*/ |
|
kControlIconSuiteProc = 322, |
|
kControlIconSuiteNoTrackProc = 323 /* immediately returns kControlIconPart*/ |
|
}; |
|
|
|
enum { |
|
/* icon ref controls may have either an icon, color icon, icon suite, or icon ref.*/ |
|
/* for data other than icon, you must set the data by passing a*/ |
|
/* ControlButtonContentInfo to SetControlData*/ |
|
kControlIconRefProc = 324, |
|
kControlIconRefNoTrackProc = 325 /* immediately returns kControlIconPart*/ |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindIcon = FOUR_CHAR_CODE('icon') |
|
}; |
|
|
|
/* |
|
* CreateIconControl() |
|
* |
|
* Summary: |
|
* Creates an Icon control at a specific position in the specified |
|
* window. |
|
* |
|
* Discussion: |
|
* Icon controls display an icon that (optionally) hilites when |
|
* clicked on. On Mac OS X, a root control will be created for the |
|
* window if one does not already exist. If a root control exists |
|
* for the window, the Icon control will be embedded into it. |
|
* |
|
* Parameters: |
|
* |
|
* inWindow: |
|
* The WindowRef into which the Icon control will be created. |
|
* |
|
* inBoundsRect: |
|
* The desired position (in coordinates local to the window's |
|
* port) for the Icon control. |
|
* |
|
* inIconContent: |
|
* The descriptor for the icon you want the control to display. |
|
* Mac OS X and CarbonLib 1.5 (and beyond) support all of the icon |
|
* content types. Prior to CarbonLib 1.5, the only content types |
|
* that are properly respected are kControlContentIconSuiteRes, |
|
* kControlContentCIconRes, and kControlContentICONRes. |
|
* |
|
* inDontTrack: |
|
* A Boolean value indicating whether the control should hilite |
|
* when it is clicked on. False means hilite and track the mouse. |
|
* |
|
* outControl: |
|
* On successful output, outControl will contain a reference to |
|
* the Icon control. |
|
* |
|
* Result: |
|
* An OSStatus code indicating success or failure. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateIconControl( |
|
WindowRef inWindow, |
|
const Rect * inBoundsRect, |
|
const ControlButtonContentInfo * inIconContent, |
|
Boolean inDontTrack, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by icon controls */ |
|
enum { |
|
kControlIconTransformTag = FOUR_CHAR_CODE('trfm'), /* IconTransformType*/ |
|
kControlIconAlignmentTag = FOUR_CHAR_CODE('algn') /* IconAlignmentType*/ |
|
}; |
|
|
|
/* Tags available with appearance 1.1 or later */ |
|
enum { |
|
kControlIconResourceIDTag = FOUR_CHAR_CODE('ires'), /* SInt16 resource ID of icon to use*/ |
|
kControlIconContentTag = FOUR_CHAR_CODE('cont') /* accepts a ControlButtonContentInfo*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o WINDOW HEADER (CDEF 21) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Window Header proc IDs */ |
|
enum { |
|
kControlWindowHeaderProc = 336, /* normal header*/ |
|
kControlWindowListViewHeaderProc = 337 /* variant for list views - no bottom line*/ |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindWindowHeader = FOUR_CHAR_CODE('whed') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreateWindowHeaderControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateWindowHeaderControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
Boolean isListHeader, |
|
ControlRef * outControl); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o LIST BOX (CDEF 22) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* Lists use an auxiliary resource to define their format. The resource type used is */ |
|
/* 'ldes' and a definition for it can be found in Appearance.r. The resource ID for */ |
|
/* the ldes is passed in the 'value' parameter when creating the control. You may pass */ |
|
/* zero in value. This tells the List Box control to not use a resource. The list will */ |
|
/* be created with default values, and will use the standard LDEF (0). You can change */ |
|
/* the list by getting the list handle. You can set the LDEF to use by using the tag */ |
|
/* below (kControlListBoxLDEFTag) */ |
|
/* List Box proc IDs */ |
|
enum { |
|
kControlListBoxProc = 352, |
|
kControlListBoxAutoSizeProc = 353 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindListBox = FOUR_CHAR_CODE('lbox') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreateListBoxControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateListBoxControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
Boolean autoSize, |
|
SInt16 numRows, |
|
SInt16 numColumns, |
|
Boolean horizScroll, |
|
Boolean vertScroll, |
|
SInt16 cellHeight, |
|
SInt16 cellWidth, |
|
Boolean hasGrowSpace, |
|
const ListDefSpec * listDef, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by list box */ |
|
enum { |
|
kControlListBoxListHandleTag = FOUR_CHAR_CODE('lhan'), /* ListHandle*/ |
|
kControlListBoxKeyFilterTag = kControlKeyFilterTag, /* ControlKeyFilterUPP*/ |
|
kControlListBoxFontStyleTag = kControlFontStyleTag /* ControlFontStyleRec*/ |
|
}; |
|
|
|
/* New tags in 1.0.1 or later */ |
|
enum { |
|
kControlListBoxDoubleClickTag = FOUR_CHAR_CODE('dblc'), /* Boolean. Was last click a double-click?*/ |
|
kControlListBoxLDEFTag = FOUR_CHAR_CODE('ldef') /* SInt16. ID of LDEF to use.*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o PUSH BUTTON (CDEF 23) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* The new standard checkbox and radio button controls support a "mixed" value that */ |
|
/* indicates that the current setting contains a mixed set of on and off values. The */ |
|
/* control value used to display this indication is defined in Controls.h: */ |
|
/* */ |
|
/* kControlCheckBoxMixedValue = 2 */ |
|
/* */ |
|
/* Two new variants of the standard pushbutton have been added to the standard control */ |
|
/* suite that draw a color icon next to the control title. One variant draws the icon */ |
|
/* on the left side, the other draws it on the right side (when the system justifica- */ |
|
/* tion is right to left, these are reversed). */ |
|
/* */ |
|
/* When either of the icon pushbuttons are created, the contrlMax field of the control */ |
|
/* record is used to determine the ID of the 'cicn' resource drawn in the pushbutton. */ |
|
/* */ |
|
/* In addition, a push button can now be told to draw with a default outline using the */ |
|
/* SetControlData routine with the kControlPushButtonDefaultTag below. */ |
|
/* */ |
|
/* A push button may also be marked using the kControlPushButtonCancelTag. This has */ |
|
/* no visible representation, but does cause the button to play the CancelButton theme */ |
|
/* sound instead of the regular pushbutton theme sound when pressed. */ |
|
/* */ |
|
/* Theme Push Button/Check Box/Radio Button proc IDs */ |
|
enum { |
|
kControlPushButtonProc = 368, |
|
kControlCheckBoxProc = 369, |
|
kControlRadioButtonProc = 370, |
|
kControlPushButLeftIconProc = 374, /* Standard pushbutton with left-side icon*/ |
|
kControlPushButRightIconProc = 375 /* Standard pushbutton with right-side icon*/ |
|
}; |
|
|
|
/* Variants with Appearance 1.1 or later */ |
|
enum { |
|
kControlCheckBoxAutoToggleProc = 371, |
|
kControlRadioButtonAutoToggleProc = 372 |
|
}; |
|
|
|
/* Push Button Icon Alignments */ |
|
typedef UInt16 ControlPushButtonIconAlignment; |
|
enum { |
|
kControlPushButtonIconOnLeft = 6, |
|
kControlPushButtonIconOnRight = 7 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindPushButton = FOUR_CHAR_CODE('push'), |
|
kControlKindPushIconButton = FOUR_CHAR_CODE('picn'), |
|
kControlKindRadioButton = FOUR_CHAR_CODE('rdio'), |
|
kControlKindCheckBox = FOUR_CHAR_CODE('cbox') |
|
}; |
|
|
|
/* Creation APIs: Carbon Only */ |
|
/* |
|
* CreatePushButtonControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreatePushButtonControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
ControlRef * outControl); |
|
|
|
|
|
/* |
|
* CreatePushButtonWithIconControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreatePushButtonWithIconControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
ControlButtonContentInfo * icon, |
|
ControlPushButtonIconAlignment iconAlignment, |
|
ControlRef * outControl); |
|
|
|
|
|
/* |
|
* CreateRadioButtonControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateRadioButtonControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
SInt32 initialValue, |
|
Boolean autoToggle, |
|
ControlRef * outControl); |
|
|
|
|
|
/* |
|
* CreateCheckBoxControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateCheckBoxControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
SInt32 initialValue, |
|
Boolean autoToggle, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
|
|
/* Tagged data supported by standard buttons */ |
|
enum { |
|
kControlPushButtonDefaultTag = FOUR_CHAR_CODE('dflt'), /* default ring flag*/ |
|
kControlPushButtonCancelTag = FOUR_CHAR_CODE('cncl') /* cancel button flag (1.1 and later)*/ |
|
}; |
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o SCROLL BAR (CDEF 24) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This is the new Appearance scroll bar. */ |
|
/* */ |
|
/* Theme Scroll Bar proc IDs */ |
|
enum { |
|
kControlScrollBarProc = 384, /* normal scroll bar*/ |
|
kControlScrollBarLiveProc = 386 /* live scrolling variant*/ |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindScrollBar = FOUR_CHAR_CODE('sbar') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreateScrollBarControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateScrollBarControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
SInt32 value, |
|
SInt32 minimum, |
|
SInt32 maximum, |
|
SInt32 viewSize, |
|
Boolean liveTracking, |
|
ControlActionUPP liveTrackingProc, |
|
ControlRef * outControl); |
|
|
|
|
|
/* These tags are available in Mac OS X or later */ |
|
enum { |
|
kControlScrollBarShowsArrowsTag = FOUR_CHAR_CODE('arro') /* Boolean whether or not to draw the scroll arrows*/ |
|
}; |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o POPUP BUTTON (CDEF 25) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This is the new Appearance Popup Button. It takes the same variants and does the */ |
|
/* same overloading as the previous popup menu control. There are some differences: */ |
|
/* */ |
|
/* Passing in a menu ID of -12345 causes the popup not to try and get the menu from a */ |
|
/* resource. Instead, you can build the menu and later stuff the MenuRef field in */ |
|
/* the popup data information. */ |
|
/* */ |
|
/* You can pass -1 in the Max parameter to have the control calculate the width of the */ |
|
/* title on its own instead of guessing and then tweaking to get it right. It adds the */ |
|
/* appropriate amount of space between the title and the popup. */ |
|
/* */ |
|
/* Theme Popup Button proc IDs */ |
|
enum { |
|
kControlPopupButtonProc = 400, |
|
kControlPopupFixedWidthVariant = 1 << 0, |
|
kControlPopupVariableWidthVariant = 1 << 1, |
|
kControlPopupUseAddResMenuVariant = 1 << 2, |
|
kControlPopupUseWFontVariant = kControlUsesOwningWindowsFontVariant |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindPopupButton = FOUR_CHAR_CODE('popb') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreatePopupButtonControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreatePopupButtonControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef title, |
|
SInt16 menuID, |
|
Boolean variableWidth, |
|
SInt16 titleWidth, |
|
SInt16 titleJustification, |
|
Style titleStyle, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
|
|
/* These tags are available in 1.0.1 or later of Appearance */ |
|
enum { |
|
kControlPopupButtonMenuHandleTag = FOUR_CHAR_CODE('mhan'), /* MenuRef*/ |
|
kControlPopupButtonMenuRefTag = FOUR_CHAR_CODE('mhan'), /* MenuRef*/ |
|
kControlPopupButtonMenuIDTag = FOUR_CHAR_CODE('mnid') /* SInt16*/ |
|
}; |
|
|
|
/* These tags are available in 1.1 or later of Appearance */ |
|
enum { |
|
kControlPopupButtonExtraHeightTag = FOUR_CHAR_CODE('exht'), /* SInt16 - extra vertical whitespace within the button*/ |
|
kControlPopupButtonOwnedMenuRefTag = FOUR_CHAR_CODE('omrf') /* MenuRef*/ |
|
}; |
|
|
|
/* These tags are available in Mac OS X */ |
|
enum { |
|
kControlPopupButtonCheckCurrentTag = FOUR_CHAR_CODE('chck') /* Boolean - whether the popup puts a checkmark next to the current item (defaults to true)*/ |
|
}; |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o RADIO GROUP (CDEF 26) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This control implements a radio group. It is an embedding control and can therefore */ |
|
/* only be used when a control hierarchy is established for its owning window. You */ |
|
/* should only embed radio buttons within it. As radio buttons are embedded into it, */ |
|
/* the group sets up its value, min, and max to represent the number of embedded items.*/ |
|
/* The current value of the control is the index of the sub-control that is the current*/ |
|
/* 'on' radio button. To get the current radio button control handle, you can use the */ |
|
/* control manager call GetIndSubControl, passing in the value of the radio group. */ |
|
/* */ |
|
/* NOTE: This control is only available with Appearance 1.0.1. */ |
|
/* Radio Group Proc ID */ |
|
enum { |
|
kControlRadioGroupProc = 416 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindRadioGroup = FOUR_CHAR_CODE('rgrp') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreateRadioGroupControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateRadioGroupControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
ControlRef * outControl); |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o SCROLL TEXT BOX (CDEF 27) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This control implements a scrolling box of (non-editable) text. This is useful for */ |
|
/* credits in about boxes, etc. */ |
|
/* The standard version of this control has a scroll bar, but the autoscrolling */ |
|
/* variant does not. The autoscrolling variant needs two pieces of information to */ |
|
/* work: delay (in ticks) before the scrolling starts, and time (in ticks) between */ |
|
/* scrolls. It will scroll one pixel at a time, unless changed via SetControlData. */ |
|
/* */ |
|
/* Parameter What Goes Here */ |
|
/* ------------------- ---------------------------------------------------- */ |
|
/* Value Resource ID of 'TEXT'/'styl' content. */ |
|
/* Min Scroll start delay (in ticks) . */ |
|
/* Max Delay (in ticks) between scrolls. */ |
|
/* */ |
|
/* NOTE: This control is only available with Appearance 1.1. */ |
|
/* Scroll Text Box Proc IDs */ |
|
enum { |
|
kControlScrollTextBoxProc = 432, |
|
kControlScrollTextBoxAutoScrollProc = 433 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindScrollingTextBox = FOUR_CHAR_CODE('stbx') |
|
}; |
|
|
|
/* Creation API: Carbon Only */ |
|
/* |
|
* CreateScrollingTextBoxControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateScrollingTextBoxControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
SInt16 contentResID, |
|
Boolean autoScroll, |
|
UInt32 delayBeforeAutoScroll, |
|
UInt32 delayBetweenAutoScroll, |
|
UInt16 autoScrollAmount, |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by Scroll Text Box */ |
|
enum { |
|
kControlScrollTextBoxDelayBeforeAutoScrollTag = FOUR_CHAR_CODE('stdl'), /* UInt32 (ticks until autoscrolling starts)*/ |
|
kControlScrollTextBoxDelayBetweenAutoScrollTag = FOUR_CHAR_CODE('scdl'), /* UInt32 (ticks between scrolls)*/ |
|
kControlScrollTextBoxAutoScrollAmountTag = FOUR_CHAR_CODE('samt'), /* UInt16 (pixels per scroll) -- defaults to 1*/ |
|
kControlScrollTextBoxContentsTag = FOUR_CHAR_CODE('tres'), /* SInt16 (resource ID of 'TEXT'/'styl') -- write only!*/ |
|
kControlScrollTextBoxAnimatingTag = FOUR_CHAR_CODE('anim') /* Boolean (whether the text box should auto-scroll)*/ |
|
}; |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o DISCLOSURE BUTTON */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* |
|
* CreateDisclosureButtonControl() |
|
* |
|
* Summary: |
|
* Creates a new instance of the Disclosure Button Control. |
|
* |
|
* Discussion: |
|
* CreateDisclosureButtonControl is preferred over NewControl |
|
* because it allows you to specify the exact set of parameters |
|
* required to create the control without overloading parameter |
|
* semantics. The initial minimum of the Disclosure Button will be |
|
* kControlDisclosureButtonClosed, and the maximum will be |
|
* kControlDisclosureButtonDisclosed. |
|
* |
|
* Parameters: |
|
* |
|
* inWindow: |
|
* The WindowRef in which to create the control. |
|
* |
|
* inBoundsRect: |
|
* The bounding rectangle for the control. The height of the |
|
* control is fixed and the control will be centered vertically |
|
* within the rectangle you specify. |
|
* |
|
* inValue: |
|
* The initial value; either kControlDisclosureButtonClosed or |
|
* kControlDisclosureButtonDisclosed. |
|
* |
|
* inAutoToggles: |
|
* A boolean value indicating whether its value should change |
|
* automatically after tracking the mouse. |
|
* |
|
* outControl: |
|
* On successful exit, this will contain the new control. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateDisclosureButtonControl( |
|
WindowRef inWindow, |
|
const Rect * inBoundsRect, |
|
SInt32 inValue, |
|
Boolean inAutoToggles, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindDisclosureButton = FOUR_CHAR_CODE('disb') |
|
}; |
|
|
|
|
|
/* |
|
* Discussion: |
|
* Disclosure Button Values |
|
*/ |
|
enum { |
|
|
|
/* |
|
* The control be drawn suggesting a closed state. |
|
*/ |
|
kControlDisclosureButtonClosed = 0, |
|
|
|
/* |
|
* The control will be drawn suggesting an open state. |
|
*/ |
|
kControlDisclosureButtonDisclosed = 1 |
|
}; |
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o ROUND BUTTON */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
|
|
/* |
|
* ControlRoundButtonSize |
|
* |
|
* Discussion: |
|
* Button Sizes |
|
*/ |
|
typedef SInt16 ControlRoundButtonSize; |
|
enum { |
|
|
|
/* |
|
* A 20 pixel diameter button. |
|
*/ |
|
kControlRoundButtonNormalSize = kControlSizeNormal, |
|
|
|
/* |
|
* A 25 pixel diameter button. |
|
*/ |
|
kControlRoundButtonLargeSize = kControlSizeLarge |
|
}; |
|
|
|
/* Data tags supported by the round button controls */ |
|
enum { |
|
kControlRoundButtonContentTag = FOUR_CHAR_CODE('cont'), /* ControlButtonContentInfo*/ |
|
kControlRoundButtonSizeTag = kControlSizeTag /* ControlRoundButtonSize*/ |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindRoundButton = FOUR_CHAR_CODE('rndb') |
|
}; |
|
|
|
/* |
|
* CreateRoundButtonControl() |
|
* |
|
* Summary: |
|
* Creates a new instance of the Round Button Control. |
|
* |
|
* Discussion: |
|
* CreateRoundButtonControl is preferred over NewControl because it |
|
* allows you to specify the exact set of parameters required to |
|
* create the control without overloading parameter semantics. |
|
* |
|
* Parameters: |
|
* |
|
* inWindow: |
|
* The WindowRef in which to create the control. |
|
* |
|
* inBoundsRect: |
|
* The bounding rectangle for the control. The height and width of |
|
* the control is fixed (specified by the ControlRoundButtonSize |
|
* parameter) and the control will be centered within the |
|
* rectangle you specify. |
|
* |
|
* inSize: |
|
* The button size; either kControlRoundButtonNormalSize or |
|
* kControlRoundButtonLargeSize. |
|
* |
|
* inContent: |
|
* Any optional content displayed in the button. Currently only |
|
* kControlContentIconRef is supported. |
|
* |
|
* outControl: |
|
* On successful exit, this will contain the new control. |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateRoundButtonControl( |
|
WindowRef inWindow, |
|
const Rect * inBoundsRect, |
|
ControlRoundButtonSize inSize, |
|
ControlButtonContentInfo * inContent, |
|
ControlRef * outControl); |
|
|
|
|
|
|
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o DATA BROWSER */ |
|
/* (CDEF 29) */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* This control implements a user interface component for browsing (optionally) */ |
|
/* hiearchical data structures. The browser supports multiple presentation styles */ |
|
/* including, but not limited to: */ |
|
/* */ |
|
/* kDataBrowserListView - items and item properties in */ |
|
/* multi-column (optionally outline) format */ |
|
/* kDataBrowserColumnView - in-place browsing using fixed navigation columns */ |
|
/* */ |
|
/* The browser manages all view styles through a single high-level interface. */ |
|
/* The high-level interface makes the following assumptions: */ |
|
/* */ |
|
/* - Items have unique 32-bit identifiers (0 is reserved) */ |
|
/* */ |
|
/* - Items have two kinds of named and typed properties: */ |
|
/* - Predefined attribute properties ( < 1024 ) */ |
|
/* (including some display properties) */ |
|
/* - Client-defined display properties ( >= 1024 ) */ |
|
/* */ |
|
/* - Some items are containers of other items */ |
|
/* - Items may be sorted by any property */ |
|
/* */ |
|
/* Because a browser doesn't know all details about the type of objects it manages, */ |
|
/* some implementation responsibility is best handled by its client. The client must */ |
|
/* provide a set of callback routines which define the item hierarchy and help to */ |
|
/* populate the browser with items. The client may also provide callbacks for handling */ |
|
/* custom data types and doing low-level event management. */ |
|
/* */ |
|
/* The API is subdivided into a "universal" set of routines that applies to all view */ |
|
/* styles, and a set of routines unique to each view style. kDataBrowserListView and */ |
|
/* kDataBrowserColumnView share an (internal) TableView abstract base class. The */ |
|
/* TableView formatting options and API applies to both of these view styles. */ |
|
/* */ |
|
/* NOTE: This control is only available with CarbonLib 1.1. */ |
|
/* */ |
|
/* NOTE: This control must be created with the CreateDataBrowserControl API in */ |
|
/* CarbonLib 1.1 through 1.4. In Mac OS X and CarbonLib 1.5 and later, you */ |
|
/* may use the control's procID (29) to create the control with NewControl */ |
|
/* or with a 'CNTL' resource. */ |
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindDataBrowser = FOUR_CHAR_CODE('datb') |
|
}; |
|
|
|
/* Error Codes */ |
|
enum { |
|
errDataBrowserNotConfigured = -4970, |
|
errDataBrowserItemNotFound = -4971, |
|
errDataBrowserItemNotAdded = -4975, |
|
errDataBrowserPropertyNotFound = -4972, |
|
errDataBrowserInvalidPropertyPart = -4973, |
|
errDataBrowserInvalidPropertyData = -4974, |
|
errDataBrowserPropertyNotSupported = -4979 /* Return from DataBrowserGetSetItemDataProc */ |
|
}; |
|
|
|
enum { |
|
/* Generic Control Tags */ |
|
kControlDataBrowserIncludesFrameAndFocusTag = FOUR_CHAR_CODE('brdr'), /* Boolean */ |
|
kControlDataBrowserKeyFilterTag = kControlEditTextKeyFilterTag, |
|
kControlDataBrowserEditTextKeyFilterTag = kControlDataBrowserKeyFilterTag, |
|
kControlDataBrowserEditTextValidationProcTag = kControlEditTextValidationProcTag |
|
}; |
|
|
|
/* Data Browser View Styles */ |
|
typedef OSType DataBrowserViewStyle; |
|
enum { |
|
kDataBrowserNoView = 0x3F3F3F3F, /* Error State */ |
|
kDataBrowserListView = FOUR_CHAR_CODE('lstv'), |
|
kDataBrowserColumnView = FOUR_CHAR_CODE('clmv') |
|
}; |
|
|
|
/* Selection Flags */ |
|
typedef UInt32 DataBrowserSelectionFlags; |
|
enum { |
|
kDataBrowserDragSelect = 1 << 0, /* * ListMgr lNoRect */ |
|
kDataBrowserSelectOnlyOne = 1 << 1, /* * ListMgr lOnlyOne */ |
|
kDataBrowserResetSelection = 1 << 2, /* * ListMgr lNoExtend */ |
|
kDataBrowserCmdTogglesSelection = 1 << 3, /* * ListMgr lUseSense */ |
|
kDataBrowserNoDisjointSelection = 1 << 4, /* * ListMgr lNoDisjoint */ |
|
kDataBrowserAlwaysExtendSelection = 1 << 5, /* * ListMgr lExtendDrag */ |
|
kDataBrowserNeverEmptySelectionSet = 1 << 6 /* * ListMgr lNoNilHilite */ |
|
}; |
|
|
|
/* Data Browser Sorting */ |
|
typedef UInt16 DataBrowserSortOrder; |
|
enum { |
|
kDataBrowserOrderUndefined = 0, /* Not currently supported */ |
|
kDataBrowserOrderIncreasing = 1, |
|
kDataBrowserOrderDecreasing = 2 |
|
}; |
|
|
|
/* Data Browser Item Management */ |
|
typedef UInt32 DataBrowserItemID; |
|
enum { |
|
kDataBrowserNoItem = 0L /* Reserved DataBrowserItemID */ |
|
}; |
|
|
|
typedef UInt32 DataBrowserItemState; |
|
enum { |
|
kDataBrowserItemNoState = 0, |
|
kDataBrowserItemAnyState = (unsigned long)(-1), |
|
kDataBrowserItemIsSelected = 1 << 0, |
|
kDataBrowserContainerIsOpen = 1 << 1, |
|
kDataBrowserItemIsDragTarget = 1 << 2 /* During a drag operation */ |
|
}; |
|
|
|
/* Options for use with RevealDataBrowserItem */ |
|
typedef UInt8 DataBrowserRevealOptions; |
|
enum { |
|
kDataBrowserRevealOnly = 0, |
|
kDataBrowserRevealAndCenterInView = 1 << 0, |
|
kDataBrowserRevealWithoutSelecting = 1 << 1 |
|
}; |
|
|
|
/* Set operations for use with SetDataBrowserSelectedItems */ |
|
typedef UInt32 DataBrowserSetOption; |
|
enum { |
|
kDataBrowserItemsAdd = 0, /* add specified items to existing set */ |
|
kDataBrowserItemsAssign = 1, /* assign destination set to specified items */ |
|
kDataBrowserItemsToggle = 2, /* toggle membership state of specified items */ |
|
kDataBrowserItemsRemove = 3 /* remove specified items from existing set */ |
|
}; |
|
|
|
/* Commands for use with MoveDataBrowserSelectionAnchor */ |
|
typedef UInt32 DataBrowserSelectionAnchorDirection; |
|
enum { |
|
kDataBrowserSelectionAnchorUp = 0, |
|
kDataBrowserSelectionAnchorDown = 1, |
|
kDataBrowserSelectionAnchorLeft = 2, |
|
kDataBrowserSelectionAnchorRight = 3 |
|
}; |
|
|
|
/* Edit menu command IDs for use with Enable/ExecuteDataBrowserEditCommand */ |
|
typedef UInt32 DataBrowserEditCommand; |
|
enum { |
|
kDataBrowserEditMsgUndo = kHICommandUndo, |
|
kDataBrowserEditMsgRedo = kHICommandRedo, |
|
kDataBrowserEditMsgCut = kHICommandCut, |
|
kDataBrowserEditMsgCopy = kHICommandCopy, |
|
kDataBrowserEditMsgPaste = kHICommandPaste, |
|
kDataBrowserEditMsgClear = kHICommandClear, |
|
kDataBrowserEditMsgSelectAll = kHICommandSelectAll |
|
}; |
|
|
|
/* Notifications used in DataBrowserItemNotificationProcPtr */ |
|
typedef UInt32 DataBrowserItemNotification; |
|
enum { |
|
kDataBrowserItemAdded = 1, /* The specified item has been added to the browser */ |
|
kDataBrowserItemRemoved = 2, /* The specified item has been removed from the browser */ |
|
kDataBrowserEditStarted = 3, /* Starting an EditText session for specified item */ |
|
kDataBrowserEditStopped = 4, /* Stopping an EditText session for specified item */ |
|
kDataBrowserItemSelected = 5, /* Item has just been added to the selection set */ |
|
kDataBrowserItemDeselected = 6, /* Item has just been removed from the selection set */ |
|
kDataBrowserItemDoubleClicked = 7, |
|
kDataBrowserContainerOpened = 8, /* Container is open */ |
|
kDataBrowserContainerClosing = 9, /* Container is about to close (and will real soon now, y'all) */ |
|
kDataBrowserContainerClosed = 10, /* Container is closed (y'all come back now!) */ |
|
kDataBrowserContainerSorting = 11, /* Container is about to be sorted (lock any volatile properties) */ |
|
kDataBrowserContainerSorted = 12, /* Container has been sorted (you may release any property locks) */ |
|
kDataBrowserUserToggledContainer = 16, /* _User_ requested container open/close state to be toggled */ |
|
kDataBrowserTargetChanged = 15, /* The target has changed to the specified item */ |
|
kDataBrowserUserStateChanged = 13, /* The user has reformatted the view for the target */ |
|
kDataBrowserSelectionSetChanged = 14 /* The selection set has been modified (net result may be the same) */ |
|
}; |
|
|
|
/* DataBrowser Property Management */ |
|
/* 0-1023 reserved; >= 1024 for client use */ |
|
typedef UInt32 DataBrowserPropertyID; |
|
enum { |
|
/* Predefined attribute properties, optional & non-display unless otherwise stated */ |
|
kDataBrowserItemNoProperty = 0L, /* The anti-property (no associated data) */ |
|
kDataBrowserItemIsActiveProperty = 1L, /* Boolean typed data (defaults to true) */ |
|
kDataBrowserItemIsSelectableProperty = 2L, /* Boolean typed data (defaults to true) */ |
|
kDataBrowserItemIsEditableProperty = 3L, /* Boolean typed data (defaults to false, used for editable properties) */ |
|
kDataBrowserItemIsContainerProperty = 4L, /* Boolean typed data (defaults to false) */ |
|
kDataBrowserContainerIsOpenableProperty = 5L, /* Boolean typed data (defaults to true) */ |
|
kDataBrowserContainerIsClosableProperty = 6L, /* Boolean typed data (defaults to true) */ |
|
kDataBrowserContainerIsSortableProperty = 7L, /* Boolean typed data (defaults to true) */ |
|
kDataBrowserItemSelfIdentityProperty = 8L, /* kDataBrowserIconAndTextType (display property; ColumnView only) */ |
|
kDataBrowserContainerAliasIDProperty = 9L, /* DataBrowserItemID (alias/symlink an item to a container item) */ |
|
kDataBrowserColumnViewPreviewProperty = 10L, /* kDataBrowserCustomType (display property; ColumnView only) */ |
|
kDataBrowserItemParentContainerProperty = 11L /* DataBrowserItemID (the parent of the specified item, used by ColumnView) */ |
|
}; |
|
|
|
/* DataBrowser Property Types (for display properties; i.e. ListView columns) */ |
|
/* These are primarily presentation types (or styles) although */ |
|
/* they also imply a particular set of primitive types or structures. */ |
|
typedef OSType DataBrowserPropertyType; |
|
enum { |
|
/* == Corresponding data type or structure == */ |
|
kDataBrowserCustomType = 0x3F3F3F3F, /* No associated data, custom callbacks used */ |
|
kDataBrowserIconType = FOUR_CHAR_CODE('icnr'), /* IconRef, IconTransformType, RGBColor */ |
|
kDataBrowserTextType = FOUR_CHAR_CODE('text'), /* CFStringRef */ |
|
kDataBrowserDateTimeType = FOUR_CHAR_CODE('date'), /* DateTime or LongDateTime */ |
|
kDataBrowserSliderType = FOUR_CHAR_CODE('sldr'), /* Min, Max, Value */ |
|
kDataBrowserCheckboxType = FOUR_CHAR_CODE('chbx'), /* ThemeButtonValue */ |
|
kDataBrowserProgressBarType = FOUR_CHAR_CODE('prog'), /* Min, Max, Value */ |
|
kDataBrowserRelevanceRankType = FOUR_CHAR_CODE('rank'), /* Min, Max, Value */ |
|
kDataBrowserPopupMenuType = FOUR_CHAR_CODE('menu'), /* MenuRef, Value */ |
|
kDataBrowserIconAndTextType = FOUR_CHAR_CODE('ticn') /* IconRef, CFStringRef, etc */ |
|
}; |
|
|
|
/* DataBrowser Property Parts */ |
|
/* Visual components of a property type. */ |
|
/* For use with GetDataBrowserItemPartBounds. */ |
|
typedef OSType DataBrowserPropertyPart; |
|
enum { |
|
kDataBrowserPropertyEnclosingPart = 0L, |
|
kDataBrowserPropertyContentPart = FOUR_CHAR_CODE('----'), |
|
kDataBrowserPropertyDisclosurePart = FOUR_CHAR_CODE('disc'), |
|
kDataBrowserPropertyTextPart = kDataBrowserTextType, |
|
kDataBrowserPropertyIconPart = kDataBrowserIconType, |
|
kDataBrowserPropertySliderPart = kDataBrowserSliderType, |
|
kDataBrowserPropertyCheckboxPart = kDataBrowserCheckboxType, |
|
kDataBrowserPropertyProgressBarPart = kDataBrowserProgressBarType, |
|
kDataBrowserPropertyRelevanceRankPart = kDataBrowserRelevanceRankType |
|
}; |
|
|
|
/* Modify appearance/behavior of display properties */ |
|
typedef unsigned long DataBrowserPropertyFlags; |
|
/* Low 8 bits apply to all property types */ |
|
enum { |
|
kDataBrowserUniversalPropertyFlagsMask = 0xFF, |
|
kDataBrowserPropertyIsMutable = 1 << 0, |
|
kDataBrowserDefaultPropertyFlags = 0 << 0, |
|
kDataBrowserUniversalPropertyFlags = kDataBrowserUniversalPropertyFlagsMask, /* support for an old name*/ |
|
kDataBrowserPropertyIsEditable = kDataBrowserPropertyIsMutable /* support for an old name*/ |
|
}; |
|
|
|
/* Next 8 bits contain property-specific modifiers */ |
|
enum { |
|
kDataBrowserPropertyFlagsOffset = 8, |
|
kDataBrowserPropertyFlagsMask = 0xFF << kDataBrowserPropertyFlagsOffset, |
|
kDataBrowserCheckboxTriState = 1 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserCheckboxType*/ |
|
kDataBrowserDateTimeRelative = 1 << (kDataBrowserPropertyFlagsOffset), /* kDataBrowserDateTimeType */ |
|
kDataBrowserDateTimeDateOnly = 1 << (kDataBrowserPropertyFlagsOffset + 1), /* kDataBrowserDateTimeType */ |
|
kDataBrowserDateTimeTimeOnly = 1 << (kDataBrowserPropertyFlagsOffset + 2), /* kDataBrowserDateTimeType */ |
|
kDataBrowserDateTimeSecondsToo = 1 << (kDataBrowserPropertyFlagsOffset + 3), /* kDataBrowserDateTimeType */ |
|
kDataBrowserSliderPlainThumb = kThemeThumbPlain << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */ |
|
kDataBrowserSliderUpwardThumb = kThemeThumbUpward << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */ |
|
kDataBrowserSliderDownwardThumb = kThemeThumbDownward << kDataBrowserPropertyFlagsOffset, /* kDataBrowserSliderType */ |
|
kDataBrowserDoNotTruncateText = 3 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */ |
|
kDataBrowserTruncateTextAtEnd = 2 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */ |
|
kDataBrowserTruncateTextMiddle = 0 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */ |
|
kDataBrowserTruncateTextAtStart = 1 << kDataBrowserPropertyFlagsOffset, /* kDataBrowserTextType && kDataBrowserIconAndTextType */ |
|
kDataBrowserPropertyModificationFlags = kDataBrowserPropertyFlagsMask, /* support for an old name*/ |
|
kDataBrowserRelativeDateTime = kDataBrowserDateTimeRelative /* support for an old name*/ |
|
}; |
|
|
|
/* |
|
Next 8 bits contain viewStyle-specific modifiers |
|
See individual ViewStyle sections below for flag definitions |
|
*/ |
|
enum { |
|
kDataBrowserViewSpecificFlagsOffset = 16, |
|
kDataBrowserViewSpecificFlagsMask = 0xFF << kDataBrowserViewSpecificFlagsOffset, |
|
kDataBrowserViewSpecificPropertyFlags = kDataBrowserViewSpecificFlagsMask /* support for an old name*/ |
|
}; |
|
|
|
/* High 8 bits are reserved for client application use */ |
|
enum { |
|
kDataBrowserClientPropertyFlagsOffset = 24, |
|
kDataBrowserClientPropertyFlagsMask = (unsigned long)(0xFF << kDataBrowserClientPropertyFlagsOffset) |
|
}; |
|
|
|
/* Client defined property description */ |
|
struct DataBrowserPropertyDesc { |
|
DataBrowserPropertyID propertyID; |
|
DataBrowserPropertyType propertyType; |
|
DataBrowserPropertyFlags propertyFlags; |
|
}; |
|
typedef struct DataBrowserPropertyDesc DataBrowserPropertyDesc; |
|
/* Callback definition for use with ForEachDataBrowserItem */ |
|
typedef CALLBACK_API( void , DataBrowserItemProcPtr )(DataBrowserItemID item, DataBrowserItemState state, void *clientData); |
|
typedef STACK_UPP_TYPE(DataBrowserItemProcPtr) DataBrowserItemUPP; |
|
/* |
|
* NewDataBrowserItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemUPP ) |
|
NewDataBrowserItemUPP(DataBrowserItemProcPtr userRoutine); |
|
|
|
/* |
|
* DisposeDataBrowserItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemUPP(DataBrowserItemUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserItemUPP( |
|
DataBrowserItemID item, |
|
DataBrowserItemState state, |
|
void * clientData, |
|
DataBrowserItemUPP userUPP); |
|
|
|
/* Creation/Configuration */ |
|
/* |
|
* CreateDataBrowserControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateDataBrowserControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
DataBrowserViewStyle style, |
|
ControlRef * outControl); |
|
|
|
|
|
/* |
|
* GetDataBrowserViewStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserViewStyle( |
|
ControlRef browser, |
|
DataBrowserViewStyle * style); |
|
|
|
|
|
/* |
|
* SetDataBrowserViewStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserViewStyle( |
|
ControlRef browser, |
|
DataBrowserViewStyle style); |
|
|
|
|
|
/* Item Manipulation */ |
|
/* Passing NULL for "items" argument to RemoveDataBrowserItems and */ |
|
/* UpdateDataBrowserItems refers to all items in the specified container. */ |
|
/* Passing NULL for "items" argument to AddDataBrowserItems means */ |
|
/* "generate IDs starting from 1." */ |
|
/* |
|
* AddDataBrowserItems() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
AddDataBrowserItems( |
|
ControlRef browser, |
|
DataBrowserItemID container, |
|
UInt32 numItems, |
|
const DataBrowserItemID * items, /* can be NULL */ |
|
DataBrowserPropertyID preSortProperty); |
|
|
|
|
|
/* |
|
* RemoveDataBrowserItems() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
RemoveDataBrowserItems( |
|
ControlRef browser, |
|
DataBrowserItemID container, |
|
UInt32 numItems, |
|
const DataBrowserItemID * items, /* can be NULL */ |
|
DataBrowserPropertyID preSortProperty); |
|
|
|
|
|
/* |
|
* UpdateDataBrowserItems() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
UpdateDataBrowserItems( |
|
ControlRef browser, |
|
DataBrowserItemID container, |
|
UInt32 numItems, |
|
const DataBrowserItemID * items, /* can be NULL */ |
|
DataBrowserPropertyID preSortProperty, |
|
DataBrowserPropertyID propertyID); |
|
|
|
|
|
/* Edit Menu Enabling and Handling */ |
|
/* |
|
* EnableDataBrowserEditCommand() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
EnableDataBrowserEditCommand( |
|
ControlRef browser, |
|
DataBrowserEditCommand command); |
|
|
|
|
|
/* |
|
* ExecuteDataBrowserEditCommand() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
ExecuteDataBrowserEditCommand( |
|
ControlRef browser, |
|
DataBrowserEditCommand command); |
|
|
|
|
|
/* |
|
* GetDataBrowserSelectionAnchor() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserSelectionAnchor( |
|
ControlRef browser, |
|
DataBrowserItemID * first, |
|
DataBrowserItemID * last); |
|
|
|
|
|
/* |
|
* MoveDataBrowserSelectionAnchor() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
MoveDataBrowserSelectionAnchor( |
|
ControlRef browser, |
|
DataBrowserSelectionAnchorDirection direction, |
|
Boolean extendSelection); |
|
|
|
|
|
/* Container Manipulation */ |
|
/* |
|
* OpenDataBrowserContainer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
OpenDataBrowserContainer( |
|
ControlRef browser, |
|
DataBrowserItemID container); |
|
|
|
|
|
/* |
|
* CloseDataBrowserContainer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CloseDataBrowserContainer( |
|
ControlRef browser, |
|
DataBrowserItemID container); |
|
|
|
|
|
/* |
|
* SortDataBrowserContainer() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SortDataBrowserContainer( |
|
ControlRef browser, |
|
DataBrowserItemID container, |
|
Boolean sortChildren); |
|
|
|
|
|
/* Aggregate Item Access and Iteration */ |
|
/* |
|
* GetDataBrowserItems() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItems( |
|
ControlRef browser, |
|
DataBrowserItemID container, |
|
Boolean recurse, |
|
DataBrowserItemState state, |
|
Handle items); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemCount( |
|
ControlRef browser, |
|
DataBrowserItemID container, |
|
Boolean recurse, |
|
DataBrowserItemState state, |
|
UInt32 * numItems); |
|
|
|
|
|
/* |
|
* ForEachDataBrowserItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
ForEachDataBrowserItem( |
|
ControlRef browser, |
|
DataBrowserItemID container, |
|
Boolean recurse, |
|
DataBrowserItemState state, |
|
DataBrowserItemUPP callback, |
|
void * clientData); |
|
|
|
|
|
/* Individual Item Access and Display */ |
|
/* |
|
* IsDataBrowserItemSelected() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( Boolean ) |
|
IsDataBrowserItemSelected( |
|
ControlRef browser, |
|
DataBrowserItemID item); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemState( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserItemState * state); |
|
|
|
|
|
/* |
|
* RevealDataBrowserItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
RevealDataBrowserItem( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserPropertyID propertyID, |
|
DataBrowserRevealOptions options); |
|
|
|
|
|
/* Selection Set Manipulation */ |
|
/* |
|
* SetDataBrowserSelectedItems() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserSelectedItems( |
|
ControlRef browser, |
|
UInt32 numItems, |
|
const DataBrowserItemID * items, |
|
DataBrowserSetOption operation); |
|
|
|
|
|
|
|
/* DataBrowser Attribute Manipulation */ |
|
/* The user customizable portion of the current view style settings */ |
|
/* |
|
* SetDataBrowserUserState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserUserState( |
|
ControlRef browser, |
|
CFDataRef stateInfo); |
|
|
|
|
|
/* |
|
* GetDataBrowserUserState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserUserState( |
|
ControlRef browser, |
|
CFDataRef * stateInfo); |
|
|
|
|
|
/* All items are active/enabled or not */ |
|
/* |
|
* SetDataBrowserActiveItems() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserActiveItems( |
|
ControlRef browser, |
|
Boolean active); |
|
|
|
|
|
/* |
|
* GetDataBrowserActiveItems() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserActiveItems( |
|
ControlRef browser, |
|
Boolean * active); |
|
|
|
|
|
/* Inset the scrollbars within the DataBrowser bounds */ |
|
/* |
|
* SetDataBrowserScrollBarInset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserScrollBarInset( |
|
ControlRef browser, |
|
Rect * insetRect); |
|
|
|
|
|
/* |
|
* GetDataBrowserScrollBarInset() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserScrollBarInset( |
|
ControlRef browser, |
|
Rect * insetRect); |
|
|
|
|
|
/* The "user focused" item */ |
|
/* For the ListView, this means the root container */ |
|
/* For the ColumnView, this means the rightmost container column */ |
|
/* |
|
* SetDataBrowserTarget() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTarget( |
|
ControlRef browser, |
|
DataBrowserItemID target); |
|
|
|
|
|
/* |
|
* GetDataBrowserTarget() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTarget( |
|
ControlRef browser, |
|
DataBrowserItemID * target); |
|
|
|
|
|
/* Current sort ordering */ |
|
/* ListView tracks this per-column */ |
|
/* |
|
* SetDataBrowserSortOrder() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserSortOrder( |
|
ControlRef browser, |
|
DataBrowserSortOrder order); |
|
|
|
|
|
/* |
|
* GetDataBrowserSortOrder() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserSortOrder( |
|
ControlRef browser, |
|
DataBrowserSortOrder * order); |
|
|
|
|
|
/* Scrollbar values */ |
|
/* |
|
* SetDataBrowserScrollPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserScrollPosition( |
|
ControlRef browser, |
|
UInt32 top, |
|
UInt32 left); |
|
|
|
|
|
/* |
|
* GetDataBrowserScrollPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserScrollPosition( |
|
ControlRef browser, |
|
UInt32 * top, |
|
UInt32 * left); |
|
|
|
|
|
/* Show/Hide each scrollbar */ |
|
/* |
|
* SetDataBrowserHasScrollBars() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserHasScrollBars( |
|
ControlRef browser, |
|
Boolean horiz, |
|
Boolean vert); |
|
|
|
|
|
/* |
|
* GetDataBrowserHasScrollBars() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserHasScrollBars( |
|
ControlRef browser, |
|
Boolean * horiz, |
|
Boolean * vert); |
|
|
|
|
|
/* Property passed to sort callback (ListView sort column) */ |
|
/* |
|
* SetDataBrowserSortProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserSortProperty( |
|
ControlRef browser, |
|
DataBrowserPropertyID property); |
|
|
|
|
|
/* |
|
* GetDataBrowserSortProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserSortProperty( |
|
ControlRef browser, |
|
DataBrowserPropertyID * property); |
|
|
|
|
|
/* Modify selection behavior */ |
|
/* |
|
* SetDataBrowserSelectionFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserSelectionFlags( |
|
ControlRef browser, |
|
DataBrowserSelectionFlags selectionFlags); |
|
|
|
|
|
/* |
|
* GetDataBrowserSelectionFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserSelectionFlags( |
|
ControlRef browser, |
|
DataBrowserSelectionFlags * selectionFlags); |
|
|
|
|
|
/* Dynamically modify property appearance/behavior */ |
|
/* |
|
* SetDataBrowserPropertyFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserPropertyFlags( |
|
ControlRef browser, |
|
DataBrowserPropertyID property, |
|
DataBrowserPropertyFlags flags); |
|
|
|
|
|
/* |
|
* GetDataBrowserPropertyFlags() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserPropertyFlags( |
|
ControlRef browser, |
|
DataBrowserPropertyID property, |
|
DataBrowserPropertyFlags * flags); |
|
|
|
|
|
/* Text of current in-place edit session */ |
|
/* |
|
* SetDataBrowserEditText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserEditText( |
|
ControlRef browser, |
|
CFStringRef text); |
|
|
|
|
|
/* |
|
* CopyDataBrowserEditText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CopyDataBrowserEditText( |
|
ControlRef browser, |
|
CFStringRef * text); |
|
|
|
|
|
/* |
|
* GetDataBrowserEditText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserEditText( |
|
ControlRef browser, |
|
CFMutableStringRef text); |
|
|
|
|
|
/* Item/property currently being edited */ |
|
/* |
|
* SetDataBrowserEditItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserEditItem( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserPropertyID property); |
|
|
|
|
|
/* |
|
* GetDataBrowserEditItem() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserEditItem( |
|
ControlRef browser, |
|
DataBrowserItemID * item, |
|
DataBrowserPropertyID * property); |
|
|
|
|
|
/* Get the current bounds of a visual part of an item's property */ |
|
/* |
|
* GetDataBrowserItemPartBounds() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemPartBounds( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserPropertyID property, |
|
DataBrowserPropertyPart part, |
|
Rect * bounds); |
|
|
|
|
|
|
|
/* DataBrowser ItemData Accessors (used within DataBrowserItemData callback) */ |
|
|
|
typedef void * DataBrowserItemDataRef; |
|
/* |
|
* SetDataBrowserItemDataIcon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataIcon( |
|
DataBrowserItemDataRef itemData, |
|
IconRef theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataIcon() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataIcon( |
|
DataBrowserItemDataRef itemData, |
|
IconRef * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataText( |
|
DataBrowserItemDataRef itemData, |
|
CFStringRef theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataText() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataText( |
|
DataBrowserItemDataRef itemData, |
|
CFStringRef * theData); |
|
|
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataValue( |
|
DataBrowserItemDataRef itemData, |
|
SInt32 theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataValue( |
|
DataBrowserItemDataRef itemData, |
|
SInt32 * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataMinimum() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataMinimum( |
|
DataBrowserItemDataRef itemData, |
|
SInt32 theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataMinimum() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataMinimum( |
|
DataBrowserItemDataRef itemData, |
|
SInt32 * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataMaximum() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataMaximum( |
|
DataBrowserItemDataRef itemData, |
|
SInt32 theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataMaximum() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataMaximum( |
|
DataBrowserItemDataRef itemData, |
|
SInt32 * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataBooleanValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataBooleanValue( |
|
DataBrowserItemDataRef itemData, |
|
Boolean theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataBooleanValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataBooleanValue( |
|
DataBrowserItemDataRef itemData, |
|
Boolean * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataMenuRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataMenuRef( |
|
DataBrowserItemDataRef itemData, |
|
MenuRef theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataMenuRef() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataMenuRef( |
|
DataBrowserItemDataRef itemData, |
|
MenuRef * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataRGBColor() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataRGBColor( |
|
DataBrowserItemDataRef itemData, |
|
const RGBColor * theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataRGBColor() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataRGBColor( |
|
DataBrowserItemDataRef itemData, |
|
RGBColor * theData); |
|
|
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataDrawState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataDrawState( |
|
DataBrowserItemDataRef itemData, |
|
ThemeDrawState theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataDrawState() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataDrawState( |
|
DataBrowserItemDataRef itemData, |
|
ThemeDrawState * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataButtonValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataButtonValue( |
|
DataBrowserItemDataRef itemData, |
|
ThemeButtonValue theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataButtonValue() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataButtonValue( |
|
DataBrowserItemDataRef itemData, |
|
ThemeButtonValue * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataIconTransform() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataIconTransform( |
|
DataBrowserItemDataRef itemData, |
|
IconTransformType theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataIconTransform() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataIconTransform( |
|
DataBrowserItemDataRef itemData, |
|
IconTransformType * theData); |
|
|
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataDateTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataDateTime( |
|
DataBrowserItemDataRef itemData, |
|
long theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataDateTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataDateTime( |
|
DataBrowserItemDataRef itemData, |
|
long * theData); |
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataLongDateTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataLongDateTime( |
|
DataBrowserItemDataRef itemData, |
|
const LongDateTime * theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataLongDateTime() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataLongDateTime( |
|
DataBrowserItemDataRef itemData, |
|
LongDateTime * theData); |
|
|
|
|
|
|
|
/* |
|
* SetDataBrowserItemDataItemID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserItemDataItemID( |
|
DataBrowserItemDataRef itemData, |
|
DataBrowserItemID theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataItemID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataItemID( |
|
DataBrowserItemDataRef itemData, |
|
DataBrowserItemID * theData); |
|
|
|
|
|
/* |
|
* GetDataBrowserItemDataProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserItemDataProperty( |
|
DataBrowserItemDataRef itemData, |
|
DataBrowserPropertyID * theData); |
|
|
|
|
|
|
|
/* Standard DataBrowser Callbacks */ |
|
|
|
/* Basic Item Management & Manipulation */ |
|
typedef CALLBACK_API( OSStatus , DataBrowserItemDataProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserItemDataRef itemData, Boolean setValue); |
|
typedef STACK_UPP_TYPE(DataBrowserItemDataProcPtr) DataBrowserItemDataUPP; |
|
|
|
/* Item Comparison */ |
|
typedef CALLBACK_API( Boolean , DataBrowserItemCompareProcPtr )(ControlRef browser, DataBrowserItemID itemOne, DataBrowserItemID itemTwo, DataBrowserPropertyID sortProperty); |
|
typedef STACK_UPP_TYPE(DataBrowserItemCompareProcPtr) DataBrowserItemCompareUPP; |
|
|
|
/* ItemEvent Notification */ |
|
/* A Very Important Note about DataBrowserItemNotificationProcPtr: */ |
|
/* */ |
|
/* Under all currently shipping versions of CarbonLib (eg. up through 1.3), your callback is called */ |
|
/* just as the prototype appears in this header. It should only be expecting three parameters because */ |
|
/* DataBrowser will only pass three parameters. */ |
|
/* */ |
|
/* Under Mac OS X, your callback is called with an additional parameter. If you wish to interpret */ |
|
/* the additional parameter, your callback should have the same prototype as the */ |
|
/* DataBrowserItemNotificationWithItemProcPtr (below). You may freely take a callback with this */ |
|
/* prototype and pass it to NewDataBrowserItemNotificationUPP in order to generate a */ |
|
/* DataBrowserItemNotificationUPP that you can use just like any other DataBrowserItemNotificationUPP. */ |
|
/* */ |
|
/* If you use this technique under CarbonLib, you will *not* receive valid data in the fourth */ |
|
/* parameter, and any attempt to use the invalid data will probably result in a crash. */ |
|
typedef CALLBACK_API( void , DataBrowserItemNotificationWithItemProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserItemNotification message, DataBrowserItemDataRef itemData); |
|
typedef CALLBACK_API( void , DataBrowserItemNotificationProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserItemNotification message); |
|
typedef STACK_UPP_TYPE(DataBrowserItemNotificationWithItemProcPtr) DataBrowserItemNotificationWithItemUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserItemNotificationProcPtr) DataBrowserItemNotificationUPP; |
|
|
|
|
|
/* Drag & Drop Processing */ |
|
typedef CALLBACK_API( Boolean , DataBrowserAddDragItemProcPtr )(ControlRef browser, DragReference theDrag, DataBrowserItemID item, ItemReference *itemRef); |
|
typedef CALLBACK_API( Boolean , DataBrowserAcceptDragProcPtr )(ControlRef browser, DragReference theDrag, DataBrowserItemID item); |
|
typedef CALLBACK_API( Boolean , DataBrowserReceiveDragProcPtr )(ControlRef browser, DragReference theDrag, DataBrowserItemID item); |
|
typedef CALLBACK_API( void , DataBrowserPostProcessDragProcPtr )(ControlRef browser, DragReference theDrag, OSStatus trackDragResult); |
|
typedef STACK_UPP_TYPE(DataBrowserAddDragItemProcPtr) DataBrowserAddDragItemUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserAcceptDragProcPtr) DataBrowserAcceptDragUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserReceiveDragProcPtr) DataBrowserReceiveDragUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserPostProcessDragProcPtr) DataBrowserPostProcessDragUPP; |
|
|
|
/* Contextual Menu Support */ |
|
typedef CALLBACK_API( void , DataBrowserGetContextualMenuProcPtr )(ControlRef browser, MenuRef *menu, UInt32 *helpType, CFStringRef *helpItemString, AEDesc *selection); |
|
typedef CALLBACK_API( void , DataBrowserSelectContextualMenuProcPtr )(ControlRef browser, MenuRef menu, UInt32 selectionType, SInt16 menuID, MenuItemIndex menuItem); |
|
typedef STACK_UPP_TYPE(DataBrowserGetContextualMenuProcPtr) DataBrowserGetContextualMenuUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserSelectContextualMenuProcPtr) DataBrowserSelectContextualMenuUPP; |
|
|
|
/* Help Manager Support */ |
|
typedef CALLBACK_API( void , DataBrowserItemHelpContentProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, HMContentRequest inRequest, HMContentProvidedType *outContentProvided, HMHelpContentPtr ioHelpContent); |
|
typedef STACK_UPP_TYPE(DataBrowserItemHelpContentProcPtr) DataBrowserItemHelpContentUPP; |
|
/* |
|
* NewDataBrowserItemDataUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemDataUPP ) |
|
NewDataBrowserItemDataUPP(DataBrowserItemDataProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserItemCompareUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemCompareUPP ) |
|
NewDataBrowserItemCompareUPP(DataBrowserItemCompareProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserItemNotificationWithItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemNotificationWithItemUPP ) |
|
NewDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationWithItemProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserItemNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemNotificationUPP ) |
|
NewDataBrowserItemNotificationUPP(DataBrowserItemNotificationProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserAddDragItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserAddDragItemUPP ) |
|
NewDataBrowserAddDragItemUPP(DataBrowserAddDragItemProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserAcceptDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserAcceptDragUPP ) |
|
NewDataBrowserAcceptDragUPP(DataBrowserAcceptDragProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserReceiveDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserReceiveDragUPP ) |
|
NewDataBrowserReceiveDragUPP(DataBrowserReceiveDragProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserPostProcessDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserPostProcessDragUPP ) |
|
NewDataBrowserPostProcessDragUPP(DataBrowserPostProcessDragProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserGetContextualMenuUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserGetContextualMenuUPP ) |
|
NewDataBrowserGetContextualMenuUPP(DataBrowserGetContextualMenuProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserSelectContextualMenuUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserSelectContextualMenuUPP ) |
|
NewDataBrowserSelectContextualMenuUPP(DataBrowserSelectContextualMenuProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserItemHelpContentUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemHelpContentUPP ) |
|
NewDataBrowserItemHelpContentUPP(DataBrowserItemHelpContentProcPtr userRoutine); |
|
|
|
/* |
|
* DisposeDataBrowserItemDataUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemDataUPP(DataBrowserItemDataUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserItemCompareUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemCompareUPP(DataBrowserItemCompareUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserItemNotificationWithItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemNotificationWithItemUPP(DataBrowserItemNotificationWithItemUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserItemNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemNotificationUPP(DataBrowserItemNotificationUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserAddDragItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserAddDragItemUPP(DataBrowserAddDragItemUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserAcceptDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserAcceptDragUPP(DataBrowserAcceptDragUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserReceiveDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserReceiveDragUPP(DataBrowserReceiveDragUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserPostProcessDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserPostProcessDragUPP(DataBrowserPostProcessDragUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserGetContextualMenuUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserGetContextualMenuUPP(DataBrowserGetContextualMenuUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserSelectContextualMenuUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserSelectContextualMenuUPP(DataBrowserSelectContextualMenuUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserItemHelpContentUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemHelpContentUPP(DataBrowserItemHelpContentUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemDataUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( OSStatus ) |
|
InvokeDataBrowserItemDataUPP( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserPropertyID property, |
|
DataBrowserItemDataRef itemData, |
|
Boolean setValue, |
|
DataBrowserItemDataUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemCompareUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeDataBrowserItemCompareUPP( |
|
ControlRef browser, |
|
DataBrowserItemID itemOne, |
|
DataBrowserItemID itemTwo, |
|
DataBrowserPropertyID sortProperty, |
|
DataBrowserItemCompareUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemNotificationWithItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserItemNotificationWithItemUPP( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserItemNotification message, |
|
DataBrowserItemDataRef itemData, |
|
DataBrowserItemNotificationWithItemUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemNotificationUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserItemNotificationUPP( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserItemNotification message, |
|
DataBrowserItemNotificationUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserAddDragItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeDataBrowserAddDragItemUPP( |
|
ControlRef browser, |
|
DragReference theDrag, |
|
DataBrowserItemID item, |
|
ItemReference * itemRef, |
|
DataBrowserAddDragItemUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserAcceptDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeDataBrowserAcceptDragUPP( |
|
ControlRef browser, |
|
DragReference theDrag, |
|
DataBrowserItemID item, |
|
DataBrowserAcceptDragUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserReceiveDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeDataBrowserReceiveDragUPP( |
|
ControlRef browser, |
|
DragReference theDrag, |
|
DataBrowserItemID item, |
|
DataBrowserReceiveDragUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserPostProcessDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserPostProcessDragUPP( |
|
ControlRef browser, |
|
DragReference theDrag, |
|
OSStatus trackDragResult, |
|
DataBrowserPostProcessDragUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserGetContextualMenuUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserGetContextualMenuUPP( |
|
ControlRef browser, |
|
MenuRef * menu, |
|
UInt32 * helpType, |
|
CFStringRef * helpItemString, |
|
AEDesc * selection, |
|
DataBrowserGetContextualMenuUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserSelectContextualMenuUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserSelectContextualMenuUPP( |
|
ControlRef browser, |
|
MenuRef menu, |
|
UInt32 selectionType, |
|
SInt16 menuID, |
|
MenuItemIndex menuItem, |
|
DataBrowserSelectContextualMenuUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemHelpContentUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserItemHelpContentUPP( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserPropertyID property, |
|
HMContentRequest inRequest, |
|
HMContentProvidedType * outContentProvided, |
|
HMHelpContentPtr ioHelpContent, |
|
DataBrowserItemHelpContentUPP userUPP); |
|
|
|
/* Standard Callback (vtable) Structure */ |
|
enum { |
|
kDataBrowserLatestCallbacks = 0 |
|
}; |
|
|
|
struct DataBrowserCallbacks { |
|
UInt32 version; /* Use kDataBrowserLatestCallbacks */ |
|
|
|
union { |
|
struct { |
|
DataBrowserItemDataUPP itemDataCallback; |
|
DataBrowserItemCompareUPP itemCompareCallback; |
|
DataBrowserItemNotificationUPP itemNotificationCallback; |
|
|
|
DataBrowserAddDragItemUPP addDragItemCallback; |
|
DataBrowserAcceptDragUPP acceptDragCallback; |
|
DataBrowserReceiveDragUPP receiveDragCallback; |
|
DataBrowserPostProcessDragUPP postProcessDragCallback; |
|
|
|
DataBrowserItemHelpContentUPP itemHelpContentCallback; |
|
DataBrowserGetContextualMenuUPP getContextualMenuCallback; |
|
DataBrowserSelectContextualMenuUPP selectContextualMenuCallback; |
|
} v1; |
|
} u; |
|
}; |
|
typedef struct DataBrowserCallbacks DataBrowserCallbacks; |
|
/* |
|
* InitDataBrowserCallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
InitDataBrowserCallbacks(DataBrowserCallbacks * callbacks); |
|
|
|
|
|
/* Macro for initializing callback structure */ |
|
#define InitializeDataBrowserCallbacks(callbacks, vers) \ |
|
{ (callbacks)->version = (vers); InitDataBrowserCallbacks(callbacks); } |
|
|
|
/* |
|
* GetDataBrowserCallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserCallbacks( |
|
ControlRef browser, |
|
DataBrowserCallbacks * callbacks); |
|
|
|
|
|
/* |
|
* SetDataBrowserCallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserCallbacks( |
|
ControlRef browser, |
|
const DataBrowserCallbacks * callbacks); |
|
|
|
|
|
|
|
/* Custom Format Callbacks (kDataBrowserCustomType display properties) */ |
|
|
|
typedef unsigned long DataBrowserDragFlags; |
|
typedef SInt16 DataBrowserTrackingResult; |
|
enum { |
|
kDataBrowserContentHit = 1, |
|
kDataBrowserNothingHit = 0, |
|
kDataBrowserStopTracking = -1 |
|
}; |
|
|
|
typedef CALLBACK_API( void , DataBrowserDrawItemProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, DataBrowserItemState itemState, const Rect *theRect, SInt16 gdDepth, Boolean colorDevice); |
|
typedef CALLBACK_API( Boolean , DataBrowserEditItemProcPtr )(ControlRef browser, DataBrowserItemID item, DataBrowserPropertyID property, CFStringRef theString, Rect *maxEditTextRect, Boolean *shrinkToFit); |
|
typedef CALLBACK_API( Boolean , DataBrowserHitTestProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, const Rect *mouseRect); |
|
typedef CALLBACK_API( DataBrowserTrackingResult , DataBrowserTrackingProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, Point startPt, EventModifiers modifiers); |
|
typedef CALLBACK_API( void , DataBrowserItemDragRgnProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, RgnHandle dragRgn); |
|
typedef CALLBACK_API( DataBrowserDragFlags , DataBrowserItemAcceptDragProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, const Rect *theRect, DragReference theDrag); |
|
typedef CALLBACK_API( Boolean , DataBrowserItemReceiveDragProcPtr )(ControlRef browser, DataBrowserItemID itemID, DataBrowserPropertyID property, DataBrowserDragFlags dragFlags, DragReference theDrag); |
|
typedef STACK_UPP_TYPE(DataBrowserDrawItemProcPtr) DataBrowserDrawItemUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserEditItemProcPtr) DataBrowserEditItemUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserHitTestProcPtr) DataBrowserHitTestUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserTrackingProcPtr) DataBrowserTrackingUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserItemDragRgnProcPtr) DataBrowserItemDragRgnUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserItemAcceptDragProcPtr) DataBrowserItemAcceptDragUPP; |
|
typedef STACK_UPP_TYPE(DataBrowserItemReceiveDragProcPtr) DataBrowserItemReceiveDragUPP; |
|
/* |
|
* NewDataBrowserDrawItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserDrawItemUPP ) |
|
NewDataBrowserDrawItemUPP(DataBrowserDrawItemProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserEditItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserEditItemUPP ) |
|
NewDataBrowserEditItemUPP(DataBrowserEditItemProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserHitTestUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserHitTestUPP ) |
|
NewDataBrowserHitTestUPP(DataBrowserHitTestProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserTrackingUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserTrackingUPP ) |
|
NewDataBrowserTrackingUPP(DataBrowserTrackingProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserItemDragRgnUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemDragRgnUPP ) |
|
NewDataBrowserItemDragRgnUPP(DataBrowserItemDragRgnProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserItemAcceptDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemAcceptDragUPP ) |
|
NewDataBrowserItemAcceptDragUPP(DataBrowserItemAcceptDragProcPtr userRoutine); |
|
|
|
/* |
|
* NewDataBrowserItemReceiveDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserItemReceiveDragUPP ) |
|
NewDataBrowserItemReceiveDragUPP(DataBrowserItemReceiveDragProcPtr userRoutine); |
|
|
|
/* |
|
* DisposeDataBrowserDrawItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserDrawItemUPP(DataBrowserDrawItemUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserEditItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserEditItemUPP(DataBrowserEditItemUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserHitTestUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserHitTestUPP(DataBrowserHitTestUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserTrackingUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserTrackingUPP(DataBrowserTrackingUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserItemDragRgnUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemDragRgnUPP(DataBrowserItemDragRgnUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserItemAcceptDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemAcceptDragUPP(DataBrowserItemAcceptDragUPP userUPP); |
|
|
|
/* |
|
* DisposeDataBrowserItemReceiveDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeDataBrowserItemReceiveDragUPP(DataBrowserItemReceiveDragUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserDrawItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserDrawItemUPP( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserPropertyID property, |
|
DataBrowserItemState itemState, |
|
const Rect * theRect, |
|
SInt16 gdDepth, |
|
Boolean colorDevice, |
|
DataBrowserDrawItemUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserEditItemUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeDataBrowserEditItemUPP( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserPropertyID property, |
|
CFStringRef theString, |
|
Rect * maxEditTextRect, |
|
Boolean * shrinkToFit, |
|
DataBrowserEditItemUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserHitTestUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeDataBrowserHitTestUPP( |
|
ControlRef browser, |
|
DataBrowserItemID itemID, |
|
DataBrowserPropertyID property, |
|
const Rect * theRect, |
|
const Rect * mouseRect, |
|
DataBrowserHitTestUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserTrackingUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserTrackingResult ) |
|
InvokeDataBrowserTrackingUPP( |
|
ControlRef browser, |
|
DataBrowserItemID itemID, |
|
DataBrowserPropertyID property, |
|
const Rect * theRect, |
|
Point startPt, |
|
EventModifiers modifiers, |
|
DataBrowserTrackingUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemDragRgnUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
InvokeDataBrowserItemDragRgnUPP( |
|
ControlRef browser, |
|
DataBrowserItemID itemID, |
|
DataBrowserPropertyID property, |
|
const Rect * theRect, |
|
RgnHandle dragRgn, |
|
DataBrowserItemDragRgnUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemAcceptDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( DataBrowserDragFlags ) |
|
InvokeDataBrowserItemAcceptDragUPP( |
|
ControlRef browser, |
|
DataBrowserItemID itemID, |
|
DataBrowserPropertyID property, |
|
const Rect * theRect, |
|
DragReference theDrag, |
|
DataBrowserItemAcceptDragUPP userUPP); |
|
|
|
/* |
|
* InvokeDataBrowserItemReceiveDragUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.1 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeDataBrowserItemReceiveDragUPP( |
|
ControlRef browser, |
|
DataBrowserItemID itemID, |
|
DataBrowserPropertyID property, |
|
DataBrowserDragFlags dragFlags, |
|
DragReference theDrag, |
|
DataBrowserItemReceiveDragUPP userUPP); |
|
|
|
/* Custom Callback (vtable) Structure */ |
|
enum { |
|
kDataBrowserLatestCustomCallbacks = 0 |
|
}; |
|
|
|
struct DataBrowserCustomCallbacks { |
|
|
|
UInt32 version; /* Use kDataBrowserLatestCustomCallbacks */ |
|
|
|
union { |
|
struct { |
|
DataBrowserDrawItemUPP drawItemCallback; |
|
DataBrowserEditItemUPP editTextCallback; |
|
DataBrowserHitTestUPP hitTestCallback; |
|
DataBrowserTrackingUPP trackingCallback; |
|
|
|
DataBrowserItemDragRgnUPP dragRegionCallback; |
|
DataBrowserItemAcceptDragUPP acceptDragCallback; |
|
DataBrowserItemReceiveDragUPP receiveDragCallback; |
|
} v1; |
|
} u; |
|
}; |
|
typedef struct DataBrowserCustomCallbacks DataBrowserCustomCallbacks; |
|
/* |
|
* InitDataBrowserCustomCallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
InitDataBrowserCustomCallbacks(DataBrowserCustomCallbacks * callbacks); |
|
|
|
|
|
/* Macro for initializing custom callback structure */ |
|
#define InitializeDataBrowserCustomCallbacks(callbacks, vers) \ |
|
{ (callbacks)->version = (vers); InitDataBrowserCustomCallbacks(callbacks); } |
|
|
|
/* |
|
* GetDataBrowserCustomCallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserCustomCallbacks( |
|
ControlRef browser, |
|
DataBrowserCustomCallbacks * callbacks); |
|
|
|
|
|
/* |
|
* SetDataBrowserCustomCallbacks() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserCustomCallbacks( |
|
ControlRef browser, |
|
const DataBrowserCustomCallbacks * callbacks); |
|
|
|
|
|
|
|
|
|
|
|
/* TableView Formatting */ |
|
typedef UInt32 DataBrowserTableViewHiliteStyle; |
|
enum { |
|
kDataBrowserTableViewMinimalHilite = 0, |
|
kDataBrowserTableViewFillHilite = 1 |
|
}; |
|
|
|
typedef UInt32 DataBrowserTableViewPropertyFlags; |
|
enum { |
|
/* kDataBrowserTableView DataBrowserPropertyFlags */ |
|
kDataBrowserTableViewSelectionColumn = 1 << kDataBrowserViewSpecificFlagsOffset |
|
}; |
|
|
|
/* The row and column indicies are zero-based */ |
|
|
|
typedef UInt32 DataBrowserTableViewRowIndex; |
|
typedef UInt32 DataBrowserTableViewColumnIndex; |
|
typedef DataBrowserPropertyID DataBrowserTableViewColumnID; |
|
typedef DataBrowserPropertyDesc DataBrowserTableViewColumnDesc; |
|
|
|
/* TableView API */ |
|
/* Use when setting column position */ |
|
enum { |
|
kDataBrowserTableViewLastColumn = -1 |
|
}; |
|
|
|
/* |
|
* RemoveDataBrowserTableViewColumn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
RemoveDataBrowserTableViewColumn( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewColumnCount() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewColumnCount( |
|
ControlRef browser, |
|
UInt32 * numColumns); |
|
|
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewHiliteStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewHiliteStyle( |
|
ControlRef browser, |
|
DataBrowserTableViewHiliteStyle hiliteStyle); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewHiliteStyle() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewHiliteStyle( |
|
ControlRef browser, |
|
DataBrowserTableViewHiliteStyle * hiliteStyle); |
|
|
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewRowHeight() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewRowHeight( |
|
ControlRef browser, |
|
UInt16 height); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewRowHeight() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewRowHeight( |
|
ControlRef browser, |
|
UInt16 * height); |
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewColumnWidth() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewColumnWidth( |
|
ControlRef browser, |
|
UInt16 width); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewColumnWidth() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewColumnWidth( |
|
ControlRef browser, |
|
UInt16 * width); |
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewItemRowHeight() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewItemRowHeight( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
UInt16 height); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewItemRowHeight() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewItemRowHeight( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
UInt16 * height); |
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewNamedColumnWidth() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewNamedColumnWidth( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column, |
|
UInt16 width); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewNamedColumnWidth() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewNamedColumnWidth( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column, |
|
UInt16 * width); |
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewGeometry() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewGeometry( |
|
ControlRef browser, |
|
Boolean variableWidthColumns, |
|
Boolean variableHeightRows); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewGeometry() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewGeometry( |
|
ControlRef browser, |
|
Boolean * variableWidthColumns, |
|
Boolean * variableHeightRows); |
|
|
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewItemID() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewItemID( |
|
ControlRef browser, |
|
DataBrowserTableViewRowIndex row, |
|
DataBrowserItemID * item); |
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewItemRow() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewItemRow( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserTableViewRowIndex row); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewItemRow() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewItemRow( |
|
ControlRef browser, |
|
DataBrowserItemID item, |
|
DataBrowserTableViewRowIndex * row); |
|
|
|
|
|
/* |
|
* SetDataBrowserTableViewColumnPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserTableViewColumnPosition( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column, |
|
DataBrowserTableViewColumnIndex position); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewColumnPosition() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewColumnPosition( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column, |
|
DataBrowserTableViewColumnIndex * position); |
|
|
|
|
|
/* |
|
* GetDataBrowserTableViewColumnProperty() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserTableViewColumnProperty( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnIndex column, |
|
DataBrowserTableViewColumnID * property); |
|
|
|
|
|
|
|
|
|
|
|
/* kDataBrowserListView Formatting */ |
|
typedef UInt32 DataBrowserListViewPropertyFlags; |
|
enum { |
|
/* kDataBrowserListView DataBrowserPropertyFlags */ |
|
kDataBrowserListViewMovableColumn = 1 << (kDataBrowserViewSpecificFlagsOffset + 1), |
|
kDataBrowserListViewSortableColumn = 1 << (kDataBrowserViewSpecificFlagsOffset + 2), |
|
kDataBrowserListViewSelectionColumn = kDataBrowserTableViewSelectionColumn, |
|
kDataBrowserListViewDefaultColumnFlags = kDataBrowserListViewMovableColumn + kDataBrowserListViewSortableColumn |
|
}; |
|
|
|
|
|
enum { |
|
kDataBrowserListViewLatestHeaderDesc = 0 |
|
}; |
|
|
|
struct DataBrowserListViewHeaderDesc { |
|
UInt32 version; /* Use kDataBrowserListViewLatestHeaderDesc */ |
|
|
|
UInt16 minimumWidth; |
|
UInt16 maximumWidth; |
|
|
|
SInt16 titleOffset; |
|
CFStringRef titleString; |
|
DataBrowserSortOrder initialOrder; |
|
ControlFontStyleRec btnFontStyle; |
|
ControlButtonContentInfo btnContentInfo; |
|
}; |
|
typedef struct DataBrowserListViewHeaderDesc DataBrowserListViewHeaderDesc; |
|
struct DataBrowserListViewColumnDesc { |
|
DataBrowserTableViewColumnDesc propertyDesc; |
|
DataBrowserListViewHeaderDesc headerBtnDesc; |
|
}; |
|
typedef struct DataBrowserListViewColumnDesc DataBrowserListViewColumnDesc; |
|
/* kDataBrowserListView API */ |
|
enum { |
|
kDataBrowserListViewAppendColumn = kDataBrowserTableViewLastColumn |
|
}; |
|
|
|
/* |
|
* AutoSizeDataBrowserListViewColumns() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
AutoSizeDataBrowserListViewColumns(ControlRef browser); |
|
|
|
|
|
/* |
|
* AddDataBrowserListViewColumn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
AddDataBrowserListViewColumn( |
|
ControlRef browser, |
|
DataBrowserListViewColumnDesc * columnDesc, |
|
DataBrowserTableViewColumnIndex position); |
|
|
|
|
|
/* |
|
* GetDataBrowserListViewHeaderDesc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserListViewHeaderDesc( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column, |
|
DataBrowserListViewHeaderDesc * desc); |
|
|
|
|
|
/* |
|
* SetDataBrowserListViewHeaderDesc() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.5 and later |
|
* Mac OS X: in version 10.2 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserListViewHeaderDesc( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column, |
|
DataBrowserListViewHeaderDesc * desc); |
|
|
|
|
|
/* |
|
* SetDataBrowserListViewHeaderBtnHeight() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserListViewHeaderBtnHeight( |
|
ControlRef browser, |
|
UInt16 height); |
|
|
|
|
|
/* |
|
* GetDataBrowserListViewHeaderBtnHeight() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserListViewHeaderBtnHeight( |
|
ControlRef browser, |
|
UInt16 * height); |
|
|
|
|
|
/* |
|
* SetDataBrowserListViewUsePlainBackground() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserListViewUsePlainBackground( |
|
ControlRef browser, |
|
Boolean usePlainBackground); |
|
|
|
|
|
/* |
|
* GetDataBrowserListViewUsePlainBackground() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserListViewUsePlainBackground( |
|
ControlRef browser, |
|
Boolean * usePlainBackground); |
|
|
|
|
|
/* |
|
* SetDataBrowserListViewDisclosureColumn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserListViewDisclosureColumn( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID column, |
|
Boolean expandableRows); |
|
|
|
|
|
/* |
|
* GetDataBrowserListViewDisclosureColumn() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserListViewDisclosureColumn( |
|
ControlRef browser, |
|
DataBrowserTableViewColumnID * column, |
|
Boolean * expandableRows); |
|
|
|
|
|
|
|
/* kDataBrowserColumnView API */ |
|
/* |
|
* GetDataBrowserColumnViewPath() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserColumnViewPath( |
|
ControlRef browser, |
|
Handle path); |
|
|
|
|
|
/* |
|
* GetDataBrowserColumnViewPathLength() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserColumnViewPathLength( |
|
ControlRef browser, |
|
UInt32 * pathLength); |
|
|
|
|
|
/* |
|
* SetDataBrowserColumnViewPath() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserColumnViewPath( |
|
ControlRef browser, |
|
UInt32 length, |
|
const DataBrowserItemID * path); |
|
|
|
|
|
/* |
|
* SetDataBrowserColumnViewDisplayType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
SetDataBrowserColumnViewDisplayType( |
|
ControlRef browser, |
|
DataBrowserPropertyType propertyType); |
|
|
|
|
|
/* |
|
* GetDataBrowserColumnViewDisplayType() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: in CarbonLib 1.1 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
GetDataBrowserColumnViewDisplayType( |
|
ControlRef browser, |
|
DataBrowserPropertyType * propertyType); |
|
|
|
|
|
|
|
/* DataBrowser UPP macros */ |
|
/*---------------------------------------------------------------------------------------*/ |
|
/* EditUnicodeText Control */ |
|
/*---------------------------------------------------------------------------------------*/ |
|
/* This control is only available in Mac OS X. It is super similar to Edit Text control */ |
|
/* Use all the same Get/Set tags. But don't ask for the TEHandle. */ |
|
/*---------------------------------------------------------------------------------------*/ |
|
/* This callback supplies the functionality of the TSMTEPostUpdateProcPtr that is used */ |
|
/* in the EditText control. A client should supply this call if they want to look at */ |
|
/* inline text that has been fixed before it is included in the actual body text */ |
|
/* if the new text (i.e. the text in the handle) should be included in the body text */ |
|
/* the client should return true. If the client wants to block the inclusion of the */ |
|
/* text they should return false. */ |
|
typedef CALLBACK_API( Boolean , EditUnicodePostUpdateProcPtr )(UniCharArrayHandle uniText, UniCharCount uniTextLength, UniCharArrayOffset iStartOffset, UniCharArrayOffset iEndOffset, void *refcon); |
|
typedef STACK_UPP_TYPE(EditUnicodePostUpdateProcPtr) EditUnicodePostUpdateUPP; |
|
/* |
|
* NewEditUnicodePostUpdateUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( EditUnicodePostUpdateUPP ) |
|
NewEditUnicodePostUpdateUPP(EditUnicodePostUpdateProcPtr userRoutine); |
|
|
|
/* |
|
* DisposeEditUnicodePostUpdateUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( void ) |
|
DisposeEditUnicodePostUpdateUPP(EditUnicodePostUpdateUPP userUPP); |
|
|
|
/* |
|
* InvokeEditUnicodePostUpdateUPP() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API_C( Boolean ) |
|
InvokeEditUnicodePostUpdateUPP( |
|
UniCharArrayHandle uniText, |
|
UniCharCount uniTextLength, |
|
UniCharArrayOffset iStartOffset, |
|
UniCharArrayOffset iEndOffset, |
|
void * refcon, |
|
EditUnicodePostUpdateUPP userUPP); |
|
|
|
/* Use this tag when calling ControlSet/GetData to specify the UnicodePostUpdateProcPtr */ |
|
/* tags available with Appearance 1.1 or later */ |
|
enum { |
|
kControlEditUnicodeTextPostUpdateProcTag = FOUR_CHAR_CODE('upup') |
|
}; |
|
|
|
|
|
enum { |
|
kControlEditUnicodeTextProc = 912, |
|
kControlEditUnicodeTextPasswordProc = 914 |
|
}; |
|
|
|
/* Control Kind Tag */ |
|
enum { |
|
kControlKindEditUnicodeText = FOUR_CHAR_CODE('eutx') |
|
}; |
|
|
|
/* Creation API for X */ |
|
/* |
|
* CreateEditUnicodeTextControl() |
|
* |
|
* Availability: |
|
* Non-Carbon CFM: not available |
|
* CarbonLib: not available in CarbonLib 1.x, is available on Mac OS X version 10.0 and later |
|
* Mac OS X: in version 10.0 and later |
|
*/ |
|
EXTERN_API( OSStatus ) |
|
CreateEditUnicodeTextControl( |
|
WindowRef window, |
|
const Rect * boundsRect, |
|
CFStringRef text, |
|
Boolean isPassword, |
|
const ControlFontStyleRec * style, /* can be NULL */ |
|
ControlRef * outControl); |
|
|
|
|
|
/* Tagged data supported by Unicode text Control only*/ |
|
enum { |
|
kControlEditTextSingleLineTag = FOUR_CHAR_CODE('sglc') |
|
}; |
|
|
|
#if OLDROUTINENAMES |
|
/*--------------------------------------------------------------------------------------*/ |
|
/* o OLDROUTINENAMES */ |
|
/*--------------------------------------------------------------------------------------*/ |
|
enum { |
|
kControlCheckboxUncheckedValue = kControlCheckBoxUncheckedValue, |
|
kControlCheckboxCheckedValue = kControlCheckBoxCheckedValue, |
|
kControlCheckboxMixedValue = kControlCheckBoxMixedValue |
|
}; |
|
|
|
enum { |
|
inLabel = kControlLabelPart, |
|
inMenu = kControlMenuPart, |
|
inTriangle = kControlTrianglePart, |
|
inButton = kControlButtonPart, |
|
inCheckBox = kControlCheckBoxPart, |
|
inUpButton = kControlUpButtonPart, |
|
inDownButton = kControlDownButtonPart, |
|
inPageUp = kControlPageUpPart, |
|
inPageDown = kControlPageDownPart |
|
}; |
|
|
|
enum { |
|
kInLabelControlPart = kControlLabelPart, |
|
kInMenuControlPart = kControlMenuPart, |
|
kInTriangleControlPart = kControlTrianglePart, |
|
kInButtonControlPart = kControlButtonPart, |
|
kInCheckBoxControlPart = kControlCheckBoxPart, |
|
kInUpButtonControlPart = kControlUpButtonPart, |
|
kInDownButtonControlPart = kControlDownButtonPart, |
|
kInPageUpControlPart = kControlPageUpPart, |
|
kInPageDownControlPart = kControlPageDownPart |
|
}; |
|
|
|
|
|
#endif /* OLDROUTINENAMES */ |
|
|
|
|
|
|
|
|
|
|
|
#if PRAGMA_STRUCT_ALIGN |
|
#pragma options align=reset |
|
#elif PRAGMA_STRUCT_PACKPUSH |
|
#pragma pack(pop) |
|
#elif PRAGMA_STRUCT_PACK |
|
#pragma pack() |
|
#endif |
|
|
|
#ifdef PRAGMA_IMPORT_OFF |
|
#pragma import off |
|
#elif PRAGMA_IMPORT |
|
#pragma import reset |
|
#endif |
|
|
|
#ifdef __cplusplus |
|
} |
|
#endif |
|
|
|
#endif /* __CONTROLDEFINITIONS__ */ |
|
|
|
|