summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterworldmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloaterworldmap.h')
-rw-r--r--indra/newview/llfloaterworldmap.h84
1 files changed, 67 insertions, 17 deletions
diff --git a/indra/newview/llfloaterworldmap.h b/indra/newview/llfloaterworldmap.h
index 25306d0601..2f2b2b7a0d 100644
--- a/indra/newview/llfloaterworldmap.h
+++ b/indra/newview/llfloaterworldmap.h
@@ -34,8 +34,9 @@
#include "llfloater.h"
#include "llmapimagetype.h"
-#include "lltracker.h"
+#include "llremoteparcelrequest.h"
#include "llslurl.h"
+#include "lltracker.h"
class LLCtrlListInterface;
class LLFriendObserver;
@@ -45,6 +46,26 @@ class LLItemInfo;
class LLLineEditor;
class LLTabContainer;
class LLWorldMapView;
+class LLButton;
+class LLCheckBoxCtrl;
+class LLSliderCtrl;
+class LLSpinCtrl;
+class LLSearchEditor;
+
+class LLWorldMapParcelInfoObserver : public LLRemoteParcelInfoObserver
+{
+public:
+ LLWorldMapParcelInfoObserver(const LLVector3d& pos_global);
+ ~LLWorldMapParcelInfoObserver();
+
+ void processParcelInfo(const LLParcelData& parcel_data);
+ void setParcelID(const LLUUID& parcel_id);
+ void setErrorStatus(S32 status, const std::string& reason);
+
+protected:
+ LLVector3d mPosGlobal;
+ LLUUID mParcelID;
+};
class LLFloaterWorldMap : public LLFloater
{
@@ -56,16 +77,16 @@ public:
static LLFloaterWorldMap* getInstance();
static void *createWorldMapView(void* data);
- BOOL postBuild();
+ 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 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();
@@ -94,9 +115,9 @@ public:
// 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);
+ 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.
@@ -114,6 +135,8 @@ public:
//Slapp instigated avatar tracking
void avatarTrackFromSlapp( const LLUUID& id );
+ void processParcelInfo(const LLParcelData& parcel_data, const LLVector3d& pos_global) const;
+
protected:
void onGoHome();
@@ -133,7 +156,7 @@ protected:
void onExpandCollapseBtn();
- void centerOnTarget(BOOL animate);
+ void centerOnTarget(bool animate);
void updateLocation();
// fly to the tracked item, if there is one
@@ -142,7 +165,6 @@ protected:
void buildLandmarkIDLists();
void flyToLandmark();
void teleportToLandmark();
- void setLandmarkVisited();
void buildAvatarIDList();
void flyToAvatar();
@@ -165,8 +187,13 @@ private:
// enable/disable teleport destination coordinates
void enableTeleportCoordsDisplay( bool enabled );
- std::vector<LLUUID> mLandmarkAssetIDList;
- std::vector<LLUUID> mLandmarkItemIDList;
+ void requestParcelInfo(const LLVector3d& pos_global, const LLVector3d& region_origin);
+ LLVector3d mRequestedGlobalPos;
+ bool mShowParcelInfo;
+ LLWorldMapParcelInfoObserver* mParcelInfoObserver;
+
+ uuid_vec_t mLandmarkAssetIDList;
+ uuid_vec_t mLandmarkItemIDList;
static const LLUUID sHomeID;
@@ -180,10 +207,10 @@ private:
LLVector3 mCompletingRegionPos;
std::string mLastRegionName;
- BOOL mWaitingForTracker;
+ bool mWaitingForTracker;
- BOOL mIsClosing;
- BOOL mSetToUserPosition;
+ bool mIsClosing;
+ bool mSetToUserPosition;
LLVector3d mTrackedLocation;
LLTracker::ETrackingStatus mTrackedStatus;
@@ -195,6 +222,29 @@ private:
LLCtrlListInterface * mListLandmarkCombo;
LLCtrlListInterface * mListSearchResults;
+ LLButton* mTeleportButton = nullptr;
+ LLButton* mShowDestinationButton = nullptr;
+ LLButton* mCopySlurlButton = nullptr;
+ LLButton* mGoHomeButton = nullptr;
+
+ LLCheckBoxCtrl* mPeopleCheck = nullptr;
+ LLCheckBoxCtrl* mInfohubCheck = nullptr;
+ LLCheckBoxCtrl* mLandSaleCheck = nullptr;
+ LLCheckBoxCtrl* mEventsCheck = nullptr;
+ LLCheckBoxCtrl* mEventsMatureCheck = nullptr;
+ LLCheckBoxCtrl* mEventsAdultCheck = nullptr;
+
+ LLUICtrl* mAvatarIcon = nullptr;
+ LLUICtrl* mLandmarkIcon = nullptr;
+ LLUICtrl* mLocationIcon = nullptr;
+
+ LLSearchEditor* mLocationEditor = nullptr;
+ LLUICtrl* mTeleportCoordSpinX = nullptr;
+ LLUICtrl* mTeleportCoordSpinY = nullptr;
+ LLUICtrl* mTeleportCoordSpinZ = nullptr;
+
+ LLSliderCtrl* mZoomSlider = nullptr;
+
boost::signals2::connection mTeleportFinishConnection;
};
@@ -207,8 +257,8 @@ public:
static LLPanelHideBeacon* getInstance();
LLPanelHideBeacon();
- /*virtual*/ BOOL postBuild();
- /*virtual*/ void setVisible(BOOL visible);
+ /*virtual*/ bool postBuild();
+ /*virtual*/ void setVisible(bool visible);
/*virtual*/ void draw();
private: