53 lines
1.0 KiB
Plaintext
53 lines
1.0 KiB
Plaintext
note
|
|
description: "[
|
|
A {VIEW} that can be split into multiple panes through calls
|
|
to feature `split_manager'. (See {SPLIT_MANAGER} or {TOOL}
|
|
for example.)
|
|
]"
|
|
author: "Jimmy J. Johnson"
|
|
date: "5/1/19"
|
|
|
|
deferred class
|
|
SPLIT_VIEW
|
|
|
|
inherit
|
|
|
|
-- VIEW
|
|
-- redefine
|
|
-- create_interface_objects
|
|
-- end
|
|
|
|
--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
|
|
-- create split_manager
|
|
-- Precursor {VIEW}
|
|
-- end
|
|
|
|
feature -- Access
|
|
|
|
split_manager: SPLIT_MANAGER
|
|
-- Manages the placement of sub-views within current.
|
|
attribute
|
|
create Result
|
|
end
|
|
|
|
feature -- Element change
|
|
|
|
set_split_manager (a_manager: SPLIT_MANAGER)
|
|
-- Change `split_manager'
|
|
require
|
|
manager_exists: a_manager /= Void
|
|
do
|
|
split_manager := a_manager
|
|
ensure
|
|
manager_assigned: split_manager = a_manager
|
|
end
|
|
|
|
|
|
end
|