BOOL LLPanelGroupNotices::postBuild() { bool recurse = true; mNoticesList = getChild<LLScrollListCtrl>("notice_list",recurse); mNoticesList->setCommitOnSelectionChange(TRUE); mNoticesList->setCommitCallback(onSelectNotice, this); mBtnNewMessage = getChild<LLButton>("create_new_notice",recurse); mBtnNewMessage->setClickedCallback(onClickNewMessage, this); mBtnNewMessage->setEnabled(gAgent.hasPowerInGroup(mGroupID, GP_NOTICES_SEND)); mBtnGetPastNotices = getChild<LLButton>("refresh_notices",recurse); mBtnGetPastNotices->setClickedCallback(onClickRefreshNotices, this); // Create mCreateSubject = getChild<LLLineEditor>("create_subject",recurse); mCreateMessage = getChild<LLTextEditor>("create_message",recurse); mCreateInventoryName = getChild<LLLineEditor>("create_inventory_name",recurse); mCreateInventoryName->setTabStop(FALSE); mCreateInventoryName->setEnabled(FALSE); mCreateInventoryIcon = getChild<LLIconCtrl>("create_inv_icon",recurse); mCreateInventoryIcon->setVisible(FALSE); mBtnSendMessage = getChild<LLButton>("send_notice",recurse); mBtnSendMessage->setClickedCallback(onClickSendMessage, this); mBtnRemoveAttachment = getChild<LLButton>("remove_attachment",recurse); mBtnRemoveAttachment->setClickedCallback(onClickRemoveAttachment, this); mBtnRemoveAttachment->setEnabled(FALSE); // View mViewSubject = getChild<LLLineEditor>("view_subject",recurse); mViewMessage = getChild<LLTextEditor>("view_message",recurse); mViewInventoryName = getChild<LLLineEditor>("view_inventory_name",recurse); mViewInventoryName->setTabStop(FALSE); mViewInventoryName->setEnabled(FALSE); mViewInventoryIcon = getChild<LLIconCtrl>("view_inv_icon",recurse); mViewInventoryIcon->setVisible(FALSE); mBtnOpenAttachment = getChild<LLButton>("open_attachment",recurse); mBtnOpenAttachment->setClickedCallback(onClickOpenAttachment, this); mNoNoticesStr = getString("no_notices_text"); mPanelCreateNotice = getChild<LLPanel>("panel_create_new_notice",recurse); mPanelViewNotice = getChild<LLPanel>("panel_view_past_notice",recurse); LLGroupDropTarget* target = getChild<LLGroupDropTarget> ("drop_target"); target->setPanel (this); target->setGroup (mGroupID); arrangeNoticeView(VIEW_PAST_NOTICE); return LLPanelGroupTab::postBuild(); }
void LLPanelGroupNotices::showNotice(const std::string& subject, const std::string& message, const bool& has_inventory, const std::string& inventory_name, LLOfferInfo* inventory_offer) { arrangeNoticeView(VIEW_PAST_NOTICE); if (mViewSubject) mViewSubject->setText(subject); if (mViewMessage) { // We need to prune the highlights, and clear() is not doing it... mViewMessage->removeTextFromEnd(mViewMessage->getMaxLength()); // Now we append the new text (setText() won't highlight URLs) mViewMessage->appendColoredText(message, false, false, mViewMessage->getReadOnlyFgColor()); } if (mInventoryOffer) { // Cancel the inventory offer for the previously viewed notice mInventoryOffer->forceResponse(IOR_DECLINE); mInventoryOffer = NULL; } if (inventory_offer) { mInventoryOffer = inventory_offer; std::string icon_name = LLInventoryIcon::getIconName(mInventoryOffer->mType, LLInventoryType::IT_TEXTURE, 0, FALSE); mViewInventoryIcon->setImage(icon_name); mViewInventoryIcon->setVisible(TRUE); std::stringstream ss; ss << " " << inventory_name; mViewInventoryName->setText(ss.str()); mBtnOpenAttachment->setEnabled(TRUE); } else { mViewInventoryName->clear(); mViewInventoryIcon->setVisible(FALSE); mBtnOpenAttachment->setEnabled(FALSE); } }
void LLPanelGroupNotices::showNotice(const std::string& subject, const std::string& message, const bool& has_inventory, const std::string& inventory_name, LLOfferInfo* inventory_offer) { arrangeNoticeView(VIEW_PAST_NOTICE); if(mViewSubject) mViewSubject->setText(subject); if(mViewMessage) { mViewMessage->clear(); mViewMessage->setParseHTML(TRUE); mViewMessage->appendColoredText(message, false, false, gColors.getColor("TextFgReadOnlyColor")); } if (mInventoryOffer) { // Cancel the inventory offer for the previously viewed notice mInventoryOffer->forceResponse(IOR_DECLINE); mInventoryOffer = NULL; } if (inventory_offer) { mInventoryOffer = inventory_offer; std::string icon_name = get_item_icon_name(mInventoryOffer->mType, LLInventoryType::IT_TEXTURE, 0, FALSE); mViewInventoryIcon->setImage(icon_name); mViewInventoryIcon->setVisible(TRUE); std::stringstream ss; ss << " " << inventory_name; mViewInventoryName->setText(ss.str()); mBtnOpenAttachment->setEnabled(TRUE); } else { mViewInventoryName->clear(); mViewInventoryIcon->setVisible(FALSE); mBtnOpenAttachment->setEnabled(FALSE); } }