00001 00038 #ifndef LL_LLFLOATERAVATARINFO_H 00039 #define LL_LLFLOATERAVATARINFO_H 00040 00041 #include "llfloater.h" 00042 #include "llpreview.h" 00043 #include "lluuid.h" 00044 #include "llpanelavatar.h" 00045 00046 class LLButton; 00047 class LLCheckBoxCtrl; 00048 class LLDropTarget; 00049 class LLInventoryItem; 00050 class LLLineEditor; 00051 class LLMessageSystem; 00052 class LLScrollListCtrl; 00053 class LLTabContainer; 00054 class LLTextBox; 00055 class LLTextEditor; 00056 class LLTextureCtrl; 00057 class LLUICtrl; 00058 class LLViewerImage; 00059 class LLViewerObject; 00060 00061 class LLFloaterAvatarInfo 00062 : public LLPreview 00063 { 00064 public: 00065 static void* createPanelAvatar(void* data); 00066 00067 virtual BOOL postBuild(); 00068 00069 LLFloaterAvatarInfo(const std::string& name, const LLRect &rect, const LLUUID &avatar_id ); 00070 /*virtual*/ ~LLFloaterAvatarInfo(); 00071 00072 /*virtual*/ void draw(); 00073 00074 /*virtual*/ BOOL canClose(); 00075 00076 /*virtual*/ void loadAsset(); 00077 /*virtual*/ EAssetStatus getAssetStatus(); 00078 00079 static LLFloaterAvatarInfo* show(const LLUUID& avatar_id); 00080 // Core method, doesn't do anything funny with online status or 00081 // tab selection. 00082 00083 static void showFromObject(const LLUUID &avatar_id, std::string tab_name = std::string()); 00084 00085 static void showFromDirectory(const LLUUID &avatar_id); 00086 00087 static void showFromFriend(const LLUUID& agent_id, BOOL online); 00088 00089 static LLFloaterAvatarInfo* getInstance(const LLUUID &id); 00090 static void showProfileCallback(S32 option, void *userdata); 00091 void resetGroupList(); 00092 00093 private: 00094 LLUUID mAvatarID; // for which avatar is this window? 00095 LLPanelAvatar* mPanelAvatarp; 00096 EOnlineStatus mSuggestedOnlineStatus; 00097 }; 00098 00099 00100 #endif