00001 00032 #ifndef LL_LLFLOATERHTMLHELP_H 00033 #define LL_LLFLOATERHTMLHELP_H 00034 00035 #include "llhtmlhelp.h" 00036 #include "llfloater.h" 00037 #include "llwebbrowserctrl.h" 00038 00039 class LLViewerHtmlHelp : public LLHtmlHelp 00040 { 00041 public: 00042 LLViewerHtmlHelp(); 00043 virtual ~LLViewerHtmlHelp(); 00044 00045 /*virtual*/ void show(); 00046 /*virtual*/ void show(std::string start_url); 00047 }; 00048 00049 class LLComboBox; 00050 class LLWebBrowserCtrl; 00051 00052 class LLFloaterMediaBrowser : public LLFloater, public LLUISingleton<LLFloaterMediaBrowser, VisibilityPolicy<LLFloater> >, public LLWebBrowserCtrlObserver 00053 { 00054 friend class LLUISingleton<LLFloaterMediaBrowser, VisibilityPolicy<LLFloater> >; 00055 public: 00056 LLFloaterMediaBrowser(const LLSD& media_data); 00057 00058 /*virtual*/ BOOL postBuild(); 00059 /*virtual*/ void onClose(bool app_quitting); 00060 /*virtual*/ void onLocationChange( const EventType& eventIn ); 00061 00062 /*virtual*/ void draw(); 00063 00064 void openMedia(const std::string& media_url); 00065 void buildURLHistory(); 00066 00067 static LLFloaterMediaBrowser* showInstance(const LLSD& id); 00068 static void onEnterAddress(LLUICtrl* ctrl, void* user_data); 00069 static void onClickRefresh(void* user_data); 00070 static void onClickBack(void* user_data); 00071 static void onClickForward(void* user_data); 00072 static void onClickGo(void* user_data); 00073 static void onClickClose(void* user_data); 00074 static void onClickOpenWebBrowser(void* user_data); 00075 static void onClickAssign(void* user_data); 00076 00077 private: 00078 LLWebBrowserCtrl* mBrowser; 00079 LLComboBox* mAddressCombo; 00080 std::string mCurrentURL; 00081 }; 00082 00083 extern LLViewerHtmlHelp gViewerHtmlHelp; 00084 00085 #endif // LL_LLFLOATERHTMLHELP_H 00086