summaryrefslogtreecommitdiff
path: root/indra/newview/llpaneloutfitedit.h
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llpaneloutfitedit.h')
-rw-r--r--indra/newview/llpaneloutfitedit.h72
1 files changed, 52 insertions, 20 deletions
diff --git a/indra/newview/llpaneloutfitedit.h b/indra/newview/llpaneloutfitedit.h
index 0074cd517b..1569c55732 100644
--- a/indra/newview/llpaneloutfitedit.h
+++ b/indra/newview/llpaneloutfitedit.h
@@ -42,24 +42,30 @@
#include "llremoteparcelrequest.h"
#include "llinventory.h"
+#include "llinventoryitemslist.h"
#include "llinventorymodel.h"
class LLButton;
class LLCOFWearables;
class LLTextBox;
class LLInventoryCategory;
-class LLInventoryLookObserver;
+class LLCOFObserver;
+class LLCOFDragAndDropObserver;
class LLInventoryPanel;
class LLSaveFolderState;
class LLFolderViewItem;
class LLScrollListCtrl;
class LLToggleableMenu;
-class LLLookFetchObserver;
class LLFilterEditor;
class LLFilteredWearableListManager;
+class LLMenuGL;
+class LLFindNonLinksByMask;
+class LLFindWearablesOfType;
+class LLSaveOutfitComboBtn;
class LLPanelOutfitEdit : public LLPanel
{
+ LOG_CLASS(LLPanelOutfitEdit);
public:
// NOTE: initialize mLookItemTypes at the index of any new enum you add in the LLPanelOutfitEdit() constructor
@@ -82,19 +88,14 @@ public:
/*virtual*/ ~LLPanelOutfitEdit();
/*virtual*/ BOOL postBuild();
- /*virtual*/ void changed(U32 mask);
-
- /*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.
+ /*virtual*/ void onOpen(const LLSD& key);
void moveWearable(bool closer_to_body);
void toggleAddWearablesPanel();
void showWearablesFilter();
void showFilteredWearablesPanel();
- void saveOutfit(bool as_new = false);
- void showSaveMenu();
+ void showFilteredFolderWearablesPanel();
void onTypeFilterChanged(LLUICtrl* ctrl);
void onSearchEdit(const std::string& string);
@@ -103,35 +104,66 @@ public:
void onOutfitItemSelectionChange(void);
void onRemoveFromOutfitClicked(void);
void onEditWearableClicked(void);
+ void onAddWearableClicked(void);
+ void onReplaceBodyPartMenuItemClicked(LLUUID selected_item_id);
void displayCurrentOutfit();
-
- void lookFetched(void);
-
- void updateLookInfo(void);
+ void updateCurrentOutfitName();
-private:
+ void update();
void updateVerbs();
+ /**
+ * @brief Helper function. Shows one panel instead of another.
+ * If panels already switched does nothing and returns false.
+ * @param switch_from_panel panel to hide
+ * @param switch_to_panel panel to show
+ * @retun returns true if switching happened, false if not.
+ */
+ bool switchPanels(LLPanel* switch_from_panel, LLPanel* switch_to_panel);
+
+ virtual BOOL handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop,
+ EDragAndDropType cargo_type,
+ void* cargo_data,
+ EAcceptance* accept,
+ std::string& tooltip_msg);
+
+private:
+
+ void onGearButtonClick(LLUICtrl* clicked_button);
+ void onGearMenuItemClick(const LLSD& data);
+ void showFilteredWearableItemsList(LLWearableType::EType type);
- //*TODO got rid of mCurrentOutfitID
- LLUUID mCurrentOutfitID;
LLTextBox* mCurrentOutfitName;
+ LLTextBox* mStatus;
LLInventoryPanel* mInventoryItemsPanel;
LLFilterEditor* mSearchFilter;
LLSaveFolderState* mSavedFolderState;
std::string mSearchString;
LLButton* mEditWearableBtn;
- LLToggleableMenu* mSaveMenu;
+ LLButton* mFolderViewBtn;
+ LLButton* mListViewBtn;
+ LLButton* mAddToOutfitBtn;
+ LLPanel* mAddWearablesPanel;
+
+ LLFindNonLinksByMask* mWearableListMaskCollector;
+ LLFindWearablesOfType* mWearableListTypeCollector;
- LLFilteredWearableListManager* mWearableListManager;
+ LLFilteredWearableListManager* mWearableListManager;
+ LLInventoryItemsList* mWearableItemsList;
+ LLPanel* mWearableItemsPanel;
+
+ LLCOFObserver* mCOFObserver;
+ LLCOFDragAndDropObserver* mCOFDragAndDropObserver;
- LLLookFetchObserver* mFetchLook;
- LLInventoryLookObserver* mLookObserver;
std::vector<LLLookItemType> mLookItemTypes;
LLCOFWearables* mCOFWearables;
+ LLMenuGL* mGearMenu;
+ bool mInitialized;
+ std::auto_ptr<LLSaveOutfitComboBtn> mSaveComboBtn;
+
};
#endif // LL_LLPANELOUTFITEDIT_H