OberonCore
https://forum.oberoncore.ru/

Дополнения к стандартному меню
https://forum.oberoncore.ru/viewtopic.php?f=47&t=1041
Страница 1 из 1

Автор:  Евгений Темиргалеев [ Понедельник, 23 Июнь, 2008 22:37 ]
Заголовок сообщения:  Дополнения к стандартному меню

viewtopic.php?p=16499#p16499

Отличия от официальной версии:
Иван Горячев писал(а):
3. Вложенные меню

Реализован механизм вложенных меню. В формат файлов Menus добавлено ключевое слово SUB:
Код:
MENU "Menu title"
   "Item1 title"   "HotKey"   "Command"   "Guard"
   "Item2 title"   "HotKey"   "Command"   "Guard"
   SEPARATOR
   "Item3 title"   "HotKey"   "Command"   "Guard"
   SUB   "Menu title"   "MenuName1"   "Guard"
   "Item4 title"   "HotKey"   "Command"   "Guard"
END

MENU "Menu title"
   "Item title"   "HotKey"   "Command"   "Guard"
END

MENU "MenuName1"
   "Item title"   "HotKey"   "Command"   "Guard"
   SUB   "Menu title"   "MenuName2"   "Guard"
   "Item title"   "HotKey"   "Command"   "Guard"
END

MENU "MenuName2"
   "Item title"   "HotKey"   "Command"   "Guard"
END
Иван Горячев писал(а):
Механизм прост: если у какого либо меню заголовок совпадает с именем, указанным в SUB - это меню считается вложенным. При этом меню с одинаковыми заголовками объединяются (это относится ко всем меню, не только вложенным)

Автор:  Евгений Темиргалеев [ Понедельник, 23 Июнь, 2008 22:55 ]
Заголовок сообщения:  Re: Дополнения к стандартному меню

1) Хотел предложить INCLUDE для включения подменю, чтобы не делать лишних ключевых слов. Но с охраной она не смотрится...
2) Контекстная-зависимость вложенных меню не предусмотрена?
3) Что будет, если меню само в себя включить? Если включить "*" как подменю?

Автор:  Иван Горячев [ Вторник, 24 Июнь, 2008 01:22 ]
Заголовок сообщения:  Re: Дополнения к стандартному меню

Евгений Темиргалеев писал(а):
1) Хотел предложить INCLUDE для включения подменю, чтобы не делать лишних ключевых слов. Но с охраной она не смотрится...
2) Контекстная-зависимость вложенных меню не предусмотрена?
3) Что будет, если меню само в себя включить? Если включить "*" как подменю?


2. Нет. Придётся через Guardы реализовывать
3. Если само в себя - ничего не будет. Если несколько в цикле - не зависнет, но меню будет выглядеть очень странно. Если включить * - попытается заграбастать все контекстные меню и получит трап на "type guard" при попытке отобразить меню. Но одно подменю можно включать в несколько разных мест, главное чтоб рекурсии не возникло

P.S. Убрал вложение контекстных ("*") меню. Во избежание

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/