class QUANTUM_BALL_ANIMATION_APP

(source code)

Description

Application to demonstrate multi-threaded console output switching. One thread produces timer events and another consumes them. Use the console toolbar to switch log output that is visible in terminal console.

note
	description: "[
		Application to demonstrate multi-threaded console output switching.
		One thread produces timer events and another consumes them. Use the console toolbar to
		switch log output that is visible in terminal console.
	]"

	author: "Finnian Reilly"
	copyright: "Copyright (c) 2001-2022 Finnian Reilly"
	contact: "finnian at eiffel hyphen loop dot com"

	license: "MIT license (See: en.wikipedia.org/wiki/MIT_License)"
	date: "2022-11-15 19:56:03 GMT (Tuesday 15th November 2022)"
	revision: "9"

class
	QUANTUM_BALL_ANIMATION_APP

inherit
	EL_LOGGED_APPLICATION
		redefine
			Option_name
		end

	EL_INSTALLABLE_APPLICATION
		redefine
			name
		end

create
	make

feature {NONE} -- Initialization

	initialize
			--
		do
			create gui.make (True)
		end

feature -- Basic operations

	run
		do
			gui.launch
		end

feature {NONE} -- Implementation

	gui: EL_VISION_2_USER_INTERFACE [QUANTUM_BALL_MAIN_WINDOW, EL_STOCK_PIXMAPS]

feature {NONE} -- Install constants

	Name: ZSTRING
		once
			Result := "Physics lesson (NO CONSOLE)"
		end

	desktop_launcher: EL_DESKTOP_MENU_ITEM
		do
			Result := new_launcher ("animation.png")
		end

	desktop_menu_path: ARRAY [EL_DESKTOP_MENU_ITEM]
		do
			Result := <<
				new_category ("Development"),
				new_custom_category ("Eiffel Loop", "Eiffel Loop demo applications", "EL-logo.png")
			>>
		end

	Desktop: EL_DESKTOP_ENVIRONMENT_I
			--
		once
			Result := new_menu_desktop_environment
		end

	log_filter_set: EL_LOG_FILTER_SET [
		like Current,
		EL_LOGGED_REGULAR_INTERVAL_EVENT_PRODUCER,
		QUANTUM_BALL_MAIN_WINDOW,
		QUANTUM_BALL_ANIMATION
	]
		do
			create Result.make
		end

feature {NONE} -- Constants

	Option_name: STRING
		once
			Result := "animation"
		end

	Description: STRING
		once
			Result := "Animation of hydrogen atom as timer thread test"
		end

end