Различия
Здесь показаны различия между двумя версиями данной страницы.
| Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
|
doc:vsq:development:providerdbmessage [2012/10/29 07:29] 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|]] | ||
| + | Взаимодействие этих компонентов должно происходить через интерфейс базового класса [[doc:vsq:development:vsqdataprovider|]] ([[doc:vsq:development:dpfirebirddb|]] наследует его). | ||
| + | |||
| + | Иерархия классов: [[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> | ||
| + | |||