PATH-292: Adding an additional show beacons checkbox for the linksets floater.

master
Todd Stinson 2012-02-16 16:49:31 -08:00
parent b1089ae355
commit a73ec672d1
3 changed files with 49 additions and 2 deletions

View File

@ -40,6 +40,7 @@
#include "llscrolllistitem.h"
#include "llscrolllistctrl.h"
#include "llcombobox.h"
#include "llcheckboxctrl.h"
#include "llbutton.h"
#include "llresmgr.h"
#include "llviewerregion.h"
@ -146,6 +147,9 @@ BOOL LLFloaterPathfindingLinksets::postBuild()
llassert(mSelectNoneButton != NULL);
mSelectNoneButton->setCommitCallback(boost::bind(&LLFloaterPathfindingLinksets::onSelectNoneLinksetsClicked, this));
mShowBeaconCheckBox = findChild<LLCheckBoxCtrl>("show_beacon");
llassert(mShowBeaconCheckBox != NULL);
mTakeButton = findChild<LLButton>("take_linksets");
llassert(mTakeButton != NULL);
mTakeButton->setCommitCallback(boost::bind(&LLFloaterPathfindingLinksets::onTakeClicked, this));
@ -244,6 +248,37 @@ void LLFloaterPathfindingLinksets::onClose(bool app_quitting)
}
}
void LLFloaterPathfindingLinksets::draw()
{
if (mShowBeaconCheckBox->get())
{
std::vector<LLScrollListItem*> selectedItems = mLinksetsScrollList->getAllSelected();
if (!selectedItems.empty())
{
int numSelectedItems = selectedItems.size();
std::vector<LLViewerObject *> viewerObjects;
viewerObjects.reserve(numSelectedItems);
for (std::vector<LLScrollListItem*>::const_iterator selectedItemIter = selectedItems.begin();
selectedItemIter != selectedItems.end(); ++selectedItemIter)
{
const LLScrollListItem *selectedItem = *selectedItemIter;
const std::string &objectName = selectedItem->getColumn(0)->getValue().asString();
LLViewerObject *viewerObject = gObjectList.findObject(selectedItem->getUUID());
if (viewerObject != NULL)
{
gObjectList.addDebugBeacon(viewerObject->getPositionAgent(), objectName, LLColor4(0.f, 0.f, 1.f, 0.8f), LLColor4(1.f, 1.f, 1.f, 1.f), 6);
}
}
}
}
LLFloater::draw();
}
void LLFloaterPathfindingLinksets::openLinksetsEditor()
{
LLFloaterReg::toggleInstanceOrBringToFront("pathfinding_linksets");

View File

@ -40,6 +40,7 @@ class LLTextBase;
class LLScrollListCtrl;
class LLLineEditor;
class LLComboBox;
class LLCheckBoxCtrl;
class LLButton;
class LLFloaterPathfindingLinksets
@ -69,6 +70,7 @@ public:
virtual BOOL postBuild();
virtual void onOpen(const LLSD& pKey);
virtual void onClose(bool app_quitting);
virtual void draw();
static void openLinksetsEditor();
@ -87,6 +89,7 @@ private:
LLButton *mRefreshListButton;
LLButton *mSelectAllButton;
LLButton *mSelectNoneButton;
LLCheckBoxCtrl *mShowBeaconCheckBox;
LLButton *mTakeButton;
LLButton *mTakeCopyButton;
LLButton *mReturnButton;

View File

@ -276,16 +276,25 @@
follows="left|bottom|right"
layout="topleft"
top_pad="8"
width="912">
width="580">
Actions on selected linksets (If a linkset is removed from the world, its attributes will be lost):
</text>
<check_box
height="19"
follows="left|bottom"
label="Show beacon"
layout="topleft"
name="show_beacon"
left_pad="0"
top_pad="-16"
width="90" />
<button
follows="left|bottom"
height="21"
label="Take"
layout="topleft"
name="take_linksets"
top_pad="12"
top_pad="9"
left="18"
width="95"/>
<button