Руководство по fluid

Примечание: это перевод программирования FLUID в главе 11 руководства FLTK PDF. Многие переводы новичков не понимают, делают ошибки и вносят быстрые изменения. Все, что не переводится или не имеет смысла в переводе, используется после каждого предложения [? ? 】 Марк.

Глава 11 Программирование с помощью FLUID

В этой главе описывается, как использовать Fast Light User-Interface Designer («FLUID») для создания ваших графических пользовательских интерфейсов (GUI).

11.1 Что такое жидкость

Fast Light User Interface Designer (FastLight User-Interface Designer), или FLUID, является графическим редактором для генерации исходного кода FLTK. ЖИДКОСТЬ редактирует и сохраняет свое состояние в.flФайл. Эти файлы являются текстовыми, поэтому вы можете редактировать их в текстовом редакторе (вам нужно быть осторожным), и вы можете получить неожиданные результаты.

ЖИДКОСТЬ может быть скомпилирована.flГенерация файлов.cxxи.hФайл. Файл .cxx определяет все объекты в файле .fl, а файл .h объявляет все глобальные объекты. FLUID также поддерживает локализацию (интернационализацию) строк тегов с использованием файлов сообщений и интерфейсов GNU gettext или POSIX catgets. [Аннотация: эти два должны быть инструментами локализации программы].

Вы можете поместить весь код (включая функцию main ()) в файл .fl, чтобы сгенерировать простую программу, а затем сгенерировать только исходный файл .cxx для компиляции. Большинство программ намного сложнее, чем это, поэтому вам нужно написать другие файлы CXX, которые вызывают функцию FLUID. Эти файлы cxx должны #include те файлы .h, или они #include эти файлы cxx, поэтому он по-прежнему выглядит как отдельный исходный файл.

Рисунок 11.1 Организационная структура жидкости

Как правило, файл FLUID определяет одну или несколько функций или классов, которые выводят код C ++. Каждая функция определяет одно или несколько окон FLTK и все графические компоненты в этих окнах.

Компонент, созданный FLUID, может быть «именованным», «комплексным именованным» или «неназванным». Именованный компонент использует допустимый идентификатор переменной C ++ в качестве своего имени (то есть числовые буквы и подчеркивания). В этом случае FLUID будет определять глобальную переменную или член класса, указывающий на компонент после вызова функции, которая определяет компонент (в программе). Составной именованный объект имеет в имени пунктуацию ’.’ Или ’->’ или другие символы. В этом случае FLUID будет присвоен указатель на имя компонента [? ? ] Указатель, но не пытался это объявить. Это может быть использовано для размещения компонентов в конструкциях. Безымянный виджет имеет пустое имя, и указатель не сохраняется.

Виджет может вызывать именованную функцию обратного вызова, которую вы написали в другом исходном файле, или вы можете предоставить небольшой фрагмент исходного кода C ++, а FLUID генерирует его как частную функцию обратного вызова и помещает в файл cxx.

11.2 Запуск FLUID под UNIX

Чтобы запустить FLUID в UNIX, введите:

Fluid filename.fl &

Редактировать FL-файл с именем filename.fl. Если файл не существует, появится сообщение об ошибке, но если вы проигнорируете его, вы сможете редактировать пустой файл, названный в его честь. Вы можете запустить FLUID по имени, и в этом случае вы можете редактировать пустую настройку [? ? ], Но вы можете использовать Сохранить как, чтобы сохранить его в файл.

Вы можете использовать (ниже) любой стандартный переключатель FLTK [опция] перед именем файла:

-display host:n.n

-geometry WxH+X+Y

-title windowtitle

-name classname

-iconic

-fg color

-bg color

-bg2 color

-scheme schemename

Если пользователь вызывает опцию переключения цвета, может быть полезно изменить цвет, чтобы увидеть, как выглядит ваш интерфейс. Аналогично, использование «-scheme plastic» покажет, как выглядит интерфейс с использованием темы «plastic».

В текущей версии, если вы не используете ‘&’ для запуска FLUID в качестве фона, вы можете выйти из FLUID, набрав CTRL-C в терминале. Это немедленно выйдет и потеряет все изменения.

11.3 Запуск FLUID под Windows

Чтобы запустить FLUID под Win32, просто дважды щелкните файл FLUID.exe. Конечно, вы также можете начать через окно командной строки. Под Win32 FLUID работает в фоновом режиме.

11.4. Компиляция.flфайл

FLUID также можно использовать в качестве «компилятора» командной строки для генерации файлов .cxx и .h из файлов .fl. Для этого просто введите:

fluid –cfilename.fl

Эта команда будет читать файл filename.fl и генерировать файлы filename.cxx и filename.h. Все префиксные пути filename.fl будут удалены, поэтому они (cxx и h) будут записаны в текущий каталог. Если при чтении или записи файла возникает ошибка, FLUID распечатает ошибку и завершит работу с ненулевым кодом выхода. Вы можете использовать следующий код в make-файле для автоматической генерации исходных файлов и файлов заголовков:

my_panels.hmy_panels.cxx: my_panels.fl fluid –c my_panels.fl

Большинство версий make поддерживают правила компиляции .fl: [? ? ]

.SUFFIXES: .fl.cxx .h

.fl.h .fl.cxx:

fluid –c $<

11.5 Краткое руководство

FLUID — удивительно мощная маленькая программа. Однако эта функция имеет свою цену, то есть она не может выполнять задачи, которые кажутся простыми. В этом руководстве будет рассказано, как использовать FLUID для создания полного класса пользовательского интерфейса, используемого в программе CubeView, предоставляемой FLTK.

Рисунок 11.2 Пример CubeView

Это окно класса CubeViewUI, включая все функции класса, все из которых генерируются FLUID. Центр отображения куба — это отдельный подкласс Fl_Gl_Window, называемый CubeView. CubeViewUI управляет классом CubeView через функцию обратного вызова скользящего блока и ролика, чтобы реализовать преобразование перспективы и масштабирование CubeView.

В конце этого руководства вы узнаете следующее (надеюсь):

1. Используйте FLUID для создания полного класса пользовательского интерфейса, включая конструктор и все необходимые функции-члены.

2. Используйте FLUID для установки функции-члена обратного вызова класса пользовательского компонента.

3. Подкласс Fl_Gl_Window для удовлетворения ваших потребностей.

19

Министерство
образования и науки Украины

Севастопольский
Национальный Технический Университет

FESTO

Севастополь

2008

  1. Создание и моделирование пневматических схем

Данный
раздел содержит введение в создание и
моделирование пневматических схем с
использованием FluidSIM.

Щелчком
по

либо через FileNew
создайте пустую об­ласть для рисования.
Откроется новое окно:

Рисунок 1 –
Библиотека элементов с пустой областью

для рисования

Схемы
могут создаваться или редактироваться
только лишь в Режиме Редактирования.
Режима Редактирования по­казывается
курсором

мышки.

При помощи мышки
можно «перетаскивать» и «опускать»
элементы из библиотеки компонент на
область для рисования.

Для
примера «перетащим» цилиндр
одностороннего действия, источник
сжатого воздуха и 3/2-распределитель.
Разместим элементы следующим образом:

Рисунок 2 – Схема
с несоединенными элементами

Далее
необходимо установить ручное управление
3/2-распределителя, глушитель и пружинный
возврат. Для этого надо два раза щелкнуть
по распределителю или нажать на него
правой кнопкой и выбрать Properties.
Откроется окно свойств
распределителя:

Рисунок 3 – Окно
свойств распределителя

В нем
можно изменить название элемента, его
левостороннее и правостороннее
управление, начальное положение,
внутренние каналы. Для установки
пружинного возврата и пилотного
управления ставятся галочки соответственно
в

и

.
Ручное управление ставится в меню

,
механическое – в

,
электрическое и пневматическое – в

.
Чтобы установить глушитель надо два
раза щелкнуть по выходу 3 (◦) распределителя
и в появившемся окне выбрать меню

.
После проделанных действий 3/2-распределитель
имеет вид:

Рисунок
4 – 3/2-распределитель с ручным управлением

и пружинным
возвратом

Для
того чтобы соединить элементы надо
“тащить” левой кнопкой мыши от места
соединения (◦) одного элемента к месту
соединения (◦) другого. В Режиме
Редактирования элементы и линии могут
выделяться, передвигаться, поворачиваться
(правая кнопка мыши на элементе и Rotate)
или удаляться (Del).
После соединения схема имеет вид:

Рисунок
5 – Готовая пневматическая схема

Схема
уже полностью нарисована и все
подсоединения выполнены. Теперь ее
можно промоделировать. Для этого надо
щелкнуть по

или через ExecuteStart.
FluidSIM
проверяет наличие в схеме ошибок и
показывает их. Если ошибок нет, то
моделирование запускается сразу, без
дополнительных сообщений. Нажав на
клапан, поршень цилиндра начнет
выдвигаться. Во время моделирования
вычисляются давления и скорости потоков,
все линии окрашиваются и поршень цилиндра
движется (рисунок 6).

Рисунок 6 –
Моделируемая схема

После
того, как поршень цилиндра выдвинулся,
давление в линии пи­тания цилиндра
неизбежно возрастает. Эта ситуация
распознаётся FluidSIM
и происходит пересчёт параметров;
давление на источнике сжатого воздуха
возрастает до предопределённого рабочего
давления. Щелкнув по распределителю
повторно, цилиндр втянется.

При
моделировании цвета соединительных
линий имеют следующие значения:

Таблица 1 – Цвета
электрических и пневматических линий

Цвет

Значение

темно-синий
светло-синий светло-красный

пневматическая
линия под давлением пневматическая
линия без давления электрическая
линия, ток течёт

Изменяющаяся
толщина темно-синих соединительных
линий соответ­ствует давлению,
соотнесённому к максимальному давлению.
FluidSIM
различает
два вида линий:

Таблица
2 – Толщина, темно-синих
пневматических линий

Толщина

Значение


давление меньше
максимума максимальное давление

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

Моделирование
в FluidSIM
основано на физических моделях, элементы
которых совпадают с элементами, найденными
в ассорти­менте оборудования Festo
Didactic
GmbH
& Co.
Поэтому вычислен­ные значения должны
точно совпадать с измеряемыми на
практике. При сравнении результатов
согласитесь, пожалуйста, с тем, что на
практике измерения подвержены значительным
колебаниям. Причи­ной отличий может
быть что угодно, начиная от допусков
элементов, длин шлангов и кончая
температурой воздуха.

Вычисление
переменных создаёт основу для создания
точного, соответствующего реальному
масштабу времени, подвижного изображения
цилиндров.
Соответствие
реальному масштабу времени обеспечивает
следующее свойство: если в реальности
цилиндр движется в два раза быстрее,
чем какой-то другой, то данная зависимость
сохраняется и при их анимации. Другими
словами, зависимости в реальном времени
остаются неизменными.

Клапаны и
переключатели, управляемые вручную и
находящиеся в диаграмме цепи, переключаются
при помощи щелчков мышки по ним.

Щелкнув
по

(либо через ExecutePause)
вызыва­ется переход из Режима
Редактирования в Режим Моделирования
без начала моделирования. Эта возможность
полезна в том случае, когда элементы
должны быть заморожены на некоторое
время, перед тем как начнётся моделирование.

Для
остановки моделирования и перехода в
Режим Редактирования используется
кнопка

или ExecuteStop.
При этом переключатели устанавливаются
в первона­чальное положение, клапаны
переключаются в нормальное положение,
поршни цилиндров возвращаются в
предыдущее положение, и все вы­численные
значения исчезают.

В
дополнение к предыдущим функциям
моделирования (
,
,
)
преду­смотрены также следующие
функции:

сброс и возобновление
моделирования;

моделирование в
пошаговом режиме;

моделирование до
определённой точки, в которой происходит
из­менение состояния.

Щелкнув
по

,
вызывается сброс в начальное состояние
выполняющегося или стоящего на паузе
про­цесса моделирования. Непосредственно
после этого моделирование во­зобновляется.

В
пошаговом режиме процесс моделирования
приостанавливается пос­ле некоторого
шага. Точнее, после щелчка по

моделирование продолжается в течение
короткого периода времени (приблизительно
0.01 — 0.1 секунды в ре­альной системе);
после этого система переходит на паузу
(
).

Выполняющееся
моделирование может быть переведено в
поша­говый режим в любое время. Это
позволяет сфокусировать внимание на
ключевых моментах во время моделирования.

Щелкнув
мышкой по кнопке

,
запускается процесс моделирования,
продолжающийся до некоторой точки, в
которой про­исходит изменение
состояния; после этого моделирование
останавли­вается на паузу (
).
Следующие ситуации описывают момент
време­ни, в который происходит
остановка:

1) поршень цилиндра
остановился;

