home *** CD-ROM | disk | FTP | other *** search
/ Otherware / Otherware_1_SB_Development.iso / amiga / utility / misc / toolmana.lha / ToolManager / Programmers / examples / example.c < prev    next >
Encoding:
C/C++ Source or Header  |  1992-09-26  |  10.9 KB  |  295 lines

  1. /*
  2.  * example.c  V2.0
  3.  *
  4.  * Shows the usage of the library in programs
  5.  *
  6.  * (c) 1990-1992 Stefan Becker
  7.  */
  8.  
  9. #include <utility/tagitem.h>
  10. #include <utility/hooks.h>
  11. #include <clib/dos_protos.h>
  12. #include <clib/exec_protos.h>
  13. #include <clib/intuition_protos.h>
  14. #include <clib/toolmanager_protos.h>
  15. #include <stdlib.h>
  16. #include <stdio.h>
  17.  
  18. /* Example hook function (not used) */
  19. __geta4 BOOL hookfunc(__A0 struct Hook *hook, __A1 struct AppMessage *msg,
  20.                       __A2 void *object)
  21. {
  22.  DisplayBeep(NULL);
  23.  Delay(25);
  24.  return(TRUE);
  25. }
  26.  
  27. struct Hook hook={NULL,NULL,hookfunc,NULL,1};
  28.  
  29. struct TagItem execti1[]={
  30.                      TMOP_Arguments,TRUE,
  31.                      TMOP_Command,"'call [] getfile()'",
  32.                      TMOP_CurrentDir,"SYS:",
  33.                      TMOP_Delay,0,
  34.                      TMOP_ExecType,TMET_ARexx,
  35.                      TMOP_HotKey,"ralt a",
  36.                      TMOP_PubScreen,"TERM",
  37.                      TMOP_ToFront,TRUE,
  38.                      TAG_DONE};
  39.  
  40. struct TagItem execti2[]={
  41.                      TMOP_Arguments,TRUE,
  42.                      TMOP_Command,"dir [] all",
  43.                      TMOP_CurrentDir,"SYS:",
  44.                      TMOP_Delay,0,
  45.                      TMOP_ExecType,TMET_CLI,
  46.                      TMOP_HotKey,"ralt b",
  47.                      TMOP_Output,"CNN:WAIT",
  48.                      TMOP_Path,"C:,BOOT:,s:",
  49.                      TMOP_Priority,10,
  50.                      TMOP_PubScreen,"TERM",
  51.                      TMOP_Stack,10000,
  52.                      TMOP_ToFront,TRUE,
  53.                      TAG_DONE};
  54.  
  55. struct TagItem execti3[]={
  56.                      TMOP_Arguments,TRUE,
  57.                      TMOP_Command,"sys:bin/DME",
  58.                      TMOP_CurrentDir,"SYS:",
  59.                      TMOP_Delay,0,
  60.                      TMOP_ExecType,TMET_WB,
  61.                      TMOP_HotKey,"ralt c",
  62.                      TMOP_Priority,10,
  63.                      TMOP_PubScreen,"TERM",
  64.                      TMOP_Stack,10000,
  65.                      TMOP_ToFront,TRUE,
  66.                      TAG_DONE};
  67.  
  68. struct TagItem imageti1[]={
  69.                            TMOP_File,"TM:Icons/Bin",
  70.                            TMOP_Data,NULL,
  71.                            TAG_DONE};
  72.  
  73. struct TagItem imageti2[]={
  74.                            TMOP_File,"TM:Icons/Disk",
  75.                            TMOP_Data,NULL,
  76.                            TAG_DONE};
  77.  
  78. struct TagItem imageti3[]={
  79.                            TMOP_File,"TM:icons/MapleV.brush",
  80.                            TMOP_Data,NULL,
  81.                            TAG_DONE};
  82.  
  83. struct TagItem imageti4[]={
  84.                            TMOP_File,"TM:Anims/test1.anim",
  85.                            TMOP_Data,NULL,
  86.                            TAG_DONE};
  87.  
  88. struct TagItem soundti1[]={
  89.                            TMOP_Command,"id warn_general",
  90.                            TAG_DONE};
  91.  
  92. struct TagItem soundti2[]={
  93.                            TMOP_Command,"playmod qdh2:delitracker/modules/markII/MkII.Hard.pp",
  94.                            TMOP_Port,"rexx_DT",
  95.                            TAG_DONE};
  96.  
  97. struct TagItem menuti1[]={
  98.                           TMOP_Exec,"testexec1",
  99.                           TMOP_Sound,"testsound1",
  100.                           TAG_DONE};
  101.  
  102. struct TagItem menuti2[]={
  103.                           TMOP_Exec,"testexec2",
  104.                           TMOP_Sound,"testsound2",
  105.                           TAG_DONE};
  106.  
  107. struct TagItem menuti3[]={
  108.                           TMOP_Exec,"testexec3",
  109.                           TMOP_Sound,"testsound1",
  110.                           TAG_DONE};
  111.  
  112. struct TagItem iconti1[]={
  113.                           TMOP_Exec,"testexec1",
  114.                           TMOP_LeftEdge,100,
  115.                           TMOP_Image,"testimage1",
  116.                           TMOP_ShowName,TRUE,
  117.                           TMOP_Sound,"testsound1",
  118.                           TMOP_TopEdge,350,
  119.                           TAG_DONE};
  120.  
  121. struct TagItem iconti2[]={
  122.                            TMOP_Exec,"testexec2",
  123.                            TMOP_LeftEdge,170,
  124.                            TMOP_Image,"testimage2",
  125.                            TMOP_ShowName,FALSE,
  126.                            TMOP_Sound,"testsound2",
  127.                            TMOP_TopEdge,350,
  128.                            TAG_DONE};
  129.  
  130. struct TagItem iconti3[]={
  131.                           TMOP_Exec,"testexec3",
  132.                           TMOP_LeftEdge,240,
  133.                           TMOP_Image,"testimage3",
  134.                           TMOP_ShowName,TRUE,
  135.                           TMOP_Sound,"testsound1",
  136.                           TMOP_TopEdge,350,
  137.                           TAG_DONE};
  138.  
  139. struct TagItem iconti4[]={
  140.                           TMOP_Exec,"testexec1",
  141.                           TMOP_LeftEdge,330,
  142.                           TMOP_Image,"testimage4",
  143.                           TMOP_ShowName,FALSE,
  144.                           TMOP_Sound,"testsound2",
  145.                           TMOP_TopEdge,350,
  146.                           TAG_DONE};
  147.  
  148. char *tool1[]={"testexec1","testimage1","testsound1"};
  149. char *tool2[]={"testexec2","testimage2","testsound2"};
  150. char *tool3[]={"testexec3","testimage3","testsound1"};
  151. char *tool4[]={"testexec1","testimage4","testsound2"};
  152. struct TagItem dockti1[]={
  153.                          TMOP_LeftEdge,80,
  154.                          TMOP_TopEdge,200,
  155.                          TMOP_Activated,TRUE,
  156.                          TMOP_Centered,FALSE,
  157.                          TMOP_Columns,3,
  158.                          TMOP_FrontMost,TRUE,
  159.                          TMOP_HotKey,"rcommand rshift d",
  160.                          TMOP_Vertical,TRUE,
  161.                          TMOP_Text,FALSE,
  162.                          TMOP_Title,"Blaaaa 1",
  163.                          TMOP_Pattern,TRUE,
  164.                          TMOP_Tool,tool1,
  165.                          TMOP_Tool,tool2,
  166.                          TMOP_Tool,tool3,
  167.                          TMOP_Tool,tool4,
  168.                          TAG_DONE};
  169.  
  170. struct TextAttr ta={"topaz.font",20,0,0};
  171.  
  172. struct TagItem dockti2[]={
  173.                          TMOP_LeftEdge,80,
  174.                          TMOP_TopEdge,300,
  175.                          TMOP_Activated,TRUE,
  176.                          TMOP_Centered,TRUE,
  177.                          TMOP_Columns,2,
  178.                          TMOP_FrontMost,TRUE,
  179.                          TMOP_HotKey,"rcommand rshift e",
  180.                          TMOP_Vertical,TRUE,
  181.                          TMOP_Text,TRUE,
  182.                          TMOP_Title,"Blaaaa 2",
  183.                          TMOP_Tool,tool1,
  184.                          TMOP_Tool,tool2,
  185.                          TMOP_Tool,tool3,
  186.                          TMOP_Tool,tool4,
  187.                          TMOP_Menu,TRUE,
  188.                          TMOP_Font,&ta,
  189.                          TAG_DONE};
  190.  
  191. #if 0
  192. struct TagItem dockti3[]={
  193.                          TMOP_LeftEdge,300,
  194.                          TMOP_TopEdge,200,
  195.                          TMOP_Activated,TRUE,
  196.                          TMOP_Centered,FALSE,
  197.                          TMOP_Columns,2,
  198.                          TMOP_FrontMost,TRUE,
  199.                          TMOP_HotKey,"rcommand rshift f",
  200.                          TMOP_Vertical,FALSE,
  201.                          TMOP_Text,FALSE,
  202.                          TMOP_Tool,tool1,
  203.                          TMOP_Tool,tool2,
  204.                          TMOP_Tool,tool3,
  205.                          TMOP_Tool,tool4,
  206.                          TAG_DONE};
  207.  
  208. struct TagItem dockti4[]={
  209.                          TMOP_LeftEdge,300,
  210.                          TMOP_TopEdge,300,
  211.                          TMOP_Activated,TRUE,
  212.                          TMOP_Centered,TRUE,
  213.                          TMOP_Columns,2,
  214.                          TMOP_FrontMost,TRUE,
  215.                          TMOP_HotKey,"rcommand rshift g",
  216.                          TMOP_Vertical,FALSE,
  217.                          TMOP_Text,TRUE,
  218.                          TMOP_Tool,tool1,
  219.                          TMOP_Tool,tool2,
  220.                          TMOP_Tool,tool3,
  221.                          TMOP_Tool,tool4,
  222.                          TAG_DONE};
  223.  
  224. struct TagItem dockti5[]={
  225.                          TMOP_LeftEdge,450,
  226.                          TMOP_TopEdge,200,
  227.                          TMOP_Activated,TRUE,
  228.                          TMOP_Centered,FALSE,
  229.                          TMOP_PopUp,TRUE,
  230.                          TMOP_Columns,2,
  231.                          TMOP_FrontMost,TRUE,
  232.                          TMOP_HotKey,"rcommand rshift h",
  233.                          TMOP_Vertical,TRUE,
  234.                          TMOP_Text,FALSE,
  235.                          TMOP_Tool,tool1,
  236.                          TMOP_Tool,tool2,
  237.                          TMOP_Tool,tool3,
  238.                          TMOP_Tool,tool4,
  239.                          TAG_DONE};
  240.  
  241. struct TagItem dockti6[]={
  242.                          TMOP_LeftEdge,450,
  243.                          TMOP_TopEdge,300,
  244.                          TMOP_Activated,TRUE,
  245.                          TMOP_Centered,TRUE,
  246.                          TMOP_PopUp,TRUE,
  247.                          TMOP_Columns,2,
  248.                          TMOP_FrontMost,TRUE,
  249.                          TMOP_HotKey,"rcommand rshift i",
  250.                          TMOP_Vertical,TRUE,
  251.                          TMOP_Text,TRUE,
  252.                          TMOP_Tool,tool1,
  253.                          TMOP_Tool,tool2,
  254.                          TMOP_Tool,tool3,
  255.                          TMOP_Tool,tool4,
  256.                          TAG_DONE};
  257. #endif
  258.  
  259. int main(int argc, char *argv[])
  260. {
  261.  void *handle,*AllocTMHandle();
  262.  
  263.  if (handle=AllocTMHandle()) {
  264.   printf("handle: 0x%08lx\n",handle);
  265.  
  266.   CreateTMObjectTagList(handle,"testexec1",TMOBJTYPE_EXEC,execti1);
  267.   CreateTMObjectTagList(handle,"testexec2",TMOBJTYPE_EXEC,execti2);
  268.   CreateTMObjectTagList(handle,"testexec3",TMOBJTYPE_EXEC,execti3);
  269.   CreateTMObjectTagList(handle,"testimage1",TMOBJTYPE_IMAGE,imageti1);
  270.   CreateTMObjectTagList(handle,"testimage2",TMOBJTYPE_IMAGE,imageti2);
  271.   CreateTMObjectTagList(handle,"testimage3",TMOBJTYPE_IMAGE,imageti3);
  272.   CreateTMObjectTagList(handle,"testimage4",TMOBJTYPE_IMAGE,imageti4);
  273. /*  CreateTMObjectTagList(handle,"testsound1",TMOBJTYPE_SOUND,soundti1);
  274.   CreateTMObjectTagList(handle,"testsound2",TMOBJTYPE_SOUND,soundti2);
  275.   CreateTMObjectTagList(handle,"testmenu1",TMOBJTYPE_MENU,menuti1);
  276.   CreateTMObjectTagList(handle,"testmenu2",TMOBJTYPE_MENU,menuti2);
  277.   CreateTMObjectTagList(handle,"testmenu3",TMOBJTYPE_MENU,menuti3);
  278.   CreateTMObjectTagList(handle,"testicon1",TMOBJTYPE_ICON,iconti1);
  279.   CreateTMObjectTagList(handle,"testicon2",TMOBJTYPE_ICON,iconti2);
  280.   CreateTMObjectTagList(handle,"testicon3",TMOBJTYPE_ICON,iconti3);
  281.   CreateTMObjectTagList(handle,"testicon4",TMOBJTYPE_ICON,iconti4); */
  282.   CreateTMObjectTagList(handle,"testdock1",TMOBJTYPE_DOCK,dockti1);
  283.   CreateTMObjectTagList(handle,"testdock2",TMOBJTYPE_DOCK,dockti2);
  284. /*  CreateTMObjectTagList(handle,"testdock3",TMOBJTYPE_DOCK,dockti3);
  285.   CreateTMObjectTagList(handle,"testdock4",TMOBJTYPE_DOCK,dockti4);
  286.   CreateTMObjectTagList(handle,"testdock5",TMOBJTYPE_DOCK,dockti5);
  287.   CreateTMObjectTagList(handle,"testdock6",TMOBJTYPE_DOCK,dockti6); */
  288.  
  289.   Wait(0xF000);
  290.  
  291.   FreeTMHandle(handle);
  292.  }
  293.  exit(0);
  294. }
  295.