Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
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 ===
 +Класс уже создан. Необходимо доработать функциональность:​
 +  - Соединение с поставщиком данных
 +  - Переодический запрос информации и отображение её (текущее,​ первое по времени из активных)
 +  - Подтвержение реакции ползователя. По клику, отметить сообщение как подтверждённое.
 +
 +=== 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>​
  
-== VisInfoPanel == 
  
doc/vsq/development/providerdbmessage.1351481347.txt.gz · Последние изменения: 2012/10/29 07:29 — alexi
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0