window:
	res:
		windowType	wstandard
	endres:
endwindow:
close:
	res:
		bitmapPath	$(bitmaps)
		bitmapFile	CLOSE::CBM
	endres:
endclose:
title:
	res:
		leftLabel	'Printer Setup'
		leftKanjiFont	$(kanjiFont)
		leftFont	$(kanaFont)
		rightLabel	/etc/printcap
		rightKanjiFont	$(kanjiFont)
		rightFont	$(kanaFont)
		switch $(COLOR)
			case MONO:
				bitmapPath	$(bitmaps)
				backgroundFile	GRAY3
				transparent	false
				break
		endswitch
	endres:
endtitle:
dialog: dialogs
	res:
		defaultDistance		#(fWidth)
		dialogType		modeless
	endres:
	ditem: list_label
		res:
			itemType	bitmap
			label		'  Printer name          Connect     Model name(*)'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)
		endres:
	endditem:
	ditem: list
		res:
			itemType	scrtext
			fromVert	list_label
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*62
			height		#(lHeight)*10+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			bind1		select1
			textOptions	1
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(TMP_NAME)
			switch $(line)@1
				case ???:
					put 0 $(TMP_CONNECT)
					break
				case LBP:
					put 1 $(TMP_CONNECT)
					break
				case Parallel:
					put 2 $(TMP_CONNECT)
					break
				case Serial:
					put 3 $(TMP_CONNECT)
					break
				case Remote:
					put 4 $(TMP_CONNECT)
					break
			endswitch
		endact:
	endditem:
	ditem: new
		res:
			itemType	button
			fromVert	list_label
			fromHoriz	list
			label		' New '
			kanjiFont	$(kanjiFont)
			vertDistance	4
			horizDistance	#(fWidth)*2
		endres:
		act:
			put 1 $(menu_no)
			put on $(PRINTER_NEW)
			put 'New Printer' $(cmdName)
			$(conn) = open $(menu)/connect ++48++48
			job insense
			setval new sensitive false
			setval lpq sensitive false
			setval host_lpd sensitive false
			trap $(conn) get_conn
		endact:
	endditem:
	ditem: chg
		res:
			itemType	button
			fromVert	new
			fromHoriz	list
			label		' Change '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			$(etc)/Printer/Sprintcap.sh chk $(PRINTER_NAME)
			switch #(status)
				case 0:
					break
				default:
					put $(status) $(bgstat)
					job bgdone
					buzzer
					quit
			endswitch
			put 1 $(menu_no)
			put off $(PRINTER_NEW)
			put 'Change Printer Setup' $(cmdName)
			$(conn) = open $(menu)/connect ++48++48
			job insense
			setval new sensitive false
			setval lpq sensitive false
			setval host_lpd sensitive false
			trap $(conn) get_conn
		endact:
	endditem:
	ditem: del
		res:
			itemType	button
			fromVert	chg
			fromHoriz	list
			label		' Delete '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			$(etc)/Printer/Sprintcap.sh chk $(PRINTER_NAME)
			switch #(status)
				case 0:
					break
				default:
					put $(status) $(bgstat)
					job bgdone
					buzzer
					quit
			endswitch
			put 3 $(menu_no)
			put 3 $(cmd)
			put 'Delete Printer' $(cmdName)
			put 'Delete the printer "$(PRINTER_NAME)".' $(confirm_msg1)
			$(confirm) = sub $(commonPath)/confirm1 ++48++48
			trap $(confirm) confirm
		endact:
	endditem:
	ditem: lpq
		res:
			itemType	button
			fromVert	del
			fromHoriz	list
			label		'List print queue'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			put 8 $(menu_no)
			put 'List print queue' $(cmdName)
			$(lpq) = open $(menu)/lpq ++48++48
			job insense
			setval new sensitive false
			setval lpq sensitive false
			setval host_lpd sensitive false
			trap $(lpq) sub_end
		endact:
	endditem:
	ditem: line
		res:
			itemType	bitmap
			fromVert	lpq
			fromHoriz	list
			label		--------------
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	0
			horizDistance	#(fWidth)
		endres:
	endditem:
	ditem: host_lpd
		res:
			itemType	button
			fromVert	line
			fromHoriz	list
			label		'Allowance use from remote'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	0
			horizDistance	#(fWidth)*2
		endres:
		act:
			put 7 $(menu_no)
			put 'Allowance use from remote' $(cmdName)
			$(host_lpd) = open $(menu)/hosts_lpd ++48++48
			job insense
			setval new sensitive false
			setval lpq sensitive false
			setval host_lpd sensitive false
			trap $(host_lpd) sub_end
		endact:
	endditem:
	ditem: note
		res:
			itemType	bitmap
			fromVert	list
			vertDistance	2
			horizDistance	#(fWidth)
			leftKanjiFont	$(kanjiFont)
			leftFont	$(kanaFont)
			leftLabel	'(*): If Remote, "host:printer name"'
		endres:
	endditem:
