LLPanelGroupNotices Class Reference

#include <llpanelgroupnotices.h>

Inheritance diagram for LLPanelGroupNotices:

Inheritance graph
[legend]
Collaboration diagram for LLPanelGroupNotices:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLPanelGroupNotices (const std::string &name, const LLUUID &group_id)
virtual ~LLPanelGroupNotices ()
virtual void activate ()
virtual BOOL postBuild ()
virtual BOOL isVisibleByAgent (LLAgent *agentp)
void setItem (LLPointer< LLInventoryItem > inv_item)
void showNotice (const char *subject, const char *message, const bool &has_inventory, const char *inventory_name, LLOfferInfo *inventory_offer)

Static Public Member Functions

static voidcreateTab (void *data)
static void processGroupNoticesListReply (LLMessageSystem *msg, void **data)

Private Types

 VIEW_PAST_NOTICE
 CREATE_NEW_NOTICE
enum  ENoticeView { VIEW_PAST_NOTICE, CREATE_NEW_NOTICE }

Private Member Functions

void processNotices (LLMessageSystem *msg)
void arrangeNoticeView (ENoticeView view_type)

Static Private Member Functions

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)
static void onSelectNotice (LLUICtrl *ctrl, void *data)

Private Attributes

LLPointer< LLInventoryItemmInventoryItem
LLLineEditormCreateSubject
LLLineEditormCreateInventoryName
LLTextEditormCreateMessage
LLLineEditormViewSubject
LLLineEditormViewInventoryName
LLTextEditormViewMessage
LLButtonmBtnSendMessage
LLButtonmBtnNewMessage
LLButtonmBtnRemoveAttachment
LLButtonmBtnOpenAttachment
LLButtonmBtnGetPastNotices
LLPanelmPanelCreateNotice
LLPanelmPanelViewNotice
LLIconCtrlmCreateInventoryIcon
LLIconCtrlmViewInventoryIcon
LLScrollListCtrlmNoticesList
std::string mNoNoticesStr
LLOfferInfomInventoryOffer

Static Private Attributes

static std::map< LLUUID, LLPanelGroupNotices * > sInstances

Detailed Description

Definition at line 46 of file llpanelgroupnotices.h.


Member Enumeration Documentation

enum LLPanelGroupNotices::ENoticeView [private]

Enumerator:
VIEW_PAST_NOTICE 
CREATE_NEW_NOTICE 

Definition at line 82 of file llpanelgroupnotices.h.


Constructor & Destructor Documentation

LLPanelGroupNotices::LLPanelGroupNotices ( const std::string &  name,
const LLUUID group_id 
)

Definition at line 194 of file llpanelgroupnotices.cpp.

References sInstances.

Referenced by createTab().

LLPanelGroupNotices::~LLPanelGroupNotices (  )  [virtual]

Definition at line 203 of file llpanelgroupnotices.cpp.

References inventory_offer_callback(), IOR_DECLINE, LLPanelGroupTab::mGroupID, mInventoryOffer, NULL, and sInstances.


Member Function Documentation

void LLPanelGroupNotices::activate (  )  [virtual]

Reimplemented from LLPanelGroupTab.

Definition at line 307 of file llpanelgroupnotices.cpp.

References FALSE, gAgent, GP_NOTICES_RECEIVE, GP_NOTICES_SEND, LLAgent::hasPowerInGroup(), mCreateInventoryName, LLPanelGroupTab::mGroupID, mPanelCreateNotice, mPanelViewNotice, mViewInventoryName, onClickRefreshNotices(), LLLineEditor::setEnabled(), and LLView::setEnabled().

void LLPanelGroupNotices::arrangeNoticeView ( ENoticeView  view_type  )  [private]

Definition at line 583 of file llpanelgroupnotices.cpp.

References CREATE_NEW_NOTICE, FALSE, mBtnOpenAttachment, mPanelCreateNotice, mPanelViewNotice, LLView::setEnabled(), LLView::setVisible(), and TRUE.

Referenced by postBuild(), and showNotice().

void * LLPanelGroupNotices::createTab ( void data  )  [static]

Reimplemented from LLPanelGroupTab.

Definition at line 216 of file llpanelgroupnotices.cpp.

References LLPanelGroupNotices().

Referenced by LLPanelGroup::LLPanelGroup().

BOOL LLPanelGroupNotices::isVisibleByAgent ( LLAgent agentp  )  [virtual]

Reimplemented from LLPanelGroupTab.

Definition at line 222 of file llpanelgroupnotices.cpp.

References GP_NOTICES_RECEIVE, GP_NOTICES_SEND, LLAgent::hasPowerInGroup(), LLPanelGroupTab::mAllowEdit, and LLPanelGroupTab::mGroupID.

void LLPanelGroupNotices::onClickNewMessage ( void data  )  [static, private]

Definition at line 396 of file llpanelgroupnotices.cpp.

References CREATE_NEW_NOTICE, inventory_offer_callback(), IOR_DECLINE, NULL, onClickRemoveAttachment(), and TRUE.

Referenced by postBuild().

void LLPanelGroupNotices::onClickOpenAttachment ( void data  )  [static, private]

Definition at line 361 of file llpanelgroupnotices.cpp.

References FALSE, inventory_offer_callback(), IOR_ACCEPT, and NULL.

Referenced by postBuild().

void LLPanelGroupNotices::onClickRefreshNotices ( void data  )  [static, private]

Definition at line 414 of file llpanelgroupnotices.cpp.

References LLMessageSystem::addUUID(), gAgent, LLAgent::getID(), LLAgent::getSessionID(), gMessageSystem, lldebugs, llendl, LLMessageSystem::newMessage(), LLMessageSystem::nextBlock(), and LLAgent::sendReliableMessage().

Referenced by activate(), onClickSendMessage(), and postBuild().

void LLPanelGroupNotices::onClickRemoveAttachment ( void data  )  [static, private]

Definition at line 351 of file llpanelgroupnotices.cpp.

References FALSE, and NULL.

Referenced by onClickNewMessage(), onClickSendMessage(), and postBuild().

void LLPanelGroupNotices::onClickSendMessage ( void data  )  [static, private]

Definition at line 370 of file llpanelgroupnotices.cpp.

References LLViewerWindow::alertXml(), gViewerWindow, onClickRefreshNotices(), onClickRemoveAttachment(), send_group_notice(), and VIEW_PAST_NOTICE.

Referenced by postBuild().

void LLPanelGroupNotices::onSelectNotice ( LLUICtrl ctrl,
void data 
) [static, private]

Definition at line 520 of file llpanelgroupnotices.cpp.

References LLMessageSystem::addUUID(), gAgent, LLAgent::getID(), LLAgent::getSessionID(), LLScrollListItem::getUUID(), gMessageSystem, lldebugs, llendl, LLMessageSystem::newMessage(), LLMessageSystem::nextBlock(), and LLAgent::sendReliableMessage().

Referenced by postBuild().

BOOL LLPanelGroupNotices::postBuild (  )  [virtual]

Reimplemented from LLPanelGroupTab.

Definition at line 228 of file llpanelgroupnotices.cpp.

References LLView::addChild(), arrangeNoticeView(), FALSE, gAgent, LLPanel::getChildByName(), LLView::getRect(), LLTextBox::getText(), LLView::getToolTip(), GP_NOTICES_SEND, LLAgent::hasPowerInGroup(), mBtnGetPastNotices, mBtnNewMessage, mBtnOpenAttachment, mBtnRemoveAttachment, mBtnSendMessage, mCreateInventoryIcon, mCreateInventoryName, mCreateMessage, mCreateSubject, LLPanelGroupTab::mGroupID, mNoNoticesStr, mNoticesList, mPanelCreateNotice, mPanelViewNotice, mViewInventoryIcon, mViewInventoryName, mViewMessage, mViewSubject, onClickNewMessage(), onClickOpenAttachment(), onClickRefreshNotices(), onClickRemoveAttachment(), onClickSendMessage(), onSelectNotice(), LLPanelGroupTab::postBuild(), LLView::removeChild(), LLUICtrl::setCallbackUserData(), LLButton::setClickedCallback(), LLUICtrl::setCommitCallback(), LLScrollListCtrl::setCommitOnSelectionChange(), LLLineEditor::setEnabled(), LLView::setEnabled(), LLUICtrl::setTabStop(), LLView::setVisible(), target, TRUE, and VIEW_PAST_NOTICE.

void LLPanelGroupNotices::processGroupNoticesListReply ( LLMessageSystem msg,
void **  data 
) [static]

Definition at line 435 of file llpanelgroupnotices.cpp.

References LLMessageSystem::getUUID(), llendl, llinfos, processNotices(), and sInstances.

Referenced by register_viewer_callbacks().

void LLPanelGroupNotices::processNotices ( LLMessageSystem msg  )  [private]

Definition at line 459 of file llpanelgroupnotices.cpp.

References ADD_BOTTOM, ADD_SORTED, LLScrollListCtrl::addElement(), LLScrollListCtrl::addSimpleItem(), build_notice_date(), count, FALSE, get_item_icon_uuid(), LLMessageSystem::getBOOL(), LLMessageSystem::getNumberOfBlocks(), LLMessageSystem::getString(), LLMessageSystem::getU32(), LLMessageSystem::getU8(), LLMessageSystem::getUUID(), i, LLInventoryType::IT_NONE, MAX_STRING, mNoNoticesStr, mNoticesList, NOTICE_DATE_STRING_SIZE, S32, LLScrollListCtrl::setEnabled(), and t.

Referenced by processGroupNoticesListReply().

void LLPanelGroupNotices::setItem ( LLPointer< LLInventoryItem inv_item  ) 

Definition at line 326 of file llpanelgroupnotices.cpp.

References FALSE, get_item_icon(), LLViewerImage::getID(), LLInventoryItem::II_FLAGS_OBJECT_HAS_MULTIPLE_ITEMS, mBtnRemoveAttachment, mCreateInventoryIcon, mCreateInventoryName, mInventoryItem, LLView::setEnabled(), LLIconCtrl::setImage(), LLLineEditor::setText(), LLView::setVisible(), and TRUE.

