00001 00034 #ifndef LL_LLFLOATERCHATTERBOX_H 00035 #define LL_LLFLOATERCHATTERBOX_H 00036 00037 #include "llfloater.h" 00038 #include "llstring.h" 00039 00040 class LLTabContainerCommon; 00041 00042 class LLFloaterMyFriends : public LLFloater, public LLUISingleton<LLFloaterMyFriends> 00043 { 00044 public: 00045 LLFloaterMyFriends(const LLSD& seed); 00046 virtual ~LLFloaterMyFriends(); 00047 00048 virtual BOOL postBuild(); 00049 00050 void onClose(bool app_quitting); 00051 00052 // override LLUISingleton behavior 00053 static LLFloaterMyFriends* showInstance(const LLSD& id); 00054 static void hideInstance(const LLSD& id); 00055 static BOOL instanceVisible(const LLSD& id); 00056 00057 static void* createFriendsPanel(void* data); 00058 static void* createGroupsPanel(void* data); 00059 00060 protected: 00061 LLTabContainerCommon* mTabs; 00062 }; 00063 00064 class LLFloaterChatterBox : public LLMultiFloater, public LLUISingleton<LLFloaterChatterBox> 00065 { 00066 public: 00067 LLFloaterChatterBox(const LLSD& seed); 00068 virtual ~LLFloaterChatterBox(); 00069 00070 /*virtual*/ BOOL handleKeyHere(KEY key, MASK mask, BOOL called_from_parent); 00071 /*virtual*/ void draw(); 00072 /*virtual*/ void onOpen(); 00073 /*virtual*/ void onClose(bool app_quitting); 00074 00075 /*virtual*/ void removeFloater(LLFloater* floaterp); 00076 /*virtual*/ void addFloater(LLFloater* floaterp, 00077 BOOL select_added_floater, 00078 LLTabContainerCommon::eInsertionPoint insertion_point = LLTabContainerCommon::END); 00079 00080 static LLFloaterChatterBox* showInstance(const LLSD& seed); 00081 static BOOL instanceVisible(const LLSD& seed); 00082 00083 static LLFloater* getCurrentVoiceFloater(); 00084 00085 protected: 00086 LLFloater* mActiveVoiceFloater; 00087 }; 00088 00089 00090 #endif // LL_LLFLOATERCHATTERBOX_H