Changeset 161 for branches/turbo/avango-core/include/avango/Field.h
- Timestamp:
- 05/15/09 17:33:25 (3 years ago)
- File:
-
- 1 edited
-
branches/turbo/avango-core/include/avango/Field.h (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/turbo/avango-core/include/avango/Field.h
r1 r161 65 65 public: 66 66 67 /**68 * Field event base class passed to functions attached to field signals.69 */70 67 class Event 71 68 { … … 96 93 const Field *mField; 97 94 }; 98 99 /**100 * Event class for field change events.101 */102 class ChangedEvent : public Event103 {104 friend class Field;105 106 public:107 108 /**109 * Was the field change triggered from network or locally?110 */111 bool getChangedFromNet() const { return mChangedFromNet; }112 113 /**114 * Returns the connected field which triggered this field change.115 * Returns 0 if the field was not changed by a connection.116 * \see FieldEvent::getField for notes about holding the field after117 * the callback has returned.118 */119 Field* getTriggeredFromField() const { return mTriggeredFromField; }120 121 protected:122 ChangedEvent(Field *field, bool changedFromNet, Field* triggeredFromField) :123 Event(field), mChangedFromNet(changedFromNet), mTriggeredFromField(triggeredFromField) {}124 125 private:126 bool mChangedFromNet;127 Field* mTriggeredFromField;128 };129 130 /**131 * Event class for field connect events.132 */133 class ConnectedEvent : public Event134 {135 friend class Field;136 137 public:138 139 /**140 * Get the field just connected to the originating field of the event.141 * \see FieldEvent::getField for notes about holding the field after142 * the callback has returned.143 */144 Field* getConnectedField() const { return mConnectedField; }145 146 protected:147 ConnectedEvent(Field *field, Field *connectedField) :148 Event(field), mConnectedField(connectedField) {}149 150 private:151 Field* mConnectedField;152 };153 154 /**155 * Event class for field disconnect events.156 */157 class DisconnectedEvent : public Event158 {159 friend class Field;160 161 public:162 163 /**164 * Get the fields just disconnected to the originating field of the event.165 * \see FieldEvent::getField for notes about holding a field after166 * the callback has returned.167 */168 std::vector<Field*> getDisconnectedFields() const { return mDisconnectedFields; }169 170 protected:171 DisconnectedEvent(Field *field, std::vector<Field*> disconnectedFields) :172 Event(field), mDisconnectedFields(disconnectedFields) {}173 174 private:175 std::vector<Field*> mDisconnectedFields;176 };177 178 179 typedef boost::signal<void (const ChangedEvent&)> ChangedSignal;180 typedef ChangedSignal::slot_type ChangedCallback;181 typedef boost::signals::connection ChangedCallbackHandle;182 183 typedef boost::signal<void (const ConnectedEvent&)> ConnectedSignal;184 typedef ConnectedSignal::slot_type ConnectedCallback;185 typedef boost::signals::connection ConnectedCallbackHandle;186 187 typedef boost::signal<void (const DisconnectedEvent&)> DisconnectedSignal;188 typedef DisconnectedSignal::slot_type DisconnectedCallback;189 typedef boost::signals::connection DisconnectedCallbackHandle;190 95 191 96 enum FieldChangeSource … … 371 276 372 277 /** 373 * Register callback invoked after a field change or field touch.374 * The callback must take exactly one parameter of ChangedEvent.375 */376 ChangedCallbackHandle addChangedCallback(const ChangedCallback& callback);377 378 /**379 * Remove previously registered field changed callback via its handle.380 */381 void removeChangedCallback(const ChangedCallbackHandle& handle);382 383 /**384 * Register callback invoked after a field has been connected to this field.385 * The callback must take exactly one parameter of ConnectedEvent.386 */387 ConnectedCallbackHandle addConnectedCallback(const ConnectedCallback& callback);388 389 /**390 * Remove previously registered field ConnectedCallback via its handle.391 */392 void removeConnectedCallback(const ConnectedCallbackHandle& handle);393 394 /**395 * Register callback invoked after a field has been disconnected from this field.396 * The callback must take exactly one parameter of DisconnectedEvent.397 */398 DisconnectedCallbackHandle addDisconnectedCallback(const DisconnectedCallback& callback);399 400 /**401 * Remove previously registered field DisconnectedCallback via its handle.402 */403 void removeDisconnectedCallback(const DisconnectedCallbackHandle& handle);404 405 /**406 278 * Create a new instance of same field type and same value. 407 279 * This type is not added to any container or event handler. … … 441 313 // disable copy construction 442 314 Field(const Field&); 443 444 void containerFieldChanged(const ChangedEvent& event);445 446 ChangedSignal mChangedSignal;447 ConnectedSignal mConnectedSignal;448 DisconnectedSignal mDisconnectedSignal;449 315 450 316 FieldPtrSet mAuditors;
Note: See TracChangeset
for help on using the changeset viewer.
