Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
doc:vsq:development:providerdbmessage [2012/10/29 07:34] alexi |
doc:vsq:development:providerdbmessage [2013/05/12 20:35] (текущий) jamis7005 |
||
---|---|---|---|
Строка 2: | Строка 2: | ||
Необходимо разработать: | Необходимо разработать: | ||
- | - Визуальный компонент для отображения и подтверждения сообщений (VisInfoPanel) | + | - Визуальный компонент для отображения и подтверждения сообщений ([[doc:vsq:development:visinfopanel|]]) |
- Поставщик данных [[doc:vsq:development:dpfirebirddb|]] | - Поставщик данных [[doc:vsq:development:dpfirebirddb|]] | ||
- | Взаимодействие этих компонентов должно происходить через интерфейс базового класса VsqDataProvider ([[doc:vsq:development:dpfirebirddb|]] наследует его). Соответсвенно, необходимо добавить функции получения | + | Взаимодействие этих компонентов должно происходить через интерфейс базового класса [[doc:vsq:development:vsqdataprovider|]] ([[doc:vsq:development:dpfirebirddb|]] наследует его). |
- | === dpAlarmMessage === | + | Иерархия классов: [[doc:vsq:index|]] |
=== VisInfoPanel === | === VisInfoPanel === | ||
+ | Класс уже создан. Необходимо доработать функциональность: | ||
+ | - Соединение с поставщиком данных | ||
+ | - Переодический запрос информации и отображение её (текущее, первое по времени из активных) | ||
+ | - Подтвержение реакции ползователя. По клику, отметить сообщение как подтверждённое. | ||
+ | |||
+ | === DpFirebirdDB === | ||
+ | - Создать класс унаследовав [[doc:vsq:development:vsqdataprovider|]] | ||
+ | - В [[doc:vsq:development:vsqdataprovider|]] добавить необходимые фунции взаимодействия с компонентами визуализации. | ||
+ | - добавить необходимые свойства для хранения информации о сооединении с базой данных | ||
+ | - релиализовать фунциональность работы с базой данных | ||
+ | |||
+ | Функции взаимодействия с компонентами визуализации: | ||
+ | * void getMessages(DpAlarmMessage *messages, DpAlarmMessage::States flags) - возвращает список сообщений соответствующие маске флагов | ||
+ | * bool setMessageState(DpAlarmMessage messages, DpAlarmMessage::State newState) - установливает новое состояние | ||
+ | |||
+ | Пример реализации базовой функциональности: RpSvrTcpClient | ||
+ | |||
+ | === DpAlarmMessage === | ||
+ | |||
+ | Создать класс в заголовочном файле [[doc:vsq:development:vsqdataprovider|]]. | ||
+ | Без базового класса. | ||
+ | Функции: | ||
+ | - Чтение времени сообщения (запись при создании объекта) | ||
+ | - Чтение сообщения (QString, запись при создании) | ||
+ | - Чтение/запись состояния (перечисление) | ||
+ | |||
+ | Дополнение: | ||
+ | <code cpp> | ||
+ | class VsqRule; | ||
+ | |||
+ | class VsqMessageTag : public VsqTag | ||
+ | { | ||
+ | public: | ||
+ | QString name(); | ||
+ | VsqRule *rule(); | ||
+ | }; | ||
+ | |||
+ | class VsqRule | ||
+ | { | ||
+ | public: | ||
+ | bool isCorrect(VsqMessageTag *VsqMessageTag); | ||
+ | |||
+ | }; | ||
+ | |||
+ | class VsqMessage { | ||
+ | public: | ||
+ | QDateTime getDT(); | ||
+ | QString getString(); | ||
+ | }; | ||
+ | </code> | ||
+ | |||