Класс UniWidgets::StateLogic

Логика для работы с датчиками. Подробнее...

#include <StateLogic.h>

Граф наследования:UniWidgets::StateLogic:

UniWidgets::AbstractLogic UniWidgets::ImitatorLogic UniWidgets::StateMultiLogic

Полный список членов класса

Открытые члены

 StateLogic (Gtk::EventBox::BaseObjectType *gobject)
virtual void connect ()

Защищенные члены

virtual void on_init ()
void constructor ()
void set_message_handler ()
void set_confirm_handler (UMessages::MessageId id)
virtual void set_current_state ()
void set_state_object ()
void confirm_handler (UMessages::MessageId id, time_t sec)
void message_handler (UMessages::MessageId id, Glib::ustring msg)
virtual void sensor_handler (UniSetTypes::ObjectId sensor, UniSetTypes::ObjectId node, long value)
void set_sensor_handler ()
 DISALLOW_COPY_AND_ASSIGN (StateLogic)
 ADD_PROPERTY (state_ai, UniSetTypes::ObjectId) ADD_PROPERTY(state_obj_ai
UniSetTypes::ObjectId ADD_PROPERTY (mode, long) ADD_PROPERTY(detntr
UniSetTypes::ObjectId long ADD_PROPERTY (invert_mode, bool) ADD_PROPERTY(invert_mode_state
UniSetTypes::ObjectId long
UniWidgetsTypes::ThresholdType 
ADD_PROPERTY (blinking, bool) ADD_PROPERTY(node
UniSetTypes::ObjectId long
UniWidgetsTypes::ThresholdType
UniSetTypes::ObjectId 
ADD_PROPERTY (states_ignore, int) ADD_PROPERTY(lock_view

Защищенные данные

long current_value_
ShowLogic * logic


Подробное описание

Логика для работы с датчиками.

Логика предназначена для работы с датчиками, получения от них значения и подачи сигнала логике ShowLogic на выставление нового состояние(режима) для виджета. Класс является шаблонным так как логика работы с отображаемыми объектами одинаковая,а сами объекты могут быть разного типа. Для работы логики с новым типом нужно её проинстанцировать так:
  template class StateLogic;
Логика, при инициализации в методе on_init(), ищет в контейнере объект типа ShowLogic<Typename>, который вызывается для установки нового состояния виджета. Он соответственно тоже должен быть реализован и его объект должен быть в контейнере. На текущий момент таких типа два: Image и Text, соответственно логика датчика может работать логикой отображения картинок или текста.

Методы

UniSetTypes::ObjectId long UniWidgetsTypes::ThresholdType UniSetTypes::ObjectId UniWidgets::StateLogic::ADD_PROPERTY ( states_ignore  ,
int   
) [protected]

< свойство: id узла

UniSetTypes::ObjectId long UniWidgetsTypes::ThresholdType UniWidgets::StateLogic::ADD_PROPERTY ( blinking  ,
bool   
) [protected]

< свойство: тип состояния "выключен" при инверсии(Warning или Alarm)

UniSetTypes::ObjectId long UniWidgets::StateLogic::ADD_PROPERTY ( invert_mode  ,
bool   
) [protected]

свойство: детонатор, значение датчика при котором срабатывает его выставление в состояние "включен",а все остальные значения интерпретируются как "выключено"

UniSetTypes::ObjectId UniWidgets::StateLogic::ADD_PROPERTY ( mode  ,
long   
) [protected]

< свойство: id датчика состояния виджета, выставляется логикой при смене состояния виджета

void StateLogic::confirm_handler ( UMessages::MessageId  id,
time_t  sec 
) [protected]

обработчик сообщений квитирования

Перекрестные ссылки logic, UniWidgets::AbstractLogic::object_, set_state_object() и UDefaultFunctions< GtkParentClass >::unlock_current().

Используется в set_confirm_handler().

void StateLogic::connect (  )  [virtual]

обработчик события присоединения к процессу SharedMemory

Переопределяет метод предка UniWidgets::AbstractLogic.

Перекрестные ссылки set_current_state().

void StateLogic::message_handler ( UMessages::MessageId  id,
Glib::ustring  msg 
) [protected]

обработчик АПС сообщений от датчика

Перекрестные ссылки UDefaultFunctions< GtkParentClass >::add_lock(), logic, UniWidgets::AbstractLogic::object_ и set_confirm_handler().

Используется в set_message_handler().

void StateLogic::on_init (  )  [protected, virtual]

инициализация логики

Замещает UniWidgets::AbstractLogic.

Переопределяется в UniWidgets::StateMultiLogic.

Перекрестные ссылки logic, UniWidgets::AbstractLogic::object_, set_message_handler() и set_sensor_handler().

void StateLogic::sensor_handler ( UniSetTypes::ObjectId  sensor,
UniSetTypes::ObjectId  node,
long  value 
) [protected, virtual]

обработчик смены значений от датчика

Перекрестные ссылки current_value_, logic, UniWidgetsTypes::mOFF, UniWidgets::AbstractLogic::on_handle_error_message() и set_state_object().

Используется в set_sensor_handler().

void StateLogic::set_confirm_handler ( UMessages::MessageId  id  )  [protected]

установить обработчик квитирования АПС сообщений датчика

Перекрестные ссылки confirm_handler(), UniWidgets::AbstractLogic::object_ и UniWidgets::SimpleObject::set_confirm_handler().

Используется в message_handler().

void StateLogic::set_current_state (  )  [protected, virtual]

установить текущее состояние логики

Переопределяется в UniWidgets::ImitatorLogic.

Перекрестные ссылки current_value_, UniWidgets::SimpleObject::get_value_from_sm(), logic, UniWidgetsTypes::mOFF, UniWidgetsTypes::mTRANSITIVE, UniWidgetsTypes::mUNKNOWN, UniWidgets::AbstractLogic::object_, UniWidgets::AbstractLogic::on_handle_error_message() и set_state_object().

Используется в connect() и set_sensor_handler().

void StateLogic::set_message_handler (  )  [protected]

установить обработчик АПС сообщений от датчика

Перекрестные ссылки UVoid::get_connector(), UMessages::Message::getMessageId(), UMessages::Message::getMessageType(), message_handler(), UniWidgets::AbstractLogic::object_, UniWidgets::SimpleObject::set_message_handler() и UMessages::Message::valid().

Используется в on_init().

void StateLogic::set_sensor_handler (  )  [protected]

установить обработчик смены значений датчика

Перекрестные ссылки UniWidgets::AbstractLogic::object_, sensor_handler(), set_current_state() и UniWidgets::SimpleObject::set_sensor_handler().

Используется в on_init().

void StateLogic::set_state_object (  )  [protected]


Данные класса

текущее состояние логики

Используется в sensor_handler(), set_current_state() и UniWidgets::ImitatorLogic::set_current_state().

ShowLogic* UniWidgets::StateLogic::logic [protected]

указатель на логику отображения визуальных объектов

Используется в confirm_handler(), message_handler(), on_init(), sensor_handler(), set_current_state(), UniWidgets::ImitatorLogic::set_current_state() и set_state_object().


Объявления и описания членов классов находятся в файлах:

Документация по UniWidgets. Последние изменения: Fri Oct 10 09:57:50 2014. Создано системой  doxygen 1.5.9