void LLToastScriptQuestion::snapToMessageHeight() { LLTextBox* mMessage = getChild<LLTextBox>("top_info_message"); LLTextBox* mFooter = getChild<LLTextBox>("bottom_info_message"); if (!mMessage || !mFooter) { return; } if (mMessage->getVisible() && mFooter->getVisible()) { S32 heightDelta = 0; S32 maxTextHeight = (mMessage->getFont()->getLineHeight() * MAX_LINES_COUNT) + (mFooter->getFont()->getLineHeight() * MAX_LINES_COUNT); LLRect messageRect = mMessage->getRect(); LLRect footerRect = mFooter->getRect(); S32 oldTextHeight = messageRect.getHeight() + footerRect.getHeight(); S32 requiredTextHeight = mMessage->getTextBoundingRect().getHeight() + mFooter->getTextBoundingRect().getHeight(); S32 newTextHeight = llmin(requiredTextHeight, maxTextHeight); heightDelta = newTextHeight - oldTextHeight - heightDelta; reshape( getRect().getWidth(), llmax(getRect().getHeight() + heightDelta, MIN_PANEL_HEIGHT)); } }
BOOL LLPanelGroupGeneral::postBuild() { llinfos << "LLPanelGroupGeneral::postBuild()" << llendl; bool recurse = true; // General info mGroupNameEditor = getChild<LLLineEditor>("group_name_editor", recurse); mGroupName = getChild<LLTextBox>("group_name", recurse); mInsignia = getChild<LLTextureCtrl>("insignia", recurse); if (mInsignia) { mInsignia->setCommitCallback(onCommitAny); mInsignia->setCallbackUserData(this); mDefaultIconID = mInsignia->getImageAssetID(); } mEditCharter = getChild<LLTextEditor>("charter", recurse); if(mEditCharter) { mEditCharter->setCommitCallback(onCommitAny); mEditCharter->setFocusReceivedCallback(onFocusEdit, this); mEditCharter->setFocusChangedCallback(onFocusEdit, this); mEditCharter->setCallbackUserData(this); } mBtnJoinGroup = getChild<LLButton>("join_button", recurse); if ( mBtnJoinGroup ) { mBtnJoinGroup->setClickedCallback(onClickJoin); mBtnJoinGroup->setCallbackUserData(this); } mBtnInfo = getChild<LLButton>("info_button", recurse); if ( mBtnInfo ) { mBtnInfo->setClickedCallback(onClickInfo); mBtnInfo->setCallbackUserData(this); } LLTextBox* founder = getChild<LLTextBox>("founder_name"); if (founder) { mFounderName = new LLNameBox(founder->getName(),founder->getRect(),LLUUID::null,FALSE,founder->getFont(),founder->getMouseOpaque()); removeChild(founder, TRUE); addChild(mFounderName); } mListVisibleMembers = getChild<LLNameListCtrl>("visible_members", recurse); if (mListVisibleMembers) { mListVisibleMembers->setDoubleClickCallback(openProfile); mListVisibleMembers->setCallbackUserData(this); } // Options mCtrlShowInGroupList = getChild<LLCheckBoxCtrl>("show_in_group_list", recurse); if (mCtrlShowInGroupList) { mCtrlShowInGroupList->setCommitCallback(onCommitAny); mCtrlShowInGroupList->setCallbackUserData(this); } mComboMature = getChild<LLComboBox>("group_mature_check", recurse); if(mComboMature) { mComboMature->setCurrentByIndex(0); mComboMature->setCommitCallback(onCommitAny); mComboMature->setCallbackUserData(this); if (gAgent.isTeen()) { // Teens don't get to set mature flag. JC mComboMature->setVisible(FALSE); mComboMature->setCurrentByIndex(NON_MATURE_CONTENT); } } mCtrlOpenEnrollment = getChild<LLCheckBoxCtrl>("open_enrollement", recurse); if (mCtrlOpenEnrollment) { mCtrlOpenEnrollment->setCommitCallback(onCommitAny); mCtrlOpenEnrollment->setCallbackUserData(this); } mCtrlEnrollmentFee = getChild<LLCheckBoxCtrl>("check_enrollment_fee", recurse); if (mCtrlEnrollmentFee) { mCtrlEnrollmentFee->setCommitCallback(onCommitEnrollment); mCtrlEnrollmentFee->setCallbackUserData(this); } mSpinEnrollmentFee = getChild<LLSpinCtrl>("spin_enrollment_fee", recurse); if (mSpinEnrollmentFee) { mSpinEnrollmentFee->setCommitCallback(onCommitAny); mSpinEnrollmentFee->setCallbackUserData(this); mSpinEnrollmentFee->setPrecision(0); } BOOL accept_notices = FALSE; BOOL list_in_profile = FALSE; LLGroupData data; if(gAgent.getGroupData(mGroupID,data)) { accept_notices = data.mAcceptNotices; list_in_profile = data.mListInProfile; } mCtrlReceiveNotices = getChild<LLCheckBoxCtrl>("receive_notices", recurse); if (mCtrlReceiveNotices) { mCtrlReceiveNotices->setCommitCallback(onCommitUserOnly); mCtrlReceiveNotices->setCallbackUserData(this); mCtrlReceiveNotices->set(accept_notices); mCtrlReceiveNotices->setEnabled(data.mID.notNull()); } mCtrlListGroup = getChild<LLCheckBoxCtrl>("list_groups_in_profile", recurse); if (mCtrlListGroup) { mCtrlListGroup->setCommitCallback(onCommitUserOnly); mCtrlListGroup->setCallbackUserData(this); mCtrlListGroup->set(list_in_profile); mCtrlListGroup->setEnabled(data.mID.notNull()); } mActiveTitleLabel = getChild<LLTextBox>("active_title_label", recurse); mComboActiveTitle = getChild<LLComboBox>("active_title", recurse); if (mComboActiveTitle) { mComboActiveTitle->setCommitCallback(onCommitTitle); mComboActiveTitle->setCallbackUserData(this); } mIncompleteMemberDataStr = getString("incomplete_member_data_str"); mConfirmGroupCreateStr = getString("confirm_group_create_str"); // If the group_id is null, then we are creating a new group if (mGroupID.isNull()) { mGroupNameEditor->setEnabled(TRUE); mEditCharter->setEnabled(TRUE); mCtrlShowInGroupList->setEnabled(TRUE); mComboMature->setEnabled(TRUE); mCtrlOpenEnrollment->setEnabled(TRUE); mCtrlEnrollmentFee->setEnabled(TRUE); mSpinEnrollmentFee->setEnabled(TRUE); mBtnJoinGroup->setVisible(FALSE); mBtnInfo->setVisible(FALSE); mGroupName->setVisible(FALSE); } return LLPanelGroupTab::postBuild(); }