diff options
Diffstat (limited to 'indra/llui/lltabcontainer.h')
-rw-r--r-- | indra/llui/lltabcontainer.h | 34 |
1 files changed, 21 insertions, 13 deletions
diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h index 9a9cf1f0d7..be9c6c7d06 100644 --- a/indra/llui/lltabcontainer.h +++ b/indra/llui/lltabcontainer.h @@ -61,6 +61,17 @@ public: static void declareValues(); }; + struct TabParams : public LLInitParam::Block<TabParams> + { + Optional<LLUIImage*> tab_top_image_unselected, + tab_top_image_selected, + tab_bottom_image_unselected, + tab_bottom_image_selected, + tab_left_image_unselected, + tab_left_image_selected; + TabParams(); + }; + struct Params : public LLInitParam::Block<Params, LLPanel::Params> { @@ -73,12 +84,9 @@ public: Optional<bool> hide_tabs; Optional<S32> tab_padding_right; - Optional<LLUIImage*> tab_top_image_unselected, - tab_top_image_selected, - tab_bottom_image_unselected, - tab_bottom_image_selected, - tab_left_image_unselected, - tab_left_image_selected; + Optional<TabParams> first_tab, + middle_tab, + last_tab; Params(); }; @@ -215,6 +223,9 @@ private: void updateMaxScrollPos(); void commitHoveredButton(S32 x, S32 y); + // updates tab button images given the tuple, tab position and the corresponding params + void update_images(LLTabTuple* tuple, TabParams params, LLTabContainer::TabPosition pos); + // Variables typedef std::vector<LLTabTuple*> tuple_list_t; @@ -251,16 +262,13 @@ private: S32 mTabHeight; LLFrameTimer mDragAndDropDelayTimer; - - LLPointer<LLUIImage> mImageTopUnselected; - LLPointer<LLUIImage> mImageTopSelected; - LLPointer<LLUIImage> mImageBottomUnselected; - LLPointer<LLUIImage> mImageBottomSelected; - LLPointer<LLUIImage> mImageLeftUnselected; - LLPointer<LLUIImage> mImageLeftSelected; LLFontGL::HAlign mFontHalign; const LLFontGL* mFont; + + TabParams mFirstTabParams; + TabParams mMiddleTabParams; + TabParams mLastTabParams; }; #endif // LL_TABCONTAINER_H |