PageRenderTime 54ms CodeModel.GetById 46ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/indra/newview/llpanelgroupgeneral.h

https://bitbucket.org/lindenlab/viewer-beta/
C++ Header | 113 lines | 63 code | 22 blank | 28 comment | 0 complexity | 13d31a26ac32f8c90ec7d78ef9129e19 MD5 | raw file
  1/** 
  2 * @file llpanelgroupgeneral.h
  3 * @brief General information about a group.
  4 *
  5 * $LicenseInfo:firstyear=2006&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_LLPANELGROUPGENERAL_H
 28#define LL_LLPANELGROUPGENERAL_H
 29
 30#include "llpanelgroup.h"
 31
 32class LLLineEditor;
 33class LLTextBox;
 34class LLTextureCtrl;
 35class LLTextEditor;
 36class LLButton;
 37class LLNameListCtrl;
 38class LLCheckBoxCtrl;
 39class LLComboBox;
 40class LLSpinCtrl;
 41
 42class LLPanelGroupGeneral : public LLPanelGroupTab
 43{
 44public:
 45	LLPanelGroupGeneral();
 46	virtual ~LLPanelGroupGeneral();
 47
 48	// LLPanelGroupTab
 49	virtual void activate();
 50	virtual bool needsApply(std::string& mesg);
 51	virtual bool apply(std::string& mesg);
 52	virtual void cancel();
 53	bool createGroupCallback(const LLSD& notification, const LLSD& response);
 54	
 55	virtual void update(LLGroupChange gc);
 56	
 57	virtual BOOL postBuild();
 58	
 59	virtual void draw();
 60
 61	virtual void setGroupID(const LLUUID& id);
 62
 63	virtual void setupCtrls	(LLPanel* parent);
 64
 65private:
 66	void	reset();
 67
 68	void	resetDirty();
 69
 70	static void onFocusEdit(LLFocusableElement* ctrl, void* data);
 71	static void onCommitAny(LLUICtrl* ctrl, void* data);
 72	static void onCommitUserOnly(LLUICtrl* ctrl, void* data);
 73	static void onCommitEnrollment(LLUICtrl* ctrl, void* data);
 74	static void onClickInfo(void* userdata);
 75	static void onReceiveNotices(LLUICtrl* ctrl, void* data);
 76	static void openProfile(void* data);
 77
 78	S32		sortMembersList(S32,const LLScrollListItem*,const LLScrollListItem*);
 79
 80    static bool joinDlgCB(const LLSD& notification, const LLSD& response);
 81
 82	void updateMembers();
 83	void updateChanged();
 84	bool confirmMatureApply(const LLSD& notification, const LLSD& response);
 85
 86	BOOL			mPendingMemberUpdate;
 87	BOOL			mChanged;
 88	BOOL			mFirstUse;
 89	std::string		mIncompleteMemberDataStr;
 90
 91	// Group information (include any updates in updateChanged)
 92	LLLineEditor		*mGroupNameEditor;
 93	LLTextBox			*mFounderName;
 94	LLTextureCtrl		*mInsignia;
 95	LLTextEditor		*mEditCharter;
 96
 97	LLNameListCtrl	*mListVisibleMembers;
 98
 99	// Options (include any updates in updateChanged)
100	LLCheckBoxCtrl	*mCtrlShowInGroupList;
101	LLCheckBoxCtrl	*mCtrlOpenEnrollment;
102	LLCheckBoxCtrl	*mCtrlEnrollmentFee;
103	LLSpinCtrl      *mSpinEnrollmentFee;
104	LLCheckBoxCtrl	*mCtrlReceiveNotices;
105	LLCheckBoxCtrl  *mCtrlListGroup;
106	LLTextBox       *mActiveTitleLabel;
107	LLComboBox		*mComboActiveTitle;
108	LLComboBox		*mComboMature;
109
110	LLGroupMgrGroupData::member_list_t::iterator mMemberProgress;
111};
112
113#endif