enddialog:
proc: pre
	global $(PRINTER_NAME)
	global $(PRINTER_CONNECT)
	global $(NEW_PRINTER_CONNECT)
	global $(PRINTER_NEW)
	global $(CHANGE_PRINTER)
	put $(menuPath)/Printer $(menu)
	switch #(uid)
		case 0:
			put $(icons) $(okPath)
			put LBP $(okFile)
			break
	endswitch
	$(TMP) = mktemp
	put /tmp/$(TMP) $(PRINTER_LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(SORT_LIST)
	put 0 $(menu_no)
	put on $(mapped)
	put off $(opened)
	put off $(CHANGE_PRINTER)
	put 0 $(TMP_CONNECT)
endproc:
proc: close
	switch $(ONRUN)
		case on:
			quit
	endswitch
	job off
	close
endproc:
proc: off
	switch #(menu_no)
		case 1:
			close $(conn)
			break
		case 3:
			close $(confirm)
			break
		case 4:
			close $(lbp_para)
			break
		case 5:
			close $(serial)
			break
		case 6:
			close $(remote)
			break
		case 7:
			close $(host_lpd)
			break
		case 8:
			close $(lpq)
			break
	endswitch
	local $(PRINTER_NAME)
	local $(PRINTER_CONNECT)
	local $(NEW_PRINTER_CONNECT)
	local $(PRINTER_NEW)
	local $(CHANGE_PRINTER)
	rm -f $(PRINTER_LIST) $(SORT_LIST)
endproc:
proc: open
	job init
	switch #(uid)
		case 0:
			break
		default:
			setval new sensitive false
			break
	endswitch
endproc:
proc: init
	$(bin)/Sprintcap -L -i /etc/printcap > $(SORT_LIST)
	sort -u $(SORT_LIST) > $(PRINTER_LIST)
	setval list file $(PRINTER_LIST)
	put off $(CHANGE_PRINTER)
	put off $(select_on_cmd)
	job insense
endproc:
proc: insense
	switch $(uid)
		case 0:
			setval new sensitive true
			break
		default:
			setval new sensitive false
			break
	endswitch
	setval chg sensitive false
	setval del sensitive false
	setval lpq sensitive false
	setval host_lpd sensitive true
endproc:
proc: select1
	switch #(menu_no)
		case 1:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
			put on $(select_on_cmd)
			quit
	endswitch
	put $(TMP_NAME) $(PRINTER_NAME)
	switch $(PRINTER_NAME)
		case '':
			quit
	endswitch
	put $(TMP_CONNECT) $(PRINTER_CONNECT)
	put on $(select_on_cmd)
	switch #(uid)
		case 0:
			setval chg sensitive true
			setval del sensitive true
			break
	endswitch
	setval lpq sensitive true
endproc:
proc: cmd_end
	buzzer $(main)
	close $(onrun)
	switch $(mapped)
		case on:
			job bgdone
			break
		case off:
			put on $(opened)
			break
	endswitch
	put 102 $(menu_no)
endproc:
proc: unmap
	switch #(menu_no)
		case 1:
			unmap $(conn)
			break
		case 3:
			unmap $(confirm)
			break
		case 4:
			unmap $(lbp_para)
			break
		case 5:
			unmap $(serial)
			break
		case 6:
			unmap $(remote)
			break
		case 7:
			unmap $(host_lpd)
			break
		case 8:
			unmap $(lpq)
			break
		case 101:
			unmap $(onrun)
			break
		case 102:
			unmap $(n_end)
			break
	endswitch
	put off $(mapped)
endproc:
proc: map
	switch #(menu_no)
		case 1:
			raise $(conn)
			map $(conn)
			break
		case 3:
			move $(confirm)
			raise $(confirm)
			map $(confirm)
			break
		case 4:
			raise $(lbp_para)
			map $(lbp_para)
			break
		case 5:
			raise $(serial)
			map $(serial)
			break
		case 6:
			raise $(remote)
			map $(remote)
			break
		case 7:
			raise $(host_lpd)
			map $(host_lpd)
			break
		case 8:
			raise $(lpq)
			map $(lpq)
			break
		case 101:
			move $(onrun)
			raise $(onrun)
			map $(onrun)
			break
		case 102:
			switch $(opened)
				case on:
					job bgdone
					break
				case off:
					move $(n_end)
					raise $(n_end)
					map $(n_end)
					break
			endswitch
	endswitch
	put on $(mapped)
	put off $(opened)
endproc:
proc: title
	job move
	job up
endproc:
proc: raise
	job up
endproc:
proc: move
	switch #(menu_no)
		case 3:
			move $(confirm)
			break
		case 101:
			move $(onrun)
			break
		case 102:
			move $(n_end)
			break
	endswitch
endproc:
proc: up
	switch #(menu_no)
		case 3:
			raise $(confirm)
			break
		case 101:
			raise $(onrun)
			break
		case 102:
			raise $(n_end)
			break
	endswitch
endproc:
proc: n_end
	put off $(ONRUN)
	switch #(cmd)
		case 3:
			job init
			break
	endswitch
	put 0 $(menu_no)
endproc:
proc: confirm
	switch $(answer)
		case cancel:
			put 0 $(menu_no)
			quit
	endswitch
	put on $(ONRUN)
	put 101 $(menu_no)
	$(onrun) = sub $(commonPath)/onrun ++48++48
	switch #(cmd)
		case 3:
			$(pid) = bg $(etc)/Printer/Sprintcap.sh del $(PRINTER_NAME)
			break
	endswitch
	$(bgstat) = trap $(pid) cmd_end
endproc:
proc: sub_end
	switch #(uid)
		case 0:
			setval new sensitive true
			break
	endswitch
	setval host_lpd sensitive true
	switch $(select_on_cmd)
		case on:
			put $(TMP_NAME) $(PRINTER_NAME)
			put $(TMP_CONNECT) $(PRINTER_CONNECT)
			switch #(uid)
				case 0:
					setval chg sensitive true
					setval del sensitive true
					break
			endswitch
			setval lpq sensitive true
			break
	endswitch
	switch #(menu_no)
		case 3:
			setval chg sensitive true
			setval del sensitive true
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
			switch $(CHANGE_PRINTER)
				case on:
					job init
					break
			endswitch
			break
	endswitch
	put 0 $(menu_no)
endproc:
proc: bgdone
	switch #(bgstat)
		case 0:
			put on $(CHANGE_PRINTER)
			$(n_end) = sub $(commonPath)/normalEnd ++48++48
			trap $(n_end) n_end
			break
		case 0x200:
			put 'Printer "$(PRINTER_NAME)" is on printing.' $(confirm_msg1)
			put 'Execute after finish it.' $(confirm_msg2)
			$(n_end) = sub $(commonPath)/error2 ++48++48
			trap $(n_end) n_err
			break
	endswitch
endproc:
proc: n_err
	put off $(ONRUN)
	put 0 $(menu_no)
endproc:
proc: get_conn
	switch $(CHANGE_PRINTER)
		case off:
			put 0 $(menu_no)
			setval new sensitive true
			setval host_lpd sensitive true
			switch $(select_on_cmd)
				case on:
					put $(TMP_NAME) $(PRINTER_NAME)
					put $(TMP_CONNECT) $(PRINTER_CONNECT)
					setval chg sensitive true
					setval del sensitive true
					setval lpq sensitive true
					break
			endswitch
			quit
	endswitch
	switch #(NEW_PRINTER_CONNECT)
		case 1:
			put 4 $(menu_no)
			$(lbp_para) = open $(menu)/lbp_para ++48++48
			trap $(lbp_para) sub_end
			break
		case 2:
			put 4 $(menu_no)
			$(lbp_para) = open $(menu)/lbp_para ++48++48
			trap $(lbp_para) sub_end
			break
		case 3:
			put 5 $(menu_no)
			$(serial) = open $(menu)/serial ++48++48
			trap $(serial) sub_end
			break
		case 4:
			put 6 $(menu_no)
			$(remote) = open $(menu)/remote ++48++48
			trap $(remote) sub_end
			break
	endswitch
endproc:
