Система и окружение SBGraphicFormat — КиберПедия 

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...

Система и окружение SBGraphicFormat

2022-10-05 32
Система и окружение SBGraphicFormat 0.00 из 5.00 0 оценок
Заказать работу

SBGraphicFormat является классом, которые реализует и оформляет весь спектр, необходимой для уточненного вывода, информации. Он полностью скрывает класс SBGraphicImageFormat, объявленный и реализованный в файле SBPalette. Последний класс предоставляет, необходимые для калибровки OutputGroupWidget, значения. Некоторые из них объявлены в виде независимых констант, отмеченных необходимыми префиксами. Помимо этого, объявлены несколько статических объектов последнего упомянутого класса. В них прописаны параметры отдельных типов графических элементов UI.

Такое решение позволяет скрыть реализацию существенной доли механизмов форматирования графики. Что очень удобно при разработке. Здесь хочу отметить такой момент, что SBGraphicImageFormat является самостоятельным классом только формально, фактически же, он полностью входит в состав SBPalette, поэтому и не имеет собственных файлов в каталоге исходных файлов программы.

    Класс SBGraphicFormat имеет очень набор идентификаторов типов графических элементов. Они связаны со статическими объектами класса SBGraphicImageFormat, и предоставляют возможность для внедрения очень подробной настройки элементов вывода. Так перечисления ContentType и StaticImages_id, позволяют определять внутренние типы форматов элементов класса SBGraphicElement и отдельных элементов соответственно.


Устройство разметки GUI

    GUIимеет иерархическую структуру. Базовым элементам считается фон элемента. Производным считается изображение, текст или элемент управления, которые накладываются на базовый. В свою очередь производные элементы считаются базовыми для элементов, которые накладываются поверх них.

Разметка вывода осуществляется за счет вычисления смещения относительных позиций элементов GUI относительно позиций более базовых элементов.

Основное содержимое экрана вывода всегда выравнивается по середине. По высоте выравнивание относительно логотипа - 4/5 высоты окна.

Изображение макета экрана вывода(3-й экран):

Описание графических элементов UI

Фон элементов (фоны элементов «Фамилия», «Имя» и т.д.) это статические изображения формата PNG, которые перекрывают текст минимум на 4 пиксела со всех сторон.

 

Текст элементов пока что не определен. Желательно формат шрифта Qanelas, цвет – белый. Размер тоже надо определить.

Пиктограммы это статические изображения формата PNG, которые накладываются поверх фона элементов. Они определяются согласно формату и предоставляются отдельным методом класса SBGraphicFormat.

Фон таблицыюнита представляет прямоугольник со скругленными углами, с размерами, перекрывающими элементы вывода (кроме пиктограмм) минимум на 10 пикселов со всех сторон (по образцу, размер 480х180). Минимальная ширина 480 пикселов. Цвет(RGB 175, 215, 181).

 

Общий фон таблицы вывода представляет собой похожий прямоугольник со скругленными углами. Он должен перекрывать все таблицы юнитов на 45 пикселов со всех сторон.Цвет(RGB 47, 173, 102).

Основной фон виджета область, не заполненная значащими элементами. Заполняется сплошным цветом, который соответствует цвету фона таблицы юнита. Цвет(RGB 175, 215, 181).

Логотип в верхней части экрана это статическое изображение в форматеPNG, которое накладывается поверх основного фона виджета. Поставляется классом виджета экрана, на котором располагается.

 

Шапка окна, вместе со строкой заголовка и кнопками управленияокном так же переработаны в угоду общей стилистике и цветовой палитры программы.

 

Строка заголовка – в ней отображается название программы (“SearchBug”).

 

Кнопки управления окном – кнопка сворачивания окна в системный трей, кнопка максимизации размеров окна, кнопка закрытия программы.


 

Общее архитектурное решение

Принципиальная схема устройства системы:

Программа представляет из себя несколько сменяющих друг друга экранов. Каждый из них предлагает пользователю с чем-либо ознакомиться или что ни будь ввести. За смену экранов в окне отвечает переменная состояния (на схеме - SWITCH _ KEY), она жеState_id state. Значение state меняется при наступлении ключевых событий. Для каждого экрана есть свои события, определяющие переход к другим экранам. В основном это просто кнопки перехода.

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

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

После завершения обработки всех данных система готова отобразить их на экране вывода результата. Для этого пользователю необходимо подтвердить переход на следующий экран.


 

Общая схема классов программы:

За основу структуры вывода взяты паттерны «State» и «Abstractfactory». Под состоянием программы, здесь понимаю то, какой экран вывода обрабатывается в этот момент времени. Состояния вывода реализуются системой SBGUIState, которая рассматривается далее. Каждое состояние имеет свой статически определенный индекс состояния, по которому осуществляется доступ к состоянию в системе SBGUIState.

 

Программа принципиально делится на три функциональных участка:

1) класс SearchBug, который инициализирует данные программы, занимается первичной обработкой пользовательского ввода и перенаправлением его к обработчикам, а также распределяет доступ объектов состояний к главному окну программы.

 

2) класс с длинным названием SBQXMLStreamReader, является оберткой для библиотечного класса QXmlStreamReader. Все вместе, они обрабатывают загружаемый файл базы данных и формируют внутреннее представление данных в программе, в структуре данных SBTable, рассмотренной ранее.

 

3) система SBGUIState, которая подготавливает объекты состояний кработе, обрабатывает пользовательский ввод, формирует и выводит конечную графику.


 


Поделиться с друзьями:

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.015 с.