diff options
Diffstat (limited to 'indra/newview/llfloaterworldmap.h')
-rw-r--r-- | indra/newview/llfloaterworldmap.h | 84 |
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: |