Russian Qt Forum
Ноябрь 15, 2024, 07:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Slaves & Masters  (Прочитано 3648 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« : Июнь 08, 2010, 21:27 »

Добрый день

Пусть есть 10 (например) объектов типа "А". Пользователь может редактировать каждый из них индивидуально, выбирая его из списка, это нормально (и необходимо). Но есть потребность в "групповом" контроле, связка master - slave. Это выглядит примерно так:

- пользователь определяет какой экземпляр объекта master и какие slave(s) для этого master'а

- данные slave объекта игнорируются, вместо этого для работы/вычислений используются соответствующие данные master'а. Собственно говоря, для этого все и городится - пользователь редактирует экземпляр master - и все его slave(s) понимают эти изменения

- просто для полноты картины (сути не меняет) - не очень эффективно делать весь slave копией всего master'а. Поэтому для slave есть выбор - какие параметры использовать "мастерские" а какие свои личные. Обычно это соответствует tab'кам в UI

Теперь вопрос: как в UI ПОНЯТНО показать: "редактирование этого параметра не имеет эффекта т.к. он зависит от master'а". Это, конечно, не единственная, но, пожалуй, самая болезненная проблема в этой схеме/связке.

Ну и общие замечания приветствуются, интересно услышать мнения уважаемых теоретиков по поводу такой конструкции, "изобретения велосипеда" и.т.п.  Улыбающийся

Спасибо
« Последнее редактирование: Июнь 08, 2010, 21:30 от Igors » Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #1 : Июнь 08, 2010, 21:59 »

залочить параметр и сделать его сереньким?
Записан
Kolobok
Гость
« Ответ #2 : Июнь 08, 2010, 22:35 »

Насколько я знаю, существует две парадигмы дизайна. Первая - показывать все элементы управления, с запрещенными делать то, что Авварон написал. Вторая - скрывать эти элементы.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #3 : Июнь 09, 2010, 12:23 »

Задизаблить параметры - пользователи категорически против, да и самим, по правде говоря, не нравится. Непонятно/неинтуитвно ПОЧЕМУ. Обычно напр. пользователь выключил CheckBox и один или несколько EditText  под ним становятся серыми - нормально, понятно. А тут надо переключиться на др. окно, там разорвать зависимость - вот тогда параметры станут доступны. Если человек пользуется программой впервые - как он догадается?

Скрывать параметры - никак не лучше. Они распределены в tab'ах равномерно, а после выключения может остаться 1-2 что выглядит очень странно.

Были мысли как-то показать цветом, тоже не фонтан. UI получается "попугаистое" и так же непонятно как (откуда) этим управлять
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #4 : Июнь 09, 2010, 12:29 »

При попытке редактирования выдать сообщение с вопросом о разрыве всязи master - slave. Вслучае согласия пользователя применить изменения; в случае отказа проинформировать его, что редактирование запрещено.
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Kolobok
Гость
« Ответ #5 : Июнь 09, 2010, 17:04 »

Можно все унаследованные параметры засунуть в чекабельный QGroupBox. При снятии птички разрывать связь с master и включать контролы.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #6 : Июнь 11, 2010, 13:57 »

Добрый день

Вариант Pastor'а полностью решает проблему "понятливости" но есть опасения что он может оказаться "навязчивым" и потребуется это предупреждение как-то включать/выключать. Плюс надо добавить такой фильтр для многих (почти всех) типов контролов.

Вариант Колобка, на мой взгляд, лучший. Правда, собрать все зависимые параметры в группы не удастся, они уже собраны по ф-циональности. Но это и не требуется, главное чтобы чекбокс и параметры которые он enable/disable были одновременно видимы (был feedback). Такая возможность есть - поместить этот чекбокс вне всех tab'ов.

Спасибо за обсуждение
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.054 секунд. Запросов: 23.