00001 #ifndef OglGui_LayoutListener_h 00002 #define OglGui_LayoutListener_h 00003 00004 #ifndef OglGui_LayoutComponent_h 00005 #include "OglGui/LayoutComponent.h" 00006 #endif 00007 00008 namespace OglGui 00009 { 00010 00011 class LayoutListener 00012 { 00013 public: 00014 00015 LayoutListener(LayoutComponent* leader, LayoutComponent* follower) 00016 { 00017 mLeader = leader; 00018 mFollower = follower; 00019 mLeader->AddLayoutFollower(this); 00020 mFollower->AddLayoutLeader(this); 00021 } 00022 00023 virtual 00024 ~LayoutListener() 00025 { 00026 mLeader->RemoveLayoutFollower(this); 00027 mFollower->RemoveLayoutLeader(this); 00028 } 00029 00030 virtual void 00031 OnLayoutChange() 00032 { 00033 } 00034 00035 00036 protected: 00037 LayoutComponent* mLeader; 00038 LayoutComponent* mFollower; 00039 }; 00040 00041 } // namespace OglGui 00042 00043 #endif // LayoutListener_h