summaryrefslogtreecommitdiff
path: root/indra/newview/llfloaterpathfindingobjects.h
diff options
context:
space:
mode:
authorTodd Stinson <stinson@lindenlab.com>2012-08-14 14:54:29 -0700
committerTodd Stinson <stinson@lindenlab.com>2012-08-14 14:54:29 -0700
commit683a96a5f1e9111d62710fe621d52192d34079ed (patch)
tree6185a07b5c1be5748973f423f156d8916cc8bca6 /indra/newview/llfloaterpathfindingobjects.h
parent9e2db5a173a0e25001bd330421c8738776410481 (diff)
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.
Diffstat (limited to 'indra/newview/llfloaterpathfindingobjects.h')
-rw-r--r--indra/newview/llfloaterpathfindingobjects.h16
1 files changed, 9 insertions, 7 deletions
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;