00001
00037 #ifndef LL_LLFLOATERGROUPINFO_H
00038 #define LL_LLFLOATERGROUPINFO_H
00039
00040 #include "llfloater.h"
00041 #include "lluuid.h"
00042
00043 class LLPanelGroup;
00044 struct LLOfferInfo;
00045
00046 class LLFloaterGroupInfo
00047 : public LLFloater
00048 {
00049 public:
00050 virtual ~LLFloaterGroupInfo();
00051
00052 static void showCreateGroup(void *);
00053 static void showMyGroupInfo(void *);
00054 static void showFromUUID(const LLUUID &group_id,
00055 const std::string& tab_name = std::string());
00056 static void closeCreateGroup();
00057 static void closeGroup(const LLUUID& group_id);
00058 static void refreshGroup(const LLUUID& group_id);
00059
00060 static void showNotice(const char* subject,
00061 const char* message,
00062 const LLUUID& group_id,
00063 const bool& has_inventory,
00064 const char* inventory_name,
00065 LLOfferInfo* inventory_offer);
00066
00067 LLUUID getGroupID() { return mGroupID;}
00068
00069 void selectTabByName(std::string tab_name);
00070
00071
00072
00073 virtual BOOL canClose();
00074 protected:
00075 LLFloaterGroupInfo(const std::string& name, const LLRect &rect, const std::string& title, const LLUUID& group_id = LLUUID::null, const std::string& tab_name = std::string());
00076
00077 private:
00078 static void callbackLoadGroupName(const LLUUID& id, const char* first, const char* last, BOOL is_group, void* data);
00079 static std::map<LLUUID, LLFloaterGroupInfo*> sInstances;
00080
00081 LLUUID mGroupID;
00082 LLPanelGroup* mPanelGroupp;
00083 };
00084
00085 #endif