note
	description: "Objects that ..."
	author: ""
	date: "$Date: 2012-05-31 14:05:35 -0400 (Thu, 31 May 2012) $"
	revision: "$Revision: 10 $"

class
	TEST_MAIN_WINDOW

inherit

	JJ_MAIN_WINDOW
		redefine
			create_interface_objects,
			initialize,
			target_imp,
			set_target
		end

create
	default_create,
	make

feature {NONE} -- Initialization

	create_interface_objects
			-- Create objects to be used by `Current' in `initialize'
			-- Implemented by descendants to create attached objects
			-- in order to adhere to void-safety due to the implementation bridge pattern.
		do
			Precursor {JJ_MAIN_WINDOW}
			create first_tool
			create second_tool
			create edit_tool
			create third_tool
			create forth_tool
		end

	initialize
			-- Set up the window
		do
			Precursor {JJ_MAIN_WINDOW}
--			split_manager.enable_mode_changes
			split_manager.set_vertical
			split_manager.extend_siblings (first_tool, edit_tool)
			check attached {VERTICAL_SPLIT_VIEW} split_manager.last_view as sa1 then
				split_manager.extend_siblings (third_tool, forth_tool)
				check attached {VERTICAL_SPLIT_VIEW} split_manager.last_view as sa2 then
					split_manager.set_horizontal
					split_manager.extend_siblings (sa1, sa2)
				end
			end
--			split_manager.add_horizontal (split_manager.last_split, create {INTERFACE_TABLE_TOOL})
			split_manager.enable_mode_changes
			split_manager.select_view (first_tool)
		end

feature -- Access

	first_tool: TEXT_TOOL
			-- To place a tool into the window for testing

	edit_tool: EDIT_TOOL
			-- Tool which manages the views for editting a record.

	second_tool: TEST_TOOL
			-- To place a second tool into the window for testing.

	third_tool: TEST_TOOL

	forth_tool: TEST_TOOL

feature -- Element change

	set_target (a_target: like target)
			-- Change the `target' and pass it to the `tree_tool'.
		do
			Precursor {JJ_MAIN_WINDOW} (a_target)
			first_tool.set_target (a_target)
			edit_tool.set_target (a_target)
--			edit_tool.set_schema (target.Default_schema)
			edit_tool.draw
		end


feature -- Status report

	is_editor_tester_main_window_interface_initialized: BOOLEAN_REF
			-- Have the interface items for this class been added to the `interface_table'?
		once
			create Result
-- is this needed?
		end

feature {NONE} -- Implementation

	target_imp: detachable TEST_RECORD
			-- The object being edited

end
