LLPanelFriends Class Reference

An instance of this class is used for displaying your friends and gives you quick access to all agents which a user relationship. More...

#include <llfloaterfriends.h>

Inheritance diagram for LLPanelFriends:

Inheritance graph
[legend]
Collaboration diagram for LLPanelFriends:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 LLPanelFriends ()
virtual ~LLPanelFriends ()
virtual BOOL tick ()
 This method either creates or brings to the front the current instantiation of this floater. There is only once since you can currently only look at your local friends.
void updateFriends (U32 changed_mask)
 This method is called in response to the LLAvatarTracker sending out a changed() message.
virtual BOOL postBuild ()

Static Public Member Functions

static void requestFriendshipDialog (const LLUUID &target_id, const std::string &target_name)
static void requestFriendship (const LLUUID &target_id, const LLString &target_name)

Private Types

enum  FRIENDS_COLUMN_ORDER {
  LIST_ONLINE_STATUS, LIST_FRIEND_NAME, LIST_VISIBLE_ONLINE, LIST_VISIBLE_MAP,
  LIST_EDIT_MINE, LIST_EDIT_THEIRS, LIST_FRIEND_UPDATE_GEN
}
enum  EGrantRevoke { GRANT, REVOKE }
typedef std::map< LLUUID, S32rights_map_t

Private Member Functions

void reloadNames ()
void refreshNames ()
void refreshUI ()
void refreshRightsChangeList ()
void applyRightsToFriends ()
BOOL addFriend (const LLUUID &agent_id)
BOOL updateFriendItem (const LLUUID &agent_id, const LLRelationship *relationship)
void confirmModifyRights (rights_map_t &ids, EGrantRevoke command)
void sendRightsGrant (rights_map_t &ids)
LLDynamicArray< LLUUIDgetSelectedIDs ()

Static Private Member Functions

static void onSelectName (LLUICtrl *ctrl, void *user_data)
static void callbackAddFriend (S32 option, void *user_data)
static void onPickAvatar (const std::vector< std::string > &names, const std::vector< LLUUID > &ids, void *user_data)
static void onMaximumSelect (void *user_data)
static void onClickIM (void *user_data)
static void onClickProfile (void *user_data)
static void onClickAddFriend (void *user_data)
static void onClickRemove (void *user_data)
static void onClickOfferTeleport (void *user_data)
static void onClickPay (void *user_data)
static void onClickModifyStatus (LLUICtrl *ctrl, void *user_data)
static void handleRemove (S32 option, void *user_data)
static void modifyRightsConfirmation (S32 option, void *user_data)

Private Attributes

LLFriendObservermObserver
LLUUID mAddFriendID
LLString mAddFriendName
LLScrollListCtrlmFriendsList
BOOL mShowMaxSelectWarning
BOOL mAllowRightsChange
S32 mNumRightsChanged


Detailed Description

An instance of this class is used for displaying your friends and gives you quick access to all agents which a user relationship.

See also:
LLFloater

Definition at line 54 of file llfloaterfriends.h.


Member Typedef Documentation

typedef std::map<LLUUID, S32> LLPanelFriends::rights_map_t [private]

Definition at line 98 of file llfloaterfriends.h.


Member Enumeration Documentation

Enumerator:
LIST_ONLINE_STATUS 
LIST_FRIEND_NAME 
LIST_VISIBLE_ONLINE 
LIST_VISIBLE_MAP 
LIST_EDIT_MINE 
LIST_EDIT_THEIRS 
LIST_FRIEND_UPDATE_GEN 

Definition at line 86 of file llfloaterfriends.h.

Enumerator:
GRANT 
REVOKE 

Definition at line 107 of file llfloaterfriends.h.


Constructor & Destructor Documentation

LLPanelFriends::LLPanelFriends (  ) 

Definition at line 103 of file llfloaterfriends.cpp.

References LLAvatarTracker::addObserver(), LLAvatarTracker::instance(), LLEventTimer::mEventTimer, mObserver, and LLTimer::stop().

Here is the call graph for this function:

LLPanelFriends::~LLPanelFriends (  )  [virtual]

Definition at line 116 of file llfloaterfriends.cpp.

References LLAvatarTracker::instance(), mObserver, and LLAvatarTracker::removeObserver().

Here is the call graph for this function:


Member Function Documentation

BOOL LLPanelFriends::tick (  )  [virtual]

This method either creates or brings to the front the current instantiation of this floater. There is only once since you can currently only look at your local friends.

Implements LLEventTimer.

Definition at line 122 of file llfloaterfriends.cpp.

References LLFriendObserver::ADD, DEFAULT_PERIOD, FALSE, mAllowRightsChange, LLEventTimer::mEventTimer, LLEventTimer::mPeriod, LLTimer::stop(), TRUE, and updateFriends().

Referenced by updateFriends().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::updateFriends ( U32  changed_mask  ) 

BOOL LLPanelFriends::postBuild ( void   )  [virtual]

void LLPanelFriends::requestFriendshipDialog ( const LLUUID target_id,
const std::string &  target_name 
) [static]

Definition at line 582 of file llfloaterfriends.cpp.

References LLViewerWindow::alertXml(), callbackAddFriend(), gAgentID, gViewerWindow, LLAddFriendData::mID, LLAddFriendData::mName, and LLNotifyBox::showXml().

Referenced by LLPanelAvatar::onClickAddFriend(), and onPickAvatar().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::requestFriendship ( const LLUUID target_id,
const LLString target_name 
) [static]

Definition at line 542 of file llfloaterfriends.cpp.

References LLUUID::asString(), LLAssetType::AT_CALLINGCARD, LLInventoryModel::findCategoryUUIDForType(), gInventory, IM_FRIENDSHIP_OFFERED, IM_ONLINE, and send_improved_im().

