XControl с разворачиваемыми панелями

Обсуждение, связанное с разработкой ПО верхнего уровня
Ответить
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

XControl с разворачиваемыми панелями

Сообщение AndreyDmitriev »

Такой вот хитрый XControl со связанным списком в виде панелей. Их можно сворачивать/разворачивать и отцеплять от основной панели. Ну и менюшки можно добавлять. Там ещё есть над чем поработать, но в принципе идея должна быть понятна. Мало ли, вдруг пригодится кому... В восьмую версию сохранил, но функциональность не гарантирую.

Андрей.
Вложения
ScreenShot.png
UI_Panels.zip
(606.7 КБ) 180 скачиваний
UI_Panels80.zip
(586.61 КБ) 144 скачивания
Аватара пользователя
mzu2006

Professionalism Tutorials Black
doctor
doctor
Сообщения: 2456
Зарегистрирован: 16 авг 2008, 02:12
Награды: 3
Версия LabVIEW: 7.1 10 11 12
Откуда: St-Petersburg (RU), Phila, Boston, Washington DC
Контактная информация:

Re: XControl с разворачиваемыми панелями

Сообщение mzu2006 »

спасибо, мне понравилось :super:. Хочу внести предложение:

каждый раз при загрузке VI с этим XControl'ом вызывается Exec State Change. Что бы каждый раз не происходила модификация загруженного VI, и сообщение с предложением сохраниться предлагаю немного модифицировать Exec State Change. Например, так:
PanelsXControl.png
Всё равно в edit mode у тебя ничего с XControl'ом не происходит. Или прописать инициализацию ...
Вложения
Facade 1.vi
(53.98 КБ) 134 скачивания
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: XControl с разворачиваемыми панелями

Сообщение AndreyDmitriev »

О, спасибо за ценное предложение! И правда, меня достало предложение постоянно сохраняться, а слона-то я и не заметил. Хорошая всё-таки штука - форум.
Eugene

Activity Bronze
leader
leader
Сообщения: 548
Зарегистрирован: 20 авг 2009, 17:58
Награды: 2
Версия LabVIEW: 2011
Контактная информация:

Re: XControl с разворачиваемыми панелями

Сообщение Eugene »

идея действительно хорошая
я когда то реализoвал это только не с помощью XControl - а внутри проекта, но с XControl мне кажется лучше - можно подшивать в разные проекты
кстати запустил на 2009 все работает кроме dock/undock - выдает ошибку
Вложения

[Расширение tif было запрещено, вложение больше недоступно.]

We live in a graphical world.
Why not program in one?
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: XControl с разворачиваемыми панелями

Сообщение AndreyDmitriev »

Eugene писал(а):идея действительно хорошая
я когда то реализoвал это только не с помощью XControl - а внутри проекта, но с XControl мне кажется лучше - можно подшивать в разные проекты
кстати запустил на 2009 все работает кроме dock/undock - выдает ошибку
Там состояние гонки возникает при получении границ области, куда встроена панель (при первом отцеплении координаты берутся из родительского контейнера, затем пользователь может изменить размер панели и изменённый размер запоминается). Я поправил, теперь в 2009 должно работать (ну и до кучи фасад изменил, как выше было предложено)

Андрей.
Вложения
UI_Panels2009.zip
(582.77 КБ) 161 скачивание
Аватара пользователя
Konstantin Sumenko

Activity Bronze
expert
expert
Сообщения: 1439
Зарегистрирован: 17 июл 2008, 12:20
Награды: 2
Версия LabVIEW: 2010
Откуда: Moscow
Поблагодарили: 1 раз
Контактная информация:

Re: XControl с разворачиваемыми панелями

Сообщение Konstantin Sumenko »

Я тоже это делал внутри основного проекта. Мне показалось (возможно предвзято), что XControl чересчур наворочен и неповоротлив в случае достаточно сложных реализуемых конструкций- так ли это (как раз на примере данного проекта)?
AndreyDmitriev

Activity Professionalism Tutorials Gold Black
VIP
VIP
Сообщения: 1327
Зарегистрирован: 03 фев 2010, 00:42
Награды: 6
Версия LabVIEW: 6.1 - 2024
Откуда: Германия
Благодарил (а): 1 раз
Поблагодарили: 38 раз
Контактная информация:

Re: XControl с разворачиваемыми панелями

Сообщение AndreyDmitriev »

Crowbar писал(а):Я тоже это делал внутри основного проекта. Мне показалось (возможно предвзято), что XControl чересчур наворочен и неповоротлив в случае достаточно сложных реализуемых конструкций- так ли это (как раз на примере данного проекта)?
Ну тут основная изюминка в том, что в данном примере можно делать неограниченное количество панелей - они встраиваются друг в друга связанным списком. Если в проекте, скажем три панели (и их всегда будет три, то конечно, можно и не заморачиваться с ИксКонтролом, а сделать всё просто руками, разделив область сплиттерами так, как надо, и программно их перемещать при свёртывании и развёртывании). Если же количество панелей на этапе разработки неизвестно, то требуется более гибкое и универсальное решение. Теоретически в данном случае можно и без ИксКонтрола обойтись, но в этом случае несколько возрастёт количество "обвязки". Также ИксКонтрол чуть более удобно использовать в различный проектах - его можно просто положить на переднюю панель, в противном случае надо будет сделать родительский контейнер, вставить в него первую панель, ну и дальше по цепочке. Хотя это конечно, дело вкуса.

Андрей.
Ответить

Вернуться в «Лицевая панель»