llpanelgroupgeneral.h

Go to the documentation of this file.
00001 
00032 #ifndef LL_LLPANELGROUPGENERAL_H
00033 #define LL_LLPANELGROUPGENERAL_H
00034 
00035 #include "llpanelgroup.h"
00036 
00037 class LLLineEditor;
00038 class LLTextBox;
00039 class LLTextureCtrl;
00040 class LLTextEditor;
00041 class LLButton;
00042 class LLNameListCtrl;
00043 class LLCheckBoxCtrl;
00044 class LLComboBox;
00045 class LLNameBox;
00046 class LLSpinCtrl;
00047 
00048 class LLPanelGroupGeneral : public LLPanelGroupTab
00049 {
00050 public:
00051         LLPanelGroupGeneral(const std::string& name, const LLUUID& group_id);
00052         virtual ~LLPanelGroupGeneral();
00053 
00054         // LLPanelGroupTab
00055         static void* createTab(void* data);
00056         virtual void activate();
00057         virtual bool needsApply(LLString& mesg);
00058         virtual bool apply(LLString& mesg);
00059         virtual void cancel();
00060         static void createGroupCallback(S32 option, void* user_data);
00061         static void callbackConfirmMatureApply(S32 option, void* data);
00062         
00063         virtual void update(LLGroupChange gc);
00064         
00065         virtual BOOL postBuild();
00066         
00067         virtual void draw();
00068 
00069 private:
00070         static void onFocusEdit(LLFocusableElement* ctrl, void* data);
00071         static void onCommitAny(LLUICtrl* ctrl, void* data);
00072         static void onCommitUserOnly(LLUICtrl* ctrl, void* data);
00073         static void onCommitTitle(LLUICtrl* ctrl, void* data);
00074         static void onCommitEnrollment(LLUICtrl* ctrl, void* data);
00075         static void onClickJoin(void* userdata);
00076         static void onClickInfo(void* userdata);
00077         static void onReceiveNotices(LLUICtrl* ctrl, void* data);
00078         static void openProfile(void* data);
00079 
00080     static void joinDlgCB(S32 which, void *userdata);
00081 
00082         void updateMembers();
00083         void updateChanged();
00084         void confirmMatureApply(S32 option);
00085 
00086         BOOL                    mPendingMemberUpdate;
00087         BOOL                    mChanged;
00088         BOOL                    mFirstUse;
00089         std::string             mIncompleteMemberDataStr;
00090         std::string             mConfirmGroupCreateStr;
00091         LLUUID                  mDefaultIconID;
00092 
00093         // Group information (include any updates in updateChanged)
00094         LLLineEditor            *mGroupNameEditor;
00095         LLTextBox                       *mGroupName;
00096         LLNameBox                       *mFounderName;
00097         LLTextureCtrl           *mInsignia;
00098         LLTextEditor            *mEditCharter;
00099         LLButton                        *mBtnJoinGroup;
00100         LLButton                        *mBtnInfo;
00101 
00102         LLNameListCtrl  *mListVisibleMembers;
00103 
00104         // Options (include any updates in updateChanged)
00105         LLCheckBoxCtrl  *mCtrlShowInGroupList;
00106         LLCheckBoxCtrl  *mCtrlOpenEnrollment;
00107         LLCheckBoxCtrl  *mCtrlEnrollmentFee;
00108         LLSpinCtrl      *mSpinEnrollmentFee;
00109         LLCheckBoxCtrl  *mCtrlReceiveNotices;
00110         LLCheckBoxCtrl  *mCtrlListGroup;
00111         LLTextBox       *mActiveTitleLabel;
00112         LLComboBox              *mComboActiveTitle;
00113         LLComboBox              *mComboMature;
00114 
00115         LLGroupMgrGroupData::member_list_t::iterator mMemberProgress;
00116 };
00117 
00118 #endif

Generated on Fri May 16 08:33:52 2008 for SecondLife by  doxygen 1.5.5