Adding an owner field to the pathfinding linksets console. Making the scroll list just wide enough for the additional field, but not cleaning up the rest of the floater until Leo has a chance to review.

master
Todd Stinson 2012-05-09 18:04:45 -07:00
parent 92ce47a1b2
commit d4e5e180f8
4 changed files with 83 additions and 25 deletions

View File

@ -701,13 +701,17 @@ LLSD LLFloaterPathfindingLinksets::buildLinksetScrollListElement(const LLPathfin
columns[1]["value"] = getString("linkset_terrain_description");
columns[1]["font"] = "SANSSERIF";
columns[2]["column"] = "land_impact";
columns[2]["value"] = getString("linkset_terrain_land_impact");
columns[2]["column"] = "owner";
columns[2]["value"] = getString("linkset_terrain_owner");
columns[2]["font"] = "SANSSERIF";
columns[3]["column"] = "dist_from_you";
columns[3]["value"] = getString("linkset_terrain_dist_from_you");
columns[3]["column"] = "land_impact";
columns[3]["value"] = getString("linkset_terrain_land_impact");
columns[3]["font"] = "SANSSERIF";
columns[4]["column"] = "dist_from_you";
columns[4]["value"] = getString("linkset_terrain_dist_from_you");
columns[4]["font"] = "SANSSERIF";
}
else
{
@ -719,16 +723,20 @@ LLSD LLFloaterPathfindingLinksets::buildLinksetScrollListElement(const LLPathfin
columns[1]["value"] = pLinksetPtr->getDescription();
columns[1]["font"] = "SANSSERIF";
columns[2]["column"] = "land_impact";
columns[2]["value"] = llformat("%1d", pLinksetPtr->getLandImpact());
columns[2]["column"] = "owner";
columns[2]["value"] = (pLinksetPtr->hasOwnerName() ? pLinksetPtr->getOwnerName() : getString("linkset_owner_unknown"));
columns[2]["font"] = "SANSSERIF";
columns[3]["column"] = "dist_from_you";
columns[3]["value"] = llformat("%1.0f m", dist_vec(pAvatarPosition, pLinksetPtr->getLocation()));
columns[3]["column"] = "land_impact";
columns[3]["value"] = llformat("%1d", pLinksetPtr->getLandImpact());
columns[3]["font"] = "SANSSERIF";
columns[4]["column"] = "dist_from_you";
columns[4]["value"] = llformat("%1.0f m", dist_vec(pAvatarPosition, pLinksetPtr->getLocation()));
columns[4]["font"] = "SANSSERIF";
}
columns[4]["column"] = "linkset_use";
columns[5]["column"] = "linkset_use";
std::string linksetUse = getLinksetUseString(pLinksetPtr->getLinksetUse());
if (pLinksetPtr->isTerrain())
{
@ -746,25 +754,25 @@ LLSD LLFloaterPathfindingLinksets::buildLinksetScrollListElement(const LLPathfin
{
linksetUse += (" " + getString("linkset_is_restricted_non_volume_state"));
}
columns[4]["value"] = linksetUse;
columns[4]["font"] = "SANSSERIF";
columns[5]["column"] = "a_percent";
columns[5]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientA());
columns[5]["value"] = linksetUse;
columns[5]["font"] = "SANSSERIF";
columns[6]["column"] = "b_percent";
columns[6]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientB());
columns[6]["column"] = "a_percent";
columns[6]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientA());
columns[6]["font"] = "SANSSERIF";
columns[7]["column"] = "c_percent";
columns[7]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientC());
columns[7]["column"] = "b_percent";
columns[7]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientB());
columns[7]["font"] = "SANSSERIF";
columns[8]["column"] = "d_percent";
columns[8]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientD());
columns[8]["column"] = "c_percent";
columns[8]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientC());
columns[8]["font"] = "SANSSERIF";
columns[9]["column"] = "d_percent";
columns[9]["value"] = llformat("%3d", pLinksetPtr->getWalkabilityCoefficientD());
columns[9]["font"] = "SANSSERIF";
LLSD element;
element["id"] = pLinksetPtr->getUUID().asString();
element["column"] = columns;

View File

