From a510af94809baf363f6e6b3096edf2e7bdee72de Mon Sep 17 00:00:00 2001 From: Inusaito Sayori Date: Sun, 10 Nov 2013 02:46:23 -0500 Subject: [PATCH] [LLScrollColumnHeader] Fix icons disappearing in certain states, such as click. --- indra/llui/llscrolllistcolumn.cpp | 4 ++-- indra/llui/llscrolllistcolumn.h | 2 +- indra/llui/llscrolllistctrl.cpp | 27 +++++++++++++++------------ 3 files changed, 18 insertions(+), 15 deletions(-) diff --git a/indra/llui/llscrolllistcolumn.cpp b/indra/llui/llscrolllistcolumn.cpp index 6353528c4..f03f407d8 100644 --- a/indra/llui/llscrolllistcolumn.cpp +++ b/indra/llui/llscrolllistcolumn.cpp @@ -40,8 +40,8 @@ const S32 MIN_COLUMN_WIDTH = 20; //--------------------------------------------------------------------------- // LLScrollColumnHeader //--------------------------------------------------------------------------- -LLScrollColumnHeader::LLScrollColumnHeader(const std::string& name, const LLRect& rect, LLScrollListColumn* column) -: LLButton(name, rect, "square_btn_32x128.tga", "square_btn_selected_32x128.tga", LLStringUtil::null, NULL, LLFontGL::getFontSansSerifSmall()), +LLScrollColumnHeader::LLScrollColumnHeader(const std::string& name, const LLRect& rect, LLScrollListColumn* column, const std::string& unselected_image_name, const std::string& selected_image_name) +: LLButton(name, rect, unselected_image_name, selected_image_name, LLStringUtil::null, NULL, LLFontGL::getFontSansSerifSmall()), mColumn(column), mHasResizableElement(FALSE) { diff --git a/indra/llui/llscrolllistcolumn.h b/indra/llui/llscrolllistcolumn.h index 2026e075c..d76aedf55 100644 --- a/indra/llui/llscrolllistcolumn.h +++ b/indra/llui/llscrolllistcolumn.h @@ -40,7 +40,7 @@ class LLScrollListCtrl; class LLScrollColumnHeader : public LLButton { public: - LLScrollColumnHeader(const std::string& name, const LLRect& rect, LLScrollListColumn* column); + LLScrollColumnHeader(const std::string& name, const LLRect& rect, LLScrollListColumn* column, const std::string& unselected_image_name = "square_btn_32x128.tga", const std::string& selected_image_name = "square_btn_selected_32x128.tga"); ~LLScrollColumnHeader(); /*virtual*/ void draw(); diff --git a/indra/llui/llscrolllistctrl.cpp b/indra/llui/llscrolllistctrl.cpp index f76b21762..62eba0e97 100644 --- a/indra/llui/llscrolllistctrl.cpp +++ b/indra/llui/llscrolllistctrl.cpp @@ -2848,24 +2848,27 @@ void LLScrollListCtrl::addColumn(const LLScrollListColumn::Params& column_params LLRect temp_rect = LLRect(left,top+mHeadingHeight,right,top); - new_column->mHeader = new LLScrollColumnHeader("btn_" + name, temp_rect, new_column); - new_column->mHeader->setToolTip(column_params.tool_tip()); - new_column->mHeader->setTabStop(false); - new_column->mHeader->setVisible(mDisplayColumnHeaders); - - if(column_params.header.image.isProvided()) + if (column_params.header.image.isProvided()) { - new_column->mHeader->setImages(column_params.header.image, column_params.header.image); - } - else if(column_params.header.image_overlay.isProvided()) - { - new_column->mHeader->setImageOverlay(column_params.header.image_overlay); + new_column->mHeader = new LLScrollColumnHeader("btn_" + name, temp_rect, new_column, column_params.header.image, column_params.header.image); } else { - new_column->mHeader->setLabel(column_params.header.label()); + new_column->mHeader = new LLScrollColumnHeader("btn_" + name, temp_rect, new_column); + if (column_params.header.image_overlay.isProvided()) + { + new_column->mHeader->setImageOverlay(column_params.header.image_overlay); + } + else + { + new_column->mHeader->setLabel(column_params.header.label()); + } } + new_column->mHeader->setToolTip(column_params.tool_tip()); + new_column->mHeader->setTabStop(false); + new_column->mHeader->setVisible(mDisplayColumnHeaders); + addChild(new_column->mHeader); sendChildToFront(mScrollbar);