00001 00032 #ifndef LL_LLFLOATERMUTE_H 00033 #define LL_LLFLOATERMUTE_H 00034 00035 #include "llfloater.h" 00036 #include <vector> 00037 00038 class LLButton; 00039 class LLLineEditor; 00040 class LLMessageSystem; 00041 class LLUUID; 00042 class LLScrollListCtrl; 00043 00044 class LLFloaterMute 00045 : public LLFloater 00046 { 00047 public: 00048 LLFloaterMute(); 00049 ~LLFloaterMute(); 00050 00051 void show(); 00052 00053 // Must have one global floater so chat history can 00054 // be kept in the text editor. 00055 virtual void onClose(bool app_quitting) { setVisible(FALSE); } 00056 00057 static void toggle(void*); 00058 static BOOL visible(void*); 00059 00060 void refreshMuteList(); 00061 void selectMute(const LLUUID& id); 00062 00063 void updateButtons(); 00064 00065 private: 00066 // UI callbacks 00067 static void onClickRemove(void *data); 00068 static void onClickPick(void *data); 00069 static void onSelectName(LLUICtrl* caller, void *data); 00070 static void onPickUser(const std::vector<std::string>& names, const std::vector<LLUUID>& ids, void* user_data); 00071 static void onClickMuteByName(void*); 00072 static void callbackMuteByName(S32 option, const LLString& text, void*); 00073 00074 private: 00075 LLScrollListCtrl* mMuteList; 00076 }; 00077 00078 extern LLFloaterMute* gFloaterMute; 00079 00080 #endif