@ -26,13 +26,18 @@
*/
#include "llviewerprecompiledheaders.h"
#include "llpathfindinglinkset.h"
#include "llsd.h"
#include "v3math.h"
#include "llavatarname.h"
#include "llavatarnamecache.h"
#include "llsd.h"
#include "lluuid.h"
#define LINKSET_NAME_FIELD "name"
#define LINKSET_DESCRIPTION_FIELD "description"
#define LINKSET_OWNER_FIELD "owner"
#define LINKSET_LAND_IMPACT_FIELD "landimpact"
#define LINKSET_MODIFIABLE_FIELD "modifiable"
#ifdef DEPRECATED_NAVMESH_PERMANENT_WALKABLE_FLAGS
@ -64,6 +69,8 @@ LLPathfindingLinkset::LLPathfindingLinkset(const LLSD& pTerrainLinksetItem)
mIsTerrain(true),
mName(),
mDescription(),
mOwnerUUID(),
mOwnerName(),
mLandImpact(0U),
mLocation(LLVector3::zero),
#ifdef MISSING_MODIFIABLE_FIELD_WAR
@ -85,6 +92,8 @@ LLPathfindingLinkset::LLPathfindingLinkset(const std::string &pUUID, const LLSD&
mIsTerrain(false),
mName(),
mDescription(),
mOwnerUUID(),
mOwnerName(),
mLandImpact(0U),
mLocation(LLVector3::zero),
#ifdef MISSING_MODIFIABLE_FIELD_WAR
@ -106,6 +115,8 @@ LLPathfindingLinkset::LLPathfindingLinkset(const LLPathfindingLinkset& pOther)
: mUUID(pOther.mUUID),
mName(pOther.mName),
mDescription(pOther.mDescription),
mOwnerUUID(pOther.mOwnerUUID),
mOwnerName(pOther.mOwnerName),
mLandImpact(pOther.mLandImpact),
mLocation(pOther.mLocation),
#ifdef MISSING_MODIFIABLE_FIELD_WAR
@ -132,6 +143,8 @@ LLPathfindingLinkset& LLPathfindingLinkset::operator =(const LLPathfindingLinkse
mUUID = pOther.mUUID;
mName = pOther.mName;
mDescription = pOther.mDescription;
mOwnerUUID = pOther.mOwnerUUID;
mOwnerName = pOther.mOwnerName;
mLandImpact = pOther.mLandImpact;
mLocation = pOther.mLocation;
#ifdef MISSING_MODIFIABLE_FIELD_WAR
@ -153,6 +166,18 @@ LLPathfindingLinkset& LLPathfindingLinkset::operator =(const LLPathfindingLinkse
return *this;
}
std::string LLPathfindingLinkset::getOwnerName() const
{
std::string ownerName;
if (hasOwnerName())
{
ownerName = mOwnerName.getCompleteName();
}
return ownerName;
}
BOOL LLPathfindingLinkset::isPhantom() const
{
return isPhantom(getLinksetUse());
@ -227,7 +252,21 @@ void LLPathfindingLinkset::parseObjectData(const LLSD &pLinksetItem)
llassert(pLinksetItem.has(LINKSET_DESCRIPTION_FIELD));
llassert(pLinksetItem.get(LINKSET_DESCRIPTION_FIELD).isString());
mDescription = pLinksetItem.get(LINKSET_DESCRIPTION_FIELD).asString();
#ifdef SERVER_SIDE_OWNER_ROLLOUT_COMPLETE
llassert(pLinksetItem.has(LINKSET_OWNER_FIELD));
llassert(pLinksetItem.get(LINKSET_OWNER_FIELD).isUUID());
mOwnerUUID = pLinksetItem.get(LINKSET_OWNER_FIELD).asUUID();
LLAvatarNameCache::get(mOwnerUUID, &mOwnerName);
#else // SERVER_SIDE_OWNER_ROLLOUT_COMPLETE
if (pLinksetItem.has(LINKSET_OWNER_FIELD))
{
llassert(pLinksetItem.get(LINKSET_OWNER_FIELD).isUUID());
mOwnerUUID = pLinksetItem.get(LINKSET_OWNER_FIELD).asUUID();
LLAvatarNameCache::get(mOwnerUUID, &mOwnerName);
}
#endif // SERVER_SIDE_OWNER_ROLLOUT_COMPLETE
llassert(pLinksetItem.has(LINKSET_LAND_IMPACT_FIELD));
llassert(pLinksetItem.get(LINKSET_LAND_IMPACT_FIELD).isInteger());
llassert(pLinksetItem.get(LINKSET_LAND_IMPACT_FIELD).asInteger() >= 0);

View File

@ -29,6 +29,7 @@
#define LL_LLPATHFINDINGLINKSET_H
#include "v3math.h"
#include "llavatarname.h"
#include "lluuid.h"
#include <boost/shared_ptr.hpp>
@ -66,6 +67,8 @@ public:
inline const LLUUID& getUUID() const {return mUUID;};
inline const std::string& getName() const {return mName;};
inline const std::string& getDescription() const {return mDescription;};
inline BOOL hasOwnerName() const {return mOwnerUUID.notNull();};
std::string getOwnerName() const;
inline U32 getLandImpact() const {return mLandImpact;};
inline const LLVector3& getLocation() const {return mLocation;};
BOOL isModifiable() const {return mIsModifiable;};
@ -115,6 +118,8 @@ private:
bool mIsTerrain;
std::string mName;
std::string mDescription;
LLUUID mOwnerUUID;
LLAvatarName mOwnerName;
U32 mLandImpact;
LLVector3 mLocation;
#ifdef MISSING_MODIFIABLE_FIELD_WAR

View File

@ -4,9 +4,9 @@
can_resize="true"
can_tear_off="false"
height="382"
width="950"
width="1091"
min_height="382"
min_width="950"
min_width="1091"
layout="topleft"
name="floater_pathfinding_linksets"
help_topic="floater_pathfinding_linksets"
@ -24,8 +24,10 @@
<floater.string name="linksets_messaging_not_enabled">This region is not enabled for pathfinding.</floater.string>
<floater.string name="linkset_terrain_name">[Terrain]</floater.string>
<floater.string name="linkset_terrain_description">--</floater.string>
<floater.string name="linkset_terrain_owner">--</floater.string>
<floater.string name="linkset_terrain_land_impact">--</floater.string>
<floater.string name="linkset_terrain_dist_from_you">--</floater.string>
<floater.string name="linkset_owner_unknown">Unknown</floater.string>
<floater.string name="linkset_use_walkable">Walkable</floater.string>
<floater.string name="linkset_use_static_obstacle">Static obstacle</floater.string>
<floater.string name="linkset_use_dynamic_obstacle">Movable obstacle</floater.string>
@ -173,7 +175,7 @@
tab_stop="false"
multi_select="true"
name="pathfinding_linksets"
width="910">
width="1051">
<scroll_list.columns
label="Name (root prim)"
name="name"
@ -182,6 +184,10 @@
label="Description (root prim)"
name="description"
width="166" />
<scroll_list.columns
label="Owner"
name="owner"
width="141" />
<scroll_list.columns
label="Land impact"
name="land_impact"