window:
	res:
		windowType	wstandard
	endres:
endwindow:
close:
	res:
		bitmapPath	$(bitmaps)
		bitmapFile	CLOSE::CBM
	endres:
endclose:
title:
	res:
		leftLabel	'ȣƮ űԵ'
		leftKanjiFont	$(kanjiFont)
		leftFont	$(kanaFont)
		switch $(COLOR)
			case MONO:
				bitmapPath	$(bitmaps)
				backgroundFile	GRAY3
				transparent	false
				break
		endswitch
	endres:
endtitle:
dialog: dialogs
	res:
		defaultDistance		#(fWidth)
		dialogType		modeless
		defaultButton		next
	endres:
	ditem: list_label
		res:
			itemType	bitmap
			label		'ȣƮ巹'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*3
		endres:
	endditem:
	ditem: newname
		res:
			itemType	text
			fromVert	list_label
			vertDistance	2
			horizDistance	#(fWidth)*2
			length		16
			height		#(fHeight)
			width		#(fWidth)*16+4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_NAME)
			put $(NEW_NAME)@1 $(NEW_NAME1)
			put $(NEW_NAME)@0 $(NEW_NAME)
		endact:
	endditem:
	ditem: newaddr_1
		res:
			itemType	numtext
			fromVert	list_label
			fromHoriz	newname
			vertDistance	2
			horizDistance	#(fWidth)*2
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR1)
		endact:
	endditem:
	ditem: dot_1
		res:
			itemType	bitmap
			fromVert	list_label
			fromHoriz	newaddr_1
			vertDistance	2
			horizDistance	0
			label		.
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: newaddr_2
		res:
			itemType	numtext
			fromVert	list_label
			fromHoriz	dot_1
			vertDistance	2
			horizDistance	0
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR2)
		endact:
	endditem:
	ditem: dot_2
		res:
			itemType	bitmap
			fromVert	list_label
			fromHoriz	newaddr_2
			vertDistance	2
			horizDistance	0
			label		.
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: newaddr_3
		res:
			itemType	numtext
			fromVert	list_label
			fromHoriz	dot_2
			vertDistance	2
			horizDistance	0
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR3)
		endact:
	endditem:
	ditem: dot_3
		res:
			itemType	bitmap
			fromVert	list_label
			fromHoriz	newaddr_3
			vertDistance	2
			horizDistance	0
			label		.
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: newaddr_4
		res:
			itemType	numtext
			fromVert	list_label
			fromHoriz	dot_3
			vertDistance	2
			horizDistance	0
			length		3
			height		#(fHeight)
			width		#(fWidth)*3+4
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			borderWidth	2
			focus
		endres:
		act:
			put $(NEW_ADDR4)
		endact:
	endditem:
	ditem: perm_label
		res:
			itemType	bitmap
			fromVert	list_label
			fromHoriz	newaddr_4
			vertDistance	2
			horizDistance	#(fWidth)
			label		'  '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: list
		res:
			itemType	scrtext
			fromVert	newname
			vertDistance	4
			horizDistance	#(fWidth)
			width		#(fWidth)+1*49
			height		#(lHeight)*10+8
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			bind1		select
			file		/dev/null
		endres:
		act:
			put $(line)
			put $(line)@0 $(BUF_NAME)
			put $(line)@1 $(BUF_ADDR)
		endact:
	endditem:
	ditem: remote_label
		res:
			itemType	bitmap
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		'Ʈ 㰡'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: hosts_eq
		res:
			itemType	check
			fromVert	remote_label
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		'α(hosts.equiv) =>L'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			switch $(COLOR)
				case MONO:
					background	white
					foreground	black
					highlightBack	white
					highlightFore	black
					selectedBack	white
					selectedFore	black
					break
				default:
					background	#c5c5c5
					highlightBack	#c5c5c5
					selectedBack	#c5c5c5
					break
			endswitch
		endres:
		act:
			put $(tmp)
			switch $(tmp)
				case 1:
					put on $(hosts_eq)
					break
				default:
					put off $(hosts_eq)
					break
			endswitch
		endact:
	endditem:
	ditem: hosts_lpd
		res:
			itemType	check
			fromVert	hosts_eq
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		'(hosts.lpd)   =>P'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			switch $(COLOR)
				case MONO:
					background	white
					foreground	black
					highlightBack	white
					highlightFore	black
					selectedBack	white
					selectedFore	black
					break
				default:
					background	#c5c5c5
					highlightBack	#c5c5c5
					selectedBack	#c5c5c5
					break
			endswitch
		endres:
		act:
			put $(tmp)
			switch $(tmp)
				case 1:
					put on $(hosts_lpd)
					break
				default:
					put off $(hosts_lpd)
					break
			endswitch
		endact:
	endditem:
	ditem: x_hosts
		res:
			itemType	check
			fromVert	hosts_lpd
			fromHoriz	list
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
			label		'÷(X0.hosts)=>X'
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			shadowWidth	0
			switch $(COLOR)
				case MONO:
					background	white
					foreground	black
					highlightBack	white
					highlightFore	black
					selectedBack	white
					selectedFore	black
					break
				default:
					background	#c5c5c5
					highlightBack	#c5c5c5
					selectedBack	#c5c5c5
					break
			endswitch
		endres:
		act:
			put $(tmp)
			switch $(tmp)
				case 1:
					put on $(x_hosts)
					break
				default:
					put off $(x_hosts)
					break
			endswitch
		endact:
	endditem:
	ditem: line
		res:
			itemType	bitmap
			fromVert	x_hosts
			fromHoriz	list
			vertDistance	0
			horizDistance	#(fWidth)
			label		----------------------------
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
	endditem:
	ditem: next
		res:
			itemType	button
			fromVert	line
			fromHoriz	list
			vertDistance	4
			horizDistance	#(fWidth)*2
			label		Σţأ
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
		endres:
		act:
			switch $(NEW_NAME)
				case '':
					put 1 $(err_no)
					job err
					quit
			endswitch
			switch $(NEW_NAME1)
				case '':
					break
				default:
					put 2 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Sname_check host $(NEW_NAME)
			switch #(status)
				case 0x100:
					put 2 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Snet_check -h $(NEW_NAME)
			switch #(status)
				case 0:
					put 5 $(err_no)
					job err
					quit
			endswitch
			switch $(hosts_eq)
				case on:
					put '+ ' $(HOSTS_EQ)
					break
				default:
					put '- ' $(HOSTS_EQ)
					break
			endswitch
			switch $(hosts_lpd)
				case on:
					put '+ ' $(HOSTS_LPD)
					break
				default:
					put '- ' $(HOSTS_LPD)
					break
			endswitch
			switch $(x_hosts)
				case on:
					put '+ ' $(X_HOSTS)
					break
				default:
					put '- ' $(X_HOSTS)
					break
			endswitch
			put '  $(NEW_NAME)\L20$(NEW_ADDR1)\Z3.$(NEW_ADDR2)\Z3.$(NEW_ADDR3)\Z3.$(NEW_ADDR4)\Z3      $(HOSTS_EQ) $(HOSTS_LPD) $(X_HOSTS)' $(newline)
			put $(newline) > $(TMP_LIST)
			$(bin)/Sfile_op -e -f 0 -i $(TMP_LIST) -o $(LIST)
			switch #(status)
				case 0:
					put 7 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Shostaddr_chk $(NEW_ADDR1) $(NEW_ADDR2) $(NEW_ADDR3) $(NEW_ADDR4)
			switch #(status)
				case 0x100:
					put 3 $(err_no)
					job err
					quit
				case 0x200:
				case 0x300:
					put 4 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Snet_check -a $(NEW_ADDR1) $(NEW_ADDR2) $(NEW_ADDR3) $(NEW_ADDR4)
			switch #(status)
				case 0:
					put 6 $(err_no)
					job err
					quit
			endswitch
			$(bin)/Sfile_op -e -f 1 -i $(TMP_LIST) -o $(LIST)
			switch #(status)
				case 0:
					put 8 $(err_no)
					job err
					quit
			endswitch
			put $(newline) >> $(LIST)
			put #(NEW_ADDR1) $(OP_ADDR1)
			put #(NEW_ADDR2) $(OP_ADDR2)
			put #(NEW_ADDR3) $(OP_ADDR3)
			put #(NEW_ADDR4) $(OP_ADDR4)
			put '$(OP_ADDR1).$(OP_ADDR2).$(OP_ADDR3).$(OP_ADDR4) $(NEW_NAME) $(hosts_eq) $(hosts_lpd) $(x_hosts)' >> $(OPLIST)
			job init
			job chklist
			put #(NEW_ADDR4)+1 $(NEW_ADDR4)
			test $(NEW_ADDR4) -gt 255
			switch #(status)
				case 0:
					break
				default:
					setval newaddr_4 string $(NEW_ADDR4)
					break
			endswitch
		endact:
	endditem:
	ditem: exec
		res:
			itemType	button
			fromVert	next
			fromHoriz	list
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			put on $(ONRUN)
			put 101 $(menu_no)
			$(onrun) = sub $(commonPath)/onrun ++48++48
			$(pid) = bg $(etc)/Network/Shosts.sh add $(OPLIST) $(MAIL_MODE)
			$(bgstat) = trap $(pid) exec_end
		endact:
	endditem:
	ditem: del
		res:
			itemType	button
			fromVert	exec
			fromHoriz	list
			label		'   '
			kanjiFont	$(kanjiFont)
			font		$(kanaFont)
			vertDistance	#(fWidth)
			horizDistance	#(fWidth)*2
		endres:
		act:
			echo '$(BUF_NAME)' > $(TMP_LIST)
			$(bin)/Sfile_op -d -f 0 -i $(TMP_LIST) -o $(LIST)
			echo 'tmp $(BUF_NAME)' > $(TMP_LIST)
			$(bin)/Sfile_op -d -f 1 -i $(TMP_LIST) -o $(OPLIST)
			setval list file $(LIST)
			setval del sensitive false
			job chklist
		endact:
	endditem:
