# Script da assegnare a un'icona qualsiasi (poi lo script imposterà quella giusta),
# la quale andrà collegata al segnale di protezione di un passaggio a livello (con
# o senza barriere). Un click su di essa spegne o accende il segnale a cui è col-
# legata - lasciandolo aperto o chiuso come è - a seconda che esso sia acceso (in-
# dicatore grigio) o spento (indicatore azzurro).

# Script to be assigned to any icon (the script itself will set the correct one), which
# will be linked to signal that protects a level crossing (with or without gates).
# A click on it will switch off or on the linked signal - leaving it clear or unclear
# as it is - depending on its being on (grey indication) or off (cyan indication).

# P.Rosati  21/01/2021 (Versione 5.1)

OnInit:
	.linked.noclickpenalty = 1
	.icon = "TD_off_X.xpm"
end

OnIconUpdate:
	if .linked.aspect = clear or .linked.aspect = unclear
		.icon = "TD_fault_X.xpm"
	else
		.icon = "TD_off_X.xpm"
	end
end

OnClicked:
	if .linked.aspect = clear
		if .linked.color = white
			.linked.aspect = open
		else
			.linked.aspect = green
		end
		do update
		return
	end
	if .linked.aspect = unclear
		.linked.aspect = red
		do update
		return
	end
	if .linked.aspect = red or .linked.aspect = closed
		.linked.aspect = unclear
		do update
		return
	end
	if .linked.aspect = green or .linked.aspect = open
		.linked.aspect = clear
		do update
		return
	end
end