note
	description: "Generic statement representation in the tds"
	legal: "See notice at end of class."
	status: "See notice at end of class."
	product: "Resource Bench"
	date: "$Date$"
	revision: "$Revision$"

class
	TDS_GENERIC_STATEMENT

inherit
	TDS_CONTROL_STATEMENT
		redefine
			generate_make_wel_code,
			generate_access_wel_code
		end

	TDS_CONTROL_CONSTANTS
		export
			{NONE} all
		undefine
			is_equal, copy
		end

create
	make

feature -- Initialization

	finish_control_setup
		do
			set_wel_code (false)
			set_variable_name ("Generic")
			set_wel_class_name ("No associated WEL class")
			set_type (C_generic)
		end

feature -- Code Generation

	display
		do
			from 
				start
			until
				after

			loop
				io.putstring ("%NCONTROL ")

				io.putstring (item.class_name)

				if (item.style /= Void) then
					item.style.display
				end

				io.putstring (item.text)

				io.putstring (" ")
				item.id.display

				io.putstring (" ")
				io.putint (item.x)

				io.putstring (" ")
				io.putint (item.y)

				io.putstring (" ")
				io.putint (item.width)

				io.putstring (" ")
				io.putint (item.height)

				if (item.exstyle /= Void) then
					item.exstyle.display
				end

				forth
			end
		end

	generate_resource_file (a_resource_file: PLAIN_TEXT_FILE)
			-- Generate `a_resource_file' from the tds memory structure.
		do
			from 
				start
			until
				after

			loop
				a_resource_file.putstring ("%N%TCONTROL ")

				a_resource_file.putstring (item.text)
				a_resource_file.putstring (", ")
				item.id.generate_resource_file (a_resource_file)
				a_resource_file.putstring (", ")

				a_resource_file.putstring (item.class_name)

				if (item.style /= Void) then
					a_resource_file.putstring (", ")
					item.style.generate_resource_file (a_resource_file)
				end

				a_resource_file.putstring (", ")
				a_resource_file.putint (item.x)

				a_resource_file.putstring (", ")
				a_resource_file.putint (item.y)

				a_resource_file.putstring (", ")
				a_resource_file.putint (item.width)

				a_resource_file.putstring (", ")
				a_resource_file.putint (item.height)

				if (item.exstyle /= Void) then
					a_resource_file.putstring (", ")
					item.exstyle.generate_resource_file (a_resource_file)
				end

				forth
			end
		end

	generate_make_wel_code (a_text_file: PLAIN_TEXT_FILE)
			-- Generate the eiffel code in `a_text_file'
		do
		end

	generate_access_wel_code (a_text_file: PLAIN_TEXT_FILE)
			-- Generate the eiffel code in `a_text_file'
		do
		end

note
	copyright:	"Copyright (c) 1984-2006, Eiffel Software"
	license:	"GPL version 2 (see http://www.eiffel.com/licensing/gpl.txt)"
	licensing_options:	"http://www.eiffel.com/licensing"
	copying: "[
			This file is part of Eiffel Software's Eiffel Development Environment.
			
			Eiffel Software's Eiffel Development Environment is free
			software; you can redistribute it and/or modify it under
			the terms of the GNU General Public License as published
			by the Free Software Foundation, version 2 of the License
			(available at the URL listed under "license" above).
			
			Eiffel Software's Eiffel Development Environment is
			distributed in the hope that it will be useful,	but
			WITHOUT ANY WARRANTY; without even the implied warranty
			of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
			See the	GNU General Public License for more details.
			
			You should have received a copy of the GNU General Public
			License along with Eiffel Software's Eiffel Development
			Environment; if not, write to the Free Software Foundation,
			Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301  USA
		]"
	source: "[
			 Eiffel Software
			 356 Storke Road, Goleta, CA 93117 USA
			 Telephone 805-685-1006, Fax 805-685-6869
			 Website http://www.eiffel.com
			 Customer support http://support.eiffel.com
		]"
end -- class TDS_ICON_STATEMENT