diff options
| author | Mnikolenko ProductEngine <mnikolenko@productengine.com> | 2015-09-09 16:22:40 +0300 | 
|---|---|---|
| committer | Mnikolenko ProductEngine <mnikolenko@productengine.com> | 2015-09-09 16:22:40 +0300 | 
| commit | b996f2ca55b31ed055233e59bf356a84632c9e10 (patch) | |
| tree | c8260a2ca3e2b54e143388d5e40b3be861430576 | |
| parent | 863016ea4b61db17347515e37680638a62e5aea2 (diff) | |
MAINT-5588 FIXED Make bumpiness and shininess easier to find in the texture tab, with radio buttons
| -rwxr-xr-x | indra/newview/llpanelface.cpp | 70 | ||||
| -rw-r--r-- | indra/newview/skins/default/xui/en/panel_tools_texture.xml | 55 | 
2 files changed, 67 insertions, 58 deletions
| diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp index afc1a789c4..21d8b4248c 100755 --- a/indra/newview/llpanelface.cpp +++ b/indra/newview/llpanelface.cpp @@ -49,6 +49,7 @@  #include "llmaterialmgr.h"  #include "llmediaentry.h"  #include "llnotificationsutil.h" +#include "llradiogroup.h"  #include "llresmgr.h"  #include "llselectmgr.h"  #include "llspinctrl.h" @@ -90,10 +91,10 @@ std::string USE_TEXTURE;  LLRender::eTexIndex LLPanelFace::getTextureChannelToEdit()  {  	LLComboBox* combobox_matmedia = getChild<LLComboBox>("combobox matmedia"); -	LLComboBox* combobox_mattype	= getChild<LLComboBox>("combobox mattype"); +	LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");  	LLRender::eTexIndex channel_to_edit = (combobox_matmedia && combobox_matmedia->getCurrentIndex() == MATMEDIA_MATERIAL) ? -													  (combobox_mattype ? (LLRender::eTexIndex)combobox_mattype->getCurrentIndex() : LLRender::DIFFUSE_MAP) : LLRender::DIFFUSE_MAP; +	                                                    (radio_mat_type ? (LLRender::eTexIndex)radio_mat_type->getSelectedIndex() : LLRender::DIFFUSE_MAP) : LLRender::DIFFUSE_MAP;  	channel_to_edit = (channel_to_edit == LLRender::NORMAL_MAP)		? (getCurrentNormalMap().isNull()		? LLRender::DIFFUSE_MAP : channel_to_edit) : channel_to_edit;  	channel_to_edit = (channel_to_edit == LLRender::SPECULAR_MAP)	? (getCurrentSpecularMap().isNull()		? LLRender::DIFFUSE_MAP : channel_to_edit) : channel_to_edit; @@ -162,7 +163,6 @@ BOOL	LLPanelFace::postBuild()  	LLComboBox*		mComboTexGen;  	LLComboBox*		mComboMatMedia; -	LLComboBox*		mComboMatType;  	LLCheckBoxCtrl	*mCheckFullbright; @@ -283,12 +283,12 @@ BOOL	LLPanelFace::postBuild()  		mComboMatMedia->selectNthItem(MATMEDIA_MATERIAL);  	} -	mComboMatType = getChild<LLComboBox>("combobox mattype"); -	if(mComboMatType) -	{ -		mComboMatType->setCommitCallback(LLPanelFace::onCommitMaterialType, this); -		mComboMatType->selectNthItem(MATTYPE_DIFFUSE); -	} +	LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type"); +    if(radio_mat_type) +    { +        radio_mat_type->setCommitCallback(LLPanelFace::onCommitMaterialType, this); +        radio_mat_type->selectNthItem(MATTYPE_DIFFUSE); +    }  	mCtrlGlow = getChild<LLSpinCtrl>("glow");  	if(mCtrlGlow) @@ -676,20 +676,21 @@ void LLPanelFace::updateUI()  		}  		getChildView("combobox matmedia")->setEnabled(editable); -		LLComboBox* combobox_mattype = getChild<LLComboBox>("combobox mattype"); -		if (combobox_mattype) +		LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type"); +		if(radio_mat_type)  		{ -			if (combobox_mattype->getCurrentIndex() < MATTYPE_DIFFUSE) -			{ -				combobox_mattype->selectNthItem(MATTYPE_DIFFUSE); -			} +		    if (radio_mat_type->getSelectedIndex() < MATTYPE_DIFFUSE) +		    { +		        radio_mat_type->selectNthItem(MATTYPE_DIFFUSE); +		    } +  		}  		else  		{ -			LL_WARNS("Materials") << "failed getChild for 'combobox mattype'" << LL_ENDL; +		    LL_WARNS("Materials") << "failed getChild for 'radio_material_type'" << LL_ENDL;  		} -		getChildView("combobox mattype")->setEnabled(editable); +		getChildView("radio_material_type")->setEnabled(editable);  		updateVisibility();  		bool identical				= true;	// true because it is anded below @@ -1200,8 +1201,7 @@ void LLPanelFace::updateUI()  				BOOL identical_repeats = true;  				F32  repeats = 1.0f; -				U32 material_type = (combobox_matmedia->getCurrentIndex() == MATMEDIA_MATERIAL) ? combobox_mattype->getCurrentIndex() : MATTYPE_DIFFUSE; - +				U32 material_type = (combobox_matmedia->getCurrentIndex() == MATMEDIA_MATERIAL) ? radio_mat_type->getSelectedIndex() : MATTYPE_DIFFUSE;  				LLSelectMgr::getInstance()->setTextureChannel(LLRender::eTexIndex(material_type));  				switch (material_type) @@ -1466,22 +1466,21 @@ void LLPanelFace::onCommitMaterialsMedia(LLUICtrl* ctrl, void* userdata)  void LLPanelFace::updateVisibility()  {	  	LLComboBox* combo_matmedia = getChild<LLComboBox>("combobox matmedia"); -	LLComboBox* combo_mattype = getChild<LLComboBox>("combobox mattype"); +	LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");  	LLComboBox* combo_shininess = getChild<LLComboBox>("combobox shininess");  	LLComboBox* combo_bumpiness = getChild<LLComboBox>("combobox bumpiness"); -	if (!combo_mattype || !combo_matmedia || !combo_shininess || !combo_bumpiness) +	if (!radio_mat_type || !combo_matmedia || !combo_shininess || !combo_bumpiness)  	{  		LL_WARNS("Materials") << "Combo box not found...exiting." << LL_ENDL;  		return;  	}  	U32 materials_media = combo_matmedia->getCurrentIndex(); -	U32 material_type = combo_mattype->getCurrentIndex(); +	U32 material_type = radio_mat_type->getSelectedIndex();  	bool show_media = (materials_media == MATMEDIA_MEDIA) && combo_matmedia->getEnabled();  	bool show_texture = (show_media || ((material_type == MATTYPE_DIFFUSE) && combo_matmedia->getEnabled()));  	bool show_bumpiness = (!show_media) && (material_type == MATTYPE_NORMAL) && combo_matmedia->getEnabled();  	bool show_shininess = (!show_media) && (material_type == MATTYPE_SPECULAR) && combo_matmedia->getEnabled(); -	getChildView("combobox mattype")->setVisible(!show_media); -	getChildView("rptctrl")->setVisible(true); +	getChildView("radio_material_type")->setVisible(!show_media);  	// Media controls  	getChildView("media_info")->setVisible(show_media); @@ -1608,9 +1607,9 @@ void LLPanelFace::updateShinyControls(bool is_setting_texture, bool mess_with_sh  	}  	LLComboBox* combo_matmedia = getChild<LLComboBox>("combobox matmedia"); -	LLComboBox* combo_mattype = getChild<LLComboBox>("combobox mattype"); +	LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type");  	U32 materials_media = combo_matmedia->getCurrentIndex(); -	U32 material_type = combo_mattype->getCurrentIndex(); +	U32 material_type = radio_mat_type->getSelectedIndex();  	bool show_media = (materials_media == MATMEDIA_MEDIA) && combo_matmedia->getEnabled();  	bool show_shininess = (!show_media) && (material_type == MATTYPE_SPECULAR) && combo_matmedia->getEnabled();  	U32 shiny_value = comboShiny->getCurrentIndex(); @@ -1693,11 +1692,11 @@ void LLPanelFace::updateAlphaControls()          mat_media = combobox_matmedia->getCurrentIndex();      } -    LLComboBox* combobox_mattype = getChild<LLComboBox>("combobox mattype");      U32 mat_type = MATTYPE_DIFFUSE; -    if (combobox_mattype) +    LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type"); +    if(radio_mat_type)      { -        mat_type = combobox_mattype->getCurrentIndex(); +        mat_type = radio_mat_type->getSelectedIndex();      }      show_alphactrls = show_alphactrls && (mat_media == MATMEDIA_MATERIAL); @@ -1985,12 +1984,11 @@ void LLPanelFace::onCommitRepeatsPerMeter(LLUICtrl* ctrl, void* userdata)  	LLUICtrl*	repeats_ctrl	= self->getChild<LLUICtrl>("rptctrl");  	LLComboBox* combo_matmedia = self->getChild<LLComboBox>("combobox matmedia"); -	LLComboBox* combo_mattype	= self->getChild<LLComboBox>("combobox mattype"); +	LLRadioGroup* radio_mat_type = self->getChild<LLRadioGroup>("radio_material_type");  	U32 materials_media = combo_matmedia->getCurrentIndex(); -	 -	U32 material_type			= (materials_media == MATMEDIA_MATERIAL) ? combo_mattype->getCurrentIndex() : 0; +	U32 material_type           = (materials_media == MATMEDIA_MATERIAL) ? radio_mat_type->getSelectedIndex() : 0;  	F32 repeats_per_meter	= repeats_ctrl->getValue().asReal();     F32 obj_scale_s = 1.0f; @@ -2114,12 +2112,12 @@ void LLPanelFace::onCommitPlanarAlign(LLUICtrl* ctrl, void* userdata)  void LLPanelFace::onTextureSelectionChanged(LLInventoryItem* itemp)  {  	LL_DEBUGS("Materials") << "item asset " << itemp->getAssetUUID() << LL_ENDL; -	LLComboBox* combo_mattype = getChild<LLComboBox>("combobox mattype"); -	if (!combo_mattype) +	LLRadioGroup* radio_mat_type = getChild<LLRadioGroup>("radio_material_type"); +	if(radio_mat_type)  	{ -		return; +	    return;  	} -	U32 mattype = combo_mattype->getCurrentIndex(); +	U32 mattype = radio_mat_type->getSelectedIndex();  	std::string which_control="texture control";  	switch (mattype)  	{ diff --git a/indra/newview/skins/default/xui/en/panel_tools_texture.xml b/indra/newview/skins/default/xui/en/panel_tools_texture.xml index cb6b2fafd8..a90bb18d48 100644 --- a/indra/newview/skins/default/xui/en/panel_tools_texture.xml +++ b/indra/newview/skins/default/xui/en/panel_tools_texture.xml @@ -117,26 +117,37 @@                   name="Media"                   value="Media" />              </combo_box> -            <combo_box -             height="23" -             layout="topleft" -             left_pad="10" -             name="combobox mattype" -             top_delta="0" -             width="155"> -                <combo_box.item -                 label="Texture (diffuse)" -                 name="Texture (diffuse)" -                 value="Texture (diffuse)" /> -                <combo_box.item -                 label="Bumpiness (normal)" -                 name="Bumpiness (normal)" -                 value="Bumpiness (normal)" /> -                <combo_box.item -                 label="Shininess (specular)" -                 name="Shininess (specular)" -                 value="Shininess (specular)" /> -            </combo_box> +            <radio_group +            control_name="ComboMaterialType" +            height="50" +            layout="topleft" +            left_pad="20" +            top_delta="-10" +            width="150" +            visible = "false" +            name="radio_material_type"> +                <radio_item +                label="Texture (diffuse)" +                name="Texture (diffuse)" +                top="0"  +                layout="topleft" +                height="16"  +                value="0"/> +                <radio_item +                label="Bumpiness (normal)" +                layout="topleft" +                top_pad="1"  +                height="16"  +                name="Bumpiness (normal)" +                value="1"/> +                <radio_item +                label="Shininess (specular)" +                name="Shininess (specular)" +                height="16" +                layout="topleft" +                top_pad="1" +                value="2"/> +            </radio_group>               <texture_picker               can_apply_immediately="true"               default_image_name="Default" @@ -148,7 +159,7 @@               left="10"               name="texture control"               tool_tip="Click to choose a picture" -             top_pad="8" +             top_pad="7"               width="64" />              <text               type="string" @@ -520,7 +531,7 @@               left="10"               name="tex gen"               text_readonly_color="LabelDisabledColor" -             top_pad="60" +             top_pad="40"               width="140">                  Mapping              </text> | 
