From 3c2be426e5e905076d00b9492c0e66c8b31caf19 Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Wed, 30 May 2012 18:47:12 -0700 Subject: First pass at refactoring the pathfinding linksets and pathfinding characters classes to reduce code duplication, as both functionalities were heavily duplicated. --- indra/newview/llfloaterpathfindingobjects.h | 152 ++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 indra/newview/llfloaterpathfindingobjects.h (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h new file mode 100644 index 0000000000..7fa7f89f51 --- /dev/null +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -0,0 +1,152 @@ +/** +* @file llfloaterpathfindingobjects.h +* @brief Header file for llfloaterpathfindingobjects +* @author Stinson@lindenlab.com +* +* $LicenseInfo:firstyear=2012&license=viewerlgpl$ +* Second Life Viewer Source Code +* Copyright (C) 2012, 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$ +*/ +#ifndef LL_LLFLOATERPATHFINDINGOBJECTS_H +#define LL_LLFLOATERPATHFINDINGOBJECTS_H + +#include <boost/signals2.hpp> + +#include "llfloater.h" +#include "llpathfindingmanager.h" +#include "llpathfindingobject.h" +#include "llpathfindingobjectlist.h" +#include "llselectmgr.h" +#include "v4color.h" + +class LLButton; +class LLCheckBoxCtrl; +class LLScrollListCtrl; +class LLSD; +class LLTextBase; + +class LLFloaterPathfindingObjects : public LLFloater +{ +public: + virtual void onOpen(const LLSD &pKey); + virtual void onClose(bool pIsAppQuitting); + virtual void draw(); + +protected: + friend class LLFloaterReg; + + typedef enum + { + kMessagingUnknown, + kMessagingGetRequestSent, + kMessagingGetError, + kMessagingSetRequestSent, + kMessagingSetError, + kMessagingComplete, + kMessagingNotEnabled + } EMessagingState; + + LLFloaterPathfindingObjects(const LLSD &pSeed); + virtual ~LLFloaterPathfindingObjects(); + + virtual BOOL postBuild(); + + virtual void requestGetObjects(); + LLPathfindingManager::request_id_t getNewRequestId(); + void handleNewObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList); + void handleUpdateObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList); + + void rebuildObjectsScrollList(); + virtual LLSD convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) const; + + virtual void updateControls(); + virtual void updateSelection(); + + virtual S32 getNameColumnIndex() const; + virtual const LLColor4 &getBeaconColor() const; + virtual const LLColor4 &getBeaconTextColor() const; + virtual S32 getBeaconWidth() const; + + BOOL isShowBeacons() const; + void clearAllObjects(); + void selectAllObjects(); + void selectNoneObjects(); + void teleportToSelectedObject(); + + virtual LLPathfindingObjectListPtr getEmptyObjectList() const; + int getNumSelectedObjects() const; + LLPathfindingObjectListPtr getSelectedObjects() const; + LLPathfindingObjectPtr getFirstSelectedObject() const; + + EMessagingState getMessagingState() const; + +private: + LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther); + + void setMessagingState(EMessagingState pMessagingState); + + void onRefreshObjectsClicked(); + void onSelectAllObjectsClicked(); + void onSelectNoneObjectsClicked(); + void onTakeClicked(); + void onTakeCopyClicked(); + void onReturnClicked(); + void onDeleteClicked(); + void onTeleportClicked(); + + void onScrollListSelectionChanged(); + void onSelectionListChanged(); + void onRegionBoundaryCrossed(); + + void updateMessagingStatus(); + void updateStateOnListActionControls(); + void updateStateOnEditFields(); + + LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; + + LLScrollListCtrl *mObjectsScrollList; + LLTextBase *mMessagingStatus; + LLButton *mRefreshListButton; + LLButton *mSelectAllButton; + LLButton *mSelectNoneButton; + LLCheckBoxCtrl *mShowBeaconCheckBox; + LLButton *mTakeButton; + LLButton *mTakeCopyButton; + LLButton *mReturnButton; + LLButton *mDeleteButton; + LLButton *mTeleportButton; + + LLColor4 mDefaultBeaconColor; + LLColor4 mDefaultBeaconTextColor; + LLColor4 mErrorTextColor; + LLColor4 mWarningTextColor; + + EMessagingState mMessagingState; + LLPathfindingManager::request_id_t mMessagingRequestId; + + LLPathfindingObjectListPtr mObjectList; + + LLObjectSelectionHandle mObjectsSelection; + + boost::signals2::connection mSelectionUpdateSlot; + boost::signals2::connection mRegionBoundaryCrossingSlot; +}; + +#endif // LL_LLFLOATERPATHFINDINGOBJECTS_H -- cgit v1.2.3 From 3352a1eac15f752535b636866eeb966ec3900c62 Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Wed, 30 May 2012 19:39:08 -0700 Subject: Cleaning up some unreferenced headers and classes definitions from previous refactoring. --- indra/newview/llfloaterpathfindingobjects.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 7fa7f89f51..34eb129864 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -39,6 +39,7 @@ class LLButton; class LLCheckBoxCtrl; class LLScrollListCtrl; +class LLScrollListItem; class LLSD; class LLTextBase; -- cgit v1.2.3 From 938f42ded789dd70b31820d29694256cec3a1572 Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Thu, 31 May 2012 12:22:47 -0700 Subject: Reloading the the pathfinding object floaters when the god level is changed. --- indra/newview/llfloaterpathfindingobjects.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 34eb129864..79d241757c 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -29,6 +29,7 @@ #include <boost/signals2.hpp> +#include "llagent.h" #include "llfloater.h" #include "llpathfindingmanager.h" #include "llpathfindingobject.h" @@ -115,6 +116,7 @@ private: void onScrollListSelectionChanged(); void onSelectionListChanged(); void onRegionBoundaryCrossed(); + void onGodLevelChange(U8 pGodLevel); void updateMessagingStatus(); void updateStateOnListActionControls(); @@ -148,6 +150,7 @@ private: boost::signals2::connection mSelectionUpdateSlot; boost::signals2::connection mRegionBoundaryCrossingSlot; + LLAgent::god_level_change_slot_t mGodLevelChangeSlot; }; #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H -- cgit v1.2.3 From ef75a2e07ec4f26c9126c04af1adfbd28d7eaa9b Mon Sep 17 00:00:00 2001 From: prep <prep@lindenlab.com> Date: Thu, 31 May 2012 16:38:19 -0400 Subject: WIP:Displaying physics capsule for a character - it is currently disabled. --- indra/newview/llfloaterpathfindingobjects.h | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 34eb129864..f9c099e1a2 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -98,6 +98,11 @@ protected: EMessagingState getMessagingState() const; +public: + LLUUID getUUIDFromSelection( LLVector3& pos ); + BOOL isPhysicsCapsuleEnabled( LLUUID& id, LLVector3& pos ); + void onShowPhysicsCapsuleClicked(); + private: LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther); @@ -128,6 +133,7 @@ private: LLButton *mSelectAllButton; LLButton *mSelectNoneButton; LLCheckBoxCtrl *mShowBeaconCheckBox; + LLCheckBoxCtrl *mShowPhysicsCapsuleCheckBox; LLButton *mTakeButton; LLButton *mTakeCopyButton; LLButton *mReturnButton; @@ -148,6 +154,11 @@ private: boost::signals2::connection mSelectionUpdateSlot; boost::signals2::connection mRegionBoundaryCrossingSlot; +public: + + LLRootHandle<LLFloaterPathfindingObjects> mSelfHandle; + static LLHandle<LLFloaterPathfindingObjects> sInstanceHandle; + static LLHandle<LLFloaterPathfindingObjects> getInstanceHandle(); }; #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H -- cgit v1.2.3 From 41bcd567646190cda86ec3ee77041bd84193c377 Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Thu, 31 May 2012 17:25:41 -0700 Subject: A bit more class clean-up for the LLFloaterPathfindingObjects. --- indra/newview/llfloaterpathfindingobjects.h | 40 ++++++++++++++--------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 79d241757c..aacf299d13 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -79,7 +79,6 @@ protected: virtual LLSD convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) const; virtual void updateControls(); - virtual void updateSelection(); virtual S32 getNameColumnIndex() const; virtual const LLColor4 &getBeaconColor() const; @@ -102,25 +101,26 @@ protected: private: LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther); - void setMessagingState(EMessagingState pMessagingState); - - void onRefreshObjectsClicked(); - void onSelectAllObjectsClicked(); - void onSelectNoneObjectsClicked(); - void onTakeClicked(); - void onTakeCopyClicked(); - void onReturnClicked(); - void onDeleteClicked(); - void onTeleportClicked(); - - void onScrollListSelectionChanged(); - void onSelectionListChanged(); - void onRegionBoundaryCrossed(); - void onGodLevelChange(U8 pGodLevel); - - void updateMessagingStatus(); - void updateStateOnListActionControls(); - void updateStateOnEditFields(); + void setMessagingState(EMessagingState pMessagingState); + + void onRefreshObjectsClicked(); + void onSelectAllObjectsClicked(); + void onSelectNoneObjectsClicked(); + void onTakeClicked(); + void onTakeCopyClicked(); + void onReturnClicked(); + void onDeleteClicked(); + void onTeleportClicked(); + + void onScrollListSelectionChanged(); + void onInWorldSelectionListChanged(); + void onRegionBoundaryCrossed(); + void onGodLevelChange(U8 pGodLevel); + + void updateMessagingStatus(); + void updateStateOnListActionControls(); + void updateStateOnEditFields(); + void updateOnScrollListChange(); LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; -- cgit v1.2.3 From a8ff37b95609148c60ddda9acfca65b2b89d6b9d Mon Sep 17 00:00:00 2001 From: prep <none@none> Date: Fri, 1 Jun 2012 15:48:19 -0400 Subject: Migrated physics capsule logic into pathing character object --- indra/newview/llfloaterpathfindingobjects.h | 18 ++++++------------ 1 file changed, 6 insertions(+), 12 deletions(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index fc096a7c31..e0f3c12419 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -50,6 +50,7 @@ public: virtual void onOpen(const LLSD &pKey); virtual void onClose(bool pIsAppQuitting); virtual void draw(); + virtual void updateStateOnEditFields(); protected: friend class LLFloaterReg; @@ -98,11 +99,6 @@ protected: EMessagingState getMessagingState() const; -public: - LLUUID getUUIDFromSelection( LLVector3& pos ); - BOOL isPhysicsCapsuleEnabled( LLUUID& id, LLVector3& pos ); - void onShowPhysicsCapsuleClicked(); - private: LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther); @@ -124,18 +120,20 @@ private: void updateMessagingStatus(); void updateStateOnListActionControls(); - void updateStateOnEditFields(); void updateOnScrollListChange(); LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; + void unhideAnyCharacters( ); + +protected: LLScrollListCtrl *mObjectsScrollList; LLTextBase *mMessagingStatus; LLButton *mRefreshListButton; LLButton *mSelectAllButton; LLButton *mSelectNoneButton; LLCheckBoxCtrl *mShowBeaconCheckBox; - LLCheckBoxCtrl *mShowPhysicsCapsuleCheckBox; + LLButton *mTakeButton; LLButton *mTakeCopyButton; LLButton *mReturnButton; @@ -157,11 +155,7 @@ private: boost::signals2::connection mSelectionUpdateSlot; boost::signals2::connection mRegionBoundaryCrossingSlot; LLAgent::god_level_change_slot_t mGodLevelChangeSlot; -public: - - LLRootHandle<LLFloaterPathfindingObjects> mSelfHandle; - static LLHandle<LLFloaterPathfindingObjects> sInstanceHandle; - static LLHandle<LLFloaterPathfindingObjects> getInstanceHandle(); + }; #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H -- cgit v1.2.3 From bf8d3e1d304007cbd2a723808193e172b3e56c8a Mon Sep 17 00:00:00 2001 From: prep <none@none> Date: Fri, 1 Jun 2012 16:02:12 -0400 Subject: Migrated restoration of physics capsule into pathing character --- indra/newview/llfloaterpathfindingobjects.h | 2 -- 1 file changed, 2 deletions(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index e0f3c12419..7e7f1b9449 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -124,8 +124,6 @@ private: LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; - void unhideAnyCharacters( ); - protected: LLScrollListCtrl *mObjectsScrollList; LLTextBase *mMessagingStatus; -- cgit v1.2.3 From ea23285f8b728bf52c8490610c610f4abd2d6957 Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Mon, 4 Jun 2012 14:36:43 -0700 Subject: Ensuring that the scroll list is rebuilt after any missing avatar names are loaded into cache. --- indra/newview/llfloaterpathfindingobjects.h | 39 +++++++++++++++++------------ 1 file changed, 23 insertions(+), 16 deletions(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 7e7f1b9449..604d026f29 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -27,6 +27,7 @@ #ifndef LL_LLFLOATERPATHFINDINGOBJECTS_H #define LL_LLFLOATERPATHFINDINGOBJECTS_H +#include <set> #include <boost/signals2.hpp> #include "llagent.h" @@ -37,6 +38,7 @@ #include "llselectmgr.h" #include "v4color.h" +class LLAvatarName; class LLButton; class LLCheckBoxCtrl; class LLScrollListCtrl; @@ -77,7 +79,9 @@ protected: void handleUpdateObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList); void rebuildObjectsScrollList(); - virtual LLSD convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr) const; + virtual LLSD convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr); + + void rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId); virtual void updateControls(); @@ -102,24 +106,26 @@ protected: private: LLFloaterPathfindingObjects(const LLFloaterPathfindingObjects &pOther); - void setMessagingState(EMessagingState pMessagingState); + void setMessagingState(EMessagingState pMessagingState); - void onRefreshObjectsClicked(); - void onSelectAllObjectsClicked(); - void onSelectNoneObjectsClicked(); - void onTakeClicked(); - void onTakeCopyClicked(); - void onReturnClicked(); - void onDeleteClicked(); - void onTeleportClicked(); + void onRefreshObjectsClicked(); + void onSelectAllObjectsClicked(); + void onSelectNoneObjectsClicked(); + void onTakeClicked(); + void onTakeCopyClicked(); + void onReturnClicked(); + void onDeleteClicked(); + void onTeleportClicked(); - void onScrollListSelectionChanged(); + void onScrollListSelectionChanged(); void onInWorldSelectionListChanged(); - void onRegionBoundaryCrossed(); + void onRegionBoundaryCrossed(); void onGodLevelChange(U8 pGodLevel); - void updateMessagingStatus(); - void updateStateOnListActionControls(); + void handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName); + + void updateMessagingStatus(); + void updateStateOnListActionControls(); void updateOnScrollListChange(); LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; @@ -131,13 +137,15 @@ protected: LLButton *mSelectAllButton; LLButton *mSelectNoneButton; LLCheckBoxCtrl *mShowBeaconCheckBox; - + LLButton *mTakeButton; LLButton *mTakeCopyButton; LLButton *mReturnButton; LLButton *mDeleteButton; LLButton *mTeleportButton; + std::set<LLUUID> mLoadingAvatarNames; + LLColor4 mDefaultBeaconColor; LLColor4 mDefaultBeaconTextColor; LLColor4 mErrorTextColor; @@ -153,7 +161,6 @@ protected: boost::signals2::connection mSelectionUpdateSlot; boost::signals2::connection mRegionBoundaryCrossingSlot; LLAgent::god_level_change_slot_t mGodLevelChangeSlot; - }; #endif // LL_LLFLOATERPATHFINDINGOBJECTS_H -- cgit v1.2.3 From e85909aa9b52ac439f2886ca0048069fb9561893 Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Mon, 4 Jun 2012 16:22:01 -0700 Subject: Some class refactoring. --- indra/newview/llfloaterpathfindingobjects.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 604d026f29..cf418b3b71 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -52,7 +52,6 @@ public: virtual void onOpen(const LLSD &pKey); virtual void onClose(bool pIsAppQuitting); virtual void draw(); - virtual void updateStateOnEditFields(); protected: friend class LLFloaterReg; @@ -126,11 +125,11 @@ private: void updateMessagingStatus(); void updateStateOnListActionControls(); + void updateStateOnEditFields(); void updateOnScrollListChange(); LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; -protected: LLScrollListCtrl *mObjectsScrollList; LLTextBase *mMessagingStatus; LLButton *mRefreshListButton; -- cgit v1.2.3 From e78266e9378bdd19ea4a8f7833cf39e59d2faecc Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Fri, 15 Jun 2012 12:45:41 -0700 Subject: BUGFIX: Correcting a behavior where moving the cursor over a selected object inappropriately called updateControls(). Fix was to break the updateControl() functionality into two separate handlers updateControlsOnScrollListChange() and updateControlsOnInWorldSelectionChange(). --- indra/newview/llfloaterpathfindingobjects.h | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index cf418b3b71..88790db12d 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -82,7 +82,8 @@ protected: void rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId); - virtual void updateControls(); + virtual void updateControlsOnScrollListChange(); + virtual void updateControlsOnInWorldSelectionChange(); virtual S32 getNameColumnIndex() const; virtual const LLColor4 &getBeaconColor() const; @@ -124,9 +125,9 @@ private: void handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName); void updateMessagingStatus(); - void updateStateOnListActionControls(); - void updateStateOnEditFields(); - void updateOnScrollListChange(); + void updateStateOnListControls(); + void updateStateOnActionControls(); + void selectScrollListItemsInWorld(); LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; -- cgit v1.2.3 From 328322436c046bf229de83041b29ebe5ce7c4029 Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Fri, 22 Jun 2012 16:12:32 -0700 Subject: PATH-764,PATH-765: Adding in a context menu option on right-click of an object to show in the linksets floater if all objects are non-characters, or to show in the characters floater if all objects are characters. --- indra/newview/llfloaterpathfindingobjects.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 88790db12d..6d5d6d24b2 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -36,6 +36,7 @@ #include "llpathfindingobject.h" #include "llpathfindingobjectlist.h" #include "llselectmgr.h" +#include "lluuid.h" #include "v4color.h" class LLAvatarName; @@ -90,6 +91,8 @@ protected: virtual const LLColor4 &getBeaconTextColor() const; virtual S32 getBeaconWidth() const; + void showFloaterWithSelectionObjects(); + BOOL isShowBeacons() const; void clearAllObjects(); void selectAllObjects(); @@ -158,6 +161,9 @@ private: LLObjectSelectionHandle mObjectsSelection; + bool mHasObjectsToBeSelected; + uuid_vec_t mObjectsToBeSelected; + boost::signals2::connection mSelectionUpdateSlot; boost::signals2::connection mRegionBoundaryCrossingSlot; LLAgent::god_level_change_slot_t mGodLevelChangeSlot; -- cgit v1.2.3 From bf86a697313869627f8b7025ecd68032f2556f6f Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Mon, 25 Jun 2012 15:37:18 -0700 Subject: PATH-717: Minor UI changes from Leo. Also, adding a notification when attempting to return or delete multiple items. --- indra/newview/llfloaterpathfindingobjects.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 6d5d6d24b2..84b0f3f3fe 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -132,6 +132,9 @@ private: void updateStateOnActionControls(); void selectScrollListItemsInWorld(); + void handleReturnItemsResponse(const LLSD &pNotification, const LLSD &pResponse); + void handleDeleteItemsResponse(const LLSD &pNotification, const LLSD &pResponse); + LLPathfindingObjectPtr findObject(const LLScrollListItem *pListItem) const; LLScrollListCtrl *mObjectsScrollList; -- cgit v1.2.3 From 78910cf3016fc55eaf8214640b348df0f8bcdeda Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Tue, 26 Jun 2012 18:04:19 -0700 Subject: Updating the header licensing comments. --- indra/newview/llfloaterpathfindingobjects.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 84b0f3f3fe..42db7bba65 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -1,6 +1,6 @@ /** * @file llfloaterpathfindingobjects.h -* @brief Header file for llfloaterpathfindingobjects +* @brief Base class for both the pathfinding linksets and characters floater. * @author Stinson@lindenlab.com * * $LicenseInfo:firstyear=2012&license=viewerlgpl$ -- cgit v1.2.3 From 685a672b74550ca0dbf8a816257c84c9c44fd34d Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Thu, 28 Jun 2012 15:37:55 -0700 Subject: Cleaning up new files in preparation for merge into viewer-release. --- indra/newview/llfloaterpathfindingobjects.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index 42db7bba65..e8d446b598 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -28,6 +28,7 @@ #define LL_LLFLOATERPATHFINDINGOBJECTS_H #include <set> + #include <boost/signals2.hpp> #include "llagent.h" -- cgit v1.2.3 From 683a96a5f1e9111d62710fe621d52192d34079ed Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Tue, 14 Aug 2012 14:54:29 -0700 Subject: PATH-849: Refactoring the behavior after loading the owner name of a pathfinding object into the avatar name cache so that each object can simply update its respective row in the scroll list rather than rebuilding from scratch after all names are loaded. --- indra/newview/llfloaterpathfindingobjects.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index e8d446b598..b7fd4340ed 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -27,7 +27,8 @@ #ifndef LL_LLFLOATERPATHFINDINGOBJECTS_H #define LL_LLFLOATERPATHFINDINGOBJECTS_H -#include <set> +#include <string> +#include <map> #include <boost/signals2.hpp> @@ -80,14 +81,14 @@ protected: void handleUpdateObjectList(LLPathfindingManager::request_id_t pRequestId, LLPathfindingManager::ERequestStatus pRequestStatus, LLPathfindingObjectListPtr pObjectList); void rebuildObjectsScrollList(); - virtual LLSD convertObjectsIntoScrollListData(const LLPathfindingObjectListPtr pObjectListPtr); - - void rebuildScrollListAfterAvatarNameLoads(const LLUUID &pAvatarId); + virtual void buildObjectsScrollList(const LLPathfindingObjectListPtr pObjectListPtr); + void addObjectToScrollList(const LLPathfindingObjectPtr pObjectPr, const LLSD &pScrollListItemData); virtual void updateControlsOnScrollListChange(); virtual void updateControlsOnInWorldSelectionChange(); virtual S32 getNameColumnIndex() const; + virtual S32 getOwnerNameColumnIndex() const; virtual const LLColor4 &getBeaconColor() const; virtual const LLColor4 &getBeaconTextColor() const; virtual S32 getBeaconWidth() const; @@ -126,7 +127,7 @@ private: void onRegionBoundaryCrossed(); void onGodLevelChange(U8 pGodLevel); - void handleAvatarNameLoads(const LLUUID &pAvatarId, const LLAvatarName &pAvatarName); + void handleObjectNameResponse(const LLUUID &pObjectUUID, const std::string &pOwnerName); void updateMessagingStatus(); void updateStateOnListControls(); @@ -151,8 +152,6 @@ private: LLButton *mDeleteButton; LLButton *mTeleportButton; - std::set<LLUUID> mLoadingAvatarNames; - LLColor4 mDefaultBeaconColor; LLColor4 mDefaultBeaconTextColor; LLColor4 mErrorTextColor; @@ -161,6 +160,9 @@ private: EMessagingState mMessagingState; LLPathfindingManager::request_id_t mMessagingRequestId; + typedef std::map<std::string, LLScrollListItem *> scroll_list_item_map; + scroll_list_item_map mMissingNameObjectsScrollListItems; + LLPathfindingObjectListPtr mObjectList; LLObjectSelectionHandle mObjectsSelection; -- cgit v1.2.3 From fddaf38f892aa608f9db9c034f6c583d638b6fcf Mon Sep 17 00:00:00 2001 From: Todd Stinson <stinson@lindenlab.com> Date: Tue, 14 Aug 2012 16:04:12 -0700 Subject: PATH-849: Group objects were losing their [group] identifier following the last commit. This should fix that issue. --- indra/newview/llfloaterpathfindingobjects.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h index b7fd4340ed..4024e15fd6 100644 --- a/indra/newview/llfloaterpathfindingobjects.h +++ b/indra/newview/llfloaterpathfindingobjects.h @@ -89,6 +89,7 @@ protected: virtual S32 getNameColumnIndex() const; virtual S32 getOwnerNameColumnIndex() const; + virtual std::string getOwnerName(const LLPathfindingObject *pObject) const; virtual const LLColor4 &getBeaconColor() const; virtual const LLColor4 &getBeaconTextColor() const; virtual S32 getBeaconWidth() const; @@ -127,7 +128,7 @@ private: void onRegionBoundaryCrossed(); void onGodLevelChange(U8 pGodLevel); - void handleObjectNameResponse(const LLUUID &pObjectUUID, const std::string &pOwnerName); + void handleObjectNameResponse(const LLPathfindingObject *pObject); void updateMessagingStatus(); void updateStateOnListControls(); -- cgit v1.2.3 From bf6182daa8b4d7cea79310547f71d7a3155e17b0 Mon Sep 17 00:00:00 2001 From: Graham Madarasz <graham@lindenlab.com> Date: Fri, 29 Mar 2013 07:50:08 -0700 Subject: Update Mac and Windows breakpad builds to latest --- indra/newview/llfloaterpathfindingobjects.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) mode change 100644 => 100755 indra/newview/llfloaterpathfindingobjects.h (limited to 'indra/newview/llfloaterpathfindingobjects.h') diff --git a/indra/newview/llfloaterpathfindingobjects.h b/indra/newview/llfloaterpathfindingobjects.h old mode 100644 new mode 100755 -- cgit v1.2.3