242 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			242 lines
		
	
	
		
			5.1 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
 | |
| 
 | |
| 
 | |
| 
 |