llfloatersearch.h
上传用户:king477883
上传日期:2021-03-01
资源大小:9553k
文件大小:3k
源码类别:

游戏引擎

开发平台:

C++ Builder

  1. /** 
  2.  * @file llfloatersearch.h
  3.  * @author Martin Reddy
  4.  * @brief Search floater - uses an embedded web browser control
  5.  *
  6.  * $LicenseInfo:firstyear=2009&license=viewergpl$
  7.  * 
  8.  * Copyright (c) 2009-2010, Linden Research, Inc.
  9.  * 
  10.  * Second Life Viewer Source Code
  11.  * The source code in this file ("Source Code") is provided by Linden Lab
  12.  * to you under the terms of the GNU General Public License, version 2.0
  13.  * ("GPL"), unless you have obtained a separate licensing agreement
  14.  * ("Other License"), formally executed by you and Linden Lab.  Terms of
  15.  * the GPL can be found in doc/GPL-license.txt in this distribution, or
  16.  * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
  17.  * 
  18.  * There are special exceptions to the terms and conditions of the GPL as
  19.  * it is applied to this Source Code. View the full text of the exception
  20.  * in the file doc/FLOSS-exception.txt in this software distribution, or
  21.  * online at
  22.  * http://secondlifegrid.net/programs/open_source/licensing/flossexception
  23.  * 
  24.  * By copying, modifying or distributing this software, you acknowledge
  25.  * that you have read and understood your obligations described above,
  26.  * and agree to abide by those obligations.
  27.  * 
  28.  * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
  29.  * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
  30.  * COMPLETENESS OR PERFORMANCE.
  31.  * $/LicenseInfo$
  32.  */
  33. #ifndef LL_LLFLOATERSEARCH_H
  34. #define LL_LLFLOATERSEARCH_H
  35. #include "llfloater.h"
  36. #include "llviewermediaobserver.h"
  37. #include <string>
  38. class LLMediaCtrl;
  39. ///
  40. /// The search floater allows users to perform all search operations.
  41. /// All search functionality is now implemented via web services and
  42. /// so this floater simply embeds a web view and displays the search
  43. /// web page. The browser control is explicitly marked as "trusted"
  44. /// so that the user can click on teleport links in search results.
  45. ///
  46. class LLFloaterSearch : 
  47. public LLFloater, 
  48. public LLViewerMediaObserver
  49. {
  50. public:
  51. LLFloaterSearch(const LLSD& key);
  52. /// show the search floater with a new search
  53. /// see search() for details on the key parameter.
  54. /*virtual*/ void onOpen(const LLSD& key);
  55. /*virtual*/ void onClose(bool app_quitting);
  56. /// perform a search with the specific search term.
  57. /// The key should be a map that can contain the following keys:
  58. ///  - "id": specifies the text phrase to search for
  59. ///  - "category": one of "all" (default), "people", "places",
  60. ///    "events", "groups", "wiki", "destinations", "classifieds"
  61. void search(const LLSD &key);
  62. /// changing godmode can affect the search results that are
  63. /// returned by the search website - use this method to tell the
  64. /// search floater that the user has changed god level.
  65. void godLevelChanged(U8 godlevel);
  66. private:
  67. /*virtual*/ BOOL postBuild();
  68. // inherited from LLViewerMediaObserver
  69. /*virtual*/ void handleMediaEvent(LLPluginClassMedia *self, EMediaEvent event);
  70. LLMediaCtrl *mBrowser;
  71. LLSD        mCategoryPaths;
  72. U8          mSearchGodLevel;
  73. };
  74. #endif  // LL_LLFLOATERSEARCH_H