Referenced by LLGroupDropTarget::handleDragAndDrop().

void LLPanelGroupNotices::showNotice ( const char *  subject,
const char *  message,
const bool &  has_inventory,
const char *  inventory_name,
LLOfferInfo inventory_offer 
)

Definition at line 540 of file llpanelgroupnotices.cpp.

References arrangeNoticeView(), LLLineEditor::clear(), FALSE, get_item_icon(), LLViewerImage::getID(), inventory_offer_callback(), IOR_DECLINE, LLInventoryType::IT_TEXTURE, mBtnOpenAttachment, mInventoryOffer, LLOfferInfo::mType, mViewInventoryIcon, mViewInventoryName, mViewMessage, mViewSubject, NULL, LLView::setEnabled(), LLIconCtrl::setImage(), LLTextEditor::setText(), LLLineEditor::setText(), LLView::setVisible(), TRUE, and VIEW_PAST_NOTICE.

Referenced by LLPanelGroup::showNotice().


Member Data Documentation

LLButton* LLPanelGroupNotices::mBtnGetPastNotices [private]

Definition at line 104 of file llpanelgroupnotices.h.

Referenced by postBuild().

LLButton* LLPanelGroupNotices::mBtnNewMessage [private]

Definition at line 101 of file llpanelgroupnotices.h.

Referenced by postBuild().

LLButton* LLPanelGroupNotices::mBtnOpenAttachment [private]

Definition at line 103 of file llpanelgroupnotices.h.

Referenced by arrangeNoticeView(), postBuild(), and showNotice().

LLButton* LLPanelGroupNotices::mBtnRemoveAttachment [private]

Definition at line 102 of file llpanelgroupnotices.h.

Referenced by postBuild(), and setItem().

LLButton* LLPanelGroupNotices::mBtnSendMessage [private]

Definition at line 100 of file llpanelgroupnotices.h.

Referenced by postBuild().

LLIconCtrl* LLPanelGroupNotices::mCreateInventoryIcon [private]

Definition at line 109 of file llpanelgroupnotices.h.

Referenced by postBuild(), and setItem().

LLLineEditor* LLPanelGroupNotices::mCreateInventoryName [private]

Definition at line 93 of file llpanelgroupnotices.h.

Referenced by activate(), postBuild(), and setItem().

LLTextEditor* LLPanelGroupNotices::mCreateMessage [private]

Definition at line 94 of file llpanelgroupnotices.h.

Referenced by postBuild().

LLLineEditor* LLPanelGroupNotices::mCreateSubject [private]

Definition at line 92 of file llpanelgroupnotices.h.

Referenced by postBuild().

LLPointer<LLInventoryItem> LLPanelGroupNotices::mInventoryItem [private]

Definition at line 90 of file llpanelgroupnotices.h.

Referenced by setItem().

LLOfferInfo* LLPanelGroupNotices::mInventoryOffer [private]

Definition at line 116 of file llpanelgroupnotices.h.

Referenced by showNotice(), and ~LLPanelGroupNotices().

std::string LLPanelGroupNotices::mNoNoticesStr [private]

Definition at line 114 of file llpanelgroupnotices.h.

Referenced by postBuild(), and processNotices().

LLScrollListCtrl* LLPanelGroupNotices::mNoticesList [private]

Definition at line 112 of file llpanelgroupnotices.h.

Referenced by postBuild(), and processNotices().

LLPanel* LLPanelGroupNotices::mPanelCreateNotice [private]

Definition at line 106 of file llpanelgroupnotices.h.

Referenced by activate(), arrangeNoticeView(), and postBuild().

LLPanel* LLPanelGroupNotices::mPanelViewNotice [private]

Definition at line 107 of file llpanelgroupnotices.h.

Referenced by activate(), arrangeNoticeView(), and postBuild().

LLIconCtrl* LLPanelGroupNotices::mViewInventoryIcon [private]

Definition at line 110 of file llpanelgroupnotices.h.

Referenced by postBuild(), and showNotice().

LLLineEditor* LLPanelGroupNotices::mViewInventoryName [private]

Definition at line 97 of file llpanelgroupnotices.h.

Referenced by activate(), postBuild(), and showNotice().

LLTextEditor* LLPanelGroupNotices::mViewMessage [private]

Definition at line 98 of file llpanelgroupnotices.h.

Referenced by postBuild(), and showNotice().

LLLineEditor* LLPanelGroupNotices::mViewSubject [private]

Definition at line 96 of file llpanelgroupnotices.h.

Referenced by postBuild(), and showNotice().

std::map< LLUUID, LLPanelGroupNotices * > LLPanelGroupNotices::sInstances [static, private]

Definition at line 118 of file llpanelgroupnotices.h.

Referenced by LLPanelGroupNotices(), processGroupNoticesListReply(), and ~LLPanelGroupNotices().


The documentation for this class was generated from the following files:
Generated on Thu Jul 1 06:11:36 2010 for Second Life Viewer by  doxygen 1.4.7