Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПЗ_А.Парамонов.doc
Скачиваний:
18
Добавлен:
08.09.2019
Размер:
7.82 Mб
Скачать

2.5.2.Графическая библиотека fltk

Пользовательский интерфейс программного средства разработан с помощью библиотеки FLTK [13]. Библиотека реализована на языке С++, является полностью объектно-ориентированной и предоставляет средства для реализации пользовательского интерфейса в приложениях, а также элементов 3D-графики с использованием технологии OpenGL.

Основные элементы и возможности, предоставляемые библиотекой FLTK, а также средства их реализации приведены в табл. .

Таблица 2.9

Элементы библиотеки fltk

Элемент

Краткое описание

Кнопки

  • Класс Fl_Button – стандартная кнопка;

  • класс Fl_Check_Button – кнопка, запоминающая выбор;

  • класс Fl_Light_Button – стандартная кнопка с индикатором нажатия;

  • класс Fl_Repeat_Button – кнопка, реагирующая на удерживание;

  • класс Fl_Return_Button – кнопка, реагирующая на нажатие «ENTER»;

  • класс Fl_Round_Button – кнопка выбора «один из многих».

Текстовое поле

  • Класс Fl_Input – однострочное поле ввода;

  • класс Fl_Output – однострочное поле вывода;

  • класс Fl_Multiline_Input – многострочное поле ввода;

  • класс Fl_Multiline_Output – многострочное поле вывода;

  • класс Fl_Text_Display – многострочное текстовое окно;

  • класс Fl_Text_Editor – простой текстовый редактор;

  • класс Fl_Help_View – поле для отображения HTML-страниц.

Числовые элементы

  • Класс Fl_Counter – окно ввода числового значения со стрелками;

  • класс Fl_Dial – круговая диаграмма;

  • класс Fl_Scrollbar – полоса прокрутки;

  • класс Fl_Slider – отображение значения в виде «ползунка»;

  • класс Fl_Value_Slider – «ползунок» с числовым отображением.

Контейнеры

  • класс Fl_Double_Window – окно с двойной буферизацией;

  • класс Fl_Gl_Window – окно для отображение 3D-графики;

  • класс Fl_Group – контейнер для других элементов;

  • класс Fl_Slider – отображение значения в виде «ползунка»;

  • класс Fl_Scroll – прокручиваемая область;

  • класс Fl_Tabs – группировка элементов на вкладках;

  • класс Fl_Window – окно.

Таймеры

Метод Fl::repeat_timeout.

Каждый из перечисленных графических элементов (виджетов) может иметь собственный размер, тип контура, иконку, надпись и обработчик событий (нажатия кнопок, события перерисовки и т.д.). Управление данными параметрами осуществляется с помощью соответствующих методов.

Наряду с набором графических элементов, библиотека предоставляет механизм таймеров. Этот механизм использован в ПС ЭТ для эмуляции одновременной работы аппаратных модулей POS-терминала. Таймеры позволяют осуществлять вызов какой-либо подпрограммы через определенные промежутки времени. Т.о. запуск нескольких таймеров позволяет выполнять какие-либо действия одновременно без использования многопоточности.

В состав FLTK также входит графический редактор FLUID (Fast Light User-Interface Designer), внешний вид которого представлен на рис. Рис. 2 .20. Он позволяет быстро и оперативно разработать пользовательский интерфейс без трудоемких расчетов правильных координат каждого элемента. После того как интерфейс сформирован, его можно экспортировать в текст программы на языке С++.

Рис. 2.20. Графический редактор FLUID.