summaryrefslogtreecommitdiff
path: root/indra/newview/llpanelobject.cpp
diff options
context:
space:
mode:
authorDave Parks <davep@lindenlab.com>2011-01-20 15:50:21 -0600
committerDave Parks <davep@lindenlab.com>2011-01-20 15:50:21 -0600
commiteac9c45cdad9c96e621f5c84ce51062f40c09511 (patch)
tree81dc9e53021289b3dd589fcde1c42952ef52a620 /indra/newview/llpanelobject.cpp
parentf6ecff390d0190f263887f3af089dc7c2d7fa8d9 (diff)
parentc1db849c418d2cef8c321199ad1421b183aff9bf (diff)
merge
Diffstat (limited to 'indra/newview/llpanelobject.cpp')
-rw-r--r--indra/newview/llpanelobject.cpp79
1 files changed, 42 insertions, 37 deletions
diff --git a/indra/newview/llpanelobject.cpp b/indra/newview/llpanelobject.cpp
index 73a8fbe3aa..f1fd47f50e 100644
--- a/indra/newview/llpanelobject.cpp
+++ b/indra/newview/llpanelobject.cpp
@@ -135,23 +135,24 @@ BOOL LLPanelObject::postBuild()
// PhysicsShapeType combobox
mComboPhysicsShapeType = getChild<LLComboBox>("Physics Shape Type Combo Ctrl");
- childSetCommitCallback("Physics Shape Type Combo Ctrl", onCommitPhysicsParam, this);
-
+ mComboPhysicsShapeType->setCommitCallback(boost::bind(&LLPanelObject::sendPhysicsShapeType, this, _1, mComboPhysicsShapeType));
+
// PhysicsGravity
mSpinPhysicsGravity = getChild<LLSpinCtrl>("Physics Gravity");
- childSetCommitCallback("Physics Gravity", onCommitPhysicsParam, this);
+ mSpinPhysicsGravity->setCommitCallback(boost::bind(&LLPanelObject::sendPhysicsGravity, this, _1, mSpinPhysicsGravity));
// PhysicsFriction
mSpinPhysicsFriction = getChild<LLSpinCtrl>("Physics Friction");
- childSetCommitCallback("Physics Friction", onCommitPhysicsParam, this);
-
+ mSpinPhysicsFriction->setCommitCallback(boost::bind(&LLPanelObject::sendPhysicsFriction, this, _1, mSpinPhysicsFriction));
+
// PhysicsDensity
mSpinPhysicsDensity = getChild<LLSpinCtrl>("Physics Density");
- childSetCommitCallback("Physics Density", onCommitPhysicsParam, this);
+ mSpinPhysicsDensity->setCommitCallback(boost::bind(&LLPanelObject::sendPhysicsDensity, this, _1, mSpinPhysicsDensity));
// PhysicsRestitution
mSpinPhysicsRestitution = getChild<LLSpinCtrl>("Physics Restitution");
- childSetCommitCallback("Physics Restitution", onCommitPhysicsParam, this);
+ mSpinPhysicsRestitution->setCommitCallback(boost::bind(&LLPanelObject::sendPhysicsRestitution, this, _1, mSpinPhysicsRestitution));
+
// Position
mLabelPosition = getChild<LLTextBox>("label position");
@@ -1281,35 +1282,46 @@ void LLPanelObject::sendIsPhantom()
}
}
-#include "llsdutil.h"
-class CostResponder : public LLHTTPClient::Responder
+void LLPanelObject::sendPhysicsShapeType(LLUICtrl* ctrl, void* userdata)
{
-public:
- CostResponder(U32 id) { mID = id; }
- virtual void result(const LLSD& content) { llinfos << ll_pretty_print_sd(content) << llendl; }
+ U8 type = ctrl->getValue().asInteger();
+ LLSelectMgr::getInstance()->selectionSetPhysicsType(type);
- U32 mID;
-};
+ refreshCost();
+}
-void LLPanelObject::sendPhysicsParam()
+void LLPanelObject::sendPhysicsGravity(LLUICtrl* ctrl, void* userdata)
{
- LLSD physicsType = mComboPhysicsShapeType->getValue();
-
- U8 type = physicsType.asInteger();
- F32 gravity = mSpinPhysicsGravity->get();
- F32 friction = mSpinPhysicsFriction->get();
- F32 density = mSpinPhysicsDensity->get();
- F32 restitution = mSpinPhysicsRestitution->get();
-
- LLSelectMgr::getInstance()->selectionUpdatePhysicsParam(type, gravity, friction,
- density, restitution);
+ F32 val = ctrl->getValue().asReal();
+ LLSelectMgr::getInstance()->selectionSetGravity(val);
+}
- std::string url = gAgent.getRegion()->getCapability("GetObjectCost");
- LLSD body = LLSD::emptyArray();
-
- body.append(LLSelectMgr::getInstance()->getSelection()->getFirstObject()->getID());
+void LLPanelObject::sendPhysicsFriction(LLUICtrl* ctrl, void* userdata)
+{
+ F32 val = ctrl->getValue().asReal();
+ LLSelectMgr::getInstance()->selectionSetFriction(val);
+}
+
+void LLPanelObject::sendPhysicsRestitution(LLUICtrl* ctrl, void* userdata)
+{
+ F32 val = ctrl->getValue().asReal();
+ LLSelectMgr::getInstance()->selectionSetRestitution(val);
+}
+
+void LLPanelObject::sendPhysicsDensity(LLUICtrl* ctrl, void* userdata)
+{
+ F32 val = ctrl->getValue().asReal();
+ LLSelectMgr::getInstance()->selectionSetDensity(val);
+}
+
+void LLPanelObject::refreshCost()
+{
+ LLViewerObject* obj = LLSelectMgr::getInstance()->getSelection()->getFirstObject();
- LLHTTPClient::post( url, body, new CostResponder(body[0].asInteger()) );
+ if (obj)
+ {
+ obj->getObjectCost();
+ }
}
void LLPanelObject::sendCastShadows()
@@ -2121,13 +2133,6 @@ void LLPanelObject::onCommitPhantom( LLUICtrl* ctrl, void* userdata )
}
// static
-void LLPanelObject::onCommitPhysicsParam(LLUICtrl* ctrl, void* userdata )
-{
- LLPanelObject* self = (LLPanelObject*) userdata;
- self->sendPhysicsParam();
-}
-
-// static
void LLPanelObject::onCommitCastShadows( LLUICtrl* ctrl, void* userdata )
{
LLPanelObject* self = (LLPanelObject*) userdata;