2) клапан сработал
или его переключили;

3) сработало реле;

4) контакт
переключили.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

В начале июля прошлого года Vitol’у в руки попалась практически одна из самых первых сборок четвертой версии браузера Safari. В его обзоре была описана очень интересная функция, которая, почему-то, не попала в бэта версию Safari 4, вышедшую в конце февраля 2009 года, как раз перед началом «горячего марта». Я говорю о Web Application, при помощи которой можно создавать обычные приложения из вэб-сайтов и сервисов и запускать их вне браузера.

Не так давно на глаза мне попалась программа Fluid, которая обеспечивает тот же самый функционал без каких либо трудностей, быстро и легко, предлагая пользователю расширить функции какого-либа портала при помощи пользовательских скриптов проекта userscripts.org. Для того, чтобы не растекаться мыслею по древу, предлагаю сразу рассмотреть несколько примеров. Но для начала необходимо зайти на сайт разработчиков Fluid и скачать последнюю версию (на данный момент версия 0.9.6, 3,6 МБ), установить её куда-нибудь. Я скопировал её в папку Application.

Google Mail на нашем компьютере

Перво-наперво, надо найти красивую иконку, которая в доке будет радовать глаз 🙂 Недолгий поиск по картинкам позволил найти отличный вариант. Теперь самое время обратиться к программе — поэтому мы запускаем установленный Fluid и в открывшемся окне вводим данные сайта, который хотим добавить. В данном случае это:

  • URL. Смело воодите gmail.com (можно http://gmail.com — не имеет значения).
  • Name. Какое хотите — это имя будет отображаться в меню и доке.
  • Location. Место, где будет располагаться приложение (по-умолчанию в папке Application).
  • Icon. Можно оставить иконку сайта (если у него есть favicon) или установить свою. Мы, конечно же, воспользуемся своей.

После этого, программа немного «подумает» и предложит запустить полученное приложение. В результате запуска перед нами предстанет окно с вэб-приложением, в Доке появится иконка приложения Google Mail со своим личным меню.

Логинимся в аккаунт и перед нами полноценный сайт GMail. Теперь необходимо как-нибудь усовершенствовать наше приложение. Предлагаю вывести в док на иконку количество непрочитанных сообщений во Входящих. А что, хорошая идея! 🙂

Как я уже сказал, Fluid (а значит и все его «приложения-потомки») поддерживают пользовательские скрипты, хорошо знакомые пользователям Firefox по аддону Greasemonkey. Значит нам всего-лишь нужно найти соответствующий скрипт и «прикрутить» его к нашему приложению Google Mail. За скрипты в Меню отвечает специальный пункт с изображением грамоты:

А искать мы его будем так: нажимаем на кнопку скрытия/показа тулбара и перед нами появляется адресная строка, в которую мы вводим адрес userscripts.org.

Хочу сразу сказать, что все остальные адреса, которые не относятся к нашему приложению и Userscripts будут открываться в окне Safari.

В строке поиска или на самом сайте с пользовательскими скриптами мы ищем те, которые относятся к Gmail. Я предлагаю воспользоваться таким — Gmail Unread Message Count in Favicon (что по-русски значит «Число непрочитанных сообщений Gmail на иконке сайта»). Нажимаем на кнопку Install, после чего перед нами появится предложение установить наш скрипт.

Соглашаемся и спустя некоторое время в Доке мы сможем лицезреть на иконке нашего приложения количество непрочитанных писем. Прям как в Mail 🙂

Каждое приложение-сайт Fluid имеет окно со своими собственными настройками и еще несколько интересных особенностей:

  • MenuExtra SSB — функция добавления окна приложения к иконкам в Menubar (как, к примеру, добавляются Growl, Evernote и други приложения).
  • Embedded SSB — насколько я понял, в этом случае окно с программой растягивается на весь экран (даже под Доком) и выполняет роль wallpaper’a 🙂

Ещё пример веб-приложения — мобильная версия Маковода

Для меня пока что наибольший интерес представляет первая особенность. Правда, почту таким образом использовать не хочется. Поэтому мы создадим приложение для блога Macovod 🙂 Я не буду описывать процесс создания этого приложения. Просто скажу, что оно создается точно так же, как и наш «почтовик». Но здесь мы немного схитрим: мы будем отображать не обычный сайт, а его мобильную версию. Для этого в нашем приложении изменим User Agent на Mobile Safari.

Таким образом, если мы теперь зайдем при помощи Safari в блог, перед нами будет версия, предназначенная для iPhone. В том же самом меню выбираем Convert to MenuExtra SSB и в панели меню у нас появляется новая иконка, отображающая последние сообщения нашего блога 🙂 Теперь наше приложение выглядит примерно так:

Итог

Подводя итоги, можно сказать, что Fluid является достаточно интересной разработкой для пользователей, поскольку можно вынести наиболее часто используемые интернет-сервисы в док и пользоваться ими как обыкновенными приложениями. Поддержка пользовательских скриптов позволит как повысить удобность использования сервисов, так и улучшить внешний вид (к примеру, как Gmail super clean). Ах да, совсем забыл сказать, что Fluid в добавок ко всему поддерживает Growl.

Недвижимость в Киеве нынче серьёзно подешевела.

Читайте также:

Графический редактор и построитель GUI

FLUID

FLUID's code view window shows how the C++ output would look like if written on the disk.Окно просмотра кода FLUID показывает, как будет выглядеть вывод C ++, если он будет записан на диск.
Стабильный выпуск 1.3.5 (3 марта 2019 г.; 19 месяцев назад (2019-03-03)
Предварительный выпуск 1.4.x-20200821-4c012bd7 (21 августа 2020 г.; 44 дня назад (2020-08-21))
Тип
  • Конструктор графического интерфейса
  • Linux на рабочем столе
  • Руководство по интерфейсу пользователя
Лицензия Стандартная общественная лицензия ограниченного применения GNU
Веб-сайт www.fltk.org

FLUID виджет окно списка

FLUID (Fast L ight U ser I nterface D esigner) графический редактор и GUI Builder, который используется для создания исходного кода FLTK. FLUID редактирует и сохраняет свое состояние в текстовых файлах.fl, которые можно редактировать в текстовом редакторе для более точного управления отображением и поведением.

После разработки приложения FLUID компилирует файл.fl в файл.cxx, который определяет все объекты из файла.fl, и файла .h, который объявляет все глобальные. FLUID также поддерживает локализацию строк меток с использованием файлов сообщений и интерфейсов GNU gettext или POSIX.

Блок-схема, показывающая шаги необходим для компиляции кода, сгенерированного FLUID

Простую программу можно создать, поместив весь неинтерфейсный код (включая функцию main) в файл.fl, тем самым сделав файл.cxx единственным источником файл для компиляции. Большинство программ более сложны, поэтому можно писать другие файлы.cxx, которые вызывают функции FLUID. Эти файлы.cxx должны # включатьфайл.h, или они могут # включать файл.cxx, чтобы он по-прежнему выглядел как один исходный файл.

Обычно файл FLUID определяет одну или несколько функций или классов, которые выводят код C ++. Каждая функция определяет одно или несколько окон FLTK и все виджеты, которые находятся внутри этих окон.

Виджеты, созданные FLUID, имеют «имя», «сложное имя» или «безымянный». Именованный виджет имеет допустимый идентификатор переменной C ++ в качестве имени (т.е. только буквенно-цифровой символ и знак подчеркивания) и определяется глобальной переменной или членом класса, который будет указывать на виджет после вызова функции, определяющей его. Объект со сложным именем имеет знаки препинания, такие как ‘.’ или ‘->’ или любые другие символы в его названии. В этом случае FLUID назначает указатель на виджет имени, но не пытается его объявить. Это можно использовать для превращения виджетов в структуры. У безымянного виджета пустое имя, и указатель не сохраняется.

Виджеты могут либо вызывать именованную функцию обратного вызова, которую один записывает в другой исходный файл, либо можно предоставить небольшой фрагмент исходного кода C ++, и FLUID запишет частную функцию обратного вызова в.cxx файл.

Содержание

  • 1 Окно просмотра кода
  • 2 Окно корзины виджетов
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки

Окно просмотра кода

При редактировании program FLUID, пользователь может посмотреть в окно просмотра кода, которое точно показывает, как будет выглядеть вывод программы C ++. Окно просмотра кода поддерживает автоматическое обновление (при изменении чего-либо в программе Code View автоматически изменяет отображаемый исходный код ), которое может быть отключено пользователем. Это не позволит пользователю изменить код, отображаемый через него. Просмотр кода является частью FLUID и не отображается автоматически при запуске. Его можно включить через меню FLUID.

Окно корзины виджетов

Окно корзины виджетов FLUID

См. Также

  • Портал бесплатного программного обеспечения с открытым исходным кодом
  • Glade Interface Designer
  • Qt Creator
  • Быстрая разработка приложений
  • Linux на рабочем столе

Ссылки

Внешние ссылки

  • Официальный сайт Измените это в Викиданных
  • FLTK FLUID в движении — Учебное пособие по FLUID
  • Видеоурок по FLUID, охватывающий только основы
  • FLTK от Erco Чит-страница
  • Пользовательский интерфейс flPhoto был полностью создан с помощью FLUID.

Понравилась статья? Поделить с друзьями:
  • Кипферон свечи для детей инструкция по применению для грудничков отзывы
  • Урьяж сос паста инструкция по применению
  • Фосфалюгель инструкция к применению взрослым при гастрите
  • Тиамин витамин в1 в ампулах инструкция по применению
  • Афлюдол инструкция по применению цена детям