llpaneldirfind.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLPANELDIRFIND_H
00033 #define LL_LLPANELDIRFIND_H
00034 
00035 #include "llpaneldirbrowser.h"
00036 #include "llwebbrowserctrl.h"
00037 
00038 class LLUICtrl;
00039 class LLLineEditor;
00040 class LLPanelDirFindAll;
00041 class LLFloaterDirectory;
00042 class LLWebBrowserCtrlObserver;
00043 
00044 // This class in an abstract base class for all new style search widgets.  It contains a pointer to a web browser control
00045 // 
00046 class LLPanelDirFind
00047 :       public LLPanelDirBrowser,
00048         public LLWebBrowserCtrlObserver
00049 {
00050 public:
00051         LLPanelDirFind(const std::string& name, LLFloaterDirectory* floater, const std::string& browser_name);
00052         /*virtual*/ ~LLPanelDirFind();
00053 
00054         /*virtual*/ void draw();
00055         /*virtual*/ BOOL postBuild();
00056         /*virtual*/ void onVisibilityChange(BOOL new_visibility);
00057 
00058         // Pure virtual.  Must be implemented
00059         virtual void search(const std::string& search_text) = 0;
00060 
00061         virtual void navigateToDefaultPage();
00062         void focus();
00063 
00064         static std::string buildSearchURL(const std::string& search_text, const std::string& collection, bool mature_in);
00065         static std::string getSearchURLSuffix(bool mature_in);
00066 
00067 private:
00068         static void onClickBack( void* data );
00069         static void onClickForward( void* data );
00070         static void onClickHome( void* data );
00071         static void onClickSearch( void* data );
00072         static void onCommitSearch(LLUICtrl*, void* data);
00073 
00074         /*virtual*/ void onNavigateBegin( const EventType& eventIn );
00075         /*virtual*/ void onNavigateComplete( const EventType& eventIn );
00076 
00077                 // Used to update progress indicator
00078         /*virtual*/ void onLocationChange( const EventType& eventIn );
00079                 // Debugging info to console
00080 
00081 protected:
00082         LLWebBrowserCtrl* mWebBrowser;
00083         std::string mBrowserName;
00084 };
00085 
00086 class LLPanelDirFindAllInterface
00087 {
00088 public:
00089         static LLPanelDirFindAll* create(LLFloaterDirectory* floater);
00090         static void search(LLPanelDirFindAll* panel, const std::string& search_text);
00091         static void focus(LLPanelDirFindAll* panel);
00092 };
00093 
00094 #endif

Generated on Fri May 16 08:33:50 2008 for SecondLife by  doxygen 1.5.5