open-insight/LSL2/STPROC/COMM_DIALOG_TOOL_MODE.txt
2024-05-22 14:06:46 -07:00

243 lines
5.2 KiB
Plaintext

COMPILE FUNCTION Comm_Dialog_Tool_Mode(Method, Parm1, Parm2, Parm3)
/*
Commuter module for Dialog_Tool_Mode window.
10/23/2007 - John C. Henry, J.C. Henry & Co., Inc.
*/
DECLARE SUBROUTINE Set_Property, End_Dialog, Set_Status, ErrMsg
DECLARE SUBROUTINE obj_Appwindow, Start_Window, Msg, obj_Tool_Log
DECLARE FUNCTION Get_Property, Get_Status, Dialog_Box, Popup, Send_Message, SRP_Array
EQU CRLF$ TO \0D0A\
$INSERT POPUP_EQUATES
$INSERT LOGICAL
$INSERT APPCOLORS
$insert IR_INSERTS
$INSERT TOOL_EQUATES
ErrCode = ''
ErrorMsg = ''
ErrTitle = 'Error in Comm_Dialog_Tool_Mode'
Result = ''
Begin Case
CASE Method = 'Create' ; GOSUB Create
CASE Method = 'OK' ; GOSUB OK
CASE Method = 'Cancel' ; GOSUB Cancel
CASE Method = 'Close' ; GOSUB Close
CASE Method = 'Refresh' ; GOSUB Refresh
CASE Method = 'LU_UserID' ; GOSUB LU_UserID
CASE Method = 'UserIDLF' ; GOSUB UserIDLF
CASE Method = 'LU_ChgToMode' ; GOSUB LU_ChgToMode
Case Method = 'EnableOK' ; GOSUB EnableOK
CASE 1
ErrMsg(ErrTitle:@SVM:'Unknown method ':QUOTE(Method):' passed to routine.')
End Case
Return Result
* * * * * * *
Create:
* * * * * * *
obj_AppWindow('Create')
ToolID = Parm1
ToolRec = XLATE('TOOL', ToolID, '', 'X')
ToolDesc = ToolRec<TOOL_TOOL_DESC$>
ToolProc = ToolRec<TOOL_TOOL_PROC$>
CurrMode = XLATE('TOOL', ToolID, 'CURR_MODE', 'X')<1,1>
IF CurrMode EQ "" THEN
obj_Tool_Log('InitialLog', ToolID)
IF Get_Status(errCode) THEN
ErrMsg(errCode)
RETURN
END
CurrMode = 'OUT'
END
* Window title in top bar
WinText = 'Tool Mode Change - ':ToolDesc
Set_Property(@WINDOW, 'TEXT', WinText)
UserName = Oconv(@USER4, '[XLATE_CONV,LSL_USERS*FIRST_LAST]')
Set_Property(@WINDOW:'.USER_ID', 'DEFPROP', @USER4)
Set_Property(@WINDOW:'.USER_NAME', 'DEFPROP', UserName)
Set_Property(@WINDOW:'.REASON', 'FOCUS', 1)
Set_Property(@WINDOW:'.TOOL_ID', 'DEFPROP', ToolID)
Set_Property(@WINDOW:'.CURR_MODE', 'DEFPROP', CurrMode)
ModeData = XLATE('SYSREPOSPOPUPS', 'LSL2**TOOL_MODE', '8', 'X')
Ctrls = @WINDOW:'.NEW_MODE':@RM ; Props = 'VISIBLE':@RM
Ctrls := @WINDOW:'.NEW_MODE_GROUP':@RM ; Props := 'VISIBLE':@RM
Ctrls := @WINDOW:'.CHG_TO_MODE':@RM ; Props := 'VISIBLE':@RM
Ctrls := @WINDOW:'.LU_CHG_TO_MODE':@RM ; Props := 'VISIBLE':@RM
Ctrls := @WINDOW:'.CHG_TO_MODE_LABEL' ; Props := 'VISIBLE'
*IF ToolProc = 'G' THEN
* GaN process
Vals = '0':@RM:'0':@RM:'1':@RM:'1':@RM:'1'
Set_Property(Ctrls,Props,Vals)
*END ELSE
/*
* Si Process
Vals = '1':@RM:'1':@RM:'0':@RM:'0':@RM:'0'
Set_Property(Ctrls,Props,Vals)
TextVals = ''
ValueVals = ''
FOR I = 1 TO COUNT(ModeData,@VM) + (ModeData NE '')
ModeID = ModeData<1,I,1>
ModeDesc = ModeData<1,I,2>
IF ModeID NE CurrMode THEN
TextVals := ModeDesc:@RM
ValueVals := ModeID:@RM
END
NEXT I
*TextVals[-1,1] = '' ;* Leave the hanging @RM -> These are concatenated a few lines down
ValueVals[-1,1] = ''
Ctrls = @WINDOW:'.NEW_MODE.LABELFORMODE1':@RM:@WINDOW:'.NEW_MODE.LABELFORMODE2':@RM:@WINDOW:'.NEW_MODE.LABELFORMODE3':@RM
Ctrls := @WINDOW:'.NEW_MODE.LABELFORMODE1':@RM:@WINDOW:'.NEW_MODE.LABELFORMODE2':@RM:@WINDOW:'.NEW_MODE.LABELFORMODE3'
Props = 'TEXT':@RM:'TEXT':@RM:'TEXT':@RM:'VALUE':@RM:'VALUE':@RM:'VALUE'
Vals = TextVals:ValueVals
Set_Property(Ctrls,Props,Vals)
DefVal = ValueVals[1,@RM]
Set_Property(@WINDOW:'.NEW_MODE', 'VALUE', DefVal)
*/
*END ;* End of check for Process flag
RETURN
* * * * * * *
LU_UserID:
* * * * * * *
TypeOver = ''
TypeOver<PSELECT$> = 1
TypeOver<PDISPLAY$> = 'BY LAST_FIRST'
UserID = Popup(@WINDOW,TypeOver,'SHOW_USERS')
IF UserID NE '' THEN
Set_Property(@WINDOW:'.USER_ID','DEFPROP',UserID)
END ELSE
RETURN
END
* * * * * * *
UserIDLF:
* * * * * * *
UserID = Get_Property(@WINDOW:'.USER_ID','DEFPROP')
UserName = OCONV(UserID,'[XLATE_CONV,LSL_USERS*FIRST_LAST]')
Set_Property(@WINDOW:'.USER_NAME','DEFPROP',UserName)
RETURN
* * * * * * *
LU_ChgToMode:
* * * * * * *
ReturnCtrl = @WINDOW:'.':Parm1
NewMode = Popup(@WINDOW,'','TOOL_MODE')
IF NewMode = '' THEN RETURN
obj_AppWindow('LUValReturn',NewMode:@RM:ReturnCtrl)
RETURN
* * * * * * *
Refresh:
* * * * * * *
RETURN
* * * * * * *
Close:
* * * * * * *
* * * * * * *
Cancel:
* * * * * * *
End_Dialog(@WINDOW,'Cancel')
RETURN
* * * * * *
OK:
* * * * * *
UserID = Get_Property(@WINDOW:'.USER_ID', 'DEFPROP')
Reason = Get_Property(@WINDOW:'.REASON', 'DEFPROP')
ChgToMode = Get_Property(@WINDOW:'.CHG_TO_MODE','DEFPROP')
Result = UserID:@FM:Reason:@FM:ChgToMode
End_Dialog(@WINDOW,Result)
RETURN
* * * * * * *
EnableOK:
* * * * * * *
ChgToMode = Get_Property(@WINDOW:'.CHG_TO_MODE','DEFPROP')
ValidModes = Xlate('SYSREPOSPOPUPS', 'LSL2**TOOL_MODE', 'DISPLAY', 'X')
ValidModes = SRP_Array('Rotate', ValidModes, @VM, @SVM)
ValidModes = ValidModes<0, 1>
Locate ChgToMode in ValidModes using @SVM setting vsPos then
Enabled = True$
end else
Enabled = False$
end
Set_Property(@Window:'.OK_BUTTON', 'ENABLED', Enabled)
return