BOOL LLNotificationChannelPanel::postBuild() { LLButton* header_button = getChild<LLButton>("header"); header_button->setLabel(mChannelPtr->getName()); header_button->setClickedCallback(toggleClick, this); mChannelPtr->connectChanged(boost::bind(&LLNotificationChannelPanel::update, this, _1, true)); mChannelRejectsPtr->connectChanged(boost::bind(&LLNotificationChannelPanel::update, this, _1, false)); LLScrollListCtrl* scroll = getChild<LLScrollListCtrl>("notifications_list"); scroll->setDoubleClickCallback(onClickNotification, this); scroll->setRect(LLRect( getRect().mLeft, getRect().mTop, getRect().mRight, 0)); scroll = getChild<LLScrollListCtrl>("notification_rejects_list"); scroll->setDoubleClickCallback(onClickNotificationReject, this); scroll->setRect(LLRect( getRect().mLeft, getRect().mTop, getRect().mRight, 0)); return TRUE; }
LLNotificationChannel::LLNotificationChannel(const std::string& name, const std::string& parent, LLNotificationFilter filter, LLNotificationComparator comparator) : LLNotificationChannelBase(filter, comparator), mName(name), mParent(parent) { // store myself in the channel map LLNotifications::instance().addChannel(LLNotificationChannelPtr(this)); // bind to notification broadcast if (parent.empty()) { LLNotifications::instance().connectChanged( boost::bind(&LLNotificationChannelBase::updateItem, this, _1)); } else { LLNotificationChannelPtr p = LLNotifications::instance().getChannel(parent); p->connectChanged(boost::bind(&LLNotificationChannelBase::updateItem, this, _1)); } }