summaryrefslogtreecommitdiff
path: root/indra/llui
diff options
context:
space:
mode:
Diffstat (limited to 'indra/llui')
-rw-r--r--indra/llui/lltabcontainer.cpp13
-rw-r--r--indra/llui/lltabcontainer.h9
-rw-r--r--indra/llui/lluictrlfactory.cpp3
-rw-r--r--indra/llui/lluictrlfactory.h5
4 files changed, 21 insertions, 9 deletions
diff --git a/indra/llui/lltabcontainer.cpp b/indra/llui/lltabcontainer.cpp
index 2d9106923e..83e2e3db50 100644
--- a/indra/llui/lltabcontainer.cpp
+++ b/indra/llui/lltabcontainer.cpp
@@ -120,6 +120,8 @@ LLTabContainer::Params::Params()
tab_min_width("tab_min_width"),
tab_max_width("tab_max_width"),
tab_height("tab_height"),
+ label_pad_bottom("label_pad_bottom"),
+ label_pad_left("label_pad_left"),
tab_position("tab_position"),
hide_tabs("hide_tabs", false),
tab_padding_right("tab_padding_right"),
@@ -145,6 +147,8 @@ LLTabContainer::LLTabContainer(const LLTabContainer::Params& p)
mMinTabWidth(0),
mMaxTabWidth(p.tab_max_width),
mTabHeight(p.tab_height),
+ mLabelPadBottom(p.label_pad_bottom),
+ mLabelPadLeft(p.label_pad_left),
mPrevArrowBtn(NULL),
mNextArrowBtn(NULL),
mIsVertical( p.tab_position == LEFT ),
@@ -906,7 +910,7 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel)
if (placeholder)
{
- btn_rect.translate(0, -3); // *TODO: make configurable
+ btn_rect.translate(0, -6); // *TODO: make configurable
LLTextBox::Params params;
params.name(trimmed_label);
params.rect(btn_rect);
@@ -933,6 +937,7 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel)
p.image_selected(mMiddleTabParams.tab_left_image_selected);
p.scale_image(true);
p.font_halign = mFontHalign;
+ p.pad_bottom( mLabelPadBottom );
p.tab_stop(false);
p.label_shadow(false);
if (indent)
@@ -956,8 +961,9 @@ void LLTabContainer::addTabPanel(const TabPanelParams& panel)
p.tab_stop(false);
p.label_shadow(false);
// Try to squeeze in a bit more text
- p.pad_left(4);
+ p.pad_left( mLabelPadLeft );
p.pad_right(2);
+ p.pad_bottom( mLabelPadBottom );
p.font_halign = mFontHalign;
p.follows.flags = FOLLOWS_LEFT;
p.follows.flags = FOLLOWS_LEFT;
@@ -1897,6 +1903,3 @@ void LLTabContainer::commitHoveredButton(S32 x, S32 y)
}
}
}
-
-
-
diff --git a/indra/llui/lltabcontainer.h b/indra/llui/lltabcontainer.h
index be9c6c7d06..5d0f194bf9 100644
--- a/indra/llui/lltabcontainer.h
+++ b/indra/llui/lltabcontainer.h
@@ -79,7 +79,9 @@ public:
Optional<S32> tab_width,
tab_min_width,
tab_max_width,
- tab_height;
+ tab_height,
+ label_pad_bottom,
+ label_pad_left;
Optional<bool> hide_tabs;
Optional<S32> tab_padding_right;
@@ -261,6 +263,11 @@ private:
S32 mTotalTabWidth;
S32 mTabHeight;
+ // Padding under the text labels of tab buttons
+ S32 mLabelPadBottom;
+ // Padding to the left of text labels of tab buttons
+ S32 mLabelPadLeft;
+
LLFrameTimer mDragAndDropDelayTimer;
LLFontGL::HAlign mFontHalign;
diff --git a/indra/llui/lluictrlfactory.cpp b/indra/llui/lluictrlfactory.cpp
index 6a7879c8c2..5807654e43 100644
--- a/indra/llui/lluictrlfactory.cpp
+++ b/indra/llui/lluictrlfactory.cpp
@@ -393,6 +393,7 @@ BOOL LLUICtrlFactory::getAttributeColor(LLXMLNodePtr node, const std::string& na
//static
void LLUICtrlFactory::setCtrlParent(LLView* view, LLView* parent, S32 tab_group)
{
+ if (tab_group == S32_MAX) tab_group = parent->getLastTabGroup();
parent->addChild(view, tab_group);
}
@@ -451,4 +452,4 @@ dummy_widget_creator_func_t* LLUICtrlFactory::getDefaultWidgetFunc(const std::ty
const std::string* LLUICtrlFactory::getWidgetTag(const std::type_info* widget_type)
{
return LLWidgetNameRegistry::instance().getValue(widget_type);
-} \ No newline at end of file
+}
diff --git a/indra/llui/lluictrlfactory.h b/indra/llui/lluictrlfactory.h
index e4bac48fd3..b785102426 100644
--- a/indra/llui/lluictrlfactory.h
+++ b/indra/llui/lluictrlfactory.h
@@ -204,7 +204,7 @@ public:
if (parent)
{
- S32 tab_group = params.tab_group.isProvided() ? params.tab_group() : parent->getLastTabGroup();
+ S32 tab_group = params.tab_group.isProvided() ? params.tab_group() : S32_MAX;
setCtrlParent(widget, parent, tab_group);
}
return widget;
@@ -313,7 +313,8 @@ fail:
T* widget = createWidget<T>(params, parent);
- createChildren(widget, node, typename T::child_registry_t::instance(), output_node);
+ typedef typename T::child_registry_t registry_t;
+ createChildren(widget, node, registry_t::instance(), output_node);
if (widget && !widget->postBuild())
{