home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 45 / cda45.iso / Share / OS2 / GraphCal / EXCAL.CMD < prev    next >
Encoding:
Text File  |  1994-03-25  |  6.6 KB  |  139 lines

  1. /* Example of the REXX interface to ExCal                             */
  2. /*                                                                    */
  3. /* Those setting up many ExCal users (e.g., a LAN administrator) may  */
  4. /* want to use REXX to create an ExCal with their own places and      */
  5. /* event objects.  This REXX command file creates the same objects as */
  6. /* does the EXCINST installation routine.  The primary difference is  */
  7. /* this command file has no error checking and only does              */
  8. /* installations.  See "Programming API" in the ExCal online help for */
  9. /* more details.                                                      */
  10. /*                                                                    */
  11. /* Note: The SysSetObjectData only accepts object IDs for folder      */
  12. /*       objects; paths are not accepted.  As a result, the           */
  13. /*       Calendar must be created with an object ID.  I believe       */
  14. /*       this is a REXX bug, since WinSetObjectData/WinQueryObject    */
  15. /*       together work with either folder or data file objects.       */
  16. /*                                                                    */
  17. /* CHANGE 'excalDLLpath' BELOW TO WHERE YOU COPIED EXCAL.DLL          */
  18. /* IF YOU *DID NOT* COPY IT TO A PATH ON YOUR LIBPATH!                */
  19.  
  20. excalDLLpath = '' /* remember the trailing slash, eg, 'C:\EXCAL\' */
  21. excalDLL = excalDLLpath || "EXCAL.DLL";
  22.  
  23. signal on novalue
  24.  
  25. Call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs';
  26. Call SysLoadFuncs;           
  27.  
  28. /* start by creating the ExCal folders */
  29.  
  30. rc = SysCreateObject("WPFolder", "ExCal Folder", ,
  31.     "<WP_DESKTOP>", "OBJECTID=<EXCAL_INSTALLFOLDER>", "Update");
  32. rc = SysCreateObject("WPFolder", "Event Templates", ,
  33.     "<EXCAL_INSTALLFOLDER>", "OBJECTID=<EXCAL_EVENTSFOLDER>", "Update");
  34. rc = SysCreateObject("WPFolder", "Places", ,
  35.     "<EXCAL_INSTALLFOLDER>", "OBJECTID=<EXCAL_PLACESFOLDER>", "Update");
  36.  
  37. /* Register superclass of ExEvent and ExPlace */
  38.  
  39. rc = SysRegisterObjectClass("ExTransient", excalDLL);
  40.  
  41. /* create the event alarm and time class */
  42.  
  43. rc = SysRegisterObjectClass("ExTime", excalDLL);
  44. rc = SysRegisterObjectClass("ExAlarm", excalDLL);
  45. rc = SysCreateObject("ExAlarm", "ExCal.ALM", ,
  46.     "<WP_DESKTOP>", "NOTVISIBLE=YES;OBJECTID=<EXCAL_ALARM>", "Update");
  47.  
  48. /* create places */
  49.  
  50. rc = SysRegisterObjectClass("ExPlace", excalDLL);
  51.  
  52. rc = SysCreateObject("ExPlace", "Favorite Place", ,
  53.     "<EXCAL_PLACESFOLDER>", "MAKEDEFAULT=YES", "Update");
  54. rc = SysCreateObject("ExPlace", "Office", ,
  55.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=12 " || excalDLL, "Update");
  56. rc = SysCreateObject("ExPlace", "Restaurant", ,
  57.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=9 " || excalDLL, "Update");
  58. rc = SysCreateObject("ExPlace", "Tourist Spot", ,
  59.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=10 " || excalDLL, "Update");
  60. rc = SysCreateObject("ExPlace", "Vacation Spot", ,
  61.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=11 " || excalDLL, "Update");
  62. rc = SysCreateObject("ExPlace", "Classroom", ,
  63.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=13 " || excalDLL, "Update");
  64. rc = SysCreateObject("ExPlace", "Doctor's Office", ,
  65.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=14 " || excalDLL, "Update");
  66. rc = SysCreateObject("ExPlace", "Home", ,
  67.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=8 " || excalDLL, "Update");
  68. rc = SysCreateObject("ExPlace", "None", ,
  69.     "<EXCAL_PLACESFOLDER>", "ICONRESOURCE=20 " || excalDLL, "Update");
  70.  
  71. /* create events */
  72.  
  73. rc = SysRegisterObjectClass("ExEvent", excalDLL);
  74.  
  75. rc = SysCreateObject("ExEvent", "Morning Meeting", "<EXCAL_EVENTSFOLDER>", ,
  76.      "TEMPLATE=YES;STARTTIME=9:00;ENDTIME=10:00;PLACE=Office;ALARM=ON;",
  77.      "Update");
  78. rc = SysCreateObject("ExEvent", "Afternoon Meeting", "<EXCAL_EVENTSFOLDER>", ,
  79.      "TEMPLATE=YES;STARTTIME=13:00;ENDTIME=14:00;PLACE=Office;ALARM=ON;", ,
  80.      "Update");
  81. rc = SysCreateObject("ExEvent", "Vacation", "<EXCAL_EVENTSFOLDER>", ,
  82.      "TEMPLATE=YES;STARTTIME=9:00;ENDTIME=17:00;" || ,
  83.      "PLACE=Vacation Spot;PERSONAL=YES;",
  84.      "Update");
  85. rc = SysCreateObject("ExEvent", "Seminar", "<EXCAL_EVENTSFOLDER>", ,
  86.      "TEMPLATE=YES;STARTTIME=13:00;ENDTIME=17:00;PLACE=Classroom;", ,
  87.      "Update");
  88. rc = SysCreateObject("ExEvent", "Chores", "<EXCAL_EVENTSFOLDER>", ,
  89.      "TEMPLATE=YES;STARTTIME=19:00;ENDTIME=21:00;PLACE=Home;", ,
  90.      "Update");
  91. rc = SysCreateObject("ExEvent", "Lunch", "<EXCAL_EVENTSFOLDER>", ,
  92.      "TEMPLATE=YES;STARTTIME=12:00;ENDTIME=13:00;PLACE=Restaurant;", ,
  93.      "Update");
  94. rc = SysCreateObject("ExEvent", "Morning Meeting", "<EXCAL_EVENTSFOLDER>", ,
  95.      "TEMPLATE=YES;STARTTIME=9:00;ENDTIME=10:00;PLACE=Office;ALARM=ON;",
  96.      "Update");
  97. rc = SysCreateObject("ExEvent", "Afternoon Meeting", "<EXCAL_EVENTSFOLDER>", ,
  98.      "TEMPLATE=YES;STARTTIME=13:00;ENDTIME=14:00;PLACE=Office;ALARM=ON;", ,
  99.      "Update");
  100. rc = SysCreateObject("ExEvent", "Vacation", "<EXCAL_EVENTSFOLDER>", ,
  101.      "TEMPLATE=YES;STARTTIME=9:00;ENDTIME=17:00;" || ,
  102.      "PLACE=Vacation Spot;PERSONAL=YES;",
  103.      "Update");
  104. rc = SysCreateObject("ExEvent", "Seminar", "<EXCAL_EVENTSFOLDER>", ,
  105.      "TEMPLATE=YES;STARTTIME=13:00;ENDTIME=17:00;PLACE=Classroom;", ,
  106.      "Update");
  107. rc = SysCreateObject("ExEvent", "Chores", "<EXCAL_EVENTSFOLDER>", ,
  108.      "TEMPLATE=YES;STARTTIME=19:00;ENDTIME=21:00;PLACE=Home;", ,
  109.      "Update");
  110. rc = SysCreateObject("ExEvent", "Medical Appointment", "<EXCAL_EVENTSFOLDER>", ,
  111.      "TEMPLATE=YES;STARTTIME=10:00;ENDTIME=11:00;PLACE=Doctor's Office;", ,
  112.      "Update");
  113.  
  114. rc = SysCreateObject("ExEvent", "Travel", "<EXCAL_EVENTSFOLDER>", ,
  115.      "TEMPLATE=YES;STARTTIME=12:00;ENDTIME=15:00;PLACE=None;" || ,
  116.      "ICONRESOURCE=15 " || excalDLL, "Update");
  117. rc = SysCreateObject("ExEvent", "Conference Call", "<EXCAL_EVENTSFOLDER>", ,
  118.     "TEMPLATE=YES;STARTTIME=8:30;ENDTIME=9:30;PLACE=Office;" || ,
  119.      "ICONRESOURCE=16 " || excalDLL, "Update");
  120. rc = SysCreateObject("ExEvent", "Urgent!", "<EXCAL_EVENTSFOLDER>", ,
  121.      "TEMPLATE=YES;STARTTIME=12:00;ENDTIME=12:00;PLACE=None;ALARM=ON;" || ,
  122.      "ICONRESOURCE=18 " || excalDLL, "Update");
  123. rc = SysCreateObject("ExEvent", "Special", "<EXCAL_EVENTSFOLDER>", ,
  124.      "TEMPLATE=YES;STARTTIME=12:00;ENDTIME=12:00;PLACE=None;" || ,
  125.      "ICONRESOURCE=17 " || excalDLL, "Update");
  126.  
  127. /* create calendar */
  128.  
  129. rc = SysRegisterObjectClass("ExCalendar", excalDLL);
  130.  
  131. rc = SysCreateObject("ExCalendar", "ExCal", "<EXCAL_INSTALLFOLDER>", ,
  132.      "OBJECTID=<EXCAL_CALENDAR>", "Update");
  133.  
  134. /* done, open the install folder */
  135.  
  136. rc = SysSetObjectData("<EXCAL_INSTALLFOLDER>", ,
  137.      "ICONRESOURCE=19 " || excalDLL);
  138. rc = SysSetObjectData("<EXCAL_INSTALLFOLDER>", "OPEN=DEFAULT");
  139.