LLPanelGroupMembersSubTab Class Reference

#include <llpanelgrouproles.h>

Inheritance diagram for LLPanelGroupMembersSubTab:

Inheritance graph
[legend]
Collaboration diagram for LLPanelGroupMembersSubTab:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 LLPanelGroupMembersSubTab (const std::string &name, const LLUUID &group_id)
virtual ~LLPanelGroupMembersSubTab ()
virtual BOOL postBuildSubTab (LLView *root)
void handleMemberSelect ()
void handleMemberDoubleClick ()
void handleInviteMember ()
void handleEjectMembers ()
void handleRoleCheck (const LLUUID &role_id, LLRoleMemberChangeType type)
void applyMemberChanges ()
virtual void activate ()
virtual void deactivate ()
virtual void cancel ()
virtual bool needsApply (LLString &mesg)
virtual bool apply (LLString &mesg)
virtual void update (LLGroupChange gc)
void updateMembers ()
virtual void draw ()

Static Public Member Functions

static voidcreateTab (void *data)
static void onMemberSelect (LLUICtrl *, void *)
static void onMemberDoubleClick (void *)
static void onInviteMember (void *)
static void onEjectMembers (void *)
static void onRoleCheck (LLUICtrl *check, void *user_data)
static void addOwnerCB (S32 option, void *data)

Protected Types

typedef std::map< LLUUID,
LLRoleMemberChangeType
role_change_data_map_t
typedef std::map< LLUUID,
role_change_data_map_t
* >::iterator 
member_role_change_iter
typedef std::map< LLUUID,
role_change_data_map_t * > 
member_role_changes_map_t

Protected Member Functions

bool matchesSearchFilter (char *first, char *last)
U64 getAgentPowersBasedOnRoleChanges (const LLUUID &agent_id)
bool getRoleChangeType (const LLUUID &member_id, const LLUUID &role_id, LLRoleMemberChangeType &type)

Protected Attributes

LLNameListCtrlmMembersList
LLScrollListCtrlmAssignedRolesList
LLScrollListCtrlmAllowedActionsList
LLButtonmEjectBtn
BOOL mChanged
BOOL mPendingMemberUpdate
BOOL mHasMatch
member_role_changes_map_t mMemberRoleChangeData
U32 mNumOwnerAdditions
LLGroupMgrGroupData::member_iter mMemberProgress

Detailed Description

Definition at line 164 of file llpanelgrouproles.h.


Member Typedef Documentation

typedef std::map<LLUUID, role_change_data_map_t*>::iterator LLPanelGroupMembersSubTab::member_role_change_iter [protected]

Definition at line 205 of file llpanelgrouproles.h.

typedef std::map<LLUUID, role_change_data_map_t*> LLPanelGroupMembersSubTab::member_role_changes_map_t [protected]

Definition at line 206 of file llpanelgrouproles.h.

typedef std::map<LLUUID, LLRoleMemberChangeType> LLPanelGroupMembersSubTab::role_change_data_map_t [protected]

Definition at line 204 of file llpanelgrouproles.h.


Constructor & Destructor Documentation

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

Definition at line 894 of file llpanelgrouproles.cpp.

Referenced by createTab().

LLPanelGroupMembersSubTab::~LLPanelGroupMembersSubTab (  )  [virtual]

Definition at line 906 of file llpanelgrouproles.cpp.


Member Function Documentation

void LLPanelGroupMembersSubTab::activate (  )  [virtual]

Reimplemented from LLPanelGroupSubTab.

Definition at line 1351 of file llpanelgrouproles.cpp.

References LLPanelGroupSubTab::activate(), GC_ALL, and update().

void LLPanelGroupMembersSubTab::addOwnerCB ( S32  option,
void data 
) [static]

Definition at line 1430 of file llpanelgrouproles.cpp.

Referenced by apply().

bool LLPanelGroupMembersSubTab::apply ( LLString mesg  )  [virtual]

Reimplemented from LLPanelGroupTab.

Definition at line 1382 of file llpanelgrouproles.cpp.

References addOwnerCB(), LLViewerWindow::alertXml(), applyMemberChanges(), LLGroupMgr::getGroupData(), LLGroupMgrGroupData::getRoleData(), gGroupMgr, gViewerWindow, llendl, llwarns, mChanged, LLPanelGroupTab::mGroupID, LLPanelGroupTab::mHasModal, mNumOwnerAdditions, LLGroupMgrGroupData::mOwnerRole, LLRoleData::mRoleName, and TRUE.

