Совет по оформлению

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

Activity Silver
adviser
adviser
Сообщения: 205
Зарегистрирован: 17 фев 2009, 19:57
Награды: 2
Версия LabVIEW: 8.5, 9.0
Откуда: Украина. Кременчуг
Контактная информация:

Совет по оформлению

Сообщение crashwork »

Нужен совет по оформлению лицевой панели в целом!
Суть такова. Я разрабатывал систему распределенного управления несколькими технологическими объектами. В итоге дошел до написания интерфейса верхнего уровня. И возникла такая творческая проблемка.
1. Поскольку объектов несколько - будет и несколько лицевых панелей.
2. Все эти панели надо гармонично связать в единую программу.
Варианты решения которые очевидны:
1. Это делать через tab control ( но по-моему это неуместно и примитивно)
2. Разработать несколько vi для каждого объекта и отдельно vi - меню (или что-то вроде этого), где выбирается какую лицевую панель открыть. Тут я вижу один значительный плюс - можно при необходимости одновременно наблюдать процессы протекающие в объектах посколько на экране будет открыто несколько независимых vi. Но при использовании этого способа, мне кажется, проект потеряет свою целосность, а хотелось бы что бы программа выглядела как единый завершенный комплекс (а не просто куча маленьких подпроектов).
Вот такие размышления и привели меня если не в тупик - то в легкий ступор.
Жду любых предложений и идей, аля мозговой штурм.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Совет по оформлению!

Сообщение Pavel Krivozubov »

табконтрол форева ты чего. Для примера обрати внимание на вполне себе современные программы: Мюторент и СтронгДС++. Все используют таб контрол.
картинки во вкладки добавь просто.
Аватара пользователя
Virt

Activity
adviser
adviser
Сообщения: 207
Зарегистрирован: 29 мар 2008, 17:12
Награды: 1
Версия LabVIEW: 8.6

Re: Совет по оформлению!

Сообщение Virt »

Привет.
Я не волшебник. Я ещё только учусь. :wink:
Думаю, что один из вариантов, это увязать "философию" проекта с интерфейсом.
Иными словами искать в плоскости: стандартными (не всегда на первый взгляд удобными или подходящими, в том числе программными) средствами - нестандартные решения.
Более конкретно можно "штурмовать", зная весь процесс управления в целом.
Аватара пользователя
Konstantin Sumenko

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

Re: Совет по оформлению!

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

Используйте таб контрол, второй вариант тоже неплох, но поскольку LV напрямую не поддерживает дочерних окон (child windows), то потеряется целостность как и было тобой подмечено. Можешь еще посмотреть в сторону SubPanel.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Совет по оформлению!

Сообщение Eugen Graf »

Я тоже от этого мучаюсь - таб контрол исключает наблюдение за несколькими "окнами", а если делать окна поотдельности, то целостность теряется. Полностью согласен.
Ещё в :labview: есть такая штука как SubPanel, но у меня как то руки до него не доходят. Вот я и прыгаю, в одной проге делаю на табе, а в другой много окон, в зависимости от уровня надобности наблюдения за несколькими объектами.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Совет по оформлению!

Сообщение Pavel Krivozubov »

Crowbar писал(а):Используйте таб контрол, второй вариант тоже неплох, но поскольку LV напрямую не поддерживает дочерних окон (child windows), то потеряется целостность как и было тобой подмечено. Можешь еще посмотреть в сторону SubPanel.
Погоди-ка почему это не поддерживает? у меня в одном проекте было MDI, вроде все работало. Правда с тех пор я делаю все на одной панели, ибо глупо. Сейчас все программы, да взять те же браузеры построены на одном окне - это аксиома.
Аватара пользователя
Konstantin Sumenko

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

Re: Совет по оформлению!

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

Вот у меня все руки не доходят до попытки реализовать child window силами LV. В голове это дело прокручивал- наткнулся на парочку моментов, которые все дело портят (типа нехватки некоторо типа событий и свойтсв окон). Тем не менее, можно попробовать это решить здесь, на форуме. На конференции ni был предложен способ через WinAPI, если мне память не изменяет, но он глюкавый.
Аватара пользователя
Konstantin Sumenko

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

Re: Совет по оформлению!

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

Indey писал(а): Погоди-ка почему это не поддерживает? у меня в одном проекте было MDI, вроде все работало. Правда с тех пор я делаю все на одной панели, ибо глупо. Сейчас все программы, да взять те же браузеры построены на одном окне - это аксиома.
Допустим есть основное окно: в него запихнули четыре подокна- как они себя поведут, если основное окно: перемещать, растягивать/сужать и т.п; если они были бы child, то вели себя пропорционально также.
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Совет по оформлению!

Сообщение Pavel Krivozubov »

Crowbar писал(а):
Indey писал(а): Погоди-ка почему это не поддерживает? у меня в одном проекте было MDI, вроде все работало. Правда с тех пор я делаю все на одной панели, ибо глупо. Сейчас все программы, да взять те же браузеры построены на одном окне - это аксиома.
Допустим есть основное окно: в него запихнули четыре подокна- как они себя поведут, если основное окно: перемещать, растягивать/сужать и т.п; если они были бы child, то вели себя пропорционально также.
аа ну тогда да.
Аватара пользователя
crashwork

Activity Silver
adviser
adviser
Сообщения: 205
Зарегистрирован: 17 фев 2009, 19:57
Награды: 2
Версия LabVIEW: 8.5, 9.0
Откуда: Украина. Кременчуг
Контактная информация:

Re: Совет по оформлению!

Сообщение crashwork »

Crowbar писал(а): Допустим есть основное окно: в него запихнули четыре подокна- как они себя поведут, если основное окно: перемещать, растягивать/сужать и т.п; если они были бы child, то вели себя пропорционально также.
Да действительно, хороший вопрос.

Наверно, попытаюсь развить тему SubPanel, если нет - сделаю из нескольких окон (Бог с ней, целосностью).
Аватара пользователя
Pavel Krivozubov

Activity Bronze
professor
professor
Сообщения: 4421
Зарегистрирован: 07 фев 2008, 16:39
Награды: 3
Версия LabVIEW: 7.0 - 2013
Откуда: г. Электросталь
Благодарил (а): 24 раза
Поблагодарили: 9 раз
Контактная информация:

Re: Совет по оформлению!

Сообщение Pavel Krivozubov »

crashwork писал(а):
Наверно, попытаюсь развить тему SubPanel, если нет - сделаю из нескольких окон (Бог с ней, целосностью).
Так ну хорошо, а можно в двух словах изложить чем табконтрол не устраивает то? Может я чего не знаю.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Совет по оформлению!

Сообщение Eugen Graf »

Indey, Ну представь себе у тебя есть три различных стола вращения, три климатических установки и штук 6 различных дивайсов для тестирования. Так вот пользователь хочет видеть одновременно данные одного из трёх столов вращения, одной из трёх климатических установок и одного дивайса для теста. Как скомпоновать всё в одном окне - ВЫБОРОЧНО? Это мой проект, которым я в настоящее время занимаюсь.
Аватара пользователя
crashwork

Activity Silver
adviser
adviser
Сообщения: 205
Зарегистрирован: 17 фев 2009, 19:57
Награды: 2
Версия LabVIEW: 8.5, 9.0
Откуда: Украина. Кременчуг
Контактная информация:

Re: Совет по оформлению!

Сообщение crashwork »

eg писал(а):Indey, Ну представь себе у тебя есть три различных стола вращения, три климатических установки и штук 6 различных дивайсов для тестирования. Так вот пользователь хочет видеть одновременно данные одного из трёх столов вращения, одной из трёх климатических установок и одного дивайса для теста. Как скомпоновать всё в одном окне - ВЫБОРОЧНО? Это мой проект, которым я в настоящее время занимаюсь.
Вот и ответ на вопрос. Полностью согласен. Видно, что не меня одного терзают такого рода сомнения.
Аватара пользователя
crashwork

Activity Silver
adviser
adviser
Сообщения: 205
Зарегистрирован: 17 фев 2009, 19:57
Награды: 2
Версия LabVIEW: 8.5, 9.0
Откуда: Украина. Кременчуг
Контактная информация:

Re: Совет по оформлению!

Сообщение crashwork »

Опять таки можно попробовать добавить в контекстное меню приборов че то типа "Вынести на главную". Пользователь указывает какие графики и т.д. он хочет скомпоновать, а потом в новом vi с помощью тех же сабпанелей формировать все это. Но не уверен, что прокатит для конкретного элемента интерфейса (надо пробовать). А если и прокатит, то возникают проблемы дизайнерского рода. Как компановать, что бы не зависимо от типа элемента все было красиво, выравнено и просто для восприятия. Но тогда это уже львиная работа отводится на сам интерфейс.
Аватара пользователя
Eugen Graf

Activity Professionalism Silver Black
guru
guru
Сообщения: 6502
Зарегистрирован: 13 ноя 2007, 02:20
Награды: 4
Версия LabVIEW: 2009
Откуда: Saarbrücken
Контактная информация:

Re: Совет по оформлению!

Сообщение Eugen Graf »

Вот например кто знает программу Gimp - там палитра приборов в одном окне, сам обьект-рисунок в другом и остальные палитры (например цвет) в третьем. Я думаю неплохо сделано. Если при этом ещё сохранять размеры и положение окон по окончании программы, то в принципе приемлимо.
Советую crashwork, если всё таки такая задача, сделать многооконное приложение.
Ответить

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