00001 00029 #ifndef LL_LLFLOATERRATE_H 00030 #define LL_LLFLOATERRATE_H 00031 00032 #ifndef LL_LLFLOATER_H 00033 #include "llfloater.h" 00034 #endif 00035 00036 #include "lluuid.h" 00037 #include <map> 00038 00039 class LLTextBox; 00040 class LLRadioGroup; 00041 class LLButton; 00042 class LLMessageSystem; 00043 class LLLineEditor; 00044 class LLObjectSelection; 00045 00046 class LLFloaterTrustNetRate 00047 : public LLFloater 00048 { 00049 public: 00050 virtual void draw(); 00051 00052 // Call this if you have the avatar id 00053 static void show(const LLUUID &avatar_id); 00054 00055 // Types for show() below 00056 enum ERateSelection { 00057 RS_CREATOR, 00058 RS_OWNER 00059 }; 00060 00061 // Call this to rate the currently selected object, either 00062 // the creator or the owner. 00063 static void show(ERateSelection which); 00064 00065 static void processReputationIndividualReply(LLMessageSystem *msg, void**); 00066 00067 protected: 00068 LLFloaterTrustNetRate(const std::string& name, const LLUUID &id); 00069 virtual ~LLFloaterTrustNetRate(); 00070 00071 void sendReputationIndividualRequest(const LLUUID &avatar_id); 00072 00073 static void onClickOK(void *data); 00074 static void onClickCancel(void *data); 00075 00076 protected: 00077 typedef std::map<LLUUID, LLFloaterTrustNetRate *> instance_map_t; 00078 static instance_map_t sInstanceMap; 00079 00080 protected: 00081 LLUUID mAvatarID; 00082 F32 mLastBehavior; 00083 F32 mLastAppearance; 00084 F32 mLastBuilding; 00085 BOOL mReputationRequested; 00086 LLHandle<LLObjectSelection> mObjectSelection; 00087 }; 00088 00089 #endif