crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3 >  
Ответить в данную темуНачать новую тему
> MDI/QWorkspace+разные типы документов., Как правильно спроектировать?
ViGOur
  опции профиля:
сообщение 11.2.2008, 14:45
Сообщение #11


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(trdm @ 11.2.2008, 14:43) *
не, бяка неуправляемая получается.
Почему же?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 11.2.2008, 15:07
Сообщение #12


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Цитата(ViGOur @ 11.2.2008, 14:45) *
Цитата(trdm @ 11.2.2008, 14:43) *
не, бяка неуправляемая получается.
Почему же?

Сам попробуй. прикинь количество кода и управляемость.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 11.2.2008, 15:32
Сообщение #13


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Как раз я прикинул, почему и привел как вариант. :)
Например:
class CMainMenu
{
   void createDefaultMenu()
   {
      // здесь создаются основные пункты меню и все связанное с ними
   }

public slots:
   createAdditionalMenu( QMenu *pMenu);
   deleteAdditionalMenu( QMenu *pMenu);

signals:
   createMenu( QMenu *pMenu);
   deleteMenu( QMenu *pMenu);
   // ...    
};
Далее тебя при появлении документа нужно только отправить сигнал: emit createMenu( new QMenu());

И где неуправляемость? :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 11.2.2008, 16:23
Сообщение #14


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


И куда мне этот класс пристроить? Как член QMainWindow?
Опять масло-маслянное получается.
Откуда этот класс "CMainMenu" будет знать какие "AdditionalMenu" мне нужны?
Ты кстати решал подобные задачи вообще?

Сообщение отредактировал trdm - 11.2.2008, 16:57
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 11.2.2008, 16:30
Сообщение #15


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9668
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(trdm @ 11.2.2008, 19:23) *
Откуда этот класс "CMainMenu" будет знать какие "AdditionalMenu" мне нужны?

Если я правильно понял ViGOur'а, то этому классу и не нужно знать, он получит указатель на подменю, и его задача встроить это подменю в главное меню, и заниматся его учетом, т.е. чтобы потом удалить только то подменю которое нужно.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
ViGOur
  опции профиля:
сообщение 11.2.2008, 16:44
Сообщение #16


Мастер
******

Группа: Модератор
Сообщений: 3296
Регистрация: 9.10.2007
Из: Москва
Пользователь №: 4

Спасибо сказали: 231 раз(а)




Репутация:   40  


Цитата(Litkevich Yuriy @ 11.2.2008, 16:30) *
то этому классу и не нужно знать, он получит указатель на подменю, и его задача встроить это подменю в главное меню
Угу

Цитата(trdm @ 11.2.2008, 16:23) *
Ты кстати решал подобные задачи вообще?
В плоть до того, что делал даже динамически генерируемые окна с меню, наподобии 1C. Правда на MFC. :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 11.2.2008, 17:47
Сообщение #17


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


да. чтото логики сцепления/агрегации не улавливаю.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
AD
  опции профиля:
сообщение 11.2.2008, 17:50
Сообщение #18


Профессионал
*****

Группа: Участник
Сообщений: 2003
Регистрация: 4.2.2008
Из: S-Petersburg
Пользователь №: 84

Спасибо сказали: 70 раз(а)




Репутация:   17  


Цитата(trdm @ 11.2.2008, 17:47) *
да. чтото логики сцепления/агрегации не улавливаю.

Сцепление происходит за счет сигналов/слотов, функция connect!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 11.2.2008, 18:37
Сообщение #19


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Цитата(AD22 @ 11.2.2008, 17:50) *
Цитата(trdm @ 11.2.2008, 17:47) *
да. чтото логики сцепления/агрегации не улавливаю.

Сцепление происходит за счет сигналов/слотов, функция connect!

Это понятно.
А можно глянуть на пример такой работы с разными видами документов?
ПС. Багира, спасибо за время редактирования!!! Вау!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
trdm
  опции профиля:
сообщение 12.2.2008, 16:31
Сообщение #20


Дмитрий Трошин
****

Группа: Участник
Сообщений: 575
Регистрация: 12.1.2008
Пользователь №: 68

Спасибо сказали: 21 раз(а)




Репутация:   6  


Блин, а примерчик всетаки хотелось бы видеть...
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

3 страниц V  < 1 2 3 >
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 22.1.2022, 0:07