diff options
author | Tofu Linden <tofu.linden@lindenlab.com> | 2010-04-07 13:37:37 +0100 |
---|---|---|
committer | Tofu Linden <tofu.linden@lindenlab.com> | 2010-04-07 13:37:37 +0100 |
commit | 4533d1b59b2e8fc534ad3de7a896aaa8514fe653 (patch) | |
tree | 38b4d2398d66a0e18cd8e4dcd47efba0ad5326a1 /indra/newview/llpaneleditwearable.h | |
parent | 92f630871386bafc4548eb9beb45063e40b6139c (diff) | |
parent | adce2ecdf8f3a0efcd4907699d286012124ac496 (diff) |
merge from viewer-trunk
Diffstat (limited to 'indra/newview/llpaneleditwearable.h')
-rw-r--r-- | indra/newview/llpaneleditwearable.h | 114 |
1 files changed, 30 insertions, 84 deletions
diff --git a/indra/newview/llpaneleditwearable.h b/indra/newview/llpaneleditwearable.h index 2d586276a6..8b63685177 100644 --- a/indra/newview/llpaneleditwearable.h +++ b/indra/newview/llpaneleditwearable.h @@ -1,26 +1,32 @@ /** - * @file llpaneleditwearable.h - * @brief A LLPanel dedicated to the editing of wearables. + * @file llfloatercustomize.h + * @brief The customize avatar floater, triggered by "Appearance..." * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2009-2009, Linden Research, Inc. * - * 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. + * 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 * - * 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. + * 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 * - * 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 + * 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. * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA 94111 USA + * ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO + * WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, + * COMPLETENESS OR PERFORMANCE. * $/LicenseInfo$ */ @@ -30,20 +36,16 @@ #include "llpanel.h" #include "llscrollingpanellist.h" #include "llmodaldialog.h" -#include "llvoavatardefines.h" -#include "llwearabletype.h" +#include "llwearabledictionary.h" -class LLAccordionCtrl; -class LLCheckBoxCtrl; class LLWearable; +class LLTextEditor; class LLTextBox; class LLViewerInventoryItem; class LLViewerVisualParam; class LLVisualParamHint; class LLViewerJointMesh; class LLAccordionCtrlTab; -class LLJoint; -class LLLineEditor; class LLPanelEditWearable : public LLPanel { @@ -58,60 +60,23 @@ public: LLWearable* getWearable() { return mWearablePtr; } void setWearable(LLWearable *wearable); - void saveChanges(bool force_save_as = false); + void saveChanges(); void revertChanges(); - void showDefaultSubpart(); - void onTabExpandedCollapsed(const LLSD& param, U8 index); - - void updateScrollingPanelList(); - static void onRevertButtonClicked(void* userdata); - void onCommitSexChange(); - void onSaveAsButtonClicked(); - void saveAsCallback(const LLSD& notification, const LLSD& response); - private: typedef std::map<F32, LLViewerVisualParam*> value_map_t; void showWearable(LLWearable* wearable, BOOL show); + void initializePanel(); void updateScrollingPanelUI(); - LLPanel* getPanel(LLWearableType::EType type); + LLPanel* getPanel(EWearableType type); void getSortedParams(value_map_t &sorted_params, const std::string &edit_group); - void buildParamList(LLScrollingPanelList *panel_list, value_map_t &sorted_params, LLAccordionCtrlTab *tab, LLJoint* jointp); + void buildParamList(LLScrollingPanelList *panel_list, value_map_t &sorted_params, LLAccordionCtrlTab *tab); // update bottom bar buttons ("Save", "Revert", etc) void updateVerbs(); - void onColorSwatchCommit(const LLUICtrl*); - void onTexturePickerCommit(const LLUICtrl*); - void updatePanelPickerControls(LLWearableType::EType type); - void toggleTypeSpecificControls(LLWearableType::EType type); - void updateTypeSpecificControls(LLWearableType::EType type); - - // changes camera angle to default for selected subpart - void changeCamera(U8 subpart); - - //alpha mask checkboxes - void configureAlphaCheckbox(LLVOAvatarDefines::ETextureIndex te, const std::string& name); - void onInvisibilityCommit(LLCheckBoxCtrl* checkbox_ctrl, LLVOAvatarDefines::ETextureIndex te); - void updateAlphaCheckboxes(); - void initPreviousAlphaTextures(); - void initPreviousAlphaTextureEntry(LLVOAvatarDefines::ETextureIndex te); - - // callback for HeightUnits parameter. - bool changeHeightUnits(const LLSD& new_value); - - // updates current metric and replacemet metric label text - void updateMetricLayout(BOOL new_value); - - // updates avatar height label - void updateAvatarHeightLabel(); - - void onWearablePanelVisibilityChange(const LLSD &in_visible_chain, LLAccordionCtrl* accordion_ctrl); - - void setWearablePanelVisibilityChangeCallback(LLPanel* bodypart_panel); - // the pointer to the wearable we're editing. NULL means we're not editing a wearable. LLWearable *mWearablePtr; LLViewerInventoryItem* mWearableItem; @@ -119,28 +84,14 @@ private: // these are constant no matter what wearable we're editing LLButton *mBtnRevert; LLButton *mBtnBack; - std::string mBackBtnLabel; LLTextBox *mPanelTitle; LLTextBox *mDescTitle; - LLTextBox *mTxtAvatarHeight; - - // localized and parametrized strings that used to build avatar_height_label - std::string mMeters; - std::string mFeet; - std::string mHeigth; - LLUIString mHeigthValue; - LLUIString mReplacementMetricUrl; - - // color for mHeigth string - LLUIColor mAvatarHeigthLabelColor; - // color for mHeigthValue string - LLUIColor mAvatarHeigthValueLabelColor; // This text editor reference will change each time we edit a new wearable - // it will be grabbed from the currently visible panel - LLLineEditor *mNameEditor; + LLTextEditor *mTextEditor; // The following panels will be shown/hidden based on what wearable we're editing // body parts @@ -162,11 +113,6 @@ private: LLPanel *mPanelAlpha; LLPanel *mPanelTattoo; - typedef std::map<std::string, LLVOAvatarDefines::ETextureIndex> string_texture_index_map_t; - string_texture_index_map_t mAlphaCheckbox2Index; - - typedef std::map<LLVOAvatarDefines::ETextureIndex, LLUUID> s32_uuid_map_t; - s32_uuid_map_t mPreviousAlphaTexture; }; #endif |