summaryrefslogtreecommitdiff
path: root/indra/newview/llpaneleditwearable.h
diff options
context:
space:
mode:
authorTofu Linden <tofu.linden@lindenlab.com>2010-04-07 13:37:37 +0100
committerTofu Linden <tofu.linden@lindenlab.com>2010-04-07 13:37:37 +0100
commit4533d1b59b2e8fc534ad3de7a896aaa8514fe653 (patch)
tree38b4d2398d66a0e18cd8e4dcd47efba0ad5326a1 /indra/newview/llpaneleditwearable.h
parent92f630871386bafc4548eb9beb45063e40b6139c (diff)
parentadce2ecdf8f3a0efcd4907699d286012124ac496 (diff)
merge from viewer-trunk
Diffstat (limited to 'indra/newview/llpaneleditwearable.h')
-rw-r--r--indra/newview/llpaneleditwearable.h114
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