diff options
author | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
---|---|---|
committer | Ansariel <ansariel.hiller@phoenixviewer.com> | 2024-05-22 19:04:52 +0200 |
commit | 1b67dd855c41f5a0cda7ec2a68d98071986ca703 (patch) | |
tree | ab243607f74f78200787bba5b9b88f07ef1b966f /indra/newview/llfloaterworldmap.h | |
parent | 6d6eabca44d08d5b97bfe3e941d2b9687c2246ea (diff) | |
parent | e1623bb276f83a43ce7a197e388720c05bdefe61 (diff) |
Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# Conflicts:
# autobuild.xml
# indra/cmake/CMakeLists.txt
# indra/cmake/GoogleMock.cmake
# indra/llaudio/llaudioengine_fmodstudio.cpp
# indra/llaudio/llaudioengine_fmodstudio.h
# indra/llaudio/lllistener_fmodstudio.cpp
# indra/llaudio/lllistener_fmodstudio.h
# indra/llaudio/llstreamingaudio_fmodstudio.cpp
# indra/llaudio/llstreamingaudio_fmodstudio.h
# indra/llcharacter/llmultigesture.cpp
# indra/llcharacter/llmultigesture.h
# indra/llimage/llimage.cpp
# indra/llimage/llimagepng.cpp
# indra/llimage/llimageworker.cpp
# indra/llimage/tests/llimageworker_test.cpp
# indra/llmessage/tests/llmockhttpclient.h
# indra/llprimitive/llgltfmaterial.h
# indra/llrender/llfontfreetype.cpp
# indra/llui/llcombobox.cpp
# indra/llui/llfolderview.cpp
# indra/llui/llfolderviewmodel.h
# indra/llui/lllineeditor.cpp
# indra/llui/lllineeditor.h
# indra/llui/lltextbase.cpp
# indra/llui/lltextbase.h
# indra/llui/lltexteditor.cpp
# indra/llui/lltextvalidate.cpp
# indra/llui/lltextvalidate.h
# indra/llui/lluictrl.h
# indra/llui/llview.cpp
# indra/llwindow/llwindowmacosx.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/llappearancemgr.cpp
# indra/newview/llappearancemgr.h
# indra/newview/llavatarpropertiesprocessor.cpp
# indra/newview/llavatarpropertiesprocessor.h
# indra/newview/llbreadcrumbview.cpp
# indra/newview/llbreadcrumbview.h
# indra/newview/llbreastmotion.cpp
# indra/newview/llbreastmotion.h
# indra/newview/llconversationmodel.h
# indra/newview/lldensityctrl.cpp
# indra/newview/lldensityctrl.h
# indra/newview/llface.inl
# indra/newview/llfloatereditsky.cpp
# indra/newview/llfloatereditwater.cpp
# indra/newview/llfloateremojipicker.h
# indra/newview/llfloaterimsessiontab.cpp
# indra/newview/llfloaterprofiletexture.cpp
# indra/newview/llfloaterprofiletexture.h
# indra/newview/llgesturemgr.cpp
# indra/newview/llgesturemgr.h
# indra/newview/llimpanel.cpp
# indra/newview/llimpanel.h
# indra/newview/llinventorybridge.cpp
# indra/newview/llinventorybridge.h
# indra/newview/llinventoryclipboard.cpp
# indra/newview/llinventoryclipboard.h
# indra/newview/llinventoryfunctions.cpp
# indra/newview/llinventoryfunctions.h
# indra/newview/llinventorygallery.cpp
# indra/newview/lllistbrowser.cpp
# indra/newview/lllistbrowser.h
# indra/newview/llpanelobjectinventory.cpp
# indra/newview/llpanelprofile.cpp
# indra/newview/llpanelprofile.h
# indra/newview/llpreviewgesture.cpp
# indra/newview/llsavedsettingsglue.cpp
# indra/newview/llsavedsettingsglue.h
# indra/newview/lltooldraganddrop.cpp
# indra/newview/llurllineeditorctrl.cpp
# indra/newview/llvectorperfoptions.cpp
# indra/newview/llvectorperfoptions.h
# indra/newview/llviewerparceloverlay.cpp
# indra/newview/llviewertexlayer.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/macmain.h
# indra/test/test.cpp
Diffstat (limited to 'indra/newview/llfloaterworldmap.h')
-rw-r--r-- | indra/newview/llfloaterworldmap.h | 448 |
1 files changed, 224 insertions, 224 deletions
diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h index 27235f4435..b0e5c85fb1 100644 --- a/indra/newview/llfloaterworldmap.h +++ b/indra/newview/llfloaterworldmap.h @@ -1,224 +1,224 @@ -/** - * @file llfloaterworldmap.h - * @brief LLFloaterWorldMap class definition - * - * $LicenseInfo:firstyear=2003&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA - * $/LicenseInfo$ - */ - -/* - * Map of the entire world, with multiple background images, - * avatar tracking, teleportation by double-click, etc. - */ - -#ifndef LL_LLFLOATERWORLDMAP_H -#define LL_LLFLOATERWORLDMAP_H - -#include "llfloater.h" -#include "llmapimagetype.h" -#include "lltracker.h" -#include "llslurl.h" - -class LLCtrlListInterface; -class LLFriendObserver; -class LLInventoryModel; -class LLInventoryObserver; -class LLItemInfo; -class LLLineEditor; -class LLTabContainer; -class LLWorldMapView; - -class LLFloaterWorldMap : public LLFloater -{ -public: - LLFloaterWorldMap(const LLSD& key); - virtual ~LLFloaterWorldMap(); - - // Prefer this to gFloaterWorldMap - static LLFloaterWorldMap* getInstance(); - - static void *createWorldMapView(void* data); - bool postBuild(); - - /*virtual*/ void onOpen(const LLSD& key); - /*virtual*/ void onClose(bool app_quitting); - - static void reloadIcons(void*); - - /*virtual*/ void reshape( S32 width, S32 height, bool called_from_parent = true ); - /*virtual*/ bool handleHover(S32 x, S32 y, MASK mask); - /*virtual*/ bool handleScrollWheel(S32 x, S32 y, S32 clicks); - /*virtual*/ void draw(); - - /*virtual*/ void onFocusLost(); - - // methods for dealing with inventory. The observe() method is - // called during program startup. inventoryUpdated() will be - // called by a helper object when an interesting change has - // occurred. - void observeInventory(LLInventoryModel* inventory); - void inventoryChanged(); - - // Calls for dealing with changes in friendship - void observeFriends(); - void friendsChanged(); - - // tracking methods - void trackAvatar( const LLUUID& avatar_id, const std::string& name ); - void trackLandmark( const LLUUID& landmark_item_id ); - void trackLocation(const LLVector3d& pos); - void trackEvent(const LLItemInfo &event_info); - void trackGenericItem(const LLItemInfo &item); - void trackURL(const std::string& region_name, S32 x_coord, S32 y_coord, S32 z_coord); - - static const LLUUID& getHomeID() { return sHomeID; } - - // A z_attenuation of 0.0f collapses the distance into the X-Y plane - F32 getDistanceToDestination(const LLVector3d& pos_global, F32 z_attenuation = 0.5f) const; - - void clearLocationSelection(bool clear_ui = false, bool dest_reached = false); - void clearAvatarSelection(bool clear_ui = false); - void clearLandmarkSelection(bool clear_ui = false); - - // Adjust the maximally zoomed out limit of the zoom slider so you can - // see the whole world, plus a little. - void adjustZoomSliderBounds(); - - // Catch changes in the sim list - void updateSims(bool found_null_sim); - - // teleport to the tracked item, if there is one - void teleport(); - void onChangeMaturity(); - - void onClearBtn(); - - //Slapp instigated avatar tracking - void avatarTrackFromSlapp( const LLUUID& id ); - -protected: - void onGoHome(); - - void onLandmarkComboPrearrange(); - void onLandmarkComboCommit(); - - void onAvatarComboPrearrange(); - void onAvatarComboCommit(); - - void onComboTextEntry( ); - void onSearchTextEntry( ); - - void onClickTeleportBtn(); - void onShowTargetBtn(); - void onShowAgentBtn(); - void onCopySLURL(); - - void onExpandCollapseBtn(); - - void centerOnTarget(bool animate); - void updateLocation(); - - // fly to the tracked item, if there is one - void fly(); - - void buildLandmarkIDLists(); - void flyToLandmark(); - void teleportToLandmark(); - void setLandmarkVisited(); - - void buildAvatarIDList(); - void flyToAvatar(); - void teleportToAvatar(); - - void updateSearchEnabled(); - void onLocationFocusChanged( LLFocusableElement* ctrl ); - void onLocationCommit(); - void onCoordinatesCommit(); - void onCommitSearchResult(); - - void onTeleportFinished(); - -private: - LLWorldMapView* mMapView; // Panel displaying the map - - // update display of teleport destination coordinates - pos is in global coordinates - void updateTeleportCoordsDisplay( const LLVector3d& pos ); - - // enable/disable teleport destination coordinates - void enableTeleportCoordsDisplay( bool enabled ); - - std::vector<LLUUID> mLandmarkAssetIDList; - std::vector<LLUUID> mLandmarkItemIDList; - - static const LLUUID sHomeID; - - LLInventoryModel* mInventory; - LLInventoryObserver* mInventoryObserver; - LLFriendObserver* mFriendObserver; - - std::string mCompletingRegionName; - // Local position from trackURL() request, used to select final - // position once region lookup complete. - LLVector3 mCompletingRegionPos; - - std::string mLastRegionName; - bool mWaitingForTracker; - - bool mIsClosing; - bool mSetToUserPosition; - - LLVector3d mTrackedLocation; - LLTracker::ETrackingStatus mTrackedStatus; - std::string mTrackedSimName; - LLUUID mTrackedAvatarID; - LLSLURL mSLURL; - - LLCtrlListInterface * mListFriendCombo; - LLCtrlListInterface * mListLandmarkCombo; - LLCtrlListInterface * mListSearchResults; - - boost::signals2::connection mTeleportFinishConnection; -}; - -extern LLFloaterWorldMap* gFloaterWorldMap; - - -class LLPanelHideBeacon : public LLPanel -{ -public: - static LLPanelHideBeacon* getInstance(); - - LLPanelHideBeacon(); - /*virtual*/ bool postBuild(); - /*virtual*/ void setVisible(bool visible); - /*virtual*/ void draw(); - -private: - static LLPanelHideBeacon* getPanelHideBeacon(); - void onHideButtonClick(); - void updatePosition(); - - LLButton* mHideButton; - -}; - -#endif - +/**
+ * @file llfloaterworldmap.h
+ * @brief LLFloaterWorldMap class definition
+ *
+ * $LicenseInfo:firstyear=2003&license=viewerlgpl$
+ * Second Life Viewer Source Code
+ * Copyright (C) 2010, Linden Research, Inc.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
+ * $/LicenseInfo$
+ */
+
+/*
+ * Map of the entire world, with multiple background images,
+ * avatar tracking, teleportation by double-click, etc.
+ */
+
+#ifndef LL_LLFLOATERWORLDMAP_H
+#define LL_LLFLOATERWORLDMAP_H
+
+#include "llfloater.h"
+#include "llmapimagetype.h"
+#include "lltracker.h"
+#include "llslurl.h"
+
+class LLCtrlListInterface;
+class LLFriendObserver;
+class LLInventoryModel;
+class LLInventoryObserver;
+class LLItemInfo;
+class LLLineEditor;
+class LLTabContainer;
+class LLWorldMapView;
+
+class LLFloaterWorldMap : public LLFloater
+{
+public:
+ LLFloaterWorldMap(const LLSD& key);
+ virtual ~LLFloaterWorldMap();
+
+ // Prefer this to gFloaterWorldMap
+ static LLFloaterWorldMap* getInstance();
+
+ static void *createWorldMapView(void* data);
+ bool postBuild();
+
+ /*virtual*/ void onOpen(const LLSD& key);
+ /*virtual*/ void onClose(bool app_quitting);
+
+ static void reloadIcons(void*);
+
+ /*virtual*/ void reshape( S32 width, S32 height, bool called_from_parent = true );
+ /*virtual*/ bool handleHover(S32 x, S32 y, MASK mask);
+ /*virtual*/ bool handleScrollWheel(S32 x, S32 y, S32 clicks);
+ /*virtual*/ void draw();
+
+ /*virtual*/ void onFocusLost();
+
+ // methods for dealing with inventory. The observe() method is
+ // called during program startup. inventoryUpdated() will be
+ // called by a helper object when an interesting change has
+ // occurred.
+ void observeInventory(LLInventoryModel* inventory);
+ void inventoryChanged();
+
+ // Calls for dealing with changes in friendship
+ void observeFriends();
+ void friendsChanged();
+
+ // tracking methods
+ void trackAvatar( const LLUUID& avatar_id, const std::string& name );
+ void trackLandmark( const LLUUID& landmark_item_id );
+ void trackLocation(const LLVector3d& pos);
+ void trackEvent(const LLItemInfo &event_info);
+ void trackGenericItem(const LLItemInfo &item);
+ void trackURL(const std::string& region_name, S32 x_coord, S32 y_coord, S32 z_coord);
+
+ static const LLUUID& getHomeID() { return sHomeID; }
+
+ // A z_attenuation of 0.0f collapses the distance into the X-Y plane
+ F32 getDistanceToDestination(const LLVector3d& pos_global, F32 z_attenuation = 0.5f) const;
+
+ void clearLocationSelection(bool clear_ui = false, bool dest_reached = false);
+ void clearAvatarSelection(bool clear_ui = false);
+ void clearLandmarkSelection(bool clear_ui = false);
+
+ // Adjust the maximally zoomed out limit of the zoom slider so you can
+ // see the whole world, plus a little.
+ void adjustZoomSliderBounds();
+
+ // Catch changes in the sim list
+ void updateSims(bool found_null_sim);
+
+ // teleport to the tracked item, if there is one
+ void teleport();
+ void onChangeMaturity();
+
+ void onClearBtn();
+
+ //Slapp instigated avatar tracking
+ void avatarTrackFromSlapp( const LLUUID& id );
+
+protected:
+ void onGoHome();
+
+ void onLandmarkComboPrearrange();
+ void onLandmarkComboCommit();
+
+ void onAvatarComboPrearrange();
+ void onAvatarComboCommit();
+
+ void onComboTextEntry( );
+ void onSearchTextEntry( );
+
+ void onClickTeleportBtn();
+ void onShowTargetBtn();
+ void onShowAgentBtn();
+ void onCopySLURL();
+
+ void onExpandCollapseBtn();
+
+ void centerOnTarget(bool animate);
+ void updateLocation();
+
+ // fly to the tracked item, if there is one
+ void fly();
+
+ void buildLandmarkIDLists();
+ void flyToLandmark();
+ void teleportToLandmark();
+ void setLandmarkVisited();
+
+ void buildAvatarIDList();
+ void flyToAvatar();
+ void teleportToAvatar();
+
+ void updateSearchEnabled();
+ void onLocationFocusChanged( LLFocusableElement* ctrl );
+ void onLocationCommit();
+ void onCoordinatesCommit();
+ void onCommitSearchResult();
+
+ void onTeleportFinished();
+
+private:
+ LLWorldMapView* mMapView; // Panel displaying the map
+
+ // update display of teleport destination coordinates - pos is in global coordinates
+ void updateTeleportCoordsDisplay( const LLVector3d& pos );
+
+ // enable/disable teleport destination coordinates
+ void enableTeleportCoordsDisplay( bool enabled );
+
+ std::vector<LLUUID> mLandmarkAssetIDList;
+ std::vector<LLUUID> mLandmarkItemIDList;
+
+ static const LLUUID sHomeID;
+
+ LLInventoryModel* mInventory;
+ LLInventoryObserver* mInventoryObserver;
+ LLFriendObserver* mFriendObserver;
+
+ std::string mCompletingRegionName;
+ // Local position from trackURL() request, used to select final
+ // position once region lookup complete.
+ LLVector3 mCompletingRegionPos;
+
+ std::string mLastRegionName;
+ bool mWaitingForTracker;
+
+ bool mIsClosing;
+ bool mSetToUserPosition;
+
+ LLVector3d mTrackedLocation;
+ LLTracker::ETrackingStatus mTrackedStatus;
+ std::string mTrackedSimName;
+ LLUUID mTrackedAvatarID;
+ LLSLURL mSLURL;
+
+ LLCtrlListInterface * mListFriendCombo;
+ LLCtrlListInterface * mListLandmarkCombo;
+ LLCtrlListInterface * mListSearchResults;
+
+ boost::signals2::connection mTeleportFinishConnection;
+};
+
+extern LLFloaterWorldMap* gFloaterWorldMap;
+
+
+class LLPanelHideBeacon : public LLPanel
+{
+public:
+ static LLPanelHideBeacon* getInstance();
+
+ LLPanelHideBeacon();
+ /*virtual*/ bool postBuild();
+ /*virtual*/ void setVisible(bool visible);
+ /*virtual*/ void draw();
+
+private:
+ static LLPanelHideBeacon* getPanelHideBeacon();
+ void onHideButtonClick();
+ void updatePosition();
+
+ LLButton* mHideButton;
+
+};
+
+#endif
+
|