added sysprog entities
This commit is contained in:
66
SYSPROG/STPROCINS/OIWIN_COMM_INIT_EX.txt
Normal file
66
SYSPROG/STPROCINS/OIWIN_COMM_INIT_EX.txt
Normal file
@ -0,0 +1,66 @@
|
||||
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
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////////////////////////////////////////////////////
|
Reference in New Issue
Block a user