From f55af5fcdfdd0b4520e382d315afefd41c534820 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Mon, 29 Mar 2010 14:07:40 +0300 Subject: done EXT-6547 Rename stuff related with Panel Look Info to Panel Outfit Edit renamed panel_look_info.xml to panel_outfit_edit.xml renamed llpanellookinfo.cpp/llpanellookinfo.h to llpaneloutfitedit.cpp/llpaneloutfitedit.h renamed LLPanelLookInfo to LLPanelOutfitEdit Reviewed at https://codereview.productengine.com/secondlife/r/130/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.h | 127 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 indra/newview/llpaneloutfitedit.h (limited to 'indra/newview/llpaneloutfitedit.h') diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h new file mode 100644 index 0000000000..09ec51c056 --- /dev/null +++ b/indra/newview/llpaneloutfitedit.h @@ -0,0 +1,127 @@ +/** + * @file llpaneloutfitedit.h + * @brief Displays outfit edit information in Side Tray. + * + * $LicenseInfo:firstyear=2009&license=viewergpl$ + * + * Copyright (c) 2004-2009, Linden Research, Inc. + * + * 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 + * + * 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 + * + * 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. + * + * 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$ + */ + +#ifndef LL_LLPANELOUTFITEDIT_H +#define LL_LLPANELOUTFITEDIT_H + +#include "llpanel.h" + +#include "v3dmath.h" +#include "lluuid.h" + +#include "lliconctrl.h" + +#include "llremoteparcelrequest.h" +#include "llinventory.h" +#include "llinventorymodel.h" + +class LLButton; +class LLTextBox; +class LLInventoryCategory; +class LLInventoryLookObserver; +class LLInventoryPanel; +class LLSaveFolderState; +class LLFolderViewItem; +class LLScrollListCtrl; +class LLLookFetchObserver; +class LLFilterEditor; + +class LLPanelOutfitEdit : public LLPanel +{ +public: + + // NOTE: initialize mLookItemTypes at the index of any new enum you add in the LLPanelOutfitEdit() constructor + typedef enum e_look_item_type + { + LIT_ALL = 0, + LIT_WEARABLE, // clothing or shape + LIT_ATTACHMENT, + NUM_LOOK_ITEM_TYPES + } ELookItemType; + + struct LLLookItemType { + std::string displayName; + U64 inventoryMask; + LLLookItemType() : displayName("NONE"), inventoryMask(0) {} + LLLookItemType(std::string name, U64 mask) : displayName(name), inventoryMask(mask) {} + }; + + LLPanelOutfitEdit(); + /*virtual*/ ~LLPanelOutfitEdit(); + + /*virtual*/ BOOL postBuild(); + /*virtual*/ void changed(U32 mask); + + void reset(); + // Ignore all old information, useful if you are + // recycling an existing dialog and need to clear it. + + /*virtual*/ void setParcelID(const LLUUID& parcel_id); + // Sends a request for data about the given parcel, which will + // only update the location if there is none already available. + + void onTypeFilterChanged(LLUICtrl* ctrl); + void onSearchEdit(const std::string& string); + void onInventorySelectionChange(const std::deque &items, BOOL user_action); + void onAddToLookClicked(void); + void onLookItemSelectionChange(void); + void onRemoveFromLookClicked(void); + void onEditWearableClicked(void); + void onUpClicked(void); + + void displayLookInfo(const LLInventoryCategory* pLook); + + void lookFetched(void); + + void updateLookInfo(void); + +private: + + LLUUID mLookID; + LLTextBox* mLookName; + LLScrollListCtrl* mLookContents; + LLInventoryPanel* mInventoryItemsPanel; + LLFilterEditor* mSearchFilter; + LLSaveFolderState* mSavedFolderState; + std::string mSearchString; + LLButton* mAddToLookBtn; + LLButton* mRemoveFromLookBtn; + LLButton* mUpBtn; + LLButton* mEditWearableBtn; + S32 mNumItemsInLook; + + LLLookFetchObserver* mFetchLook; + LLInventoryLookObserver* mLookObserver; + std::vector mLookItemTypes; +}; + +#endif // LL_LLPANELOUTFITEDIT_H -- cgit v1.2.3 From 69833aff50b1d1d360ff5568314d347dd3df40f5 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Thu, 1 Apr 2010 13:35:25 +0300 Subject: drafted out edit outfit panel XUI layout as major part of EXT-6548 Edit Outfit: Clean up XUI to allow all elements to fit properly in the panel Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/143/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'indra/newview/llpaneloutfitedit.h') diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 09ec51c056..5c00f84e0e 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -88,7 +88,9 @@ public: /*virtual*/ void setParcelID(const LLUUID& parcel_id); // Sends a request for data about the given parcel, which will // only update the location if there is none already available. - + + void showAddWearablesPanel(); + void onTypeFilterChanged(LLUICtrl* ctrl); void onSearchEdit(const std::string& string); void onInventorySelectionChange(const std::deque &items, BOOL user_action); -- cgit v1.2.3 From 43d756a7dcd60215204f8f02c9bd6ba26b5b4ca0 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Fri, 2 Apr 2010 13:58:16 +0300 Subject: done EXT-6674 Switch Edit Outfit panel (list at the top) to show content of the Current Outfit system folder reviewed at https://codereview.productengine.com/secondlife/r/159/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.h | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) (limited to 'indra/newview/llpaneloutfitedit.h') diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 5c00f84e0e..ba382d7320 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -81,10 +81,6 @@ public: /*virtual*/ BOOL postBuild(); /*virtual*/ void changed(U32 mask); - void reset(); - // Ignore all old information, useful if you are - // recycling an existing dialog and need to clear it. - /*virtual*/ void setParcelID(const LLUUID& parcel_id); // Sends a request for data about the given parcel, which will // only update the location if there is none already available. @@ -100,7 +96,7 @@ public: void onEditWearableClicked(void); void onUpClicked(void); - void displayLookInfo(const LLInventoryCategory* pLook); + void displayCurrentOutfit(); void lookFetched(void); @@ -108,8 +104,10 @@ public: private: - LLUUID mLookID; - LLTextBox* mLookName; + //*TODO got rid of mCurrentOutfitID + LLUUID mCurrentOutfitID; + + LLTextBox* mCurrentOutfitName; LLScrollListCtrl* mLookContents; LLInventoryPanel* mInventoryItemsPanel; LLFilterEditor* mSearchFilter; @@ -119,7 +117,6 @@ private: LLButton* mRemoveFromLookBtn; LLButton* mUpBtn; LLButton* mEditWearableBtn; - S32 mNumItemsInLook; LLLookFetchObserver* mFetchLook; LLInventoryLookObserver* mLookObserver; -- cgit v1.2.3 From 9d93441b3117c59652fbb81abea2983f3cbca203 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Fri, 9 Apr 2010 12:30:33 +0300 Subject: done EXT-6687 Implement Save button functionality (Edit Outfit panel) Implemented "Save", "Save as new" functionality. If the base outfit doesn't exist "Save as new" functionality is employed Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/179 --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.h | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'indra/newview/llpaneloutfitedit.h') diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index ba382d7320..d09795156e 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -52,6 +52,7 @@ class LLInventoryPanel; class LLSaveFolderState; class LLFolderViewItem; class LLScrollListCtrl; +class LLToggleableMenu; class LLLookFetchObserver; class LLFilterEditor; @@ -86,6 +87,8 @@ public: // only update the location if there is none already available. void showAddWearablesPanel(); + void saveOutfit(bool as_new = false); + void showSaveMenu(); void onTypeFilterChanged(LLUICtrl* ctrl); void onSearchEdit(const std::string& string); @@ -117,6 +120,7 @@ private: LLButton* mRemoveFromLookBtn; LLButton* mUpBtn; LLButton* mEditWearableBtn; + LLToggleableMenu* mSaveMenu; LLLookFetchObserver* mFetchLook; LLInventoryLookObserver* mLookObserver; -- cgit v1.2.3 From 43c85b0dfb4e7e7c9fdfc02954bbb0115ec344c4 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Fri, 9 Apr 2010 15:07:42 +0300 Subject: done EXT-6716 Implement Add button functionality for adding a wearable to Current Outfit (Edit Outfit panel) Added temporary PLUS button on the button bar under the top list of Edit Outfit panel Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/203/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'indra/newview/llpaneloutfitedit.h') diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index d09795156e..1a8d7d2bef 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -93,7 +93,7 @@ public: void onTypeFilterChanged(LLUICtrl* ctrl); void onSearchEdit(const std::string& string); void onInventorySelectionChange(const std::deque &items, BOOL user_action); - void onAddToLookClicked(void); + void onAddToOutfitClicked(void); void onLookItemSelectionChange(void); void onRemoveFromLookClicked(void); void onEditWearableClicked(void); @@ -116,7 +116,7 @@ private: LLFilterEditor* mSearchFilter; LLSaveFolderState* mSavedFolderState; std::string mSearchString; - LLButton* mAddToLookBtn; + LLButton* mAddToOutfitBtn; LLButton* mRemoveFromLookBtn; LLButton* mUpBtn; LLButton* mEditWearableBtn; -- cgit v1.2.3 From 613b4e9361df55da3863a546c806493d48f848f3 Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Tue, 13 Apr 2010 13:37:14 +0300 Subject: done EXT-6675 Fix TRASH btn on Edit Outfit panel to remove an item from avatar (from COF) Trash button removes from avatar a selected item only of "clothing" and "object" types Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/209/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'indra/newview/llpaneloutfitedit.h') diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index 1a8d7d2bef..fa92d4c314 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -94,8 +94,8 @@ public: void onSearchEdit(const std::string& string); void onInventorySelectionChange(const std::deque &items, BOOL user_action); void onAddToOutfitClicked(void); - void onLookItemSelectionChange(void); - void onRemoveFromLookClicked(void); + void onOutfitItemSelectionChange(void); + void onRemoveFromOutfitClicked(void); void onEditWearableClicked(void); void onUpClicked(void); @@ -117,7 +117,7 @@ private: LLSaveFolderState* mSavedFolderState; std::string mSearchString; LLButton* mAddToOutfitBtn; - LLButton* mRemoveFromLookBtn; + LLButton* mRemoveFromOutfitBtn; LLButton* mUpBtn; LLButton* mEditWearableBtn; LLToggleableMenu* mSaveMenu; -- cgit v1.2.3 From 71c7b2f6d76b29c527d07c01c52127bf4f5b402e Mon Sep 17 00:00:00 2001 From: Igor Borovkov Date: Mon, 19 Apr 2010 13:23:24 +0300 Subject: completed EXT-6764 Implement filtering of wearables (combobox options: Clothes/Body, Objects, All) on Add to Outfit subpanel Reviewed by Neal Orman at https://codereview.productengine.com/secondlife/r/221/ --HG-- branch : product-engine --- indra/newview/llpaneloutfitedit.h | 1 + 1 file changed, 1 insertion(+) (limited to 'indra/newview/llpaneloutfitedit.h') diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h index fa92d4c314..69e8016534 100644 --- a/indra/newview/llpaneloutfitedit.h +++ b/indra/newview/llpaneloutfitedit.h @@ -87,6 +87,7 @@ public: // only update the location if there is none already available. void showAddWearablesPanel(); + void showWearablesFilter(); void saveOutfit(bool as_new = false); void showSaveMenu(); -- cgit v1.2.3