tp14

advertisement
Интерфейс
Виды интерфейсов, способы
реализации и требования к
интерфейсу
Определния интерфейса
Посредник между программой и
пользователем (оператором)
Посредник между программистом и
программным модулем
Посредник между программой и
аппаратными средствами
Тема 14 Интерфейс
2
Виды пользовательского
интерфейса
Диалоговый
Событийно-управляемый
Текстовой
Псевдографический
Графический
Сенсорный
Тема 14 Интерфейс
3
Требования к интерфейсу
Понятность
Функциональность
Удобство
Простота
Еще раз понятность: использование
терминологии предметной области
Расширяемость и модифицируемость
Тема 14 Интерфейс
4
Пример с бортовым
журналом
Назначение
Целевая группа операторов
Понятие понятности
Непроизводительные потери
Лучший интерфейс
Тема 14 Интерфейс
5
Психологические моменты
Число Ингве
Пример перегруженного интерфейса
Не считайте пользователя за идиота!
(«помощник» не должен быть
назойливым)
Не считайте пользователя
гениальным решателем ребусов
Тема 14 Интерфейс
6
Принцип ТНЮС
Настраиваемость интерфейса
Встроенные языки (скрипт-языки)
Центр управления
Тема 14 Интерфейс
7
Метафоричность
интерфейса
Norton commander – раскрытая книга
– две панели
Tree – древовидная структура
каталогов
Windows – рабочий стол
Медиа-проигрыватель
Тема 14 Интерфейс
8
Вопросы реализации
Наборы элементов управления
(widgets)
Callback
Таймеры
Специфика ввода информации
(графические указатели, файлы,
аппаратура)
Тема 14 Интерфейс
9
Виджеты
Athena 3D
Motiff
GTK+
QT
Windows API
FLTK
Тема 14 Интерфейс
10
Оправданность объектноориентированного подхода
Событийно-зависимый интерфейс
Относительная независимость
виджетов
Необходимость инкапсуляции
Необходимость наследования
Тема 14 Интерфейс
11
Средства визуального проектирования
интерфейса
Visual C++
Delphi
Borland C++ Builder
Kylix
QT designer
FLTK
Тема 14 Интерфейс
12
FLTK
Fast !
Light !
Tool Kit !
FLUID – FLtk User Interface designer
мобильность!
размер имеет значение!
Тема 14 Интерфейс
13
Установка FLTK
В Linux
В Visual C++
В Borland C++ builder
компиляция как 1, 2, 3…
configure
make
make install
Тема 14 Интерфейс
14
Fluid: основное окно, bin, etc
Тема 14 Интерфейс
15
Виджеты
Кнопки
Окна ввода и вывода текста
Измерители
Меню
Средства рисования
Интеграция с Open GL
Работа со шрифтами
Закладки
Упаковки
Открытость
Тема 14 Интерфейс
16
Кнопки
Простые
Возврат
Радио
С подсветкой
Форма и надписи (метки)
Тема 14 Интерфейс
17
Измерители
(Valuator)
Слайдеры
Роллеры
Линейки прокрутки
Счетчики
Позиционер
Окно ввода значений
Тема 14 Интерфейс
18
Графика
Примитивы
Поли-линии
Клиппирование
Сложные элементы
Шрифты
Тема 14 Интерфейс
19
Механизм наследования
Основные методы виджета
Полиморфизм методов
label,
value,
x, y, h, w и других
Тема 14 Интерфейс
20
Обработка событий
Метод callback
Назначение обработчика событий
Источники событий
События по таймеру
Программирование таймера
Тема 14 Интерфейс
21
Пример использования
Примитивный – одна кнопка
# data file for the Fltk User Interface Designer (fluid)version 1.0105
header_name {.h}
code_name {.cxx}
decl {\#include <stdlib.h>} {}
Function {} {open
} {
Fl_Window {} {open
xywh {449 213 425 390} type Double visible
} {
Fl_Light_Button {} {
callback {exit();} selected
xywh {335 320 55 25}
}
}
}
Тема 14 Интерфейс
22
Сложный пример
Класс cartesian для построения
произвольных графиков функций в
линейных, логарифмических и
полулогарифмических координатах
Тема 14 Интерфейс
23
Fluid – построитель
интерфейсов
Краткое введение во fluid
Внутренний формат
Процедура компиляции
Строка компиляции
Fluid как IDE
Написание кода во fluid
Тема 14 Интерфейс
24
Download