void LLPanelGroupMembersSubTab::applyMemberChanges (  ) 

Definition at line 1445 of file llpanelgrouproles.cpp.

References LLGroupMgrGroupData::changeRoleMember(), LLGroupMgr::getGroupData(), gGroupMgr, handleMemberSelect(), llendl, llwarns, mChanged, LLPanelGroupTab::mGroupID, mMemberRoleChangeData, mNumOwnerAdditions, LLPanelGroupTab::notifyObservers(), and LLGroupMgr::sendGroupRoleMemberChanges().

Referenced by apply().

void LLPanelGroupMembersSubTab::cancel (  )  [virtual]

Reimplemented from LLPanelGroupTab.

Definition at line 1368 of file llpanelgrouproles.cpp.

References mChanged, mMemberRoleChangeData, and LLPanelGroupTab::notifyObservers().

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

Reimplemented from LLPanelGroupTab.

Definition at line 888 of file llpanelgrouproles.cpp.

References LLPanelGroupMembersSubTab().

Referenced by LLPanelGroup::LLPanelGroup().

void LLPanelGroupMembersSubTab::deactivate (  )  [virtual]

Reimplemented from LLPanelGroupSubTab.

Definition at line 1358 of file llpanelgrouproles.cpp.

References LLPanelGroupSubTab::deactivate().

void LLPanelGroupMembersSubTab::draw (  )  [virtual]

Reimplemented from LLPanel.

Definition at line 1624 of file llpanelgrouproles.cpp.

References LLPanel::draw(), mPendingMemberUpdate, and updateMembers().

U64 LLPanelGroupMembersSubTab::getAgentPowersBasedOnRoleChanges ( const LLUUID agent_id  )  [protected]

Definition at line 1512 of file llpanelgrouproles.cpp.

References LLGroupMemberData::getAgentPowers(), LLGroupMgr::getGroupData(), LLGroupMgrGroupData::getRolePowers(), gGroupMgr, GP_NO_POWERS, llendl, llwarns, LLPanelGroupTab::mGroupID, mMemberRoleChangeData, LLGroupMgrGroupData::mMembers, NULL, RMC_ADD, LLGroupMemberData::roleBegin(), and LLGroupMemberData::roleEnd().

Referenced by handleMemberSelect(), and handleRoleCheck().

bool LLPanelGroupMembersSubTab::getRoleChangeType ( const LLUUID member_id,
const LLUUID role_id,
LLRoleMemberChangeType type 
) [protected]

Definition at line 1603 of file llpanelgrouproles.cpp.

References mMemberRoleChangeData.

Referenced by handleMemberSelect().

void LLPanelGroupMembersSubTab::handleEjectMembers (  ) 

Definition at line 1198 of file llpanelgrouproles.cpp.

References LLScrollListCtrl::deleteSelectedItems(), LLScrollListCtrl::getAllSelected(), gGroupMgr, LLPanelGroupTab::mGroupID, mMembersList, and LLGroupMgr::sendGroupMemberEjects().

void LLPanelGroupMembersSubTab::handleInviteMember (  ) 

Definition at line 1183 of file llpanelgrouproles.cpp.

References LLPanelGroupTab::mGroupID, and LLFloaterGroupInvite::showForGroup().

void LLPanelGroupMembersSubTab::handleMemberDoubleClick (  ) 

Definition at line 1342 of file llpanelgrouproles.cpp.

References LLScrollListCtrl::getFirstSelected(), LLScrollListItem::getUUID(), mMembersList, and LLFloaterAvatarInfo::showFromDirectory().

void LLPanelGroupMembersSubTab::handleMemberSelect (  ) 

Definition at line 960 of file llpanelgrouproles.cpp.

