Автор Тема: Убить MDI.  (Прочитано 10797 раз)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Убить MDI.
« : Сентябрь 15, 2011, 03:28:19 pm »
А не приходила ли благородным донам идея убить MDI в BBCB? Обратно совместимым способом, само собой.

Мне вот подумалось, что MDI там есть только постольку, поскольку есть Глобальная Менюшка, то есть некая сущность где описаны все действия возможные в данном контексте, и оная сущность всегда винда пользователю.

Но ведь ничто не мешает взять и пустить эту Глобальную Менюшку в свободное плавание в отдельном окне в вертикальном виде. То есть было как то-то так:
*--------------------------------------
| File Edit Attribetes ...
*--------------------------------------

Станет как-то так:
*---------------*
| File       -> |
| Edit       -> |
| Attributes -> |
| ..            |
*---------------*
С точки зрения API ничего не изменится. А от MDI  можно будет уже уйти. И это таки решит ряд проблем с портабельностью. Это конечно первый шаг, но он важен.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

vlad

  • Hero Member
  • *****
  • Сообщений: 1391
    • Просмотр профиля
Re: Убить MDI.
« Ответ #1 : Сентябрь 15, 2011, 04:12:24 pm »
Если с точки зрения АПИ ничего не изменится, то от MDI можно уйти непосредственно в конкретном порте ;)

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Убить MDI.
« Ответ #2 : Сентябрь 15, 2011, 05:39:58 pm »
Если с точки зрения АПИ ничего не изменится, то от MDI можно уйти непосредственно в конкретном порте ;)
Ну, вообще хотелось бы сохранить максимально общей кодовую базу для разных портов.

Кроме того, ты же понимаешь, что чем унифицированней UI под разными осями, тем проще проектировать UI конкретной функциональности.

То есть я хотел бы от MDI избавиться и под виндами.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Romiras

  • Sr. Member
  • ****
  • Сообщений: 264
    • Просмотр профиля
    • Romiras Dev Lab
Re: Убить MDI.
« Ответ #3 : Сентябрь 15, 2011, 05:54:35 pm »
Порой, необходимость в меню отпадает благодаря наличию подключаемых панелей и всплывающему меню.
А разве кроме меню в BBCB нет использования MDI?

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Убить MDI.
« Ответ #4 : Сентябрь 15, 2011, 06:05:21 pm »
Порой, необходимость в меню отпадает благодаря наличию подключаемых панелей и всплывающему меню.
А разве кроме меню в BBCB нет использования MDI?
Я не представляю для чего еще MDI может пригодиться.

Кроме того, исторически, Mac-версия BBCB была без MDI (MacOS и так имеет глобальное меню - MDI не нужно), а вот в винде, для эмуляции такого поведения используется костыль под названием MDI.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"

Romiras

  • Sr. Member
  • ****
  • Сообщений: 264
    • Просмотр профиля
    • Romiras Dev Lab
Re: Убить MDI.
« Ответ #5 : Сентябрь 15, 2011, 10:39:04 pm »
Порой, необходимость в меню отпадает благодаря наличию подключаемых панелей и всплывающему меню.
А разве кроме меню в BBCB нет использования MDI?
Я не представляю для чего еще MDI может пригодиться.
MDI у меня всегда ассоциировался с окнами, а не с меню. А в BBCB окна всех документов расположены под одним общим окном основной программы.

valexey

  • Administrator
  • Hero Member
  • *****
  • Сообщений: 1990
    • Просмотр профиля
Re: Убить MDI.
« Ответ #6 : Сентябрь 16, 2011, 10:33:24 am »
Я понимаю что это первое что бросается в глаза. Однако в ББ MDI используется ровно для того, для чего я написал - для глобального меню. Общее родительское окно - багофича и костыль позволяющий реализовать оное глобальное меню.

В MacOS-версии его не было (там вообще MDI не применялся), то есть на общее родительское окно не есть что-то необходимое.
"но сейчас, чтобы компенсировать растущую мощность компьютеров, программисты используют фреймворки"