doc ru
This commit is contained in:
@@ -40,22 +40,49 @@
|
||||
//! \~english
|
||||
//! %PIObject provide notification mechanism similar Qt but implemented
|
||||
//! on language capabilities without any special preprocessors or compilers.
|
||||
//! Any class inherits PIObject should use macro \a PIOBJECT() immediate
|
||||
//! Any class inherits %PIObject should use macro \a PIOBJECT() immediate
|
||||
//! after declaration to proper compile.
|
||||
//!
|
||||
//! Event is a some abstract event that can be raised at any time.
|
||||
//! Event is a function but declared with special macro \a EVENT().
|
||||
//! Event is a some abstract event that can be raised at any time as common method.
|
||||
//! Event is a function but declared with special macro \a EVENT() and don`t need definition.
|
||||
//! To raise event simply execute event function.
|
||||
//!
|
||||
//! Event handler is a function but declared with special macro
|
||||
//! \a EVENT_HANDLER(). You can use event handlers as ordinary functions.
|
||||
//! \a EVENT_HANDLER(). It need definition as common method.
|
||||
//! You can use event handlers as ordinary functions.
|
||||
//!
|
||||
//! Main goal of this mechanism is perform abstract connections between
|
||||
//! various objects. This functionality provide macro \a CONNECT() which
|
||||
//! various objects. This functionality provide macro \a CONNECT(), \a CONNECTU() and \a CONNECTL() which
|
||||
//! connect some event of first object to some event handler or event of
|
||||
//! second object. Each event can be connected any times to any event handlers.
|
||||
//!
|
||||
//! * \a CONNECT() macros family work with explicit subclasses of %PIObject with compile-time check of events and handlers
|
||||
//! * \a CONNECTU() macro can work implicit subclasses of %PIObject with run-time check of events and handlers
|
||||
//! * \a CONNECTU_QUEUED() macro similar to \a CONNECTU() macro but queue execution with performer object instead of handler direct call
|
||||
//! * \a CONNECTL() macro work with implicit subclasses of %PIObject and lambda-function
|
||||
//!
|
||||
//! \~russian
|
||||
//! %PIObject предоставляет механизм событий и их обработчиков, реализованный без
|
||||
//! дополнительного препроцессора или метакомпилятора. Любой класс, наследованный
|
||||
//! от %PIObject должен использовать макрос \a PIOBJECT() сразу после объявления
|
||||
//! класса для корректной работы.
|
||||
//!
|
||||
//! Событием является сигнал, который может быть вызван как обычный метод в любое время.
|
||||
//! Это метод, объявленный с помощью макроса \a EVENT() и не требует описания.
|
||||
//! Для его вызова просто вызывается метод события.
|
||||
//!
|
||||
//! Обработчик события это метод, объявленный с помощью макроса \a EVENT_HANDLER()
|
||||
//! и он требует описания, как и обычный метод. Можно его использовать как обычный метод.
|
||||
//!
|
||||
//! Основной функцией этого механизма является реализация соединений между различными объектами.
|
||||
//! Её предоставляют макросы \a CONNECT(), \a CONNECTU() и \a CONNECTL(), которые соединяют
|
||||
//! события одних объектов с обработчиками или событиями других объектов. Каждое событие
|
||||
//! может быть присоеденино неограниченное количество раз к любым обработчикам.
|
||||
//!
|
||||
//! * \a CONNECT() семейство макросов работает с явными наследниками %PIObject, и проверяет соединение во время компиляции
|
||||
//! * \a CONNECTU() макрос может работать с неявными наследниками %PIObject, и проверяет соединение во время исполнения
|
||||
//! * \a CONNECTU_QUEUED() макрос подобен \a CONNECTU(), но планирует вызов обработчика у объекта performer вместо прямого вызова
|
||||
//! * \a CONNECTL() макрос может работать с неявными наследниками %PIObject и лямбда-функцией
|
||||
//!
|
||||
//! \~\image html events_handlers.png
|
||||
//!
|
||||
@@ -69,7 +96,8 @@
|
||||
//! handler B: 2 , 0.5
|
||||
//! handler A: event to handler
|
||||
//! handler A: event to event
|
||||
//! \~\endcode
|
||||
//! event to lambda
|
||||
//! \endcode
|
||||
//! \}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user