Referenced by callbackAddFriend(), and request_friendship().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::reloadNames (  )  [private]

void LLPanelFriends::refreshNames (  )  [private]

void LLPanelFriends::refreshUI (  )  [private]

void LLPanelFriends::refreshRightsChangeList (  )  [private]

Definition at line 296 of file llfloaterfriends.cpp.

References LLPanel::childSetEnabled(), FALSE, LLAvatarTracker::getBuddyInfo(), getSelectedIDs(), LLAvatarTracker::instance(), LLRelationship::isOnline(), mAllowRightsChange, NULL, S32, and LLView::setVisible().

Referenced by refreshUI().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::applyRightsToFriends (  )  [private]

BOOL LLPanelFriends::addFriend ( const LLUUID agent_id  )  [private]

BOOL LLPanelFriends::updateFriendItem ( const LLUUID agent_id,
const LLRelationship relationship 
) [private]

void LLPanelFriends::confirmModifyRights ( rights_map_t ids,
EGrantRevoke  command 
) [private]

Definition at line 669 of file llfloaterfriends.cpp.

References LLViewerWindow::alertXml(), gCacheName, LLCacheName::getName(), GRANT, gViewerWindow, and modifyRightsConfirmation().

Referenced by applyRightsToFriends().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::sendRightsGrant ( rights_map_t ids  )  [private]

LLDynamicArray< LLUUID > LLPanelFriends::getSelectedIDs (  )  [private]

Definition at line 463 of file llfloaterfriends.cpp.

References LLScrollListCtrl::getAllSelected(), and mFriendsList.

Referenced by onClickIM(), onClickOfferTeleport(), onClickPay(), onClickProfile(), onClickRemove(), refreshNames(), refreshRightsChangeList(), and updateFriends().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onSelectName ( LLUICtrl ctrl,
void *  user_data 
) [static, private]

Definition at line 476 of file llfloaterfriends.cpp.

References applyRightsToFriends(), and refreshUI().

Referenced by postBuild().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::callbackAddFriend ( S32  option,
void *  user_data 
) [static, private]

Definition at line 561 of file llfloaterfriends.cpp.

References requestFriendship().

Referenced by requestFriendshipDialog().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onPickAvatar ( const std::vector< std::string > &  names,
const std::vector< LLUUID > &  ids,
void *  user_data 
) [static, private]

Definition at line 572 of file llfloaterfriends.cpp.

References requestFriendshipDialog().

Referenced by onClickAddFriend().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onMaximumSelect ( void *  user_data  )  [static, private]

Definition at line 489 of file llfloaterfriends.cpp.

References llformat(), MAX_FRIEND_SELECT, and LLNotifyBox::showXml().

Referenced by postBuild().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onClickIM ( void *  user_data  )  [static, private]

void LLPanelFriends::onClickProfile ( void *  user_data  )  [static, private]

Definition at line 497 of file llfloaterfriends.cpp.

References getSelectedIDs(), LLAvatarTracker::instance(), LLAvatarTracker::isBuddyOnline(), and LLFloaterAvatarInfo::showFromFriend().

Referenced by postBuild().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onClickAddFriend ( void *  user_data  )  [static, private]

Definition at line 602 of file llfloaterfriends.cpp.

References LLFloater::addDependentFloater(), FALSE, LLFloaterView::getParentFloater(), gFloaterView, onPickAvatar(), LLFloaterAvatarPicker::show(), and TRUE.

Referenced by postBuild().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onClickRemove ( void *  user_data  )  [static, private]

Definition at line 614 of file llfloaterfriends.cpp.

References LLViewerWindow::alertXml(), gCacheName, LLCacheName::getName(), getSelectedIDs(), gViewerWindow, and handleRemove().

Referenced by postBuild().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onClickOfferTeleport ( void *  user_data  )  [static, private]

Definition at line 646 of file llfloaterfriends.cpp.

References getSelectedIDs(), and handle_lure().

Referenced by postBuild().

Here is the call graph for this function:

Here is the caller graph for this function:

void LLPanelFriends::onClickPay ( void *  user_data  )  [static, private]

Definition at line 658 of file llfloaterfriends.cpp.

References getSelectedIDs(), and handle_pay_by_id().

Referenced by postBuild().

Here is the call graph for this function:

Here is the caller graph for this function:

static void LLPanelFriends::onClickModifyStatus ( LLUICtrl ctrl,
void *  user_data 
) [static, private]

void LLPanelFriends::handleRemove ( S32  option,
void *  user_data 
) [static, private]

void LLPanelFriends::modifyRightsConfirmation ( S32  option,
void *  user_data 
) [static, private]

Definition at line 715 of file llfloaterfriends.cpp.

References LLAvatarTracker::getBuddyInfo(), LLAvatarTracker::instance(), refreshUI(), sendRightsGrant(), and updateFriendItem().

Referenced by confirmModifyRights().

Here is the call graph for this function:

Here is the caller graph for this function:


Member Data Documentation

Definition at line 139 of file llfloaterfriends.h.

Referenced by LLPanelFriends(), and ~LLPanelFriends().

Definition at line 140 of file llfloaterfriends.h.

Definition at line 141 of file llfloaterfriends.h.

Definition at line 143 of file llfloaterfriends.h.

Referenced by updateFriends().

Definition at line 144 of file llfloaterfriends.h.

Referenced by refreshRightsChangeList(), tick(), and updateFriends().

Definition at line 145 of file llfloaterfriends.h.

Referenced by sendRightsGrant(), and updateFriends().


The documentation for this class was generated from the following files:

Generated on Fri May 16 08:56:35 2008 for SecondLife by  doxygen 1.5.5