sys7.1-doc-wip/Interfaces/PInterfaces/Controls.p
2019-07-27 22:37:48 +08:00

256 lines
7.5 KiB
OpenEdge ABL

{
Created: Tuesday, July 30, 1991 at 2:11 PM
Controls.p
Pascal Interface to the Macintosh Libraries
Copyright Apple Computer, Inc. 1985-1992
All rights reserved
Change History (most recent first):
<8> 11/7/92 JDR Added the PopupPrivateData record.
<7> 4/6/92 DCL For New Inside Mac: Adding fancy new improved names for old
crusty routines. #1025005
<6> 7/30/91 JL Updated Copyright.
<5> 1/29/91 jal <LN> checked in database generated file from DSG.
<4> 12/14/90 dba <JDR> add calc messages for 32-bit clean CDEFs; use
popupMenuProc name to match Pascal
<3> 11/4/90 dba add UpdateControls (synonym for UpdtControl)
<2> 9/15/90 PWD Moved popup constants here from CTBUtilities.p. <kaz> <crz>
}
{$IFC UNDEFINED UsingIncludes}
{$SETC UsingIncludes := 0}
{$ENDC}
{$IFC NOT UsingIncludes}
UNIT Controls;
INTERFACE
{$ENDC}
{$IFC UNDEFINED UsingControls}
{$SETC UsingControls := 1}
{$I+}
{$SETC ControlsIncludes := UsingIncludes}
{$SETC UsingIncludes := 1}
{$IFC UNDEFINED UsingQuickdraw}
{$I $$Shell(PInterfaces)Quickdraw.p}
{$ENDC}
{$IFC UNDEFINED UsingMenus}
{$I $$Shell(PInterfaces)Menus.p}
{$ENDC}
{$SETC UsingIncludes := ControlsIncludes}
CONST
pushButProc = 0;
checkBoxProc = 1;
radioButProc = 2;
useWFont = 8;
scrollBarProc = 16;
inButton = 10;
inCheckBox = 11;
inUpButton = 20;
inDownButton = 21;
inPageUp = 22;
inPageDown = 23;
inThumb = 129;
popupMenuProc = 1008; { 63 * 16 }
popupFixedWidth = $0001; { popup menu CDEF variation codes }
popupUseAddResMenu = $0004;
popupUseWFont = $0008;
popupTitleBold = $00000100; { Popup Title characteristics }
popupTitleItalic = $00000200;
popupTitleUnderline = $00000400;
popupTitleOutline = $00000800;
popupTitleShadow = $00001000;
popupTitleCondense = $00002000;
popupTitleExtend = $00004000;
popupTitleNoStyle = $00008000;
popupTitleLeftJust = $00000000;
popupTitleCenterJust = $00000001;
popupTitleRightJust = $000000FF;
{
axis constraints for DragGrayRgn call}
noConstraint = 0;
hAxisOnly = 1;
vAxisOnly = 2;
{
control messages}
drawCntl = 0;
testCntl = 1;
calcCRgns = 2;
initCntl = 3;
dispCntl = 4;
posCntl = 5;
thumbCntl = 6;
dragCntl = 7;
autoTrack = 8;
calcCntlRgn = 10;
calcThumbRgn = 11;
cFrameColor = 0;
cBodyColor = 1;
cTextColor = 2;
cThumbColor = 3;
popupMenuCDEFproc = popupMenuProc; { synonym for compatibility }
TYPE
ControlPtr = ^ControlRecord;
ControlHandle = ^ControlPtr;
ControlRecord = PACKED RECORD
nextControl: ControlHandle;
contrlOwner: WindowPtr;
contrlRect: Rect;
contrlVis: Byte;
contrlHilite: Byte;
contrlValue: INTEGER;
contrlMin: INTEGER;
contrlMax: INTEGER;
contrlDefProc: Handle;
contrlData: Handle;
contrlAction: ProcPtr;
contrlRfCon: LONGINT;
contrlTitle: Str255;
END;
PopupPrivateDataPtr = ^PopupPrivateData;
PopupPrivateDataHandle = ^PopupPrivateDataPtr;
PopupPrivateData = RECORD
mHandle: MenuHandle; {popup menu handle}
mID: INTEGER; {popup menu ID}
END;
CCTabPtr = ^CtlCTab;
CCTabHandle = ^CCTabPtr;
CtlCTab = RECORD
ccSeed: LONGINT; {reserved}
ccRider: INTEGER; {see what you have done - reserved}
ctSize: INTEGER; {usually 3 for controls}
ctTable: ARRAY [0..3] OF ColorSpec;
END;
AuxCtlPtr = ^AuxCtlRec;
AuxCtlHandle = ^AuxCtlPtr;
AuxCtlRec = RECORD
acNext: AuxCtlHandle; {handle to next AuxCtlRec}
acOwner: ControlHandle; {handle for aux record's control}
acCTable: CCTabHandle; {color table for this control}
acFlags: INTEGER; {misc flag byte}
acReserved: LONGINT; {reserved for use by Apple}
acRefCon: LONGINT; {for use by application}
END;
FUNCTION NewControl(theWindow: WindowPtr;boundsRect: Rect;title: Str255;
visible: BOOLEAN;value: INTEGER;min: INTEGER;max: INTEGER;procID: INTEGER;
refCon: LONGINT): ControlHandle;
INLINE $A954;
PROCEDURE SetControlTitle(theControl: ControlHandle;title: Str255);
INLINE $A95F;
PROCEDURE SetCTitle(theControl: ControlHandle;title: Str255);
INLINE $A95F;
PROCEDURE GetControlTitle(theControl: ControlHandle;VAR title: Str255);
INLINE $A95E;
PROCEDURE GetCTitle(theControl: ControlHandle;VAR title: Str255);
INLINE $A95E;
FUNCTION GetNewControl(controlID: INTEGER;owner: WindowPtr): ControlHandle;
INLINE $A9BE;
PROCEDURE DisposeControl(theControl: ControlHandle);
INLINE $A955;
PROCEDURE KillControls(theWindow: WindowPtr);
INLINE $A956;
PROCEDURE HideControl(theControl: ControlHandle);
INLINE $A958;
PROCEDURE ShowControl(theControl: ControlHandle);
INLINE $A957;
PROCEDURE DrawControls(theWindow: WindowPtr);
INLINE $A969;
PROCEDURE Draw1Control(theControl: ControlHandle);
INLINE $A96D;
PROCEDURE HiliteControl(theControl: ControlHandle;hiliteState: INTEGER);
INLINE $A95D;
PROCEDURE UpdateControls(theWindow: WindowPtr;updateRgn: RgnHandle);
INLINE $A953;
PROCEDURE UpdtControl(theWindow: WindowPtr;updateRgn: RgnHandle);
INLINE $A953;
PROCEDURE MoveControl(theControl: ControlHandle;h: INTEGER;v: INTEGER);
INLINE $A959;
PROCEDURE SizeControl(theControl: ControlHandle;w: INTEGER;h: INTEGER);
INLINE $A95C;
PROCEDURE SetControlValue(theControl: ControlHandle;theValue: INTEGER);
INLINE $A963;
PROCEDURE SetCtlValue(theControl: ControlHandle;theValue: INTEGER);
INLINE $A963;
FUNCTION GetControlValue(theControl: ControlHandle): INTEGER;
INLINE $A960;
FUNCTION GetCtlValue(theControl: ControlHandle): INTEGER;
INLINE $A960;
PROCEDURE SetControlMinimum(theControl: ControlHandle;minValue: INTEGER);
INLINE $A964;
PROCEDURE SetCtlMin(theControl: ControlHandle;minValue: INTEGER);
INLINE $A964;
FUNCTION GetControlMinimum(theControl: ControlHandle): INTEGER;
INLINE $A961;
FUNCTION GetCtlMin(theControl: ControlHandle): INTEGER;
INLINE $A961;
PROCEDURE SetControlMaximum(theControl: ControlHandle;maxValue: INTEGER);
INLINE $A965;
PROCEDURE SetCtlMax(theControl: ControlHandle;maxValue: INTEGER);
INLINE $A965;
FUNCTION GetControlMaximum(theControl: ControlHandle): INTEGER;
INLINE $A962;
FUNCTION GetCtlMax(theControl: ControlHandle): INTEGER;
INLINE $A962;
PROCEDURE SetControlReference(theControl: ControlHandle;data: LONGINT);
INLINE $A95B;
PROCEDURE SetCRefCon(theControl: ControlHandle;data: LONGINT);
INLINE $A95B;
FUNCTION GetControlReference(theControl: ControlHandle): LONGINT;
INLINE $A95A;
FUNCTION GetCRefCon(theControl: ControlHandle): LONGINT;
INLINE $A95A;
PROCEDURE SetControlAction(theControl: ControlHandle;actionProc: ProcPtr);
INLINE $A96B;
PROCEDURE SetCtlAction(theControl: ControlHandle;actionProc: ProcPtr);
INLINE $A96B;
FUNCTION GetControlAction(theControl: ControlHandle): ProcPtr;
INLINE $A96A;
FUNCTION GetCtlAction(theControl: ControlHandle): ProcPtr;
INLINE $A96A;
PROCEDURE DragControl(theControl: ControlHandle;startPt: Point;limitRect: Rect;
slopRect: Rect;axis: INTEGER);
INLINE $A967;
FUNCTION TestControl(theControl: ControlHandle;thePt: Point): INTEGER;
INLINE $A966;
FUNCTION TrackControl(theControl: ControlHandle;thePoint: Point;actionProc: ProcPtr): INTEGER;
INLINE $A968;
FUNCTION FindControl(thePoint: Point;theWindow: WindowPtr;VAR theControl: ControlHandle): INTEGER;
INLINE $A96C;
PROCEDURE SetControlColor(theControl: ControlHandle;newColorTable: CCTabHandle);
INLINE $AA43;
PROCEDURE SetCtlColor(theControl: ControlHandle;newColorTable: CCTabHandle);
INLINE $AA43;
FUNCTION GetAuxiliaryControlRecord(theControl: ControlHandle;VAR acHndl: AuxCtlHandle): BOOLEAN;
INLINE $AA44;
FUNCTION GetAuxCtl(theControl: ControlHandle;VAR acHndl: AuxCtlHandle): BOOLEAN;
INLINE $AA44;
FUNCTION GetControlVariant(theControl: ControlHandle): INTEGER;
INLINE $A809;
FUNCTION GetCVariant(theControl: ControlHandle): INTEGER;
INLINE $A809;
{$ENDC} { UsingControls }
{$IFC NOT UsingIncludes}
END.
{$ENDC}