diff options
author | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
---|---|---|
committer | James Cook <james@lindenlab.com> | 2007-01-02 08:33:20 +0000 |
commit | 420b91db29485df39fd6e724e782c449158811cb (patch) | |
tree | b471a94563af914d3ed3edd3e856d21cb1b69945 /indra/newview/llpanelgroupnotices.h |
Print done when done.
Diffstat (limited to 'indra/newview/llpanelgroupnotices.h')
-rw-r--r-- | indra/newview/llpanelgroupnotices.h | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/indra/newview/llpanelgroupnotices.h b/indra/newview/llpanelgroupnotices.h new file mode 100644 index 0000000000..62c8f62162 --- /dev/null +++ b/indra/newview/llpanelgroupnotices.h @@ -0,0 +1,98 @@ +/** + * @file llpanelgroupnotices.h + * @brief A panel to display group notices. + * + * Copyright (c) 2006-$CurrentYear$, Linden Research, Inc. + * $License$ + */ + +#ifndef LL_LLPANELGROUPNOTICES_H +#define LL_LLPANELGROUPNOTICES_H + +#include "llpanelgroup.h" +#include "llmemory.h" +#include "llinventory.h" + +class LLLineEditor; +class LLTextEditor; +class LLButton; +class LLIconCtrl; +class LLCheckBoxCtrl; +class LLScrollListCtrl; + +class LLPanelGroupNotices : public LLPanelGroupTab +{ +public: + LLPanelGroupNotices(const std::string& name, const LLUUID& group_id); + virtual ~LLPanelGroupNotices(); + + // LLPanelGroupTab + static void* createTab(void* data); + virtual void activate(); + //virtual bool needsApply(LLString& mesg); + //virtual bool apply(LLString& mesg); + //virtual void update(); + + virtual BOOL postBuild(); + virtual BOOL isVisibleByAgent(LLAgent* agentp); + + void setItem(LLPointer<LLInventoryItem> inv_item); + + static void processGroupNoticesListReply(LLMessageSystem* msg, void** data); + + void showNotice(const char* subject, + const char* message, + const bool& has_inventory, + const char* inventory_name, + LLOfferInfo* inventory_offer); + +private: + static void onClickRemoveAttachment(void* data); + static void onClickOpenAttachment(void* data); + static void onClickSendMessage(void* data); + static void onClickNewMessage(void* data); + static void onClickRefreshNotices(void* data); + + void processNotices(LLMessageSystem* msg); + static void onSelectNotice(LLUICtrl* ctrl, void* data); + + enum ENoticeView + { + VIEW_PAST_NOTICE, + CREATE_NEW_NOTICE + }; + + void arrangeNoticeView(ENoticeView view_type); + + LLPointer<LLInventoryItem> mInventoryItem; + + LLLineEditor *mCreateSubject; + LLLineEditor *mCreateInventoryName; + LLTextEditor *mCreateMessage; + + LLLineEditor *mViewSubject; + LLLineEditor *mViewInventoryName; + LLTextEditor *mViewMessage; + + LLButton *mBtnSendMessage; + LLButton *mBtnNewMessage; + LLButton *mBtnRemoveAttachment; + LLButton *mBtnOpenAttachment; + LLButton *mBtnGetPastNotices; + + LLPanel *mPanelCreateNotice; + LLPanel *mPanelViewNotice; + + LLIconCtrl *mCreateInventoryIcon; + LLIconCtrl *mViewInventoryIcon; + + LLScrollListCtrl *mNoticesList; + + std::string mNoNoticesStr; + + LLOfferInfo* mInventoryOffer; + + static std::map<LLUUID,LLPanelGroupNotices*> sInstances; +}; + +#endif |