home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
compressed
/
development
/
clusterdemo.dms
/
clusterdemo.adf
/
Modules.lha
/
modules
/
txt
/
GadTools.def
< prev
next >
Wrap
Text File
|
1994-05-25
|
15KB
|
482 lines
|##########|
|#MAGIC #|CLABLNAG
|#PROJECT #|"IMPORTAll"
|#PATHS #|"StdProject"
|#FLAGS #|xx---x-xx---xxx-----------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|xx----xxxx-xx---
|##########|
DEFINITION MODULE GadTools;
| WB 18 Aug 1992 Datei übernommen.
(* $A- *)
FROM Exec IMPORT LibraryPtr, MsgPortPtr, ListPtr;
FROM Intuition IMPORT IDCMPFlagSet, IDCMPFlags, gaTB, layoTB, pgaTB,
strgTB,ScreenPtr, WindowPtr, RequesterPtr,
GadgetPtr,IntuiMessagePtr, ActivationFlagSet;
FROM Graphics IMPORT TextAttrPtr, RastPortPtr;
FROM System IMPORT LONGSET, Register, SysStringPtr;
FROM Utility IMPORT StdTags, tagUser, HookPtr;
TYPE
GadgetKind = ( generic, button, checkbox, integer,
listview, mx, number, cycle,
palette, scroller, slider=11,
string, text,
makeMeLong = $10000);
CONST
arrowIDCMP = IDCMPFlagSet:{gadgetUp,gadgetDown,intuiTicks,
mouseButtons};
buttonIDCMP = IDCMPFlagSet:{gadgetUp};
checkBoxIDCMP = IDCMPFlagSet:{gadgetUp};
integerIDCMP = IDCMPFlagSet:{gadgetUp};
listViewIDCMP = IDCMPFlagSet:{gadgetUp,gadgetDown,mouseMove}+arrowIDCMP;
mxIDCMP = IDCMPFlagSet:{gadgetDown};
numberIDCMP = IDCMPFlagSet:{};
cycleIDCMP = IDCMPFlagSet:{gadgetUp};
paletteIDCMP = IDCMPFlagSet:{gadgetUp};
| Use arrowIDCMP+scrollerIDCMP if your scrollers have arrows:
scrollerIDCMP = IDCMPFlagSet:{gadgetUp,gadgetDown,mouseMove};
sliderIDCMP = IDCMPFlagSet:{gadgetUp,gadgetDown,mouseMove};
stringIDCMP = IDCMPFlagSet:{gadgetUp};
textIDCMP = IDCMPFlagSet:{};
|------------------------------------------------------------------------
CONST
interWidth = 8;
interHeight = 4;
|------------------------------------------------------------------------
TYPE
VisualInfo = HIDDEN;
NewGadgetFlags = ( placeTextLeft,
placeTextRight,
placeTextAbove,
placeTextBelow,
placeTextIn,
highLabel,
rsvd31=31 );
NewGadgetFlagSet = SET OF NewGadgetFlags;
NewGadget = RECORD
leftEdge, topEdge : INTEGER;
width, height : INTEGER;
gadgetText : SysStringPtr;
textAttr : TextAttrPtr;
gadgetID : CARDINAL;
flags : NewGadgetFlagSet;
visualInfo : VisualInfo;
userData : ANYPTR;
END;
TYPE
NewMenuType = ( end = 0,
title = 1, item = 2, sub = 3,
image = 128, imageItem = 130, imageSub = 131);
TYPE
NewMenuFlags = (menuDisabled = 0,itemDisabled = 4,checkIt = 0,
menuToggle = 3,checked = 8,makeMeWord = 15);
NewMenuFlagSet = SET OF NewMenuFlags;
NewMenuPtr = POINTER TO NewMenu;
NewMenu = RECORD
type : NewMenuType;
label : SysStringPtr;
commKey : SysStringPtr;
flags : NewMenuFlagSet;
mutualExclude : LONGSET;
userData : ANYPTR;
END;
NewMenuArray = ARRAY OF NewMenu;
CONST
barLabel = SysStringPtr(-1);
TYPE
GTMenuPtr = POINTER TO GTMenu;
GTMenu = RECORD OF Intuition.Menu
userData : ANYPTR;
END;
GTMenuItemPtr = POINTER TO GTMenuItem;
GTMenuItem = RECORD OF Intuition.MenuItem
userData : ANYPTR;
END;
| Return codes through GTMN_ErrorCode tag
CM2ndErr = (menuOk = 0, | no error occured
menuTrimmed = 1, | Too many menus, items, or
| subitems,
| menu is trimmed
menuInvalid = 2, | Invalid NewMenu array
noMem = 3, | Out of memory
mmlong = $10000 );
CONST
gtTB = tagUser + $80000; | $80080000, base for GadTools Tagvalues
TYPE
| Callback for number calculation before display
DispFunc = PROCEDURE( gad IN A0: GadgetPtr;
org IN D0: INTEGER ): LONGINT;
| Orientation of sliders and scrollers
Orientation = (none,horiz,vert,mmlong=$10000);
GadgetTags =
TAGS OF StdTags
left = gaTB+$01 : LONGINT;
underScore = gtTB+64 : LONGCHAR; | the character that
| precedes the
|
| character to be underlined
| (to indicate a shortcut).
| Can be used for all classes.
| ButtonTags
buDisabled = gaTB+14 : LONGBOOL; | =gaDisabled
| CheckBoxTags
cbChecked = gtTB+4 : LONGBOOL; | condition of the
| checkbox
cbDisabled = gaTB+14 : LONGBOOL; | =gaDisabled
| CycleTags
cyLabels = gtTB+14 : POINTER TO ARRAY OF SysStringPtr;
|
| NIL-terminated array of labels
cyActive = gtTB+15 : LONGCARD; | active one in the cycle
cyDisabled = gaTB+14 : LONGBOOL; | =gaDisabled
| IntegerTags
inNumber = gtTB+47 : LONGCARD; | initial number in gadget
inMaxChars : LONGCARD; | max number of digits (10)
inExitHelp = strgTB+$13 : LONGBOOL; | as in Intution.StrgTags
inTabCycle = gaTB+$24 : LONGBOOL; | =gaTabCycle
inDisabled = gaTB+14 : LONGBOOL; | =gaDisabled
| ListViewTags
lvTop = gtTB+5 : LONGCARD; | Top visible one in listview
lvLabels = gtTB+6 : ListPtr; | List to display in listview
lvReadOnly = gtTB+7 : LONGBOOL; | listview is to be read-only
lvScrollWidth = gtTB+8 : LONGCARD; | UWORD; Width of scrollbar
lvShowSelected = gtTB+$35 : GadgetPtr;| show selected entry
|
| beneath listview. Pass NULL for
| display-only,
| or a POINTER to a gadtools string gadget
| you've created
lvSelected = gtTB+$36 : LONGCARD; | CARDINAL
|
| SET ordinal number of selected entry
| in the list
lvSpacing = layoTB+$2 : LONGCARD; | As in Intuition.LayoutTags
| MxTags
mxLabels = gtTB+9 : POINTER TO ARRAY OF SysStringPtr;
|
| NIL-terminated array of labels
mxActive = gtTB+10 : LONGCARD; | Active one in mx gadget
mxSpacing = gtTB+61 : LONGCARD; | Added to font height to
|
| figure out spacing between mx choices.
| Use instead of LayoutTags.spacing for
| mx gadgets.
| NumberTags
nmNumber = gtTB+13 : LONGINT; | Number to display
nmBorder = gtTB+58 : LONGBOOL;
|
| Put a border around Number-display
| gadgets
| PaletteTags
paDisabled = gaTB+$E : LONGBOOL; | same as gaDisabled
paDepth = gtTB+16 : LONGCARD; | bitplanes in palette
paColor = gtTB+17 : LONGCARD; | Palette color
paColorOffset = gtTB+18 : LONGCARD; | 1st color to use in
| palette
paIndicatorW = gtTB+19 : LONGCARD; | curr. color indicator
| width
paIndicatorH = gtTB+20 : LONGCARD; | cc. indicator height
| ScrollerTags
scTop = gtTB+21 : LONGINT; | Top visible in scroller
scTotal = gtTB+22 : LONGINT; | Total in scroller area
scVisible = gtTB+23 : LONGINT; | Number visible in scroller
|scOverlap = gtTB+24 ; | Unused
scArrows = gtTB+59 : LONGCARD; | size of arrows for scroller
scFreedom = pgaTB+1 : Orientation; | =pgaFreedom
scImmediate = pgaTB+$15 : LONGBOOL; | =pgaImmediate
scRelVerify = gaTB+$16 : LONGBOOL; | =gaRelVerify
scDisabled = gaTB+$E : LONGBOOL; | =gaDisabled
| SliderTags
slMin = gtTB+38 : LONGINT; | Slider min value
slMax = gtTB+39 : LONGINT; | Slider max value
slLevel = gtTB+40 : LONGINT; | Slider level
slMaxLevelLen = gtTB+41 : LONGCARD; | Max length of
| printed level
slLevelFormat = gtTB+42 : SysStringPtr; | Format string
| for level
slLevelPlace = gtTB+43 : NewGadgetFlagSet; | place of level
slDispFunc = gtTB+44 : DispFunc;
|
| Callback for number calc. before
| display
slFreedom = pgaTB+$1 : Orientation; | =pgaFreedom
slImmediate = gaTB+$15 : LONGBOOL; | =gaImmediate
slRelVerify = gaTB+$16 : LONGBOOL; | =gaRelVerify
slDisabled = gaTB+$E : LONGBOOL; | =gaDisabled
| StringTags
stString = gtTB+45 : SysStringPtr;
|
| String gadget's displayed string
stMaxChars = gtTB+46 : LONGCARD; | Max length of string
stDisabled = gaTB+$E : LONGBOOL; | =gaDisabled
stExitHelp = strgTB+$13 : LONGBOOL; | =strgExitHelp
stTabCycle = gaTB+$24 : LONGBOOL; | =gaTabCycle
stEditHook = gtTB+$37 : HookPtr; | see StringExtend
stJustification = strgTB+$10 : ActivationFlagSet;
|
| choose one of stringLeft (def),
| stringRight, stringCenter.
stReplaceMode = strgTB+$0D : LONGBOOL; | =strgReplaceMode
| TextTags
txText = gtTB+11 : SysStringPtr;| Text to display
txCopyText = gtTB+12 : LONGBOOL; | Copy text label instead
| of referencing it
txBorder = gtTB+57 : LONGBOOL; | Put a border around
END; | of GadgetTags
GadgetTagListPtr = POINTER TO GadgetTagList;
GadgetTagList = ARRAY OF GadgetTags;
|
| Tags for calls to CreateMenus
|
CreateMenuTags =
TAGS OF StdTags
frontPen = gtTB+50 : LONGCARD; | MenuItem text pen color
fullMenu = gtTB+62 : LONGBOOL; | Asks CreateMenus() to
|
| validate the completeness of the menu
| structure
secondaryErr = gtTB+63 : POINTER TO CM2ndErr;
|
| pointer to a CM2ndErr to receive error
| reports from CreateMenus()
END;
CrMenuTagListPtr = POINTER TO CrMenuTagList;
CrMenuTagList = ARRAY OF CreateMenuTags;
|
| Tags for calls to LayoutMenus
|
LayoutMenuTags =
TAGS OF StdTags
textAttr = gtTB+49 : TextAttrPtr; | GTMenuItem font TextAttr
menu = gtTB+60 : GTMenuPtr; | Pointer to GTMenu for use
| by LayoutMenuItems()
END;
LaMenuTagListPtr = POINTER TO LaMenuTagList;
LaMenuTagList = ARRAY OF LayoutMenuTags;
|
| Tags for calls to DrawBevelBox
|
BevelBoxTags =
TAGS OF StdTags
recessed = gtTB+51 : LONGINT; | Make BevelBox recessed
visualInfo : VisualInfo; | result of VisualInfo call
END;
BevBoxTagListPtr = POINTER TO BevBoxTagList;
BevBoxTagList = ARRAY OF BevelBoxTags;
| gtTB+25 through gtTB+37 are reserved
| gtTB+65 on up reserved for future use
GadToolsLibraryPtr = LibraryPtr;
VAR
GadToolsBase : GadToolsLibraryPtr;
LIBRARY GadToolsBase BY -114
PROCEDURE CreateContext( VAR GadgetPtr IN A0 : GadgetPtr ): GadgetPtr;
LIBRARY GadToolsBase BY -30
PROCEDURE CreateGadgetTags( kind IN D0 : GadgetKind;
previous IN A0 : GadgetPtr;
REF newgad IN A1 : NewGadget;
taglist IN A2 : LIST OF GadgetTags):GadgetPtr;
LIBRARY GadToolsBase BY -30
PROCEDURE CreateGadget( kind IN D0 : GadgetKind;
previous IN A0 : GadgetPtr;
REF newgad IN A1 : NewGadget;
taglist IN A2 : GadgetTagListPtr ): GadgetPtr;
LIBRARY GadToolsBase BY -48
PROCEDURE CreateMenusTags(REF newmenu IN A0 : NewMenuArray;
taglist IN A1 : LIST OF CreateMenuTags):GTMenuPtr;
LIBRARY GadToolsBase BY -48
PROCEDURE CreateMenus( REF newmenu IN A0 : NewMenuArray;
taglist IN A1 : CrMenuTagListPtr ): GTMenuPtr;
LIBRARY GadToolsBase BY -120
PROCEDURE DrawBevelBox( rport IN A0 : RastPortPtr;
left IN D0,
top IN D1,
width IN D2,
height IN D3 : INTEGER;
taglist IN A1 : LIST OF BevelBoxTags );
LIBRARY GadToolsBase BY -36
PROCEDURE FreeGadgets( glist IN A0 : GadgetPtr );
LIBRARY GadToolsBase BY -54
PROCEDURE FreeMenus( menu IN A0 : GTMenuPtr );
LIBRARY GadToolsBase BY -132
PROCEDURE FreeVisualInfo( vi IN A0 : VisualInfo );
LIBRARY GadToolsBase BY -126
PROCEDURE GetVisualInfo( screen IN A0 : ScreenPtr;
taglist IN A1 : LIST OF StdTags ): VisualInfo;
LIBRARY GadToolsBase BY -90
PROCEDURE GT_BeginRefresh( win IN A0 : WindowPtr );
LIBRARY GadToolsBase BY -96
PROCEDURE GT_EndRefresh( win IN A0 : WindowPtr;
complete IN D0 : BOOLEAN);
LIBRARY GadToolsBase BY -102
PROCEDURE FilterIMsg( imsg IN A1 : IntuiMessagePtr ): IntuiMessagePtr;
LIBRARY GadToolsBase BY -72
PROCEDURE GetIMsg( intuiport IN A0 : MsgPortPtr ): IntuiMessagePtr;
LIBRARY GadToolsBase BY -108
PROCEDURE PostFilterIMsg(modimsg IN A1 : IntuiMessagePtr):IntuiMessagePtr;
LIBRARY GadToolsBase BY -84
PROCEDURE GT_RefreshWindow( win IN A0 : WindowPtr;
req IN A1 : RequesterPtr );
LIBRARY GadToolsBase BY -78
PROCEDURE ReplyIMsg( imsg IN A1 : IntuiMessagePtr );
LIBRARY GadToolsBase BY -42
PROCEDURE GT_SetGadgetAttrs( gad IN A0 : GadgetPtr;
win IN A1 : WindowPtr;
req IN A2 : RequesterPtr;
taglist IN A3 : LIST OF GadgetTags );
LIBRARY GadToolsBase BY -60
PROCEDURE LayoutMenuItems(menuitem IN A0 : GTMenuItemPtr;
vi IN A1 : VisualInfo;
taglist IN A2 : LIST OF LayoutMenuTags):BOOLEAN;
LIBRARY GadToolsBase BY -66
PROCEDURE LayoutMenus(menu IN A0 : GTMenuPtr;
vi IN A1 : VisualInfo;
taglist IN A2 : LIST OF LayoutMenuTags):BOOLEAN;
GROUP
ArrayGrp = NewMenuArray;
ConstGrp = arrowIDCMP, barLabel, buttonIDCMP,
checkBoxIDCMP, cycleIDCMP, CM2ndErr,
gtTB,
integerIDCMP, interHeight, interWidth,
gaTB, pgaTB, strgTB,
layoTB, listViewIDCMP, mxIDCMP,
numberIDCMP, paletteIDCMP,
scrollerIDCMP, sliderIDCMP, stringIDCMP,
textIDCMP;
EnumGrp = GadgetKind, NewGadgetFlags, NewMenuType;
PointerGrp = GTMenuItemPtr, GTMenuPtr, GadToolsLibraryPtr,
NewMenuPtr, VisualInfo;
ProcGrp = CreateContext, CreateGadget, CreateMenus,
DrawBevelBox, FreeGadgets, FreeMenus,
FreeVisualInfo, GetVisualInfo, GT_BeginRefresh,
GT_EndRefresh, FilterIMsg, GetIMsg,
PostFilterIMsg, GT_RefreshWindow, ReplyIMsg,
GT_SetGadgetAttrs, LayoutMenuItems, LayoutMenus;
RecordGrp = GTMenu, GTMenuItem,
NewGadget, NewMenu;
SetGrp = NewGadgetFlags, NewMenuFlags;
SubRangeGrp = NewMenuFlags;
TagsGrp = BevelBoxTags, CreateMenuTags, GadgetTags,
LayoutMenuTags;
TypeGrp = ArrayGrp, EnumGrp, PointerGrp,
RecordGrp, SetGrp, SubRangeGrp;
All = ConstGrp, ProcGrp, TagsGrp,
TypeGrp;
END GadTools.