home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Global Amiga Experience
/
globalamigaexperience.iso
/
compressed
/
development
/
clusterdemo.dms
/
clusterdemo.adf
/
Modules.lha
/
modules
/
txt
/
Workbench.def
< prev
Wrap
Text File
|
1994-05-25
|
5KB
|
161 lines
|##########|
|#MAGIC #|CLABLKJB
|#PROJECT #|""
|#PATHS #|"StdProject"
|#FLAGS #|xx---x--x---xxx--x--------------
|#USERSW #|--------------------------------
|#USERMASK#|--------------------------------
|#SWITCHES#|x-xx-x----------
|##########|
DEFINITION MODULE Workbench;
(* $A- *)
FROM Dos IMPORT FileLockPtr;
FROM Intuition IMPORT Gadget,GadgetFlags,GadgetFlagSet,NewWindow,WindowPtr;
FROM Exec IMPORT Message,MsgPortPtr,List,LibraryPtr;
FROM System IMPORT BPTR,SysStringPtr,Regs;
CONST
diskMagic = $E310;
diskVersion = 1;
gadgetBackFill = GadgetFlagSet:{gadgHBox};
noIconPosition = -1;
TYPE
WBObjectType = (wb0,disk,drawer,tool,project,garbage,device,kick);
DiskObjectPtr = POINTER TO DiskObject;
DrawerDataPtr = POINTER TO DrawerData;
FreeListPtr = POINTER TO FreeList;
WBArgPtr = POINTER TO WBArg;
WBStartupPtr = POINTER TO WBStartup;
ToolTypeArrayPtr = POINTER TO ARRAY OF SysStringPtr;
WBArg = RECORD
lock : FileLockPtr;
name : SysStringPtr;
END;
WBArgumentsPtr = POINTER TO ARRAY OF WBArg;
WBStartup = RECORD OF Message
process : MsgPortPtr;
segment : BPTR;
numArgs : LONGINT;
toolWindow: ANYPTR;
argList : WBArgumentsPtr;
END;
FreeList = RECORD
numFree : INTEGER;
memList : List;
END;
DiskObject = RECORD
magic : CARDINAL;
version : CARDINAL;
gadget : Gadget;
type : WBObjectType;
defaultTool: SysStringPtr;
toolTypes : ToolTypeArrayPtr;
currentX : LONGINT;
currentY : LONGINT;
drawerData : DrawerDataPtr;
toolWindow : ANYPTR;
stackSize : LONGINT;
END;
DrawerData = RECORD
newWindow : NewWindow;
currentX : LONGINT;
currentY : LONGINT;
flags : LONGINT;
modes : CARDINAL;
END;
CONST
drawerDataFileSize = DrawerData'SIZE;
TYPE
AppMsgTypes = (pstd,toolexit,diskchange,timer,closedown,ioproc,
appwindow,appicon,appmenuitem,copyexit,iconput,
makeword=$1000);
| pstd : standard message
| toolexit : exit message from tools
| diskchange : dos telling of a disk change
| timer : we got a time tick
| appwindow : msg from an app window
| appicon : msg from an app icon
| appmenuitem : msg from an app menuitem
| copyexit : exit msg from copy process
| iconput : msg from PutDiskObject in icon.library
TYPE
AppMessagePtr = POINTER TO AppMessage;
AppMessage = RECORD OF Message;
type : AppMsgTypes;
userData : ANYPTR;
id : LONGINT;
numArgs : LONGINT;
wbArgs : WBArgumentsPtr;
version : CARDINAL;
class : CARDINAL;
mouseX,
mouseY : INTEGER;
seconds,
micros : LONGINT;
reserved : ARRAY [8] OF LONGINT;
END;
TYPE
AppWindowPtr = HIDDEN;
AppIconPtr = HIDDEN;
AppMenuItemPtr = HIDDEN;
VAR
StartupMsg : WBStartupPtr;
WorkbenchBase : LibraryPtr;
LIBRARY WorkbenchBase BY -48
PROCEDURE AddAppWindow( id IN D0 : LONGINT;
userData IN D1 : ANYPTR;
window IN A0 : WindowPtr;
msgPort IN A1 : MsgPortPtr;
taglist IN A2 : ANYPTR):AppWindowPtr;
LIBRARY WorkbenchBase BY -54
PROCEDURE RemoveAppWindow(window IN A0 : AppWindowPtr);
|LIBRARY WorkbenchBase BY -60 | geht so nicht wegen A4
PROCEDURE AddAppIcon( id IN D0 : LONGINT;
userData IN D1 : ANYPTR;
REF text IN A0 : STRING;
msgport IN A1 : MsgPortPtr;
lock IN A2 : FileLockPtr;
diskobj IN A3 : DiskObjectPtr):AppIconPtr;
LIBRARY WorkbenchBase BY -66
PROCEDURE RemoveAppIcon(appIcon IN A0 : AppIconPtr);
LIBRARY WorkbenchBase BY -72
PROCEDURE AddAppMenuItem( id IN D0 : LONGINT;
userData IN D1 : ANYPTR;
REF text IN A0 : STRING;
msgport IN A1 : MsgPortPtr;
tags IN A2 : ANYPTR):AppMenuItemPtr;
| ^= NIL for now
LIBRARY WorkbenchBase BY -78
PROCEDURE RemoveAppMenuItem(appMenu IN A0 : AppMenuItemPtr);
GROUP
All = diskMagic,diskVersion,gadgetBackFill,noIconPosition,
WBObjectType,DiskObjectPtr,DrawerDataPtr,
FreeListPtr,WBArgPtr,WBStartupPtr,WBArg,WBArgumentsPtr,
FreeList,DiskObject,DrawerData,WBStartup,drawerDataFileSize,
StartupMsg;
END Workbench.