diff options
author | Steven Bennetts <steve@lindenlab.com> | 2009-06-21 08:04:56 +0000 |
---|---|---|
committer | Steven Bennetts <steve@lindenlab.com> | 2009-06-21 08:04:56 +0000 |
commit | 9ec432034dc3c45d7ce763eb02dae4cc7f6b8da8 (patch) | |
tree | 4a505c1e0919af52800b3ffb3eaf135e7d6f9ce6 /indra/newview/llavatarlistitem.h | |
parent | 351ebe9fcb76f3b99c2957004bb8493a904869ee (diff) |
merge -r 122421-124917 viewer-2.0.0-2 -> viewer-2.0.0-3
ignore-dead-branch
Diffstat (limited to 'indra/newview/llavatarlistitem.h')
-rw-r--r-- | indra/newview/llavatarlistitem.h | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/indra/newview/llavatarlistitem.h b/indra/newview/llavatarlistitem.h new file mode 100644 index 0000000000..5835a4c6b4 --- /dev/null +++ b/indra/newview/llavatarlistitem.h @@ -0,0 +1,102 @@ +/** + * @file llavatarlistitem.h + * @avatar list item header file + * + * $LicenseInfo:firstyear=2004&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$ + */ + +#include "llavatariconctrl.h" +#include <llview.h> +#include <llpanel.h> +#include <llfloater.h> +#include <lltextbox.h> +#include <llbutton.h> +#include <lluuid.h> + +#include "llfloaterminiinspector.h" + +class LLAvatarListItem : public LLPanel +{ +public: + struct Params : public LLInitParam::Block<Params, LLPanel::Params> + { + Optional<LLUUID> avatar_icon; + Optional<std::string> user_name; + struct avatar_list_item_buttons + { + bool status; + bool info; + bool profile; + bool locator; + avatar_list_item_buttons() : status(true), info(true), profile(true), locator(true) + {}; + } buttons; + + Params() : avatar_icon("avatar_icon",LLUUID()), user_name("user_name","") + {}; + }; + + + LLAvatarListItem(const Params& p); + virtual ~LLAvatarListItem(); + + void reshape(S32 width, S32 height, BOOL called_from_parent); + + //interface + void setStatus(int status); + void setName(std::string name); + void setAvatar(LLSD& data); + void needsArrange( void ) {mNeedsArrange = true;} + + + //event handlers + //mouse + virtual BOOL handleHover(S32 x, S32 y, MASK mask); + virtual void onMouseLeave(S32 x, S32 y, MASK mask); + virtual void onMouseEnter(S32 x, S32 y, MASK mask); + //buttons + void onInfoBtnClick(); + void onProfileBtnClick(); + +private: + LLAvatarIconCtrl* mAvatar; + LLIconCtrl* mLocator; + LLTextBox* mName; + LLTextBox* mStatus; + LLButton* mInfo; + LLButton* mProfile; + + S32 mYPos; + S32 mXPos; + + LLFloater* mini_inspector; + bool mNeedsArrange; + + // + void init(const Params& p); +}; |