enddialog:
proc: pre
	$(TMP) = mktemp
	put /tmp/$(TMP) $(LIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(OPLIST)
	$(TMP) = mktemp
	put /tmp/$(TMP) $(TMP_LIST)
	echo -n > $(LIST)
	echo -n > $(OPLIST)
	put 0 $(menu_no)
	put on $(mapped)
	put off $(opened)
endproc:
proc: close
	switch $(ONRUN)
		case on:
			quit
	endswitch
	job off
	close
endproc:
proc: off
	switch #(menu_no)
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
			close $(err)
	endswitch
	rm -f $(LIST) $(OPLIST) $(TMP_LIST)
endproc:
proc: open
	setval newaddr_1 string '000'
	setval newaddr_2 string '000'
	setval newaddr_3 string '000'
	setval newaddr_4 string '000'
	job init
	job chklist
endproc:
proc: init
	setval newname string ''
	setval list file $(LIST)
	setval del sensitive false
endproc:
proc: chklist
	test -s $(LIST)
	switch #(status)
		case 0:
			setval exec sensitive true
			break
		default:
			setval exec sensitive false
	endswitch
endproc:
proc: select
	switch $(line)
		case '':
			quit
	endswitch
	setval del sensitive true
endproc:
proc: exec_end
	buzzer $(main)
	close $(onrun)
	switch $(mapped)
		case on:
			$(n_end) = sub $(commonPath)/normalEnd ++48++48
			trap $(n_end) n_end
			break
		case off:
			put on $(opened)
			break
	endswitch
	put 102 $(menu_no)
endproc:
proc: unmap
	switch #(menu_no)
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
			unmap $(err)
			break
		case 101:
			unmap $(onrun)
			break
		case 102:
			unmap $(n_end)
			break
	endswitch
	put off $(mapped)
endproc:
proc: map
	switch #(menu_no)
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
			move $(err)
			raise $(err)
			map $(err)
			break
		case 101:
			move $(onrun)
			raise $(onrun)
			map $(onrun)
			break
		case 102:
			switch $(opened)
				case on:
					$(n_end) = sub $(commonPath)/normalEnd ++48++48
					trap $(n_end) n_end
					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 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
			move $(err)
			break
		case 101:
			move $(onrun)
			break
		case 102:
			move $(n_end)
			break
	endswitch
endproc:
proc: up
	switch #(menu_no)
		case 1:
		case 2:
		case 3:
		case 4:
		case 5:
		case 6:
		case 7:
		case 8:
			raise $(err)
			break
		case 101:
			raise $(onrun)
			break
		case 102:
			raise $(n_end)
			break
	endswitch
endproc:
proc: n_end
	put off $(ONRUN)
	put 0 $(menu_no)
	put on $(CHANGE_HOSTS)
	job close
endproc:
proc: err
	put $(err_no) $(menu_no)
	switch #(err_no)
		case 1:
			put 'ȣƮ Ͽ ֽʽÿ.' $(confirm_msg1)
			$(err) = sub $(commonPath)/error1 ++48++48
			break
		case 2:
			put 'ȣƮ ҹ (-_.  ) ' $(confirm_msg1)
			put ' ڷ Ͽ ֽʽÿ.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 3:
			put '巹  ʵ ִġ Դϴ.' $(confirm_msg1)
			put 'ٸ 巹 Ͽ ֽʽÿ.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 4:
			$(err) = sub $(menuPath)/Network/addr_error ++48++48
			break
		case 5:
			put 'ȣƮ$(NEW_NAME)() ̹ ǰ ֽϴ.' $(confirm_msg1)
			put 'ٸ ȣƮ Ͽ ֽʽÿ.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 6:
			put 'ȣƮ巹$(NEW_ADDR1)\Z3.$(NEW_ADDR2)\Z3.$(NEW_ADDR3)\Z3.$(NEW_ADDR4)\Z3() ' $(confirm_msg1)
			put '̹ ǰ ֽϴ. ٸ 巹 Ͽ ֽʽÿ.' $(confirm_msg2)
			
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 7:
			put 'ȣƮ$(NEW_NAME)() ̹ Ǿ ֽϴ.' $(confirm_msg1)
			put 'ٸ ȣƮ Ͽ ֽʽÿ.' $(confirm_msg2)
			$(err) = sub $(commonPath)/error2 ++48++48
			break
		case 8:
			put 'ȣƮ巹$(NEW_ADDR1)\Z3.$(NEW_ADDR2)\Z3.$(NEW_ADDR3)\Z3.$(NEW_ADDR4)\Z3() ' $(confirm_msg1)
			put '̹ Ǿ ֽϴ. ٸ 巹 Ͽ ֽʽÿ.' $(confirm_msg2)
			
			$(err) = sub $(commonPath)/error2 ++48++48
	endswitch
	buzzer
	trap $(err) err_end
endproc:
proc: err_end
	put 0 $(menu_no)
endproc:
