67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| compile insert OIWin_Comm_Init_Ex
 | |
| /* 
 | |
|    ** Copyright (C) 1992-2019 Revelation Software Inc. All Rights Reserved **
 | |
|    
 | |
|    This  program  is  proprietary and is not  to be used  by or  disclosed
 | |
|    to others, nor is it to be copied without written permission from
 | |
|    Revelation Technologies, Inc.
 | |
|    
 | |
|    Author   : Captain C
 | |
|    Date     : March 2014
 | |
|    Purpose  : Equate to insert the window common block by resolving the 
 | |
|               WinID - useful for things like docked panels as the ID
 | |
|               is not prefixed with the the host window ID
 | |
|    
 | |
|    Comments
 | |
|    ========
 | |
|    
 | |
|    This insert still expects WinID to be set prior to this insert.
 | |
|    
 | |
|    This insert sets a variable called "frameID__" to the actual runtime 
 | |
|    frame found in case it is required.
 | |
|    
 | |
|    
 | |
|    Amended  Date        Reason
 | |
|    =======  ====        ======
 | |
|    Mr C     11 Feb 19   Updated for bLen()
 | |
|    Mr C     26 Jan 16   Spelling!
 | |
|    Mr C     16 Jan 16   Reset winID so RUN_EVENT sets @window correctly
 | |
|    Mr C     13 Oct 15   Added ps_Get_Property declaration
 | |
| */
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
|    declare function ps_Get_Property
 | |
| 
 | |
| ///////////////////////////////////////////////////////////////////////////////   
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
|    // Resolve WinID to a WINDOW
 | |
|    
 | |
|    winID_    = winID
 | |
|    frameID__ = winID
 | |
|    
 | |
|    if ( ps_Get_Property( winID, "TYPE" ) != "WINDOW" ) then
 | |
|    	loop
 | |
|       until ( ps_Get_Property( winID, "TYPE"  ) == "WINDOW" )
 | |
|          winID = ps_Get_Property( winID, "PARENT" )
 | |
|       while bLen( winID )
 | |
|       repeat
 | |
|       
 | |
|    	if bLen( winID ) else
 | |
|    	   winID = @window
 | |
|    	end
 | |
|    	
 | |
|    	frameID__ = winID
 | |
|    	
 | |
| 	end
 | |
|    
 | |
|    $insert oiWin_Comm_Init
 | |
|    
 | |
|    // Once we've resolved the window common area we need to reset winID so
 | |
|    // RUN_EVENT can set the correct @Window variable
 | |
|    transfer winID_ to winID
 | |
| 
 | |
| ///////////////////////////////////////////////////////////////////////////////
 | |
| ///////////////////////////////////////////////////////////////////////////////
 |