PageRenderTime 22ms CodeModel.GetById 11ms app.highlight 7ms RepoModel.GetById 2ms app.codeStats 0ms

/indra/newview/llsidepanelappearance.h

https://bitbucket.org/lindenlab/viewer-beta/
C++ Header | 103 lines | 54 code | 20 blank | 29 comment | 0 complexity | 69ea2f59f3788eb1f7976a965266ae84 MD5 | raw file
  1/** 
  2 * @file llsidepanelappearance.h
  3 * @brief Side Bar "Appearance" panel
  4 *
  5 * $LicenseInfo:firstyear=2009&license=viewerlgpl$
  6 * Second Life Viewer Source Code
  7 * Copyright (C) 2010, Linden Research, Inc.
  8 * 
  9 * This library is free software; you can redistribute it and/or
 10 * modify it under the terms of the GNU Lesser General Public
 11 * License as published by the Free Software Foundation;
 12 * version 2.1 of the License only.
 13 * 
 14 * This library is distributed in the hope that it will be useful,
 15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 17 * Lesser General Public License for more details.
 18 * 
 19 * You should have received a copy of the GNU Lesser General Public
 20 * License along with this library; if not, write to the Free Software
 21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 22 * 
 23 * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA
 24 * $/LicenseInfo$
 25 */
 26
 27#ifndef LL_LLSIDEPANELAPPEARANCE_H
 28#define LL_LLSIDEPANELAPPEARANCE_H
 29
 30#include "llpanel.h"
 31#include "llinventoryobserver.h"
 32
 33#include "llinventory.h"
 34#include "llpaneloutfitedit.h"
 35
 36class LLFilterEditor;
 37class LLCurrentlyWornFetchObserver;
 38class LLPanelEditWearable;
 39class LLWearable;
 40class LLPanelOutfitsInventory;
 41
 42class LLSidepanelAppearance : public LLPanel
 43{
 44	LOG_CLASS(LLSidepanelAppearance);
 45public:
 46	LLSidepanelAppearance();
 47	virtual ~LLSidepanelAppearance();
 48
 49	/*virtual*/ BOOL postBuild();
 50	/*virtual*/ void onOpen(const LLSD& key);
 51
 52	void refreshCurrentOutfitName(const std::string& name = "");
 53
 54	static void editWearable(LLWearable *wearable, LLView *data, BOOL disable_camera_switch = FALSE);
 55
 56	void fetchInventory();
 57	void inventoryFetched();
 58	void onNewOutfitButtonClicked();
 59
 60	void showOutfitsInventoryPanel();
 61	void showOutfitEditPanel();
 62	void showWearableEditPanel(LLWearable *wearable = NULL, BOOL disable_camera_switch = FALSE);
 63	void setWearablesLoading(bool val);
 64	void showDefaultSubpart();
 65	void updateScrollingPanelList();
 66	void updateToVisibility( const LLSD& new_visibility );
 67
 68private:
 69	void onFilterEdit(const std::string& search_string);
 70	void onVisibilityChange ( const LLSD& new_visibility );
 71
 72	void onOpenOutfitButtonClicked();
 73	void onEditAppearanceButtonClicked();
 74
 75	void toggleMyOutfitsPanel(BOOL visible);
 76	void toggleOutfitEditPanel(BOOL visible, BOOL disable_camera_switch = FALSE);
 77	void toggleWearableEditPanel(BOOL visible, LLWearable* wearable = NULL, BOOL disable_camera_switch = FALSE);
 78
 79	LLFilterEditor*			mFilterEditor;
 80	LLPanelOutfitsInventory* mPanelOutfitsInventory;
 81	LLPanelOutfitEdit*		mOutfitEdit;
 82	LLPanelEditWearable*	mEditWearable;
 83
 84	LLButton*					mOpenOutfitBtn;
 85	LLButton*					mEditAppearanceBtn;
 86	LLButton*					mNewOutfitBtn;
 87	LLPanel*					mCurrOutfitPanel;
 88
 89	LLTextBox*					mCurrentLookName;
 90	LLTextBox*					mOutfitStatus;
 91
 92	// Used to make sure the user's inventory is in memory.
 93	LLCurrentlyWornFetchObserver* mFetchWorn;
 94
 95	// Search string for filtering landmarks and teleport
 96	// history locations
 97	std::string					mFilterSubString;
 98
 99	// Gets set to true when we're opened for the first time.
100	bool mOpened;
101};
102
103#endif //LL_LLSIDEPANELAPPEARANCE_H