home *** CD-ROM | disk | FTP | other *** search
/ Sams Cobol 24 Hours / Sams_Cobol_24_Hours.iso / Cobol32 / PowerGEM / Powergem.z / SAMPLE.SCP < prev    next >
Text File  |  1996-09-23  |  7KB  |  222 lines

  1. //**********************************************************************
  2. //
  3. // Script Sample Source for 32bit Applications
  4. //
  5. // Specify the following setup items of PowerFRAMEVIEW environment
  6. // for the tool to be incorporated:
  7. //
  8. // -  Set Extension
  9. // -  Set Tool Class Name
  10. // -  Set Install Directory of Tool
  11. // -  Set Start up Information of Tool
  12. // -  Associate Extensions with Tool
  13. // -  Set Menu of Development Manager
  14. //
  15. // Refer to the PowerGEM Plus V1.0 Handbook for details on how to
  16. // incorporate a tool into PowerFRAMEVIEW
  17. //
  18. //  ALL Rights Reserved, CopyRight (C) FUJITSU LIMITED 1995,1996
  19. //**********************************************************************
  20.  
  21. //**********************************************************************
  22. // A public variable can be referred to from other function.
  23. //**********************************************************************
  24. public :
  25.     var tool ;            // Object ID
  26.     var ToolClass = "EDIT";         
  27.     var Ast_Filespec ;        
  28.     var Com_Filespec ;        
  29.     var Com_Term = 0 ;        // Terminates flag
  30.  
  31. exec() {
  32.     var Filespec ;            
  33.  
  34.     MessageOpen(ToolClass) ;    // Open Message Path
  35.     Ast_Filespec = MakeFilespec("*", 0) ; 
  36.  
  37.     MakeEvent("R", ToolClass, "START", Ast_Filespec, "start") ;
  38. }
  39.  
  40. //***********************************************************************
  41. // Start callback function is called when a start message is received.
  42. //***********************************************************************
  43. start() {
  44.     var Get_MessageID ;        
  45.     var Filespec ;            
  46.     var PathName ;            
  47.     var FileName ;            
  48.     var CommandLine ;        
  49.  
  50.     var SenderToolClass ;        
  51.     var MessageType ;        
  52.     var ToolClassName ;        
  53.     var CommandName ;        
  54.     var Data ;            
  55.     var Originator ;         
  56.     
  57.     Get_MessageID  = GetMessageID();    
  58.  
  59.     Filespec = GetFilespec();        
  60.  
  61.     
  62.     if(Com_filespec == Filespec) 
  63.         {
  64.         ActivateWindow(tool) ;        
  65.         MessageSend(Get_MessageID, "N", ToolClass, "START",Filespec) ;
  66.         return(TRUE);
  67.         }
  68.     Com_Filespec = Filespec ;        
  69.  
  70.     SenderToolClass = GetSenderToolClass() ; 
  71.     MessageType     = GetMessageType() ;    
  72.     ToolClassName   = GetToolClass() ;    
  73.     CommandName     = GetCommand() ;    
  74.     Data            = GetData(1) ;        
  75.     Originator      = GetOriginator();      
  76.  
  77. //***********************************************************************
  78. // Register start callback function for Filespec.
  79. //***********************************************************************
  80.     DeleteEvent("R", ToolClass, "START", Ast_Filespec) ;
  81.     MakeEvent("R", ToolClass, "START", Com_Filespec, "start") ;
  82. //***********************************************************************
  83. // Register following callback function for Filespec.
  84. //  - STOP      : Stop Tool
  85. //  - MAXIMIZE  : Minimize a window
  86. //  - MINIMIZE  : Maximize a window
  87. //  - NORMALIZE : Normalize a window
  88. //***********************************************************************
  89.     MakeEvent("R", ToolClass, "STOP"     , Com_Filespec, "stop" ) ;
  90.     MakeEvent("R", ToolClass, "MAXIMIZE" , Com_Filespec, "maximize" ) ;
  91.     MakeEvent("R", ToolClass, "MINIMIZE" , Com_Filespec, "minimize" ) ;
  92.     MakeEvent("R", ToolClass, "NORMALIZE", Com_Filespec, "normalize" ) ;
  93.  
  94. //***********************************************************************
  95. // Use cat function, When Tool concatenates parameters (the specified
  96. // character strings).
  97. // CommandLine = cat("parameters", PathName) ;
  98. //***********************************************************************
  99.     PathName = FilespecToPathName(Com_Filespec) ;
  100.  
  101. //***********************************************************************
  102. // Start the tool 
  103. // Change file name (SAMPLE.EXE) for specified tool
  104. //   ex. tool = ToolExecEX("NOTEPAD.EXE",PathName,TRUE);
  105. //***********************************************************************
  106.     tool = ToolExecEX("SAMPLE.EXE",PathName,TRUE); 
  107.  
  108.     if( IsNULL(tool) ) {        
  109.         MessageSend(Get_MessageID,  "F", ToolClass, "START" , Com_Filespec);
  110.         MessageSend(MakeMessageID(), "N", ToolClass, "STATUS",
  111.                 Com_Filespec, "NOTRUNNING") ;
  112.         del_event();        
  113.         Com_Term = 1 ;        
  114.         MessageClose();        
  115.         Close();        
  116.         return(0);
  117.     }
  118.  
  119.  
  120.     MessageSend(MakeMessageID(), "N", ToolClass, "STATUS",
  121.             Filespec, "STARTING") ;
  122.  
  123.     MessageSend(MakeMessageID(), "N", ToolClass, "STATUS", Filespec, "READY") ;
  124.  
  125.     MessageSend(Get_MessageID, "N", ToolClass, "START", Filespec) ;
  126. }
  127. //***********************************************************************
  128. // Stop callback function is called when a stop message is received.
  129. //***********************************************************************
  130. stop() {
  131.     var Filespec ;                
  132.     var ToolID ;                
  133.  
  134.  
  135.     SCRIPT.ErrorDisplay = False ;        
  136.     ToolID = closewindow(tool);
  137.     SCRIPT.ErrorDisplay = True ;
  138.  
  139.  
  140.     Filespec = GetFilespec();
  141.  
  142.     MessageSend(MakeMessageID(), "N", ToolClass, "STATUS",
  143.             Filespec, "NOTRUNNING") ;    
  144.  
  145.     MessageSend(GetMessageID(),  "N", ToolClass, "STOP", Filespec) ;
  146.  
  147.     del_event() ;        
  148.     MessageClose();        
  149.     Com_Term = 1 ;        
  150.     Close();        
  151. }
  152. //***********************************************************************
  153. // Maximize callback function is called when a maximize message is received.
  154. //***********************************************************************
  155. maximize() {
  156.  
  157.     MaximizeWindow(tool) ;        
  158.     ActivateWindow(tool) ;        
  159.  
  160.  
  161.     MessageSend(GetMessageID(), "N", ToolClass, "MAXIMIZE",
  162.             GetFilespec());
  163.  
  164. }
  165. //***********************************************************************
  166. // Minimize callback function is called when a minimize message is received.
  167. //***********************************************************************
  168. minimize() {
  169.  
  170.     MinimizeWindow(tool) ;        
  171.     ActivateWindow(tool) ;        
  172.  
  173.     MessageSend(GetMessageID(), "N", ToolClass, "MINIMIZE",
  174.             GetFilespec());
  175. }
  176. //***********************************************************************
  177. // Normalize callback function is called when a normalize message is received.
  178. //***********************************************************************
  179. normalize() {
  180.  
  181.     RestoreWindow(tool) ;        
  182.     ActivateWindow(tool) ;        
  183.  
  184.  
  185.     MessageSend(GetMessageID(), "N", ToolClass, "NORMALIZE",
  186.             GetFilespec());
  187. }
  188. //***********************************************************************
  189. // Terminate callback function is called when a Terminate message is received.
  190. // The following operation or function causes Terminate message
  191. //   - Close Icon of Maro Manager
  192. //   - Call Close function in Script
  193. //***********************************************************************
  194. Terminate() {
  195.  
  196.     if(Com_Term != 0) {
  197.         Return(0);
  198.     }
  199.  
  200.     SCRIPT.ErrorDisplay = False ;    
  201.     closewindow(tool);
  202.     SCRIPT.ErrorDisplay = True ;
  203.  
  204.     MessageSend(MakeMessageID(), "N", ToolClass, "STATUS",
  205.             Com_Filespec, "NOTRUNNING") ;    
  206.     MessageSend(MakeMessageID(), "N", ToolClass, "STOP", Com_Filespec) ;
  207.     del_event() ;            
  208.     MessageClose();            
  209.     Com_Term = 1 ;            
  210.     Close() ;            
  211. }
  212. //******************************************************************
  213. //   Deletes a message pattern
  214. //******************************************************************
  215. del_event() {
  216.     DeleteEvent("R", ToolClass, "START"    , Com_Filespec) ;
  217.     DeleteEvent("R", ToolClass, "STOP"     , Com_Filespec) ;
  218.     DeleteEvent("R", ToolClass, "MAXIMIZE" , Com_Filespec) ;
  219.     DeleteEvent("R", ToolClass, "MINIMIZE" , Com_Filespec) ;
  220.     DeleteEvent("R", ToolClass, "NORMALIZE", Com_Filespec) ;
  221. }
  222.