note
	description: "[
		The widget representing this port
		]"
	author: "Jimmy J. Johnson"

class
	ATTU_WIDGET

inherit

--	GREEN_PORT_WIDGET
--		undefine
--			paint
--		redefine
--			initialize,
--			create_interface_objects,
--			position_widgets,
--			build_land
--		end

	ISLAND_PORT_WIDGET
		redefine
			create_interface_objects,
--			initialize,
			position_widgets,
			build_land,
			rotation_amount
		end

create
	make

feature {NONE} -- Initialization

	create_interface_objects
			-- Initialize attributes
		do
			attu_island := attu_island_imp
				-- Make objects non-Void before calling Precursor,
				-- because a qualified call is made in an EV_xx class.
			Precursor {ISLAND_PORT_WIDGET}
--			Precursor {GREEN_PORT_WIDGET}
		end

--	initialize
--			-- Set up the widgets in Current.
--		do
--			Precursor {ISLAND_PORT_WIDGET}
----			Precursor {GREEN_PORT_WIDGET}
--		end

	position_widgets
			-- Move Current and contained widgets to correct
			-- location and set their their sizes
		do
			Precursor {ISLAND_PORT_WIDGET}
--			Precursor {GREEN_PORT_WIDGET}
--			marker.center_on_dot (dot)
			marker.set_x_y (dot.x, dot.y)
			center_on (532, 20)
			translate_widget (land, 9, 2)
			translate_widget (name_mt, -1, 0)
			translate_widget (marker, 0, 7)
			scale_widget (land, 0.25)
		end

	build_land
			-- Add widgets to Current
		do
			Precursor {ISLAND_PORT_WIDGET}
			land.extend (attu_island)
		end

feature -- Status report

	is_red: BOOLEAN = False
			-- Does Current represent a red (i.e. major) port?

feature {NONE} -- Implementation

	attu_island: EV_MODEL_POLYGON

