open-insight/SYSPROG/STPROCINS/OIWIN_COMM_INIT_EX.txt
2024-03-25 15:17:34 -07:00

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
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////