/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. #ifndef LL_LLPANELGROUPGENERAL_H
  27. #define LL_LLPANELGROUPGENERAL_H
  28. #include "llpanelgroup.h"
  29. class LLLineEditor;
  30. class LLTextBox;
  31. class LLTextureCtrl;
  32. class LLTextEditor;
  33. class LLButton;
  34. class LLNameListCtrl;
  35. class LLCheckBoxCtrl;
  36. class LLComboBox;
  37. class LLSpinCtrl;
  38. class LLPanelGroupGeneral : public LLPanelGroupTab
  39. {
  40. public:
  41. LLPanelGroupGeneral();
  42. virtual ~LLPanelGroupGeneral();
  43. // LLPanelGroupTab
  44. virtual void activate();
  45. virtual bool needsApply(std::string& mesg);
  46. virtual bool apply(std::string& mesg);
  47. virtual void cancel();
  48. bool createGroupCallback(const LLSD& notification, const LLSD& response);
  49. virtual void update(LLGroupChange gc);
  50. virtual BOOL postBuild();
  51. virtual void draw();
  52. virtual void setGroupID(const LLUUID& id);
  53. virtual void setupCtrls (LLPanel* parent);
  54. private:
  55. void reset();
  56. void resetDirty();
  57. static void onFocusEdit(LLFocusableElement* ctrl, void* data);
  58. static void onCommitAny(LLUICtrl* ctrl, void* data);
  59. static void onCommitUserOnly(LLUICtrl* ctrl, void* data);
  60. static void onCommitEnrollment(LLUICtrl* ctrl, void* data);
  61. static void onClickInfo(void* userdata);
  62. static void onReceiveNotices(LLUICtrl* ctrl, void* data);
  63. static void openProfile(void* data);
  64. S32 sortMembersList(S32,const LLScrollListItem*,const LLScrollListItem*);
  65. static bool joinDlgCB(const LLSD& notification, const LLSD& response);
  66. void updateMembers();
  67. void updateChanged();
  68. bool confirmMatureApply(const LLSD& notification, const LLSD& response);
  69. BOOL mPendingMemberUpdate;
  70. BOOL mChanged;
  71. BOOL mFirstUse;
  72. std::string mIncompleteMemberDataStr;
  73. // Group information (include any updates in updateChanged)
  74. LLLineEditor *mGroupNameEditor;
  75. LLTextBox *mFounderName;
  76. LLTextureCtrl *mInsignia;
  77. LLTextEditor *mEditCharter;
  78. LLNameListCtrl *mListVisibleMembers;
  79. // Options (include any updates in updateChanged)
  80. LLCheckBoxCtrl *mCtrlShowInGroupList;
  81. LLCheckBoxCtrl *mCtrlOpenEnrollment;
  82. LLCheckBoxCtrl *mCtrlEnrollmentFee;
  83. LLSpinCtrl *mSpinEnrollmentFee;
  84. LLCheckBoxCtrl *mCtrlReceiveNotices;
  85. LLCheckBoxCtrl *mCtrlListGroup;
  86. LLTextBox *mActiveTitleLabel;
  87. LLComboBox *mComboActiveTitle;
  88. LLComboBox *mComboMature;
  89. LLGroupMgrGroupData::member_list_t::iterator mMemberProgress;
  90. };
  91. #endif