EXT-7564 FIXED Added "wrap" attribute for status message in an inventory folder view.

EXT-7047 PARTIAL FIXED truncation of status message is fixed.

Updated arranging in folder view to take into account required height for status message.

--HG--
branch : product-engine
meow-7.2.2
Mike Antipov 2010-06-10 15:11:41 +03:00
parent e22f4bb4e7
commit 0a6e0deb32
1 changed files with 18 additions and 0 deletions

View File

@ -246,6 +246,7 @@ LLFolderView::LLFolderView(const Params& p)
text_p.font(font);
text_p.visible(false);
text_p.allow_html(true);
text_p.wrap(true); // allow multiline text. See EXT-7564, EXT-7047
mStatusTextBox = LLUICtrlFactory::create<LLTextBox> (text_p);
mStatusTextBox->setFollowsLeft();
mStatusTextBox->setFollowsTop();
@ -953,6 +954,23 @@ void LLFolderView::draw()
}
mStatusTextBox->setValue(mStatusText);
mStatusTextBox->setVisible( TRUE );
// firstly reshape message textbox with current size. This is necessary to
// LLTextBox::getTextPixelHeight works properly
const LLRect local_rect = getLocalRect();
mStatusTextBox->setShape(local_rect);
// get preferable text height...
S32 pixel_height = mStatusTextBox->getTextPixelHeight();
bool height_changed = local_rect.getHeight() != pixel_height;
if (height_changed)
{
// ... if it does not match current height, lets rearrange current view.
// This will indirectly call ::arrange and reshape of the status textbox.
// We should call this method to also notify parent about required rect.
// See EXT-7564, EXT-7047.
arrangeFromRoot();
}
}