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

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

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

Сообщений: 11445


Просмотр профиля
« Ответ #15 : Июнь 04, 2015, 05:51 »

...и на все попытки вы вертите носом и фыркаете
А как Вы сами оцениваете количество и качество "всех попыток"? Улыбающийся И злиться не надо, я Вам ничего плохого не сказал.

Ладно, пока с затеей "показать факт зависимости прямо в диалогах UI" ничего разумного не видно. И то что я предложил (зависимый синий, диктующий красный) тоже плохо - слишком "попугаисто". Ну что ж, может это я слишком много хочу, тогда почему не так:

- зависимости никак не показываются в рабочих окнах, они отображаются в своем, отдельном окне, которое возможно синхронизируется при смене фокуса в рабочем.

Копнем в др сторону, что то за окно зависимостей. Набираем "Qt Node Editor" - ссылок море. Напр вот, исходники имеются. Смотрим картинки

Ну это еще как-то вменяемо
А тут вообще какие-то тараканы...

Ну конечно встает вопрос - а насколько этому можно верить? Посмотрев неск таких я заметил что все они были созданы где-то в 2011-2012 (хз может тогда была мода?). А потом что - все заглохло? Вроде автор обещал update, но я его не нашел. Как-то это беспокоит..

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

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

Сообщений: 11445


Просмотр профиля
« Ответ #16 : Июнь 06, 2015, 13:35 »

Попробую сформулировать. Задача: сделать редактор зависимостей, часто называемый "Node Editor". См аттач - от приведен просто просто для пояснения "как это работает", реально дизайн и содержимое будут совсем другими. Но в любом случае есть "ноды" (пр-ки) имеющие вход (слева) и выход (справа), пользователь может связывать выходы со входами и разрывать эти связи. Что происходит по факту связи/разрыва - редактор не волнует, он только уведомляет об этом приложение. То же и с др стороны - приложение может создать/удалить зависимости и сообщает об этом редактору для перерисовки. Один выход может быть соединен с любым числом входов, но один вход - только с одним выходом. Более сложные зависимости решаются введением специального нода "миксера".

За исключением специальных все остальные ноды - объекты приложения. Объект имеет уникальный ID, имя и идентификатор типа. Входы и выходы назовем параметрами. Параметр принадлежит объекту и имеет уникальный (в пределах объекта) ID, имя и идентификатор типа. Параметры каждого объекта организованы в виде дерева, родителями могут быть только параметры имеющие тип "контейнер" (или родитель - сам объект). В большинстве случаев параметр одновременно и вход и выход. Параметры-контейнеры могут связываться как и остальные, это означает автоматычную связь всех их чайлдов.

Разрешается задействовать любые open-source но не привлекать др либы кроме Qt. std и (ладно уж) boost. Задача не так проста как (возможно) кажется на первый взгляд. Многочисленные примеры в гугле не дают ответа на вопрос: а что делать если связок "много"? Пример: от 1 до 12 параметров-контейнеров одного объекта связаны со входами 10 других (или 20 или 100). Очевидно с прямолинейным рисованием мы быстро получим "темный лес". Др сложность: а что собственно показывать? Число объектов принципиально не ограничено, несколько тысяч - случай рядовой. Тупо вывалив все - получаем огромную простыню с нулевой информативностью.

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

Просьба: давайте воздух не гонять. Вам интересна эта работа - списываемся в личке и работаем. Нет - пожалуйста не мусорите в этой теме. Спасибо за понимание.
Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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