summaryrefslogtreecommitdiff
path: root/indra/newview/llfloatersettingsdebug.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llfloatersettingsdebug.cpp')
-rw-r--r--indra/newview/llfloatersettingsdebug.cpp142
1 files changed, 63 insertions, 79 deletions
diff --git a/indra/newview/llfloatersettingsdebug.cpp b/indra/newview/llfloatersettingsdebug.cpp
index 339b90a0f5..71882fbb83 100644
--- a/indra/newview/llfloatersettingsdebug.cpp
+++ b/indra/newview/llfloatersettingsdebug.cpp
@@ -2,31 +2,25 @@
* @file llfloatersettingsdebug.cpp
* @brief floater for debugging internal viewer settings
*
- * $LicenseInfo:firstyear=2001&license=viewergpl$
- *
- * Copyright (c) 2001-2009, Linden Research, Inc.
- *
+ * $LicenseInfo:firstyear=2001&license=viewerlgpl$
* Second Life Viewer Source Code
- * The source code in this file ("Source Code") is provided by Linden Lab
- * to you under the terms of the GNU General Public License, version 2.0
- * ("GPL"), unless you have obtained a separate licensing agreement
- * ("Other License"), formally executed by you and Linden Lab. Terms of
- * the GPL can be found in doc/GPL-license.txt in this distribution, or
- * online at http://secondlifegrid.net/programs/open_source/licensing/gplv2
+ * Copyright (C) 2010, Linden Research, Inc.
*
- * There are special exceptions to the terms and conditions of the GPL as
- * it is applied to this Source Code. View the full text of the exception
- * in the file doc/FLOSS-exception.txt in this software distribution, or
- * online at
- * http://secondlifegrid.net/programs/open_source/licensing/flossexception
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation;
+ * version 2.1 of the License only.
*
- * By copying, modifying or distributing this software, you acknowledge
- * that you have read and understood your obligations described above,
- * and agree to abide by those obligations.
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO
- * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY,
- * COMPLETENESS OR PERFORMANCE.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA
* $/LicenseInfo$
*/
@@ -34,17 +28,21 @@
#include "llfloatersettingsdebug.h"
#include "llfloater.h"
#include "lluictrlfactory.h"
-#include "llfirstuse.h"
+//#include "llfirstuse.h"
#include "llcombobox.h"
#include "llspinctrl.h"
#include "llcolorswatch.h"
#include "llviewercontrol.h"
+#include "lltexteditor.h"
LLFloaterSettingsDebug::LLFloaterSettingsDebug(const LLSD& key)
: LLFloater(key)
{
- LLUICtrlFactory::getInstance()->buildFloater(this, "floater_settings_debug.xml");
+ mCommitCallbackRegistrar.add("SettingSelect", boost::bind(&LLFloaterSettingsDebug::onSettingSelect, this,_1));
+ mCommitCallbackRegistrar.add("CommitSettings", boost::bind(&LLFloaterSettingsDebug::onCommitSettings, this));
+ mCommitCallbackRegistrar.add("ClickDefault", boost::bind(&LLFloaterSettingsDebug::onClickDefault, this));
+
}
LLFloaterSettingsDebug::~LLFloaterSettingsDebug()
@@ -76,23 +74,9 @@ BOOL LLFloaterSettingsDebug::postBuild()
{
gSavedPerAccountSettings.applyToAll(&func);
}
- if (key == "all" || key == "skin")
- {
- gSavedSkinSettings.applyToAll(&func);
- }
settings_combo->sortByName();
- settings_combo->setCommitCallback(onSettingSelect, this);
settings_combo->updateSelection();
-
- childSetCommitCallback("val_spinner_1", onCommitSettings, this);
- childSetCommitCallback("val_spinner_2", onCommitSettings, this);
- childSetCommitCallback("val_spinner_3", onCommitSettings, this);
- childSetCommitCallback("val_spinner_4", onCommitSettings, this);
- childSetCommitCallback("val_text", onCommitSettings, this);
- childSetCommitCallback("boolean_combo", onCommitSettings, this);
- childSetCommitCallback("color_swatch", onCommitSettings, this);
- childSetAction("default_btn", onClickDefault, this);
mComment = getChild<LLTextEditor>("comment_text");
return TRUE;
}
@@ -107,23 +91,24 @@ void LLFloaterSettingsDebug::draw()
}
//static
-void LLFloaterSettingsDebug::onSettingSelect(LLUICtrl* ctrl, void* user_data)
+void LLFloaterSettingsDebug::onSettingSelect(LLUICtrl* ctrl)
{
- LLFloaterSettingsDebug* floaterp = (LLFloaterSettingsDebug*)user_data;
LLComboBox* combo_box = (LLComboBox*)ctrl;
LLControlVariable* controlp = (LLControlVariable*)combo_box->getCurrentUserdata();
- floaterp->updateControl(controlp);
+ updateControl(controlp);
}
-//static
-void LLFloaterSettingsDebug::onCommitSettings(LLUICtrl* ctrl, void* user_data)
+void LLFloaterSettingsDebug::onCommitSettings()
{
- LLFloaterSettingsDebug* floaterp = (LLFloaterSettingsDebug*)user_data;
-
- LLComboBox* settings_combo = floaterp->getChild<LLComboBox>("settings_combo");
+ LLComboBox* settings_combo = getChild<LLComboBox>("settings_combo");
LLControlVariable* controlp = (LLControlVariable*)settings_combo->getCurrentUserdata();
+ if (!controlp)
+ {
+ return;
+ }
+
LLVector3 vector;
LLVector3d vectord;
LLRect rect;
@@ -135,49 +120,49 @@ void LLFloaterSettingsDebug::onCommitSettings(LLUICtrl* ctrl, void* user_data)
switch(controlp->type())
{
case TYPE_U32:
- controlp->set(floaterp->childGetValue("val_spinner_1"));
+ controlp->set(getChild<LLUICtrl>("val_spinner_1")->getValue());
break;
case TYPE_S32:
- controlp->set(floaterp->childGetValue("val_spinner_1"));
+ controlp->set(getChild<LLUICtrl>("val_spinner_1")->getValue());
break;
case TYPE_F32:
- controlp->set(LLSD(floaterp->childGetValue("val_spinner_1").asReal()));
+ controlp->set(LLSD(getChild<LLUICtrl>("val_spinner_1")->getValue().asReal()));
break;
case TYPE_BOOLEAN:
- controlp->set(floaterp->childGetValue("boolean_combo"));
+ controlp->set(getChild<LLUICtrl>("boolean_combo")->getValue());
break;
case TYPE_STRING:
- controlp->set(LLSD(floaterp->childGetValue("val_text").asString()));
+ controlp->set(LLSD(getChild<LLUICtrl>("val_text")->getValue().asString()));
break;
case TYPE_VEC3:
- vector.mV[VX] = (F32)floaterp->childGetValue("val_spinner_1").asReal();
- vector.mV[VY] = (F32)floaterp->childGetValue("val_spinner_2").asReal();
- vector.mV[VZ] = (F32)floaterp->childGetValue("val_spinner_3").asReal();
+ vector.mV[VX] = (F32)getChild<LLUICtrl>("val_spinner_1")->getValue().asReal();
+ vector.mV[VY] = (F32)getChild<LLUICtrl>("val_spinner_2")->getValue().asReal();
+ vector.mV[VZ] = (F32)getChild<LLUICtrl>("val_spinner_3")->getValue().asReal();
controlp->set(vector.getValue());
break;
case TYPE_VEC3D:
- vectord.mdV[VX] = floaterp->childGetValue("val_spinner_1").asReal();
- vectord.mdV[VY] = floaterp->childGetValue("val_spinner_2").asReal();
- vectord.mdV[VZ] = floaterp->childGetValue("val_spinner_3").asReal();
+ vectord.mdV[VX] = getChild<LLUICtrl>("val_spinner_1")->getValue().asReal();
+ vectord.mdV[VY] = getChild<LLUICtrl>("val_spinner_2")->getValue().asReal();
+ vectord.mdV[VZ] = getChild<LLUICtrl>("val_spinner_3")->getValue().asReal();
controlp->set(vectord.getValue());
break;
case TYPE_RECT:
- rect.mLeft = floaterp->childGetValue("val_spinner_1").asInteger();
- rect.mRight = floaterp->childGetValue("val_spinner_2").asInteger();
- rect.mBottom = floaterp->childGetValue("val_spinner_3").asInteger();
- rect.mTop = floaterp->childGetValue("val_spinner_4").asInteger();
+ rect.mLeft = getChild<LLUICtrl>("val_spinner_1")->getValue().asInteger();
+ rect.mRight = getChild<LLUICtrl>("val_spinner_2")->getValue().asInteger();
+ rect.mBottom = getChild<LLUICtrl>("val_spinner_3")->getValue().asInteger();
+ rect.mTop = getChild<LLUICtrl>("val_spinner_4")->getValue().asInteger();
controlp->set(rect.getValue());
break;
case TYPE_COL4:
- col3.setValue(floaterp->childGetValue("color_swatch"));
- col4 = LLColor4(col3, (F32)floaterp->childGetValue("val_spinner_4").asReal());
+ col3.setValue(getChild<LLUICtrl>("val_color_swatch")->getValue());
+ col4 = LLColor4(col3, (F32)getChild<LLUICtrl>("val_spinner_4")->getValue().asReal());
controlp->set(col4.getValue());
break;
case TYPE_COL3:
- controlp->set(floaterp->childGetValue("color_swatch"));
- //col3.mV[VRED] = (F32)floaterp->childGetValue("val_spinner_1").asC();
- //col3.mV[VGREEN] = (F32)floaterp->childGetValue("val_spinner_2").asReal();
- //col3.mV[VBLUE] = (F32)floaterp->childGetValue("val_spinner_3").asReal();
+ controlp->set(getChild<LLUICtrl>("val_color_swatch")->getValue());
+ //col3.mV[VRED] = (F32)floaterp->getChild<LLUICtrl>("val_spinner_1")->getValue().asC();
+ //col3.mV[VGREEN] = (F32)floaterp->getChild<LLUICtrl>("val_spinner_2")->getValue().asReal();
+ //col3.mV[VBLUE] = (F32)floaterp->getChild<LLUICtrl>("val_spinner_3")->getValue().asReal();
//controlp->set(col3.getValue());
break;
default:
@@ -186,16 +171,15 @@ void LLFloaterSettingsDebug::onCommitSettings(LLUICtrl* ctrl, void* user_data)
}
// static
-void LLFloaterSettingsDebug::onClickDefault(void* user_data)
+void LLFloaterSettingsDebug::onClickDefault()
{
- LLFloaterSettingsDebug* floaterp = (LLFloaterSettingsDebug*)user_data;
- LLComboBox* settings_combo = floaterp->getChild<LLComboBox>("settings_combo");
+ LLComboBox* settings_combo = getChild<LLComboBox>("settings_combo");
LLControlVariable* controlp = (LLControlVariable*)settings_combo->getCurrentUserdata();
if (controlp)
{
controlp->resetToDefault();
- floaterp->updateControl(controlp);
+ updateControl(controlp);
}
}
@@ -206,7 +190,7 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
LLSpinCtrl* spinner2 = getChild<LLSpinCtrl>("val_spinner_2");
LLSpinCtrl* spinner3 = getChild<LLSpinCtrl>("val_spinner_3");
LLSpinCtrl* spinner4 = getChild<LLSpinCtrl>("val_spinner_4");
- LLColorSwatchCtrl* color_swatch = getChild<LLColorSwatchCtrl>("color_swatch");
+ LLColorSwatchCtrl* color_swatch = getChild<LLColorSwatchCtrl>("val_color_swatch");
if (!spinner1 || !spinner2 || !spinner3 || !spinner4 || !color_swatch)
{
@@ -220,7 +204,7 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
spinner3->setVisible(FALSE);
spinner4->setVisible(FALSE);
color_swatch->setVisible(FALSE);
- childSetVisible("val_text", FALSE);
+ getChildView("val_text")->setVisible( FALSE);
mComment->setText(LLStringUtil::null);
if (controlp)
@@ -228,7 +212,7 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
eControlType type = controlp->type();
//hide combo box only for non booleans, otherwise this will result in the combo box closing every frame
- childSetVisible("boolean_combo", type == TYPE_BOOLEAN);
+ getChildView("boolean_combo")->setVisible( type == TYPE_BOOLEAN);
mComment->setText(controlp->getComment());
@@ -294,23 +278,23 @@ void LLFloaterSettingsDebug::updateControl(LLControlVariable* controlp)
}
break;
case TYPE_BOOLEAN:
- if (!childHasFocus("boolean_combo"))
+ if (!getChild<LLUICtrl>("boolean_combo")->hasFocus())
{
if (sd.asBoolean())
{
- childSetValue("boolean_combo", LLSD("true"));
+ getChild<LLUICtrl>("boolean_combo")->setValue(LLSD("true"));
}
else
{
- childSetValue("boolean_combo", LLSD(""));
+ getChild<LLUICtrl>("boolean_combo")->setValue(LLSD(""));
}
}
break;
case TYPE_STRING:
- childSetVisible("val_text", TRUE);
- if (!childHasFocus("val_text"))
+ getChildView("val_text")->setVisible( TRUE);
+ if (!getChild<LLUICtrl>("val_text")->hasFocus())
{
- childSetValue("val_text", sd);
+ getChild<LLUICtrl>("val_text")->setValue(sd);
}
break;
case TYPE_VEC3: