From 08bcbe1ca1cdff04bcf3299cd0c539028ddebb18 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mart=C3=ADn=20Lucas=20Golini?= Date: Sun, 16 Dec 2018 20:30:24 -0300 Subject: [PATCH] UITabWidget padding. --HG-- branch : dev-widget-padding --- bin/assets/layouts/test.xml | 94 ++++++++++++++++++--------------- include/eepp/ui/uitabwidget.hpp | 2 + src/eepp/ui/uitabwidget.cpp | 19 ++++--- 3 files changed, 67 insertions(+), 48 deletions(-) diff --git a/bin/assets/layouts/test.xml b/bin/assets/layouts/test.xml index f05cd0052..b5160717e 100644 --- a/bin/assets/layouts/test.xml +++ b/bin/assets/layouts/test.xml @@ -1,45 +1,55 @@ - - - - - - - - - - Test - Test 2 - Test 3 - - - Test - Test 2 - Test 3 - - - - - - - - - - - + + + + + + + + + + + + Test + Test 2 + Test 3 + + + Test + Test 2 + Test 3 + + + + + + + + + + + - - + + - - - - - - + + + + + + - - - - - - + + + + + + + + + + + + + + diff --git a/include/eepp/ui/uitabwidget.hpp b/include/eepp/ui/uitabwidget.hpp index d733c518c..f7c3c7e20 100644 --- a/include/eepp/ui/uitabwidget.hpp +++ b/include/eepp/ui/uitabwidget.hpp @@ -154,6 +154,8 @@ class EE_API UITabWidget : public UIWidget { virtual void onChildCountChange(); + virtual void onPaddingChange(); + void setTabSelected( UITab * Tab ); void setTabContainerSize(); diff --git a/src/eepp/ui/uitabwidget.cpp b/src/eepp/ui/uitabwidget.cpp index a8b069d32..b001e7a3b 100644 --- a/src/eepp/ui/uitabwidget.cpp +++ b/src/eepp/ui/uitabwidget.cpp @@ -81,9 +81,10 @@ void UITabWidget::onThemeLoaded() { } void UITabWidget::setContainerSize() { - mTabContainer->setPixelsSize( mSize.getWidth(), mStyleConfig.TabWidgetHeight ); - mCtrlContainer->setPosition( 0, mStyleConfig.TabWidgetHeight ); - mCtrlContainer->setPixelsSize( mSize.getWidth(), mSize.getHeight() - PixelDensity::dpToPx( mStyleConfig.TabWidgetHeight ) ); + mTabContainer->setPixelsSize( mSize.getWidth() - mRealPadding.Left - mRealPadding.Right, mStyleConfig.TabWidgetHeight ); + mTabContainer->setPosition( mPadding.Left, mPadding.Top ); + mCtrlContainer->setPosition( mPadding.Left, mPadding.Top + mStyleConfig.TabWidgetHeight ); + mCtrlContainer->setPixelsSize( mSize.getWidth() - mRealPadding.Left - mRealPadding.Right, mSize.getHeight() - PixelDensity::dpToPx( mStyleConfig.TabWidgetHeight ) - mRealPadding.Top - mRealPadding.Bottom ); } void UITabWidget::draw() { @@ -94,15 +95,15 @@ void UITabWidget::draw() { if ( smooth ) GLi->lineSmooth( false ); Primitives P; - Vector2f p1( mScreenPos.x, mScreenPos.y + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset ); + Vector2f p1( mScreenPos.x + mRealPadding.Left, mScreenPos.y + mRealPadding.Top + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset ); Vector2f p2( mScreenPos.x + mTabContainer->getRealPosition().x, p1.y ); P.setLineWidth( PixelDensity::dpToPx( 1 ) ); P.setColor( Color( mStyleConfig.LineBelowTabsColor, mAlpha ) ); P.drawLine( Line2f( Vector2f( (int)p1.x, (int)p1.y ), Vector2f( (int)p2.x, (int)p2.y ) ) ); - Vector2f p3( mScreenPos.x + mTabContainer->getRealPosition().x + mTabContainer->getRealSize().getWidth(), mScreenPos.y + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset ); - Vector2f p4( mScreenPos.x + mSize.getWidth(), p3.y ); + Vector2f p3( mScreenPos.x + mTabContainer->getRealPosition().x + mTabContainer->getRealSize().getWidth(), mScreenPos.y + mRealPadding.Top + mTabContainer->getRealSize().getHeight() + mStyleConfig.LineBelowTabsYOffset ); + Vector2f p4( mScreenPos.x + mRealPadding.Left + mCtrlContainer->getRealSize().getWidth(), p3.y ); P.drawLine( Line2f( Vector2f( (int)p3.x, (int)p3.y ), Vector2f( (int)p4.x, (int)p4.y ) ) ); @@ -748,6 +749,12 @@ void UITabWidget::onChildCountChange() { UIWidget::onChildCountChange(); } +void UITabWidget::onPaddingChange() { + onSizeChange(); + + UIWidget::onPaddingChange(); +} + void UITabWidget::applyThemeToTabs() { if ( mStyleConfig.SpecialBorderTabs ) { for ( Uint32 i = 0; i < mTabs.size(); i++ ) {