feature {NONE} -- Implementation

	attu_island_imp: EV_MODEL_POLYGON
			-- Make the polygon
		do
			create Result
				-- Points generated by Grabber application
			Result.extend_point (create {EV_COORDINATE}.make_precise (0, 0))
			Result.extend_point (create {EV_COORDINATE}.make_precise (-0.44444444444444287, -2.2222222222222854))
			Result.extend_point (create {EV_COORDINATE}.make_precise (3.1111111111111072, -6.6666666666666856))
			Result.extend_point (create {EV_COORDINATE}.make_precise (6.2222222222222214, -7.1111111111110858))
			Result.extend_point (create {EV_COORDINATE}.make_precise (8, -11.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (12.444444444444443, -12))
			Result.extend_point (create {EV_COORDINATE}.make_precise (14.666666666666657, -14.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (18.222222222222221, -15.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (23.111111111111107, -13.333333333333371))
			Result.extend_point (create {EV_COORDINATE}.make_precise (26.222222222222221, -15.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (30.222222222222221, -14.222222222222285))
			Result.extend_point (create {EV_COORDINATE}.make_precise (35.111111111111107, -13.777777777777771))
			Result.extend_point (create {EV_COORDINATE}.make_precise (37.777777777777771, -14.222222222222285))
			Result.extend_point (create {EV_COORDINATE}.make_precise (40.444444444444443, -12.888888888888914))
			Result.extend_point (create {EV_COORDINATE}.make_precise (40.444444444444443, -10.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (44.444444444444443, -10.666666666666686))
			Result.extend_point (create {EV_COORDINATE}.make_precise (46.222222222222214, -12.888888888888914))
			Result.extend_point (create {EV_COORDINATE}.make_precise (55.555555555555557, -11.5555555555556))
			Result.extend_point (create {EV_COORDINATE}.make_precise (57.333333333333329, -13.777777777777771))
			Result.extend_point (create {EV_COORDINATE}.make_precise (64.444444444444429, -8.4444444444444571))
			Result.extend_point (create {EV_COORDINATE}.make_precise (59.555555555555557, -4))
			Result.extend_point (create {EV_COORDINATE}.make_precise (62.666666666666657, -3.5555555555555998))
			Result.extend_point (create {EV_COORDINATE}.make_precise (62.666666666666657, -0.88888888888891415))
			Result.extend_point (create {EV_COORDINATE}.make_precise (69.777777777777757, -6.2222222222222854))
			Result.extend_point (create {EV_COORDINATE}.make_precise (70.666666666666657, -4))
			Result.extend_point (create {EV_COORDINATE}.make_precise (75.999999999999986, -3.1111111111110858))
			Result.extend_point (create {EV_COORDINATE}.make_precise (76.444444444444429, 2.2222222222222285))
			Result.extend_point (create {EV_COORDINATE}.make_precise (72.888888888888886, 5.7777777777777146))
			Result.extend_point (create {EV_COORDINATE}.make_precise (78.666666666666657, 7.1111111111110858))
			Result.extend_point (create {EV_COORDINATE}.make_precise (87.1111111111111, 8.4444444444444002))
			Result.extend_point (create {EV_COORDINATE}.make_precise (87.1111111111111, 10.666666666666629))
			Result.extend_point (create {EV_COORDINATE}.make_precise (80.444444444444429, 11.555555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (77.333333333333329, 12.4444444444444))
			Result.extend_point (create {EV_COORDINATE}.make_precise (76.444444444444429, 14.222222222222229))
			Result.extend_point (create {EV_COORDINATE}.make_precise (72.888888888888886, 11.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (69.777777777777757, 8.8888888888889142))
			Result.extend_point (create {EV_COORDINATE}.make_precise (66.222222222222214, 11.555555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (63.555555555555557, 14.666666666666629))
			Result.extend_point (create {EV_COORDINATE}.make_precise (64.444444444444429, 16.888888888888914))
			Result.extend_point (create {EV_COORDINATE}.make_precise (60.444444444444429, 19.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (57.777777777777757, 16.4444444444444))
			Result.extend_point (create {EV_COORDINATE}.make_precise (55.999999999999986, 16))
			Result.extend_point (create {EV_COORDINATE}.make_precise (55.555555555555557, 12))
			Result.extend_point (create {EV_COORDINATE}.make_precise (50.666666666666657, 13.777777777777715))
			Result.extend_point (create {EV_COORDINATE}.make_precise (43.1111111111111, 23.555555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (39.1111111111111, 24.4444444444444))
			Result.extend_point (create {EV_COORDINATE}.make_precise (39.1111111111111, 19.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (37.777777777777771, 16.4444444444444))
			Result.extend_point (create {EV_COORDINATE}.make_precise (34.222222222222221, 18.222222222222229))
			Result.extend_point (create {EV_COORDINATE}.make_precise (32.444444444444443, 16.4444444444444))
			Result.extend_point (create {EV_COORDINATE}.make_precise (31.999999999999993, 19.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (28.888888888888886, 19.555555555555543))
			Result.extend_point (create {EV_COORDINATE}.make_precise (24.444444444444443, 17.333333333333314))
			Result.extend_point (create {EV_COORDINATE}.make_precise (26.222222222222221, 14.666666666666629))
			Result.extend_point (create {EV_COORDINATE}.make_precise (27.111111111111107, 11.111111111111086))
			Result.extend_point (create {EV_COORDINATE}.make_precise (27.111111111111107, 8.4444444444444002))
			Result.extend_point (create {EV_COORDINATE}.make_precise (29.777777777777771, 3.5555555555555429))
			Result.extend_point (create {EV_COORDINATE}.make_precise (26.666666666666657, 5.3333333333333144))
			Result.extend_point (create {EV_COORDINATE}.make_precise (19.999999999999993, 4.8888888888889142))
			Result.extend_point (create {EV_COORDINATE}.make_precise (15.111111111111107, 7.1111111111110858))
			Result.extend_point (create {EV_COORDINATE}.make_precise (12.888888888888886, 5.7777777777777146))
			Result.extend_point (create {EV_COORDINATE}.make_precise (15.555555555555557, 0))
			Result.extend_point (create {EV_COORDINATE}.make_precise (15.999999999999993, -3.1111111111110858))
			Result.extend_point (create {EV_COORDINATE}.make_precise (9.3333333333333286, -1.7777777777777715))
			Result.extend_point (create {EV_COORDINATE}.make_precise (8, 0))
			Result.extend_point (create {EV_COORDINATE}.make_precise (3.5555555555555571, 0.44444444444440023))
			Result.extend_point (create {EV_COORDINATE}.make_precise (3.1111111111111072, -1.3333333333333712))
		end

feature {NONE} -- Implementation

	rotation_amount: REAL_64 = 5.0
			-- Make the arrow point slightly south of east

end
