Files
ROC/cms/src/kernel/link/cms_menu_system.e
Jocelyn Fiat c3d48c47cc Renamed CMS_RESPONSE.add_..hook with subscribe_to_..._hook
Renamed CMS_RESPONSE.call_..hook  with invoke_..._hook
Renamed CMS_HOOK_VALUE_ALTER as CMS_HOOK_VALUE_TABLE_ALTER
Renamed CMS_HOOK_MENU_ALTER as CMS_HOOK_MENU_SYSTEM_ALTER
Added new CMS_HOOK_MENU_ALTER that acts on CMS_MENU object.

Cosmetic, comments.
2014-11-12 16:12:42 +01:00

105 lines
1.7 KiB
Plaintext

note
description: "[
Menu associated with CMS system.
]"
date: "$Date$"
revision: "$Revision$"
class
CMS_MENU_SYSTEM
inherit
ITERABLE [CMS_MENU]
REFACTORING_HELPER
create
make
feature {NONE} -- Initialization
make
-- Create a predefined manu system
do
to_implement ("Refactor, take the info from a Database or Configuration file.")
create items.make (5)
force (create {CMS_MENU}.make ("primary", 3))
force (create {CMS_MENU}.make_with_title ("management", "Management", 3))
force (create {CMS_MENU}.make_with_title ("secondary", "Navigation", 3))
force (create {CMS_MENU}.make_with_title ("user", "User", 3))
end
feature -- Access
item (n: like {CMS_MENU}.name): CMS_MENU
-- Menu associated with name `n',
-- if none, it is created.
local
m: detachable CMS_MENU
do
m := items.item (n)
if m = Void then
create m.make (n, 3)
force (m)
end
Result := m
end
main_menu: CMS_MENU
obsolete
"Use `primary_menu' [Nov/2014]"
do
Result := primary_menu
end
primary_menu: CMS_MENU
do
Result := item ("primary")
end
secondary_menu: CMS_MENU
do
Result := item ("secondary")
end
management_menu: CMS_MENU
do
Result := item ("management")
end
navigation_menu: CMS_MENU
do
Result := item ("navigation")
end
user_menu: CMS_MENU
do
Result := item ("user")
end
primary_tabs: CMS_MENU
do
Result := item ("primary-tabs")
end
feature -- Change
force (m: CMS_MENU)
-- Add menu `m'.
do
items.force (m, m.name)
end
feature -- Access
new_cursor: ITERATION_CURSOR [CMS_MENU]
-- Fresh cursor associated with current structure.
do
Result := items.new_cursor
end
feature {NONE} -- Implementation
items: STRING_TABLE [CMS_MENU]
end