diff options
author | Jacek Antonelli | 2008-09-06 18:24:57 -0500 |
---|---|---|
committer | Jacek Antonelli | 2008-09-06 18:25:07 -0500 |
commit | 798d367d54a6c6379ad355bd8345fa40e31e7fe9 (patch) | |
tree | 1921f1708cd0240648c97bc02df2c2ab5f2fc41e /linden/indra/llui/lltabcontainer.cpp | |
parent | Second Life viewer sources 1.20.15 (diff) | |
download | meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.zip meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.gz meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.bz2 meta-impy-798d367d54a6c6379ad355bd8345fa40e31e7fe9.tar.xz |
Second Life viewer sources 1.21.0-RC
Diffstat (limited to 'linden/indra/llui/lltabcontainer.cpp')
-rw-r--r-- | linden/indra/llui/lltabcontainer.cpp | 141 |
1 files changed, 80 insertions, 61 deletions
diff --git a/linden/indra/llui/lltabcontainer.cpp b/linden/indra/llui/lltabcontainer.cpp index 827d4fb..7bf1485 100644 --- a/linden/indra/llui/lltabcontainer.cpp +++ b/linden/indra/llui/lltabcontainer.cpp | |||
@@ -42,7 +42,6 @@ | |||
42 | #include "lltabcontainervertical.h" | 42 | #include "lltabcontainervertical.h" |
43 | #include "llrender.h" | 43 | #include "llrender.h" |
44 | 44 | ||
45 | |||
46 | const F32 SCROLL_STEP_TIME = 0.4f; | 45 | const F32 SCROLL_STEP_TIME = 0.4f; |
47 | const F32 SCROLL_DELAY_TIME = 0.5f; | 46 | const F32 SCROLL_DELAY_TIME = 0.5f; |
48 | const S32 TAB_PADDING = 15; | 47 | const S32 TAB_PADDING = 15; |
@@ -66,7 +65,7 @@ const S32 TABCNTRV_PAD = 0; | |||
66 | 65 | ||
67 | static LLRegisterWidget<LLTabContainer> r("tab_container"); | 66 | static LLRegisterWidget<LLTabContainer> r("tab_container"); |
68 | 67 | ||
69 | LLTabContainer::LLTabContainer(const LLString& name, const LLRect& rect, TabPosition pos, | 68 | LLTabContainer::LLTabContainer(const std::string& name, const LLRect& rect, TabPosition pos, |
70 | BOOL bordered, BOOL is_vertical ) | 69 | BOOL bordered, BOOL is_vertical ) |
71 | : | 70 | : |
72 | LLPanel(name, rect, bordered), | 71 | LLPanel(name, rect, bordered), |
@@ -122,7 +121,7 @@ void LLTabContainer::reshape(S32 width, S32 height, BOOL called_from_parent) | |||
122 | } | 121 | } |
123 | 122 | ||
124 | //virtual | 123 | //virtual |
125 | LLView* LLTabContainer::getChildView(const LLString& name, BOOL recurse, BOOL create_if_missing) const | 124 | LLView* LLTabContainer::getChildView(const std::string& name, BOOL recurse, BOOL create_if_missing) const |
126 | { | 125 | { |
127 | tuple_list_t::const_iterator itor; | 126 | tuple_list_t::const_iterator itor; |
128 | for (itor = mTabList.begin(); itor != mTabList.end(); ++itor) | 127 | for (itor = mTabList.begin(); itor != mTabList.end(); ++itor) |
@@ -153,24 +152,43 @@ LLView* LLTabContainer::getChildView(const LLString& name, BOOL recurse, BOOL cr | |||
153 | void LLTabContainer::draw() | 152 | void LLTabContainer::draw() |
154 | { | 153 | { |
155 | S32 target_pixel_scroll = 0; | 154 | S32 target_pixel_scroll = 0; |
156 | S32 cur_scroll_pos = mIsVertical ? 0 : getScrollPos(); | 155 | S32 cur_scroll_pos = getScrollPos(); |
157 | if (cur_scroll_pos > 0) | 156 | if (cur_scroll_pos > 0) |
158 | { | 157 | { |
159 | S32 available_width_with_arrows = getRect().getWidth() - mRightTabBtnOffset - 2 * (LLPANEL_BORDER_WIDTH + TABCNTR_ARROW_BTN_SIZE + TABCNTR_ARROW_BTN_SIZE + 1); | 158 | if (!mIsVertical) |
160 | for(tuple_list_t::iterator iter = mTabList.begin(); iter != mTabList.end(); ++iter) | ||
161 | { | 159 | { |
162 | if (cur_scroll_pos == 0) | 160 | S32 available_width_with_arrows = getRect().getWidth() - mRightTabBtnOffset - 2 * (LLPANEL_BORDER_WIDTH + TABCNTR_ARROW_BTN_SIZE + TABCNTR_ARROW_BTN_SIZE + 1); |
161 | for(tuple_list_t::iterator iter = mTabList.begin(); iter != mTabList.end(); ++iter) | ||
163 | { | 162 | { |
164 | break; | 163 | if (cur_scroll_pos == 0) |
164 | { | ||
165 | break; | ||
166 | } | ||
167 | target_pixel_scroll += (*iter)->mButton->getRect().getWidth(); | ||
168 | cur_scroll_pos--; | ||
165 | } | 169 | } |
166 | target_pixel_scroll += (*iter)->mButton->getRect().getWidth(); | ||
167 | cur_scroll_pos--; | ||
168 | } | ||
169 | 170 | ||
170 | // Show part of the tab to the left of what is fully visible | 171 | // Show part of the tab to the left of what is fully visible |
171 | target_pixel_scroll -= TABCNTR_TAB_PARTIAL_WIDTH; | 172 | target_pixel_scroll -= TABCNTR_TAB_PARTIAL_WIDTH; |
172 | // clamp so that rightmost tab never leaves right side of screen | 173 | // clamp so that rightmost tab never leaves right side of screen |
173 | target_pixel_scroll = llmin(mTotalTabWidth - available_width_with_arrows, target_pixel_scroll); | 174 | target_pixel_scroll = llmin(mTotalTabWidth - available_width_with_arrows, target_pixel_scroll); |
175 | } | ||
176 | else | ||
177 | { | ||
178 | S32 available_height_with_arrows = getRect().getHeight() - getTopBorderHeight() - (LLPANEL_BORDER_WIDTH + TABCNTR_ARROW_BTN_SIZE + TABCNTR_ARROW_BTN_SIZE + 1); | ||
179 | for(tuple_list_t::iterator iter = mTabList.begin(); iter != mTabList.end(); ++iter) | ||
180 | { | ||
181 | if (cur_scroll_pos==0) | ||
182 | { | ||
183 | break; | ||
184 | } | ||
185 | target_pixel_scroll += (*iter)->mButton->getRect().getHeight(); | ||
186 | cur_scroll_pos--; | ||
187 | } | ||
188 | S32 total_tab_height = (BTN_HEIGHT + TABCNTRV_PAD) * getTabCount() + TABCNTRV_PAD; | ||
189 | // clamp so that the bottom tab never leaves bottom of panel | ||
190 | target_pixel_scroll = llmin(total_tab_height - available_height_with_arrows, target_pixel_scroll); | ||
191 | } | ||
174 | } | 192 | } |
175 | 193 | ||
176 | setScrollPosPixels((S32)lerp((F32)getScrollPosPixels(), (F32)target_pixel_scroll, LLCriticalDamp::getInterpolant(0.08f))); | 194 | setScrollPosPixels((S32)lerp((F32)getScrollPosPixels(), (F32)target_pixel_scroll, LLCriticalDamp::getInterpolant(0.08f))); |
@@ -461,7 +479,7 @@ BOOL LLTabContainer::handleMouseUp( S32 x, S32 y, MASK mask ) | |||
461 | } | 479 | } |
462 | 480 | ||
463 | // virtual | 481 | // virtual |
464 | BOOL LLTabContainer::handleToolTip( S32 x, S32 y, LLString& msg, LLRect* sticky_rect ) | 482 | BOOL LLTabContainer::handleToolTip( S32 x, S32 y, std::string& msg, LLRect* sticky_rect ) |
465 | { | 483 | { |
466 | BOOL handled = LLPanel::handleToolTip( x, y, msg, sticky_rect ); | 484 | BOOL handled = LLPanel::handleToolTip( x, y, msg, sticky_rect ); |
467 | if (!handled && getTabCount() > 0) | 485 | if (!handled && getTabCount() > 0) |
@@ -605,7 +623,7 @@ LLXMLNodePtr LLTabContainer::getXML(bool save_children) const | |||
605 | } | 623 | } |
606 | 624 | ||
607 | // virtual | 625 | // virtual |
608 | BOOL LLTabContainer::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType type, void* cargo_data, EAcceptance *accept, LLString &tooltip) | 626 | BOOL LLTabContainer::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDragAndDropType type, void* cargo_data, EAcceptance *accept, std::string &tooltip) |
609 | { | 627 | { |
610 | BOOL has_scroll_arrows = (getMaxScrollPos() > 0); | 628 | BOOL has_scroll_arrows = (getMaxScrollPos() > 0); |
611 | 629 | ||
@@ -613,13 +631,13 @@ BOOL LLTabContainer::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDrag | |||
613 | { | 631 | { |
614 | if (has_scroll_arrows) | 632 | if (has_scroll_arrows) |
615 | { | 633 | { |
616 | if (mJumpPrevArrowBtn->getRect().pointInRect(x, y)) | 634 | if (mJumpPrevArrowBtn && mJumpPrevArrowBtn->getRect().pointInRect(x, y)) |
617 | { | 635 | { |
618 | S32 local_x = x - mJumpPrevArrowBtn->getRect().mLeft; | 636 | S32 local_x = x - mJumpPrevArrowBtn->getRect().mLeft; |
619 | S32 local_y = y - mJumpPrevArrowBtn->getRect().mBottom; | 637 | S32 local_y = y - mJumpPrevArrowBtn->getRect().mBottom; |
620 | mJumpPrevArrowBtn->handleHover(local_x, local_y, mask); | 638 | mJumpPrevArrowBtn->handleHover(local_x, local_y, mask); |
621 | } | 639 | } |
622 | if (mJumpNextArrowBtn->getRect().pointInRect(x, y)) | 640 | if (mJumpNextArrowBtn && mJumpNextArrowBtn->getRect().pointInRect(x, y)) |
623 | { | 641 | { |
624 | S32 local_x = x - mJumpNextArrowBtn->getRect().mLeft; | 642 | S32 local_x = x - mJumpNextArrowBtn->getRect().mLeft; |
625 | S32 local_y = y - mJumpNextArrowBtn->getRect().mBottom; | 643 | S32 local_y = y - mJumpNextArrowBtn->getRect().mBottom; |
@@ -657,7 +675,7 @@ BOOL LLTabContainer::handleDragAndDrop(S32 x, S32 y, MASK mask, BOOL drop, EDrag | |||
657 | } | 675 | } |
658 | 676 | ||
659 | void LLTabContainer::addTabPanel(LLPanel* child, | 677 | void LLTabContainer::addTabPanel(LLPanel* child, |
660 | const LLString& label, | 678 | const std::string& label, |
661 | BOOL select, | 679 | BOOL select, |
662 | void (*on_tab_clicked)(void*, bool), | 680 | void (*on_tab_clicked)(void*, bool), |
663 | void* userdata, | 681 | void* userdata, |
@@ -674,8 +692,8 @@ void LLTabContainer::addTabPanel(LLPanel* child, | |||
674 | 692 | ||
675 | // Store the original label for possible xml export. | 693 | // Store the original label for possible xml export. |
676 | child->setLabel(label); | 694 | child->setLabel(label); |
677 | LLString trimmed_label = label; | 695 | std::string trimmed_label = label; |
678 | LLString::trim(trimmed_label); | 696 | LLStringUtil::trim(trimmed_label); |
679 | 697 | ||
680 | S32 button_width = mMinTabWidth; | 698 | S32 button_width = mMinTabWidth; |
681 | if (!mIsVertical) | 699 | if (!mIsVertical) |
@@ -724,8 +742,8 @@ void LLTabContainer::addTabPanel(LLPanel* child, | |||
724 | 742 | ||
725 | // Tab button | 743 | // Tab button |
726 | LLRect btn_rect; // Note: btn_rect.mLeft is just a dummy. Will be updated in draw(). | 744 | LLRect btn_rect; // Note: btn_rect.mLeft is just a dummy. Will be updated in draw(). |
727 | LLString tab_img; | 745 | std::string tab_img; |
728 | LLString tab_selected_img; | 746 | std::string tab_selected_img; |
729 | S32 tab_fudge = 1; // To make new tab art look better, nudge buttons up 1 pel | 747 | S32 tab_fudge = 1; // To make new tab art look better, nudge buttons up 1 pel |
730 | 748 | ||
731 | if (mIsVertical) | 749 | if (mIsVertical) |
@@ -756,21 +774,21 @@ void LLTabContainer::addTabPanel(LLPanel* child, | |||
756 | btn_rect.translate(0, -LLBUTTON_V_PAD-2); | 774 | btn_rect.translate(0, -LLBUTTON_V_PAD-2); |
757 | textbox = new LLTextBox(trimmed_label, btn_rect, trimmed_label, font); | 775 | textbox = new LLTextBox(trimmed_label, btn_rect, trimmed_label, font); |
758 | 776 | ||
759 | btn = new LLButton("", LLRect(0,0,0,0)); | 777 | btn = new LLButton(LLStringUtil::null, LLRect(0,0,0,0)); |
760 | } | 778 | } |
761 | else | 779 | else |
762 | { | 780 | { |
763 | if (mIsVertical) | 781 | if (mIsVertical) |
764 | { | 782 | { |
765 | btn = new LLButton("vert tab button", | 783 | btn = new LLButton(std::string("vert tab button"), |
766 | btn_rect, | 784 | btn_rect, |
767 | "", | 785 | LLStringUtil::null, |
768 | "", | 786 | LLStringUtil::null, |
769 | "", | 787 | LLStringUtil::null, |
770 | &LLTabContainer::onTabBtn, NULL, | 788 | &LLTabContainer::onTabBtn, NULL, |
771 | font, | 789 | font, |
772 | trimmed_label, trimmed_label); | 790 | trimmed_label, trimmed_label); |
773 | btn->setImages("tab_left.tga", "tab_left_selected.tga"); | 791 | btn->setImages(std::string("tab_left.tga"), std::string("tab_left_selected.tga")); |
774 | btn->setScaleImage(TRUE); | 792 | btn->setScaleImage(TRUE); |
775 | btn->setHAlign(LLFontGL::LEFT); | 793 | btn->setHAlign(LLFontGL::LEFT); |
776 | btn->setFollows(FOLLOWS_TOP | FOLLOWS_LEFT); | 794 | btn->setFollows(FOLLOWS_TOP | FOLLOWS_LEFT); |
@@ -782,13 +800,13 @@ void LLTabContainer::addTabPanel(LLPanel* child, | |||
782 | } | 800 | } |
783 | else | 801 | else |
784 | { | 802 | { |
785 | LLString tooltip = trimmed_label; | 803 | std::string tooltip = trimmed_label; |
786 | tooltip += "\nAlt-Left arrow for previous tab"; | 804 | tooltip += "\nAlt-Left arrow for previous tab"; |
787 | tooltip += "\nAlt-Right arrow for next tab"; | 805 | tooltip += "\nAlt-Right arrow for next tab"; |
788 | 806 | ||
789 | btn = new LLButton(LLString(child->getName()) + " tab", | 807 | btn = new LLButton(std::string(child->getName()) + " tab", |
790 | btn_rect, | 808 | btn_rect, |
791 | "", "", "", | 809 | LLStringUtil::null, LLStringUtil::null, LLStringUtil::null, |
792 | &LLTabContainer::onTabBtn, NULL, // set userdata below | 810 | &LLTabContainer::onTabBtn, NULL, // set userdata below |
793 | font, | 811 | font, |
794 | trimmed_label, trimmed_label ); | 812 | trimmed_label, trimmed_label ); |
@@ -845,7 +863,7 @@ void LLTabContainer::addTabPanel(LLPanel* child, | |||
845 | updateMaxScrollPos(); | 863 | updateMaxScrollPos(); |
846 | } | 864 | } |
847 | 865 | ||
848 | void LLTabContainer::addPlaceholder(LLPanel* child, const LLString& label) | 866 | void LLTabContainer::addPlaceholder(LLPanel* child, const std::string& label) |
849 | { | 867 | { |
850 | addTabPanel(child, label, FALSE, NULL, NULL, 0, TRUE); | 868 | addTabPanel(child, label, FALSE, NULL, NULL, 0, TRUE); |
851 | } | 869 | } |
@@ -1012,7 +1030,7 @@ S32 LLTabContainer::getIndexForPanel(LLPanel* panel) | |||
1012 | return -1; | 1030 | return -1; |
1013 | } | 1031 | } |
1014 | 1032 | ||
1015 | S32 LLTabContainer::getPanelIndexByTitle(const LLString& title) | 1033 | S32 LLTabContainer::getPanelIndexByTitle(const std::string& title) |
1016 | { | 1034 | { |
1017 | for (S32 index = 0 ; index < (S32)mTabList.size(); index++) | 1035 | for (S32 index = 0 ; index < (S32)mTabList.size(); index++) |
1018 | { | 1036 | { |
@@ -1024,7 +1042,7 @@ S32 LLTabContainer::getPanelIndexByTitle(const LLString& title) | |||
1024 | return -1; | 1042 | return -1; |
1025 | } | 1043 | } |
1026 | 1044 | ||
1027 | LLPanel *LLTabContainer::getPanelByName(const LLString& name) | 1045 | LLPanel *LLTabContainer::getPanelByName(const std::string& name) |
1028 | { | 1046 | { |
1029 | for (S32 index = 0 ; index < (S32)mTabList.size(); index++) | 1047 | for (S32 index = 0 ; index < (S32)mTabList.size(); index++) |
1030 | { | 1048 | { |
@@ -1038,7 +1056,7 @@ LLPanel *LLTabContainer::getPanelByName(const LLString& name) | |||
1038 | } | 1056 | } |
1039 | 1057 | ||
1040 | // Change the name of the button for the current tab. | 1058 | // Change the name of the button for the current tab. |
1041 | void LLTabContainer::setCurrentTabName(const LLString& name) | 1059 | void LLTabContainer::setCurrentTabName(const std::string& name) |
1042 | { | 1060 | { |
1043 | // Might not have a tab selected | 1061 | // Might not have a tab selected |
1044 | if (mCurrentTabIdx < 0) return; | 1062 | if (mCurrentTabIdx < 0) return; |
@@ -1212,7 +1230,7 @@ BOOL LLTabContainer::selectTab(S32 which) | |||
1212 | return is_visible; | 1230 | return is_visible; |
1213 | } | 1231 | } |
1214 | 1232 | ||
1215 | BOOL LLTabContainer::selectTabByName(const LLString& name) | 1233 | BOOL LLTabContainer::selectTabByName(const std::string& name) |
1216 | { | 1234 | { |
1217 | LLPanel* panel = getPanelByName(name); | 1235 | LLPanel* panel = getPanelByName(name); |
1218 | if (!panel) | 1236 | if (!panel) |
@@ -1276,7 +1294,7 @@ void LLTabContainer::setTabImage(LLPanel* child, std::string image_name, const L | |||
1276 | } | 1294 | } |
1277 | } | 1295 | } |
1278 | 1296 | ||
1279 | void LLTabContainer::setTitle(const LLString& title) | 1297 | void LLTabContainer::setTitle(const std::string& title) |
1280 | { | 1298 | { |
1281 | if (mTitleBox) | 1299 | if (mTitleBox) |
1282 | { | 1300 | { |
@@ -1284,14 +1302,14 @@ void LLTabContainer::setTitle(const LLString& title) | |||
1284 | } | 1302 | } |
1285 | } | 1303 | } |
1286 | 1304 | ||
1287 | const LLString LLTabContainer::getPanelTitle(S32 index) | 1305 | const std::string LLTabContainer::getPanelTitle(S32 index) |
1288 | { | 1306 | { |
1289 | if (index >= 0 && index < (S32)mTabList.size()) | 1307 | if (index >= 0 && index < (S32)mTabList.size()) |
1290 | { | 1308 | { |
1291 | LLButton* tab_button = mTabList[index]->mButton; | 1309 | LLButton* tab_button = mTabList[index]->mButton; |
1292 | return tab_button->getLabelSelected(); | 1310 | return tab_button->getLabelSelected(); |
1293 | } | 1311 | } |
1294 | return LLString::null; | 1312 | return LLStringUtil::null; |
1295 | } | 1313 | } |
1296 | 1314 | ||
1297 | void LLTabContainer::setTopBorderHeight(S32 height) | 1315 | void LLTabContainer::setTopBorderHeight(S32 height) |
@@ -1329,7 +1347,7 @@ void LLTabContainer::setRightTabBtnOffset(S32 offset) | |||
1329 | updateMaxScrollPos(); | 1347 | updateMaxScrollPos(); |
1330 | } | 1348 | } |
1331 | 1349 | ||
1332 | void LLTabContainer::setPanelTitle(S32 index, const LLString& title) | 1350 | void LLTabContainer::setPanelTitle(S32 index, const std::string& title) |
1333 | { | 1351 | { |
1334 | if (index >= 0 && index < getTabCount()) | 1352 | if (index >= 0 && index < getTabCount()) |
1335 | { | 1353 | { |
@@ -1435,7 +1453,7 @@ void LLTabContainer::onPrevBtnHeld( void* userdata ) | |||
1435 | // static | 1453 | // static |
1436 | LLView* LLTabContainer::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory) | 1454 | LLView* LLTabContainer::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFactory *factory) |
1437 | { | 1455 | { |
1438 | LLString name("tab_container"); | 1456 | std::string name("tab_container"); |
1439 | node->getAttributeString("name", name); | 1457 | node->getAttributeString("name", name); |
1440 | 1458 | ||
1441 | // Figure out if we are creating a vertical or horizontal tab container. | 1459 | // Figure out if we are creating a vertical or horizontal tab container. |
@@ -1443,9 +1461,9 @@ LLView* LLTabContainer::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto | |||
1443 | LLTabContainer::TabPosition tab_position = LLTabContainer::TOP; | 1461 | LLTabContainer::TabPosition tab_position = LLTabContainer::TOP; |
1444 | if (node->hasAttribute("tab_position")) | 1462 | if (node->hasAttribute("tab_position")) |
1445 | { | 1463 | { |
1446 | LLString tab_position_string; | 1464 | std::string tab_position_string; |
1447 | node->getAttributeString("tab_position", tab_position_string); | 1465 | node->getAttributeString("tab_position", tab_position_string); |
1448 | LLString::toLower(tab_position_string); | 1466 | LLStringUtil::toLower(tab_position_string); |
1449 | 1467 | ||
1450 | if ("top" == tab_position_string) | 1468 | if ("top" == tab_position_string) |
1451 | { | 1469 | { |
@@ -1507,7 +1525,7 @@ LLView* LLTabContainer::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto | |||
1507 | if (control && control->isPanel()) | 1525 | if (control && control->isPanel()) |
1508 | { | 1526 | { |
1509 | LLPanel* panelp = (LLPanel*)control; | 1527 | LLPanel* panelp = (LLPanel*)control; |
1510 | LLString label; | 1528 | std::string label; |
1511 | child->getAttributeString("label", label); | 1529 | child->getAttributeString("label", label); |
1512 | if (label.empty()) | 1530 | if (label.empty()) |
1513 | { | 1531 | { |
@@ -1515,7 +1533,7 @@ LLView* LLTabContainer::fromXML(LLXMLNodePtr node, LLView *parent, LLUICtrlFacto | |||
1515 | } | 1533 | } |
1516 | BOOL placeholder = FALSE; | 1534 | BOOL placeholder = FALSE; |
1517 | child->getAttributeBOOL("placeholder", placeholder); | 1535 | child->getAttributeBOOL("placeholder", placeholder); |
1518 | tab_container->addTabPanel(panelp, label.c_str(), false, | 1536 | tab_container->addTabPanel(panelp, label, false, |
1519 | NULL, NULL, 0, placeholder); | 1537 | NULL, NULL, 0, placeholder); |
1520 | } | 1538 | } |
1521 | } | 1539 | } |
@@ -1539,8 +1557,8 @@ void LLTabContainer::initButtons() | |||
1539 | return; // Don't have a rect yet or already got called | 1557 | return; // Don't have a rect yet or already got called |
1540 | } | 1558 | } |
1541 | 1559 | ||
1542 | LLString out_id; | 1560 | std::string out_id; |
1543 | LLString in_id; | 1561 | std::string in_id; |
1544 | 1562 | ||
1545 | if (mIsVertical) | 1563 | if (mIsVertical) |
1546 | { | 1564 | { |
@@ -1556,16 +1574,16 @@ void LLTabContainer::initButtons() | |||
1556 | 1574 | ||
1557 | out_id = "UIImgBtnScrollUpOutUUID"; | 1575 | out_id = "UIImgBtnScrollUpOutUUID"; |
1558 | in_id = "UIImgBtnScrollUpInUUID"; | 1576 | in_id = "UIImgBtnScrollUpInUUID"; |
1559 | mPrevArrowBtn = new LLButton("Up Arrow", up_arrow_btn_rect, | 1577 | mPrevArrowBtn = new LLButton(std::string("Up Arrow"), up_arrow_btn_rect, |
1560 | out_id, in_id, "", | 1578 | out_id, in_id, LLStringUtil::null, |
1561 | &onPrevBtn, this, NULL ); | 1579 | &onPrevBtn, this, NULL ); |
1562 | mPrevArrowBtn->setFollowsTop(); | 1580 | mPrevArrowBtn->setFollowsTop(); |
1563 | mPrevArrowBtn->setFollowsLeft(); | 1581 | mPrevArrowBtn->setFollowsLeft(); |
1564 | 1582 | ||
1565 | out_id = "UIImgBtnScrollDownOutUUID"; | 1583 | out_id = "UIImgBtnScrollDownOutUUID"; |
1566 | in_id = "UIImgBtnScrollDownInUUID"; | 1584 | in_id = "UIImgBtnScrollDownInUUID"; |
1567 | mNextArrowBtn = new LLButton("Down Arrow", down_arrow_btn_rect, | 1585 | mNextArrowBtn = new LLButton(std::string("Down Arrow"), down_arrow_btn_rect, |
1568 | out_id, in_id, "", | 1586 | out_id, in_id, LLStringUtil::null, |
1569 | &onNextBtn, this, NULL ); | 1587 | &onNextBtn, this, NULL ); |
1570 | mNextArrowBtn->setFollowsBottom(); | 1588 | mNextArrowBtn->setFollowsBottom(); |
1571 | mNextArrowBtn->setFollowsLeft(); | 1589 | mNextArrowBtn->setFollowsLeft(); |
@@ -1604,31 +1622,31 @@ void LLTabContainer::initButtons() | |||
1604 | 1622 | ||
1605 | out_id = "UIImgBtnJumpLeftOutUUID"; | 1623 | out_id = "UIImgBtnJumpLeftOutUUID"; |
1606 | in_id = "UIImgBtnJumpLeftInUUID"; | 1624 | in_id = "UIImgBtnJumpLeftInUUID"; |
1607 | mJumpPrevArrowBtn = new LLButton("Jump Left Arrow", jump_left_arrow_btn_rect, | 1625 | mJumpPrevArrowBtn = new LLButton(std::string("Jump Left Arrow"), jump_left_arrow_btn_rect, |
1608 | out_id, in_id, "", | 1626 | out_id, in_id, LLStringUtil::null, |
1609 | &LLTabContainer::onJumpFirstBtn, this, LLFontGL::sSansSerif ); | 1627 | &LLTabContainer::onJumpFirstBtn, this, LLFontGL::sSansSerif ); |
1610 | mJumpPrevArrowBtn->setFollowsLeft(); | 1628 | mJumpPrevArrowBtn->setFollowsLeft(); |
1611 | 1629 | ||
1612 | out_id = "UIImgBtnScrollLeftOutUUID"; | 1630 | out_id = "UIImgBtnScrollLeftOutUUID"; |
1613 | in_id = "UIImgBtnScrollLeftInUUID"; | 1631 | in_id = "UIImgBtnScrollLeftInUUID"; |
1614 | mPrevArrowBtn = new LLButton("Left Arrow", left_arrow_btn_rect, | 1632 | mPrevArrowBtn = new LLButton(std::string("Left Arrow"), left_arrow_btn_rect, |
1615 | out_id, in_id, "", | 1633 | out_id, in_id, LLStringUtil::null, |
1616 | &LLTabContainer::onPrevBtn, this, LLFontGL::sSansSerif ); | 1634 | &LLTabContainer::onPrevBtn, this, LLFontGL::sSansSerif ); |
1617 | mPrevArrowBtn->setHeldDownCallback(onPrevBtnHeld); | 1635 | mPrevArrowBtn->setHeldDownCallback(onPrevBtnHeld); |
1618 | mPrevArrowBtn->setFollowsLeft(); | 1636 | mPrevArrowBtn->setFollowsLeft(); |
1619 | 1637 | ||
1620 | out_id = "UIImgBtnJumpRightOutUUID"; | 1638 | out_id = "UIImgBtnJumpRightOutUUID"; |
1621 | in_id = "UIImgBtnJumpRightInUUID"; | 1639 | in_id = "UIImgBtnJumpRightInUUID"; |
1622 | mJumpNextArrowBtn = new LLButton("Jump Right Arrow", jump_right_arrow_btn_rect, | 1640 | mJumpNextArrowBtn = new LLButton(std::string("Jump Right Arrow"), jump_right_arrow_btn_rect, |
1623 | out_id, in_id, "", | 1641 | out_id, in_id, LLStringUtil::null, |
1624 | &LLTabContainer::onJumpLastBtn, this, | 1642 | &LLTabContainer::onJumpLastBtn, this, |
1625 | LLFontGL::sSansSerif); | 1643 | LLFontGL::sSansSerif); |
1626 | mJumpNextArrowBtn->setFollowsRight(); | 1644 | mJumpNextArrowBtn->setFollowsRight(); |
1627 | 1645 | ||
1628 | out_id = "UIImgBtnScrollRightOutUUID"; | 1646 | out_id = "UIImgBtnScrollRightOutUUID"; |
1629 | in_id = "UIImgBtnScrollRightInUUID"; | 1647 | in_id = "UIImgBtnScrollRightInUUID"; |
1630 | mNextArrowBtn = new LLButton("Right Arrow", right_arrow_btn_rect, | 1648 | mNextArrowBtn = new LLButton(std::string("Right Arrow"), right_arrow_btn_rect, |
1631 | out_id, in_id, "", | 1649 | out_id, in_id, LLStringUtil::null, |
1632 | &LLTabContainer::onNextBtn, this, | 1650 | &LLTabContainer::onNextBtn, this, |
1633 | LLFontGL::sSansSerif); | 1651 | LLFontGL::sSansSerif); |
1634 | mNextArrowBtn->setFollowsRight(); | 1652 | mNextArrowBtn->setFollowsRight(); |
@@ -1795,3 +1813,4 @@ void LLTabContainer::commitHoveredButton(S32 x, S32 y) | |||
1795 | } | 1813 | } |
1796 | 1814 | ||
1797 | 1815 | ||
1816 | |||