Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Oct 5, 2009, 9:57:05 PM (15 years ago)
Author:
landauf
Message:

Again some changes in the event-system:

  • Added "mainstate" event-state to BaseObject. It leads to the state which was defined with the mainstate attribute in XML.
  • Support event-forwarding to the mainstate of event-listeners.
  • The "targets" subsection of the EventDispatcher now supports all kinds of objects (not just EventTargets).
  • EventTarget now works in all places of the XML-file, not just in the "targets" section of EventDispatcher.

Added a sample XML-file which explains several aspects of the event-system.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/core5/src/libraries/core/BaseObject.h

    r5879 r5882  
    157157            void removeEventSource(BaseObject* source);
    158158            BaseObject* getEventSource(unsigned int index, const std::string& state) const;
     159           
     160            void addEventListener(BaseObject* listener);
     161            BaseObject* getEventListener(unsigned int index) const;
    159162
    160163            void fireEvent();
     
    208211            std::map<BaseObject*, std::string>  eventSources_;           //!< List of objects which send events to this object, mapped to the state which they affect
    209212            std::set<BaseObject*>               eventListeners_;         //!< List of objects which listen to the events of this object
     213            std::set<BaseObject*>               eventListenersXML_;      //!< List of objects which listen to the events of this object through the "eventlisteners" subsection in XML
    210214            std::map<std::string, EventState*>  eventStates_;            //!< Maps the name of the event states to their helper objects
    211215            bool                                bRegisteredEventStates_; //!< Becomes true after the object registered its event states (with XMLEventPort)
Note: See TracChangeset for help on using the changeset viewer.