00001 00005 #pragma once 00006 00007 #include "ManagedObject.h" 00008 #include "WDError.h" 00009 00010 class Episode; 00011 class Image; 00012 class Sound; 00013 00020 class Chapter: public ManagedObject 00021 { 00022 private: 00023 Image *mImage; 00024 Sound *mSound; 00029 WDError updateMusicID(); 00030 00034 WDError updateBackgroundID(); 00035 00036 public: 00037 Chapter(); 00038 00044 WDError initRef(void *inNode, IObjectManager *inManager, IObjectEventHandler *inEventHandler); 00045 00051 WDError initRef(Episode *inParent, int inIndex, IObjectEventHandler *inEventHandler); 00052 00057 WDError initNew(Episode *inParent, IObjectEventHandler *inEventHandler); 00058 00062 WDError getSpeed(float *outSpeed); 00063 00067 WDError setSpeed(float inSpeed); 00068 00072 WDError setMusic(Sound *inSound); 00073 00077 WDError getMusic(void **outSoundNode); 00078 00082 WDError setBackground(Image *inBackground); 00083 00087 WDError getBackground(void **outImageNode); 00088 00089 00090 // IObjectEventHandler Interface // 00091 void childChanged(IManagedObject *inTarget, void *inChild); 00092 };