References LLScrollListCtrl::addElement(), agentCanAddToRole(), agentCanRemoveFromRole(), LLPanelGroupSubTab::buildActionsList(), count, LLScrollListCtrl::deleteAllItems(), end, gAgent, getAgentPowersBasedOnRoleChanges(), LLScrollListCtrl::getAllSelected(), LLScrollListCheck::getCheckBox(), LLScrollListItem::getColumn(), LLGroupMgr::getGroupData(), LLAgent::getID(), getRoleChangeType(), LLGroupMgrGroupData::getRoleData(), gGroupMgr, GP_MEMBER_EJECT, LLAgent::hasPowerInGroup(), LLGroupMemberData::isInRole(), lldebugs, llendl, llwarns, LLPanelGroupSubTab::mActionIcons, mAllowedActionsList, mAssignedRolesList, mEjectBtn, LLPanelGroupTab::mGroupID, LLGroupMgrGroupData::mMembers, mMembersList, LLGroupMgrGroupData::mOwnerRole, LLRoleData::mRoleName, LLGroupMgrGroupData::mRoles, NULL, onRoleCheck(), RMC_ADD, RMC_REMOVE, S32, LLCheckBoxCtrl::set(), LLUICtrl::setCallbackUserData(), LLUICtrl::setCommitCallback(), LLView::setEnabled(), LLScrollListCtrl::setEnabled(), LLCheckBoxCtrl::setEnabled(), LLCheckBoxCtrl::setTentative(), TRUE, and type.

Referenced by applyMemberChanges(), and updateMembers().

void LLPanelGroupMembersSubTab::handleRoleCheck ( const LLUUID role_id,
LLRoleMemberChangeType  type 
)

Definition at line 1219 of file llpanelgrouproles.cpp.

References LLPanelGroupSubTab::buildActionsList(), LLScrollListCtrl::deleteAllItems(), getAgentPowersBasedOnRoleChanges(), LLScrollListCtrl::getAllSelected(), LLGroupMgr::getGroupData(), gGroupMgr, LLPanelGroupSubTab::mActionIcons, mAllowedActionsList, mChanged, LLPanelGroupTab::mGroupID, mMemberRoleChangeData, mMembersList, mNumOwnerAdditions, LLGroupMgrGroupData::mOwnerRole, LLPanelGroupTab::notifyObservers(), NULL, and RMC_ADD.

bool LLPanelGroupMembersSubTab::matchesSearchFilter ( char *  first,
char *  last 
) [protected]

Definition at line 1487 of file llpanelgrouproles.cpp.

References LLPanelGroupSubTab::mSearchFilter, and LLStringBase< char >::toLower().

Referenced by updateMembers().

bool LLPanelGroupMembersSubTab::needsApply ( LLString mesg  )  [virtual]

Reimplemented from LLPanelGroupTab.

Definition at line 1363 of file llpanelgrouproles.cpp.

References mChanged.

void LLPanelGroupMembersSubTab::onEjectMembers ( void  )  [static]

Definition at line 1188 of file llpanelgrouproles.cpp.

Referenced by postBuildSubTab().

void LLPanelGroupMembersSubTab::onInviteMember ( void  )  [static]

Definition at line 1173 of file llpanelgrouproles.cpp.

Referenced by postBuildSubTab().

void LLPanelGroupMembersSubTab::onMemberDoubleClick ( void  )  [static]

Definition at line 1166 of file llpanelgrouproles.cpp.

Referenced by postBuildSubTab().

void LLPanelGroupMembersSubTab::onMemberSelect ( LLUICtrl ,
void  
) [static]

Definition at line 954 of file llpanelgrouproles.cpp.

Referenced by postBuildSubTab().

void LLPanelGroupMembersSubTab::onRoleCheck ( LLUICtrl check,
void user_data 
) [static]

Definition at line 1323 of file llpanelgrouproles.cpp.

References LLScrollListItem::getUUID(), RMC_ADD, and RMC_REMOVE.

Referenced by handleMemberSelect().

BOOL LLPanelGroupMembersSubTab::postBuildSubTab ( LLView root  )  [virtual]

Reimplemented from LLPanelGroupSubTab.

Definition at line 910 of file llpanelgrouproles.cpp.

References gAgent, LLPanel::getChildByName(), GP_MEMBER_INVITE, LLAgent::hasPowerInGroup(), mAllowedActionsList, mAssignedRolesList, mEjectBtn, LLPanelGroupSubTab::mFooter, LLPanelGroupTab::mGroupID, LLPanelGroupSubTab::mHeader, mMembersList, onEjectMembers(), onInviteMember(), onMemberDoubleClick(), onMemberSelect(), LLUICtrl::setCallbackUserData(), LLButton::setClickedCallback(), LLUICtrl::setCommitCallback(), LLScrollListCtrl::setCommitOnSelectionChange(), LLScrollListCtrl::setDoubleClickCallback(), LLView::setEnabled(), and TRUE.

void LLPanelGroupMembersSubTab::update ( LLGroupChange  gc  )  [virtual]

