00001 00032 #ifndef LL_LLFLOATERTOS_H 00033 #define LL_LLFLOATERTOS_H 00034 00035 #include "llmodaldialog.h" 00036 #include "llassetstorage.h" 00037 #include "llwebbrowserctrl.h" 00038 00039 class LLButton; 00040 class LLRadioGroup; 00041 class LLVFS; 00042 class LLTextEditor; 00043 class LLUUID; 00044 00045 class LLFloaterTOS : 00046 public LLModalDialog, 00047 public LLWebBrowserCtrlObserver 00048 { 00049 public: 00050 virtual ~LLFloaterTOS(); 00051 00052 // Types of dialog. 00053 enum ETOSType 00054 { 00055 TOS_TOS = 0, 00056 TOS_CRITICAL_MESSAGE = 1 00057 }; 00058 00059 // Asset_id is overwritten with LLUUID::null when agree is clicked. 00060 static LLFloaterTOS* show(ETOSType type, const std::string & message); 00061 00062 BOOL postBuild(); 00063 00064 virtual void draw(); 00065 00066 static void updateAgree( LLUICtrl *, void* userdata ); 00067 static void onContinue( void* userdata ); 00068 static void onCancel( void* userdata ); 00069 00070 void setSiteIsAlive( bool alive ); 00071 00072 virtual void onNavigateComplete( const EventType& eventIn ); 00073 00074 private: 00075 // Asset_id is overwritten with LLUUID::null when agree is clicked. 00076 LLFloaterTOS(ETOSType type, const std::string & message); 00077 00078 private: 00079 ETOSType mType; 00080 LLString mMessage; 00081 int mWebBrowserWindowId; 00082 int mLoadCompleteCount; 00083 00084 static LLFloaterTOS* sInstance; 00085 }; 00086 00087 #endif // LL_LLFLOATERTOS_H