home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Frozen Fish 1: Amiga
/
FrozenFish-Apr94.iso
/
bbs
/
alib
/
d7xx
/
d752
/
toolmanager.lha
/
ToolManager
/
Programmers
/
Programmers.lha
/
examples
/
TMTest.mod
< prev
Wrap
Text File
|
1992-09-26
|
2KB
|
70 lines
(*-------------------------------------------------------------------------*)
(* *)
(* TMTest - Example for using toolmanager.library and hooks *)
(* Date: 17-Jul-92 *)
(* *)
(* © 1992 by Martin Horneffer *)
(* *)
(* This Module may freely be copied and distributed, as long as it is *)
(* left unchanged and kept together with "toolmanager.library", © 1992 by *)
(* Stefan Becker. *)
(* *)
(*-------------------------------------------------------------------------*)
MODULE TMTest;
IMPORT tm:ToolManager, io, u:Utility, e:Exec, sys:SYSTEM;
VAR
hook : u.HookPtr;
tmhandle : LONGINT;
count : LONGINT;
foo : CHAR;
PROCEDURE TestHook*( hook{8}:u.HookPtr; object{10}:e.APTR; message{9}:e.APTR): LONGINT;
(* $SaveRegs+ *)
BEGIN
sys.SETREG( 13, object); (* get A5 *)
INC(count);
RETURN 0;
END TestHook;
BEGIN
tmhandle := tm.AllocTMHandle();
IF tmhandle = NIL THEN HALT(20) END;
NEW(hook);
hook.entry := TestHook;
hook.data := sys.REG(13); (* save A5 *)
IF NOT tm.CreateTMObjectTags( tmhandle, "TMTestExec", tm.typeExec,
tm.execType, tm.hook,
tm.command, hook,
u.end) THEN HALT(10) END;
IF NOT tm.CreateTMObjectTags( tmhandle, "TMTestMenu", tm.typeMenu,
tm.exec, sys.ADR("TMTestExec"),
u.end) THEN HALT(10) END;
IF NOT tm.CreateTMObjectTags( tmhandle, "TMTestImage", tm.typeImage,
tm.file, sys.ADR("dh0:Grafik/brush/UtilityDock.brush"),
u.end) THEN HALT(10) END;
IF NOT tm.CreateTMObjectTags( tmhandle, "TMTestIcon", tm.typeIcon,
tm.exec, sys.ADR("TMTestExec"),
tm.image, sys.ADR("TMTestImage"),
u.end) THEN HALT(10) END;
count := 0;
io.WriteString("Press any key...\n");
io.Read( foo );
io.WriteString("My hook has been called");
io.WriteInt( count, 3);
io.WriteString(" times.\n\n");
CLOSE
IF tmhandle # NIL THEN tm.FreeTMHandle( tmhandle ) END;
END TMTest.