Removed LLUICtrl::setDoubleClickCallback and LLPanel::childSetDoubleClickCallback as they aren't used/needed and complicate things. Added LLPanel::childSetAction overload that accepts boost::singal2::signal (for boost::bind). Now using boost::function for various callbacks in LLScrollListCtrl (for boost::bind).
This commit is contained in:
@@ -765,19 +765,6 @@ void LLPanel::childSetCommitCallback(const std::string& id, void (*cb)(LLUICtrl*
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanel::childSetDoubleClickCallback(const std::string& id, void (*cb)(void*), void *userdata )
|
||||
{
|
||||
LLUICtrl* child = getChild<LLUICtrl>(id, true);
|
||||
if (child)
|
||||
{
|
||||
child->setDoubleClickCallback(cb);
|
||||
if (userdata)
|
||||
{
|
||||
child->setCallbackUserData(userdata);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanel::childSetValidate(const std::string& id, BOOL (*cb)(LLUICtrl*, void*))
|
||||
{
|
||||
LLUICtrl* child = getChild<LLUICtrl>(id, true);
|
||||
@@ -962,7 +949,7 @@ void LLPanel::childSetWrappedText(const std::string& id, const std::string& text
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanel::childSetAction(const std::string& id, void(*function)(void*), void* value)
|
||||
void LLPanel::childSetAction(const std::string& id, boost::function<void(void*)> function, void* value)
|
||||
{
|
||||
LLButton* button = getChild<LLButton>(id);
|
||||
if (button)
|
||||
@@ -971,6 +958,15 @@ void LLPanel::childSetAction(const std::string& id, void(*function)(void*), void
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanel::childSetAction(const std::string& id, const commit_signal_t::slot_type& function)
|
||||
{
|
||||
LLButton* button = getChild<LLButton>(id);
|
||||
if (button)
|
||||
{
|
||||
button->setClickedCallback(function);
|
||||
}
|
||||
}
|
||||
|
||||
void LLPanel::childSetActionTextbox(const std::string& id, void(*function)(void*), void* value)
|
||||
{
|
||||
LLTextBox* textbox = getChild<LLTextBox>(id);
|
||||
|
||||
@@ -170,7 +170,6 @@ public:
|
||||
BOOL childHasFocus(const std::string& id);
|
||||
|
||||
void childSetCommitCallback(const std::string& id, void (*cb)(LLUICtrl*, void*), void* userdata = NULL );
|
||||
void childSetDoubleClickCallback(const std::string& id, void (*cb)(void*), void* userdata = NULL );
|
||||
void childSetValidate(const std::string& id, BOOL (*cb)(LLUICtrl*, void*) );
|
||||
void childSetUserData(const std::string& id, void* userdata);
|
||||
|
||||
@@ -211,7 +210,8 @@ public:
|
||||
void childSetPrevalidate(const std::string& id, BOOL (*func)(const LLWString &) );
|
||||
|
||||
// LLButton
|
||||
void childSetAction(const std::string& id, void(*function)(void*), void* value);
|
||||
void childSetAction(const std::string& id, boost::function<void(void*)> function, void* value);
|
||||
void childSetAction(const std::string& id, const commit_signal_t::slot_type& function);
|
||||
void childSetActionTextbox(const std::string& id, void(*function)(void*), void* value = NULL);
|
||||
void childSetControlName(const std::string& id, const std::string& control_name);
|
||||
|
||||
|
||||
@@ -2050,7 +2050,7 @@ BOOL LLScrollListCtrl::selectItemAt(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
if(mOnMaximumSelectCallback)
|
||||
{
|
||||
mOnMaximumSelectCallback(mCallbackUserData);
|
||||
mOnMaximumSelectCallback();
|
||||
}
|
||||
break;
|
||||
}
|
||||
@@ -2088,7 +2088,7 @@ BOOL LLScrollListCtrl::selectItemAt(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
if(mOnMaximumSelectCallback)
|
||||
{
|
||||
mOnMaximumSelectCallback(mCallbackUserData);
|
||||
mOnMaximumSelectCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2181,7 +2181,7 @@ BOOL LLScrollListCtrl::handleDoubleClick(S32 x, S32 y, MASK mask)
|
||||
{
|
||||
if( mCanSelect && mOnDoubleClickCallback )
|
||||
{
|
||||
mOnDoubleClickCallback( mCallbackUserData );
|
||||
mOnDoubleClickCallback();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3320,7 +3320,7 @@ void LLScrollListCtrl::onClickColumn(void *userdata)
|
||||
|
||||
if (parent->mOnSortChangedCallback)
|
||||
{
|
||||
parent->mOnSortChangedCallback(parent->getCallbackUserData());
|
||||
parent->mOnSortChangedCallback();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -385,6 +385,7 @@ class LLScrollListCtrl : public LLUICtrl, public LLEditMenuHandler,
|
||||
public LLCtrlListInterface, public LLCtrlScrollInterface
|
||||
{
|
||||
public:
|
||||
typedef boost::function<void (void)> callback_t;
|
||||
LLScrollListCtrl(
|
||||
const std::string& name,
|
||||
const LLRect& rect,
|
||||
@@ -466,9 +467,11 @@ public:
|
||||
void deselectAllItems(BOOL no_commit_on_change = FALSE); // by default, go ahead and commit on selection change
|
||||
|
||||
void highlightNthItem( S32 index );
|
||||
void setDoubleClickCallback( void (*cb)(void*) ) { mOnDoubleClickCallback = cb; }
|
||||
void setMaximumSelectCallback( void (*cb)(void*) ) { mOnMaximumSelectCallback = cb; }
|
||||
void setSortChangedCallback( void (*cb)(void*) ) { mOnSortChangedCallback = cb; }
|
||||
void setDoubleClickCallback( callback_t cb ) { mOnDoubleClickCallback = cb; }
|
||||
void setMaximumSelectCallback( callback_t cb ) { mOnMaximumSelectCallback = cb; }
|
||||
void setSortChangedCallback( callback_t cb ) { mOnSortChangedCallback = cb; }
|
||||
// Convenience function; *TODO: replace with setter above + boost::bind() in calling code
|
||||
void setDoubleClickCallback( boost::function<void (void* userdata)> cb, void* userdata) { mOnDoubleClickCallback = boost::bind(cb, userdata); }
|
||||
|
||||
void swapWithNext(S32 index);
|
||||
void swapWithPrevious(S32 index);
|
||||
@@ -700,9 +703,9 @@ private:
|
||||
LLColor4 mDefaultListTextColor;
|
||||
|
||||
S32 mBorderThickness;
|
||||
void (*mOnDoubleClickCallback)(void* userdata);
|
||||
void (*mOnMaximumSelectCallback)(void* userdata );
|
||||
void (*mOnSortChangedCallback)(void* userdata);
|
||||
callback_t mOnDoubleClickCallback;
|
||||
callback_t mOnMaximumSelectCallback;
|
||||
callback_t mOnSortChangedCallback;
|
||||
|
||||
S32 mHighlightedItem;
|
||||
class LLViewBorder* mBorder;
|
||||
|
||||
@@ -527,10 +527,6 @@ BOOL LLUICtrl::getTentative() const
|
||||
return mTentative;
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLUICtrl::setDoubleClickCallback( void (*cb)(void*) )
|
||||
{
|
||||
}
|
||||
|
||||
// virtual
|
||||
void LLUICtrl::setColor(const LLColor4& color)
|
||||
|
||||
@@ -103,7 +103,6 @@ public:
|
||||
// Default to no-op:
|
||||
virtual void onTabInto();
|
||||
virtual void clear();
|
||||
virtual void setDoubleClickCallback( void (*cb)(void*) );
|
||||
virtual void setColor(const LLColor4& color);
|
||||
virtual void setAlpha(F32 alpha);
|
||||
virtual void setMinValue(LLSD min_value);
|
||||
|
||||
@@ -127,8 +127,7 @@ BOOL HBFloaterGroupTitles::postBuild()
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
mTitlesList->setCallbackUserData(this);
|
||||
mTitlesList->setDoubleClickCallback(onActivate);
|
||||
mTitlesList->setDoubleClickCallback(boost::bind(&HBFloaterGroupTitles::onActivate,this));
|
||||
childSetAction("activate", onActivate, this);
|
||||
update_titles_list(this);
|
||||
return TRUE;
|
||||
|
||||
@@ -88,8 +88,7 @@ void JCFloaterAreaSearch::close(bool app)
|
||||
BOOL JCFloaterAreaSearch::postBuild()
|
||||
{
|
||||
mResultList = getChild<LLScrollListCtrl>("result_list");
|
||||
mResultList->setCallbackUserData(this);
|
||||
mResultList->setDoubleClickCallback(onDoubleClick);
|
||||
mResultList->setDoubleClickCallback(onDoubleClick,this);
|
||||
mResultList->sortByColumn("Name", TRUE);
|
||||
|
||||
mCounterText = getChild<LLTextBox>("counter");
|
||||
|
||||
@@ -333,10 +333,10 @@ BOOL LLPanelActiveSpeakers::postBuild()
|
||||
|
||||
mSpeakerList = getChild<LLScrollListCtrl>("speakers_list");
|
||||
mSpeakerList->sortByColumn(sort_column, sort_ascending);
|
||||
mSpeakerList->setDoubleClickCallback(onDoubleClickSpeaker);
|
||||
mSpeakerList->setDoubleClickCallback(boost::bind(&onDoubleClickSpeaker,this));
|
||||
mSpeakerList->setCommitOnSelectionChange(TRUE);
|
||||
mSpeakerList->setCommitCallback(onSelectSpeaker);
|
||||
mSpeakerList->setSortChangedCallback(onSortChanged);
|
||||
mSpeakerList->setSortChangedCallback(boost::bind(&LLPanelActiveSpeakers::onSortChanged,this));
|
||||
mSpeakerList->setCallbackUserData(this);
|
||||
|
||||
mMuteTextCtrl = getChild<LLUICtrl>("mute_text_btn");
|
||||
|
||||
@@ -354,7 +354,7 @@ BOOL LLFloaterAvatarList::postBuild()
|
||||
mAvatarList->setCommitOnSelectionChange(TRUE);
|
||||
mAvatarList->setCallbackUserData(this);
|
||||
mAvatarList->setCommitCallback(onSelectName);
|
||||
mAvatarList->setDoubleClickCallback(onClickFocus);
|
||||
mAvatarList->setDoubleClickCallback(boost::bind(&LLFloaterAvatarList::onClickFocus,this));
|
||||
refreshAvatarList();
|
||||
|
||||
gIdleCallbacks.addFunction(LLFloaterAvatarList::callbackIdle);
|
||||
|
||||
@@ -108,23 +108,25 @@ BOOL LLFloaterAvatarPicker::postBuild()
|
||||
childSetKeystrokeCallback("Edit", editKeystroke, this);
|
||||
childSetKeystrokeCallback("EditUUID", editKeystroke, this);
|
||||
|
||||
childSetAction("Find", onBtnFind, this);
|
||||
childDisable("Find");
|
||||
childSetAction("Refresh", onBtnRefresh, this);
|
||||
childSetCommitCallback("near_me_range", onRangeAdjust, this);
|
||||
childSetAction("Find", boost::bind(&LLFloaterAvatarPicker::onBtnFind, this));
|
||||
getChildView("Find")->setEnabled(FALSE);
|
||||
childSetAction("Refresh", boost::bind(&LLFloaterAvatarPicker::onBtnRefresh, this));
|
||||
getChild<LLUICtrl>("near_me_range")->setCommitCallback(boost::bind(&LLFloaterAvatarPicker::onRangeAdjust, _1, this));
|
||||
|
||||
childSetDoubleClickCallback("SearchResults", onBtnSelect);
|
||||
childSetDoubleClickCallback("NearMe", onBtnSelect);
|
||||
childSetCommitCallback("SearchResults", onList, this);
|
||||
childSetCommitCallback("NearMe", onList, this);
|
||||
childDisable("SearchResults");
|
||||
LLScrollListCtrl* searchresults = getChild<LLScrollListCtrl>("SearchResults");
|
||||
searchresults->setDoubleClickCallback( boost::bind(&LLFloaterAvatarPicker::onBtnSelect, this));
|
||||
searchresults->setCommitCallback(boost::bind(&LLFloaterAvatarPicker::onList, _1, this));
|
||||
getChildView("SearchResults")->setEnabled(FALSE);
|
||||
|
||||
childSetAction("Select", onBtnSelect, this);
|
||||
childDisable("Select");
|
||||
LLScrollListCtrl* nearme = getChild<LLScrollListCtrl>("NearMe");
|
||||
nearme->setDoubleClickCallback(boost::bind(&LLFloaterAvatarPicker::onBtnSelect, this));
|
||||
nearme->setCommitCallback(boost::bind(&LLFloaterAvatarPicker::onList, _1, this));
|
||||
|
||||
childSetAction("Cancel", onBtnClose, this);
|
||||
childSetAction("Select", boost::bind(&LLFloaterAvatarPicker::onBtnSelect, this));
|
||||
getChildView("Select")->setEnabled(FALSE);
|
||||
childSetAction("Cancel", boost::bind(&LLFloaterAvatarPicker::onBtnClose, this));
|
||||
|
||||
childSetFocus("Edit");
|
||||
getChild<LLUICtrl>("Edit")->setFocus(TRUE);
|
||||
|
||||
LLPanel* search_panel = getChild<LLPanel>("SearchPanel");
|
||||
if (search_panel)
|
||||
@@ -162,10 +164,9 @@ LLFloaterAvatarPicker::~LLFloaterAvatarPicker()
|
||||
sInstance = NULL;
|
||||
}
|
||||
|
||||
void LLFloaterAvatarPicker::onBtnFind(void* userdata)
|
||||
void LLFloaterAvatarPicker::onBtnFind()
|
||||
{
|
||||
LLFloaterAvatarPicker* self = (LLFloaterAvatarPicker*)userdata;
|
||||
if(self) self->find();
|
||||
find();
|
||||
}
|
||||
|
||||
static void getSelectedAvatarData(const LLScrollListCtrl* from, std::vector<std::string>& avatar_names, std::vector<LLUUID>& avatar_ids)
|
||||
|
||||
@@ -56,7 +56,7 @@ private:
|
||||
|
||||
static void editKeystroke(class LLLineEditor* caller, void* user_data);
|
||||
|
||||
static void onBtnFind(void* userdata);
|
||||
void onBtnFind();
|
||||
static void onBtnSelect(void* userdata);
|
||||
static void onBtnRefresh(void* userdata);
|
||||
static void onRangeAdjust(LLUICtrl* source, void* data);
|
||||
|
||||
@@ -75,15 +75,16 @@ void LLFloaterExploreSounds::close(bool app_quitting)
|
||||
|
||||
BOOL LLFloaterExploreSounds::postBuild(void)
|
||||
{
|
||||
childSetDoubleClickCallback("sound_list", handle_play_locally, this);
|
||||
LLScrollListCtrl* soundlist = getChild<LLScrollListCtrl>("sound_list");
|
||||
soundlist->setDoubleClickCallback(boost::bind(&LLFloaterExploreSounds::handle_play_locally,this));
|
||||
soundlist->sortByColumn("playing", TRUE);
|
||||
|
||||
childSetAction("play_locally_btn", handle_play_locally, this);
|
||||
childSetAction("look_at_btn", handle_look_at, this);
|
||||
childSetAction("stop_btn", handle_stop, this);
|
||||
childSetAction("bl_btn", blacklistSound, this);
|
||||
|
||||
LLScrollListCtrl* list = getChild<LLScrollListCtrl>("sound_list");
|
||||
list->sortByColumn("playing", TRUE);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
@@ -369,7 +369,7 @@ BOOL LLPanelFriends::postBuild()
|
||||
mFriendsList->setCommitOnSelectionChange(TRUE);
|
||||
childSetCommitCallback("friend_list", onSelectName, this);
|
||||
childSetCommitCallback("buddy_group_combobox", onChangeContactGroup, this);
|
||||
childSetDoubleClickCallback("friend_list", onClickIM);
|
||||
mFriendsList->setDoubleClickCallback(onClickIM, this);
|
||||
|
||||
// <dogmode>
|
||||
// Contact search and group system.
|
||||
|
||||
@@ -114,8 +114,9 @@ BOOL LLFloaterGesture::postBuild()
|
||||
|
||||
setTitle(label);
|
||||
|
||||
childSetCommitCallback("gesture_list", onCommitList, this);
|
||||
childSetDoubleClickCallback("gesture_list", onClickPlay);
|
||||
LLScrollListCtrl* gesture_list = getChild<LLScrollListCtrl>("avatar_list");
|
||||
gesture_list->setCommitCallback(boost::bind(&LLFloaterGesture::onCommitList,this));
|
||||
gesture_list->setDoubleClickCallback(boost::bind(&LLFloaterGesture::onClickPlay,this));
|
||||
|
||||
childSetAction("inventory_btn", onClickInventory, this);
|
||||
|
||||
|
||||
@@ -136,8 +136,7 @@ BOOL LLFloaterGroupPicker::postBuild()
|
||||
|
||||
setDefaultBtn("OK");
|
||||
|
||||
childSetDoubleClickCallback("group list", onBtnOK);
|
||||
childSetUserData("group list", this);
|
||||
group_list->setDoubleClickCallback(boost::bind(&LLFloaterGroupPicker::onBtnOK,this));
|
||||
|
||||
childEnable("OK");
|
||||
|
||||
@@ -222,7 +221,8 @@ BOOL LLPanelGroups::postBuild()
|
||||
const std::string none_text = getString("none");
|
||||
LLScrollListCtrl *group_list = getChild<LLScrollListCtrl>("group list");
|
||||
init_group_list(group_list, gAgent.getGroupID(), none_text);
|
||||
group_list->setSortChangedCallback(onGroupSortChanged); //Force 'none' to always be first entry.
|
||||
group_list->setSortChangedCallback(boost::bind(&onGroupSortChanged,this)); //Force 'none' to always be first entry.
|
||||
group_list->setDoubleClickCallback(boost::bind(&LLPanelGroups::onBtnIM,this));
|
||||
|
||||
childSetAction("Activate", onBtnActivate, this);
|
||||
|
||||
@@ -242,9 +242,6 @@ BOOL LLPanelGroups::postBuild()
|
||||
|
||||
setDefaultBtn("IM");
|
||||
|
||||
childSetDoubleClickCallback("group list", onBtnIM);
|
||||
childSetUserData("group list", this);
|
||||
|
||||
reset();
|
||||
|
||||
return TRUE;
|
||||
|
||||
@@ -1126,7 +1126,7 @@ BOOL LLPanelLandObjects::postBuild()
|
||||
mOwnerList = getChild<LLNameListCtrl>("owner list");
|
||||
mOwnerList->sortByColumnIndex(3, FALSE);
|
||||
childSetCommitCallback("owner list", onCommitList, this);
|
||||
mOwnerList->setDoubleClickCallback(onDoubleClickOwner);
|
||||
mOwnerList->setDoubleClickCallback(boost::bind(&LLPanelLandObjects::onDoubleClickOwner, this));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -100,11 +100,12 @@ BOOL LLFloaterLandHoldings::postBuild()
|
||||
childSetAction("Teleport", onClickTeleport, this);
|
||||
childSetAction("Show on Map", onClickMap, this);
|
||||
|
||||
// Grant list
|
||||
childSetDoubleClickCallback("grant list", onGrantList);
|
||||
childSetUserData("grant list", this);
|
||||
LLScrollListCtrl *grant_list = getChild<LLScrollListCtrl>("grant list");
|
||||
|
||||
LLCtrlListInterface *list = childGetListInterface("grant list");
|
||||
// Grant list
|
||||
grant_list->setDoubleClickCallback(boost::bind(&LLFloaterLandHoldings::onGrantList,this));
|
||||
|
||||
LLCtrlListInterface *list = grant_list->getListInterface();
|
||||
if (!list) return TRUE;
|
||||
|
||||
S32 count = gAgent.mGroups.count();
|
||||
|
||||
@@ -60,8 +60,7 @@ BOOL LLFloaterNewIM::postBuild()
|
||||
mSelectionList = getChild<LLNameListCtrl>("user_list");
|
||||
if (mSelectionList)
|
||||
{
|
||||
mSelectionList->setDoubleClickCallback(&LLFloaterNewIM::onStart);
|
||||
mSelectionList->setCallbackUserData(this);
|
||||
mSelectionList->setDoubleClickCallback(boost::bind(&LLFloaterNewIM::onStart,this));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -77,12 +77,10 @@ BOOL LLNotificationChannelPanel::postBuild()
|
||||
mChannelRejectsPtr->connectChanged(boost::bind(&LLNotificationChannelPanel::update, this, _1, false));
|
||||
|
||||
LLScrollListCtrl* scroll = getChild<LLScrollListCtrl>("notifications_list");
|
||||
scroll->setDoubleClickCallback(onClickNotification);
|
||||
scroll->setCallbackUserData(this);
|
||||
scroll->setDoubleClickCallback(boost::bind(&LLNotificationChannelPanel::onClickNotification,this));
|
||||
|
||||
scroll = getChild<LLScrollListCtrl>("notification_rejects_list");
|
||||
scroll->setDoubleClickCallback(onClickNotificationReject);
|
||||
scroll->setCallbackUserData(this);
|
||||
scroll->setDoubleClickCallback(boost::bind(&LLNotificationChannelPanel::onClickNotificationReject,this));
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -96,8 +96,8 @@ BOOL LLFloaterTeleportHistory::postBuild()
|
||||
}
|
||||
|
||||
// setup callbacks for the scroll list
|
||||
mPlacesList->setDoubleClickCallback(onTeleport);
|
||||
childSetCommitCallback("places_list", onPlacesSelected, this);
|
||||
mPlacesList->setDoubleClickCallback(boost::bind(&LLFloaterTeleportHistory::onTeleport,this));
|
||||
mPlacesList->setCommitCallback(boost::bind(&LLFloaterTeleportHistory::onPlacesSelected,_1,this));
|
||||
childSetAction("teleport", onTeleport, this);
|
||||
childSetAction("show_on_map", onShowOnMap, this);
|
||||
childSetAction("copy_slurl", onCopySLURL, this);
|
||||
|
||||
@@ -92,12 +92,13 @@ LLFloaterTopObjects::~LLFloaterTopObjects()
|
||||
// virtual
|
||||
BOOL LLFloaterTopObjects::postBuild()
|
||||
{
|
||||
childSetCommitCallback("objects_list", onCommitObjectsList, this);
|
||||
childSetDoubleClickCallback("objects_list", onDoubleClickObjectsList);
|
||||
childSetFocus("objects_list");
|
||||
|
||||
LLScrollListCtrl *objects_list = getChild<LLScrollListCtrl>("objects_list");
|
||||
if (objects_list)
|
||||
{
|
||||
objects_list->setCommitCallback(boost::bind(&LLFloaterTopObjects::onCommitObjectsList,_1,this));
|
||||
objects_list->setDoubleClickCallback(boost::bind(&LLFloaterTopObjects::onDoubleClickObjectsList,this));
|
||||
objects_list->setFocus(true);
|
||||
objects_list->setCommitOnSelectionChange(TRUE);
|
||||
}
|
||||
|
||||
|
||||
@@ -220,13 +220,9 @@ BOOL LLFloaterWorldMap::postBuild()
|
||||
location_editor->setKeystrokeCallback( onSearchTextEntry );
|
||||
|
||||
LLScrollListCtrl* search_results = getChild<LLScrollListCtrl>("search_results");
|
||||
search_results->setDoubleClickCallback(&LLFloaterWorldMap::onClickTeleportBtn_static);
|
||||
search_results->setCallbackUserData(this);
|
||||
search_results->setDoubleClickCallback(boost::bind(&LLFloaterWorldMap::onClickTeleportBtn,this));
|
||||
mListSearchResults = dynamic_cast<LLCtrlListInterface *>(search_results);
|
||||
|
||||
|
||||
|
||||
|
||||
LLComboBox *landmark_combo = getChild<LLComboBox>( "landmark combo");
|
||||
|
||||
landmark_combo->selectFirstItem();
|
||||
|
||||
@@ -127,7 +127,6 @@ protected:
|
||||
|
||||
void onClearBtn();
|
||||
void onClickTeleportBtn();
|
||||
static void onClickTeleportBtn_static(void* data) {((LLFloaterWorldMap*)data)->onClickTeleportBtn();};
|
||||
void onShowTargetBtn();
|
||||
void onShowAgentBtn();
|
||||
void onCopySLURL();
|
||||
|
||||
@@ -582,11 +582,10 @@ BOOL LLPanelAvatarSecondLife::postBuild(void)
|
||||
childSetAction("Offer Teleport...", LLPanelAvatar::onClickOfferTeleport,
|
||||
getPanelAvatar() );
|
||||
|
||||
childSetDoubleClickCallback("groups", onDoubleClickGroup, this );
|
||||
getChild<LLScrollListCtrl>("groups")->setDoubleClickCallback(boost::bind(&LLPanelAvatarSecondLife::onDoubleClickGroup,this));
|
||||
|
||||
childSetAction("bigimg", onClickImage, this);
|
||||
|
||||
|
||||
getChild<LLTextureCtrl>("img")->setFallbackImageName("default_profile_picture.j2c");
|
||||
|
||||
return TRUE;
|
||||
|
||||
@@ -156,8 +156,7 @@ BOOL LLPanelGroupGeneral::postBuild()
|
||||
mListVisibleMembers = getChild<LLNameListCtrl>("visible_members", recurse);
|
||||
if (mListVisibleMembers)
|
||||
{
|
||||
mListVisibleMembers->setDoubleClickCallback(&LLPanelGroupGeneral::openProfile);
|
||||
mListVisibleMembers->setCallbackUserData(this);
|
||||
mListVisibleMembers->setDoubleClickCallback(boost::bind(&LLPanelGroupGeneral::openProfile,this));
|
||||
}
|
||||
|
||||
// Options
|
||||
|
||||
@@ -890,11 +890,10 @@ BOOL LLPanelGroupMembersSubTab::postBuildSubTab(LLView* root)
|
||||
if (!mMembersList || !mAssignedRolesList || !mAllowedActionsList) return FALSE;
|
||||
|
||||
// We want to be notified whenever a member is selected.
|
||||
mMembersList->setCallbackUserData(this);
|
||||
mMembersList->setCommitOnSelectionChange(TRUE);
|
||||
mMembersList->setCommitCallback(onMemberSelect);
|
||||
mMembersList->setCommitCallback(boost::bind(&LLPanelGroupMembersSubTab::onMemberSelect,_1,this));
|
||||
// Show the member's profile on double click.
|
||||
mMembersList->setDoubleClickCallback(onMemberDoubleClick);
|
||||
mMembersList->setDoubleClickCallback(boost::bind(&LLPanelGroupMembersSubTab::onMemberDoubleClick,this));
|
||||
|
||||
LLButton* button = parent->getChild<LLButton>("member_invite", recurse);
|
||||
if ( button )
|
||||
|
||||
@@ -1579,11 +1579,9 @@ BOOL LLPanelGroupVoting::postBuild()
|
||||
//associate callbacks
|
||||
if ( success )
|
||||
{
|
||||
mImpl->mProposals->setDoubleClickCallback(impl::onDoubleClickProposal);
|
||||
mImpl->mProposals->setCallbackUserData(mImpl);
|
||||
mImpl->mProposals->setDoubleClickCallback(boost::bind(&LLPanelGroupVoting::impl::onDoubleClickProposal,mImpl));
|
||||
|
||||
mImpl->mVotesHistory->setDoubleClickCallback(impl::onDoubleClickHistoryItem);
|
||||
mImpl->mVotesHistory->setCallbackUserData(mImpl);
|
||||
mImpl->mVotesHistory->setDoubleClickCallback(boost::bind(&LLPanelGroupVoting::impl::onDoubleClickHistoryItem,mImpl));
|
||||
|
||||
mImpl->mBtnAbstain->setClickedCallback(boost::bind(&impl::onClickAbstain,mImpl));
|
||||
|
||||
|
||||
@@ -434,8 +434,8 @@ BOOL LLPreviewGesture::postBuild()
|
||||
|
||||
list = getChild<LLScrollListCtrl>("library_list");
|
||||
list->setCommitCallback(onCommitLibrary);
|
||||
list->setDoubleClickCallback(onClickAdd);
|
||||
list->setCallbackUserData(this);
|
||||
list->setDoubleClickCallback(boost::bind(&LLPreviewGesture::onClickAdd,this));
|
||||
mLibraryList = list;
|
||||
|
||||
btn = getChild<LLButton>( "add_btn");
|
||||
@@ -527,12 +527,10 @@ BOOL LLPreviewGesture::postBuild()
|
||||
|
||||
btn = getChild<LLButton>( "save_btn");
|
||||
btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickSave,this));
|
||||
btn->setCallbackUserData(this);
|
||||
mSaveBtn = btn;
|
||||
|
||||
btn = getChild<LLButton>( "preview_btn");
|
||||
btn->setClickedCallback(boost::bind(&LLPreviewGesture::onClickPreview,this));
|
||||
btn->setCallbackUserData(this);
|
||||
mPreviewBtn = btn;
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user