LLScrollingPanelParamBase::LLScrollingPanelParamBase( const std::string& name, LLViewerJointMesh* mesh, LLViewerVisualParam* param, BOOL allow_modify, LLWearable* wearable, bool bVisualHint, LLRect rect ) : LLScrollingPanel( name, rect ), mParam(param), mAllowModify(allow_modify), mWearable(wearable) { LLUICtrlFactory::getInstance()->buildPanel(this, "panel_scrolling_param.xml"); //Set up the slider LLSliderCtrl *slider = getChild<LLSliderCtrl>("param slider"); //Kill everything that isn't the slider... if(!bVisualHint) { child_list_t to_remove; child_list_t::const_iterator it; for (it = getChildList()->begin(); it != getChildList()->end(); it++) { if ((*it) != slider && (*it)->getName() != "panel border") { to_remove.push_back(*it); } } for (it = to_remove.begin(); it != to_remove.end(); it++) { removeChild(*it); delete (*it); } slider->translate(0,/*PARAM_HINT_HEIGHT*/128); reshape(getRect().getWidth(),getRect().getHeight()-128); } slider->setValue(weightToPercent(param->getWeight())); slider->setLabelArg("[DESC]", param->getDisplayName()); slider->setEnabled(mAllowModify); slider->setCommitCallback(boost::bind(&LLScrollingPanelParamBase::onSliderMoved, this, _1)); setVisible(FALSE); setBorderVisible( FALSE ); }