Reimplemented from LLPanelGroupTab.

Definition at line 1634 of file llpanelgrouproles.cpp.

References LLScrollListCtrl::addSimpleItem(), LLScrollListCtrl::deleteAllItems(), GC_PROPERTIES, GC_TITLES, LLGroupMgr::getGroupData(), gGroupMgr, LLGroupMgrGroupData::isMemberDataComplete(), LLUUID::isNull(), LLGroupMgrGroupData::isRoleDataComplete(), LLGroupMgrGroupData::isRoleMemberDataComplete(), llendl, llwarns, LLPanelGroupTab::mGroupID, mHasMatch, LLGroupMgrGroupData::mMemberCount, mMemberProgress, LLGroupMgrGroupData::mMembers, mMembersList, mPendingMemberUpdate, LLGroupMgrGroupData::mRoleCount, LLGroupMgrGroupData::mRoles, LLScrollListCtrl::setEnabled(), and TRUE.

Referenced by activate().

void LLPanelGroupMembersSubTab::updateMembers (  ) 

Definition at line 1689 of file llpanelgrouproles.cpp.

References LLNameListCtrl::addElement(), LLScrollListCtrl::addSimpleItem(), DB_FIRST_NAME_BUF_SIZE, DB_LAST_NAME_BUF_SIZE, end, first, gCacheName, LLGroupMgr::getGroupData(), LLCacheName::getName(), gGroupMgr, handleMemberSelect(), i, LLGroupMgrGroupData::isMemberDataComplete(), LLGroupMgrGroupData::isRoleDataComplete(), LLGroupMgrGroupData::isRoleMemberDataComplete(), lldebugs, llendl, llwarns, matchesSearchFilter(), LLPanelGroupTab::mGroupID, mHasMatch, mMemberProgress, LLGroupMgrGroupData::mMembers, mMembersList, mPendingMemberUpdate, S32, LLScrollListCtrl::setEnabled(), TRUE, and UPDATE_MEMBERS_PER_FRAME.

Referenced by draw().


Member Data Documentation

LLScrollListCtrl* LLPanelGroupMembersSubTab::mAllowedActionsList [protected]

Definition at line 217 of file llpanelgrouproles.h.

Referenced by handleMemberSelect(), handleRoleCheck(), and postBuildSubTab().

LLScrollListCtrl* LLPanelGroupMembersSubTab::mAssignedRolesList [protected]

Definition at line 216 of file llpanelgrouproles.h.

Referenced by handleMemberSelect(), and postBuildSubTab().

BOOL LLPanelGroupMembersSubTab::mChanged [protected]

Definition at line 220 of file llpanelgrouproles.h.

Referenced by apply(), applyMemberChanges(), cancel(), handleRoleCheck(), and needsApply().

LLButton* LLPanelGroupMembersSubTab::mEjectBtn [protected]

Definition at line 218 of file llpanelgrouproles.h.

Referenced by handleMemberSelect(), and postBuildSubTab().

BOOL LLPanelGroupMembersSubTab::mHasMatch [protected]

Definition at line 222 of file llpanelgrouproles.h.

Referenced by update(), and updateMembers().

LLGroupMgrGroupData::member_iter LLPanelGroupMembersSubTab::mMemberProgress [protected]

Definition at line 227 of file llpanelgrouproles.h.

Referenced by update(), and updateMembers().

member_role_changes_map_t LLPanelGroupMembersSubTab::mMemberRoleChangeData [protected]

Definition at line 224 of file llpanelgrouproles.h.

Referenced by applyMemberChanges(), cancel(), getAgentPowersBasedOnRoleChanges(), getRoleChangeType(), and handleRoleCheck().

LLNameListCtrl* LLPanelGroupMembersSubTab::mMembersList [protected]

Definition at line 215 of file llpanelgrouproles.h.

Referenced by handleEjectMembers(), handleMemberDoubleClick(), handleMemberSelect(), handleRoleCheck(), postBuildSubTab(), update(), and updateMembers().

U32 LLPanelGroupMembersSubTab::mNumOwnerAdditions [protected]

Definition at line 225 of file llpanelgrouproles.h.

Referenced by apply(), applyMemberChanges(), and handleRoleCheck().

BOOL LLPanelGroupMembersSubTab::mPendingMemberUpdate [protected]

Definition at line 221 of file llpanelgrouproles.h.

Referenced by draw(), update(), and updateMembers().


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