Minor fixes.

--HG--
branch : dev
This commit is contained in:
Martín Lucas Golini
2019-06-22 15:15:53 -03:00
parent 3056622861
commit ddf335fd79
5 changed files with 49 additions and 51 deletions

View File

@@ -70,11 +70,10 @@
</vbox>
<ScrollView id="test_5" layout_width="match_parent" layout_height="match_parent">
<vbox layout_width="match_parent" layout_height="wrap_content">
<TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" />
<TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" />
<TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" />
<TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" />
<TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" /><TextView text="Test" />
<TextView text="Test 1" /><TextView text="Test 2" /><TextView text="Test 3" /><TextView text="Test 4" /><TextView text="Test 5" /><TextView text="Test 6" />
<TextView text="Test 7" /><TextView text="Test 8" /><TextView text="Test 9" /><TextView text="Test 10" /><TextView text="Test 11" /><TextView text="Test 12" />
<TextView text="Test 13" /><TextView text="Test 14" /><TextView text="Test 15" /><TextView text="Test 16" /><TextView text="Test 17" /><TextView text="Tes 18" />
<TextView text="Test 19" /><TextView text="Test 20" /><TextView text="Test 21" /><TextView text="Test 22" /><TextView text="Test 23" /><TextView text="Test 24" />
</vbox>
</ScrollView>
<Tab name="Padding Test" owns="test_1" />

View File

@@ -6,14 +6,6 @@
namespace EE { namespace UI {
class EE_API UISliderStyleConfig {
public:
UISliderStyleConfig() {}
bool AllowHalfSliderOut = false;
bool ExpandBackground = false;
};
class EE_API UISlider : public UIWidget {
public:
static UISlider * New();
@@ -81,7 +73,8 @@ class EE_API UISlider : public UIWidget {
friend class Private::UISliderButton;
UI_ORIENTATION mOrientation;
UISliderStyleConfig mStyleConfig;
bool mAllowHalfSliderOut;
bool mExpandBackground;
UINode * mBackSlider;
Private::UISliderButton * mSlider;
Float mMinValue;

View File

@@ -35,14 +35,13 @@ UIScrollBar::UIScrollBar( const UI_ORIENTATION& orientation ) :
mBtnDown->setSize( 16, 16 );
mSlider = UISlider::New();
mSlider->addEventListener( Event::OnValueChange, cb::Make1( this, &UIScrollBar::onValueChangeCb ) );
mSlider->setElementTag( "scrollbarslider" );
mSlider->setOrientation( orientation );
mSlider->setParent( this );
mSlider->setAllowHalfSliderOut( false );
mSlider->setExpandBackground( false );
mSlider->addEventListener( Event::OnValueChange, cb::Make1( this, &UIScrollBar::onValueChangeCb ) );
adjustChilds();
applyDefaultTheme();
@@ -294,7 +293,9 @@ bool UIScrollBar::getExpandBackground() const {
}
void UIScrollBar::setExpandBackground( bool expandBackground ) {
mSlider->setExpandBackground( expandBackground );
if ( mSlider->getExpandBackground() != expandBackground ) {
mSlider->setExpandBackground( expandBackground );
}
adjustChilds();
}

View File

@@ -42,8 +42,8 @@ bool UIScrollView::isType( const Uint32& type ) const {
}
void UIScrollView::onSizeChange() {
UIWidget::onSizeChange();
containerUpdate();
UIWidget::onSizeChange();
}
void UIScrollView::onAlphaChange() {
@@ -77,8 +77,8 @@ void UIScrollView::onChildCountChange() {
mScrollView->close();
}
child->setParent( mContainer );
mScrollView = child;
mScrollView->setParent( mContainer );
mSizeChangeCb = mScrollView->addEventListener( Event::OnSizeChange, cb::Make1( this, &UIScrollView::onScrollViewSizeChange ) );
containerUpdate();
@@ -139,19 +139,6 @@ void UIScrollView::containerUpdate() {
if ( NULL == mScrollView )
return;
Sizef size = mDpSize - mPadding;
if ( Exclusive == mViewType ) {
if ( mVScroll->isVisible() )
size.x -= mVScroll->getSize().getWidth();
if ( mHScroll->isVisible() )
size.y -= mHScroll->getSize().getHeight();
}
mContainer->setPosition( mPadding.Left, mPadding.Top );
mContainer->setSize( size );
if ( UI_SCROLLBAR_ALWAYS_ON == mHScrollMode ) {
mHScroll->setVisible( true );
mHScroll->setEnabled( true );
@@ -159,7 +146,7 @@ void UIScrollView::containerUpdate() {
mHScroll->setVisible( false );
mHScroll->setEnabled( false );
} else {
bool visible = mScrollView->getSize().getWidth() > mContainer->getSize().getWidth();
bool visible = mScrollView->getSize().getWidth() > getSize().getWidth() - getPadding().Left - getPadding().Right;
mHScroll->setVisible( visible );
mHScroll->setEnabled( visible );
@@ -172,12 +159,25 @@ void UIScrollView::containerUpdate() {
mVScroll->setVisible( false );
mVScroll->setEnabled( false );
} else {
bool visible = mScrollView->getSize().getHeight() > mContainer->getSize().getHeight();
bool visible = mScrollView->getSize().getHeight() > getSize().getHeight() - getPadding().Top - getPadding().Bottom;
mVScroll->setVisible( visible );
mVScroll->setEnabled( visible );
}
Sizef size = mDpSize - mPadding;
if ( Exclusive == mViewType ) {
if ( mVScroll->isVisible() )
size.x -= mVScroll->getSize().getWidth();
if ( mHScroll->isVisible() )
size.y -= mHScroll->getSize().getHeight();
}
mContainer->setPosition( mPadding.Left, mPadding.Top );
mContainer->setSize( size );
mVScroll->setPosition( mDpSize.getWidth() - mVScroll->getSize().getWidth() - mPadding.Right, mPadding.Top );
mHScroll->setPosition( mPadding.Left, mDpSize.getHeight() - mHScroll->getSize().getHeight() - mPadding.Bottom );

View File

@@ -20,6 +20,8 @@ UISlider * UISlider::NewHorizontal() {
UISlider::UISlider( const UI_ORIENTATION& orientation ) :
UIWidget( "slider" ),
mOrientation( orientation ),
mAllowHalfSliderOut( false ),
mExpandBackground( false ),
mBackSlider( NULL ),
mSlider( NULL ),
mMinValue( 0.f ),
@@ -137,24 +139,24 @@ void UISlider::adjustChilds() {
if ( UI_HORIZONTAL == mOrientation ) {
Float Height;
if ( mStyleConfig.ExpandBackground )
if ( mExpandBackground )
Height = mDpSize.getHeight() - mPadding.Top - mPadding.Bottom;
else
Height = tSkin->getSize().getHeight();
if ( mStyleConfig.AllowHalfSliderOut )
if ( mAllowHalfSliderOut )
mBackSlider->setSize( Sizef( mDpSize.getWidth() - mSlider->getSize().getWidth() - mPadding.Left - mPadding.Right, Height ) );
else
mBackSlider->setSize( Sizef( mDpSize.getWidth() - mPadding.Left - mPadding.Right, Height ) );
} else {
Float Width;
if ( mStyleConfig.ExpandBackground )
if ( mExpandBackground )
Width = mDpSize.getWidth() - mPadding.Left - mPadding.Right;
else
Width = tSkin->getSize().getWidth();
if ( mStyleConfig.AllowHalfSliderOut )
if ( mAllowHalfSliderOut )
mBackSlider->setSize( Sizef( Width, mDpSize.getHeight() - mSlider->getSize().getHeight() - mPadding.Top - mPadding.Bottom ) );
else
mBackSlider->setSize( Sizef( Width, mDpSize.getHeight() ) );
@@ -176,7 +178,7 @@ void UISlider::fixSliderPos() {
if ( mSlider->getPosition().x < mPadding.Left )
mSlider->setPosition( mPadding.Left, 0 );
if ( mStyleConfig.AllowHalfSliderOut ) {
if ( mAllowHalfSliderOut ) {
if ( mSlider->getPosition().x > mBackSlider->getSize().getWidth() + mPadding.Left )
mSlider->setPosition( mBackSlider->getSize().getWidth() + mPadding.Left, 0 );
} else {
@@ -186,7 +188,7 @@ void UISlider::fixSliderPos() {
mSlider->centerVertical();
if ( mStyleConfig.AllowHalfSliderOut )
if ( mAllowHalfSliderOut )
setValue( mMinValue + ( mSlider->getPosition().x - mPadding.Left ) * ( mMaxValue - mMinValue ) / (Float)mBackSlider->getSize().getWidth() );
else
setValue( mMinValue + ( mSlider->getPosition().x - mPadding.Left ) * ( mMaxValue - mMinValue ) / ( (Float)mDpSize.getWidth() - mSlider->getSize().getWidth() ) );
@@ -196,7 +198,7 @@ void UISlider::fixSliderPos() {
if ( mSlider->getPosition().y < mPadding.Top )
mSlider->setPosition( 0, mPadding.Top );
if ( mStyleConfig.AllowHalfSliderOut ) {
if ( mAllowHalfSliderOut ) {
if ( mSlider->getPosition().y > mBackSlider->getSize().getHeight() + mPadding.Top )
mSlider->setPosition( 0, mBackSlider->getSize().getHeight() + mPadding.Top );
} else {
@@ -207,7 +209,7 @@ void UISlider::fixSliderPos() {
mSlider->centerHorizontal();
if ( mStyleConfig.AllowHalfSliderOut )
if ( mAllowHalfSliderOut )
setValue( mMinValue + ( mSlider->getPosition().y - mPadding.Top ) * ( mMaxValue - mMinValue ) / (Float)mBackSlider->getSize().getHeight() );
else
setValue( mMinValue + ( mSlider->getPosition().y - mPadding.Top ) * ( mMaxValue - mMinValue ) / ( (Float)mDpSize.getHeight() - mSlider->getSize().getHeight() ) );
@@ -218,6 +220,9 @@ void UISlider::fixSliderPos() {
}
void UISlider::setValue( Float Val ) {
if ( mValue == Val )
return;
if ( Val < mMinValue ) Val = mMinValue;
if ( Val > mMaxValue ) Val = mMaxValue;
@@ -230,12 +235,12 @@ void UISlider::setValue( Float Val ) {
mOnPosChange = true;
if ( UI_HORIZONTAL == mOrientation ) {
if ( mStyleConfig.AllowHalfSliderOut )
if ( mAllowHalfSliderOut )
mSlider->setPosition( mPadding.Left + (Int32)( (Float)mBackSlider->getSize().getWidth() * Percent ), mSlider->getPosition().y );
else
mSlider->setPosition( mPadding.Left + (Int32)( ( (Float)mDpSize.getWidth() - mPadding.Left - mPadding.Top - mSlider->getSize().getWidth() ) * Percent ), mSlider->getPosition().y );
} else {
if ( mStyleConfig.AllowHalfSliderOut )
if ( mAllowHalfSliderOut )
mSlider->setPosition( mSlider->getPosition().x, mPadding.Top + (Int32)( (Float)mBackSlider->getSize().getHeight() * Percent ) );
else
mSlider->setPosition( mSlider->getPosition().x, mPadding.Top + (Int32)( ( (Float)mDpSize.getHeight() - mPadding.Top - mPadding.Bottom - mSlider->getSize().getHeight() ) * Percent ) );
@@ -355,12 +360,12 @@ UISlider * UISlider::setOrientation( const UI_ORIENTATION & orientation ) {
}
bool UISlider::getAllowHalfSliderOut() const {
return mStyleConfig.AllowHalfSliderOut;
return mAllowHalfSliderOut;
}
void UISlider::setAllowHalfSliderOut( bool allowHalfSliderOut ) {
if ( mStyleConfig.AllowHalfSliderOut != allowHalfSliderOut ) {
mStyleConfig.AllowHalfSliderOut = allowHalfSliderOut;
if ( mAllowHalfSliderOut != allowHalfSliderOut ) {
mAllowHalfSliderOut = allowHalfSliderOut;
adjustChilds();
@@ -369,12 +374,12 @@ void UISlider::setAllowHalfSliderOut( bool allowHalfSliderOut ) {
}
bool UISlider::getExpandBackground() const {
return mStyleConfig.ExpandBackground;
return mExpandBackground;
}
void UISlider::setExpandBackground( bool expandBackground ) {
if ( mStyleConfig.ExpandBackground != expandBackground ) {
mStyleConfig.ExpandBackground = expandBackground;
if ( mExpandBackground != expandBackground ) {
mExpandBackground = expandBackground;
adjustChilds();
@@ -456,7 +461,7 @@ bool UISlider::setAttribute( const NodeAttribute& attribute, const Uint32& state
Sizef UISlider::getMinimumSize() {
Float w = eemax( mBackSlider->getSkinSize().getWidth(), mSlider->getSkinSize().getWidth() );
Float h = eemax( mBackSlider->getSkinSize().getHeight(), mSlider->getSkinSize().getHeight() );
return Sizef( w + ( mStyleConfig.AllowHalfSliderOut ? w : 0 ) + mPadding.Left + mPadding.Right, h + mPadding.Top + mPadding.Bottom );
return Sizef( w + ( mAllowHalfSliderOut ? w : 0 ) + mPadding.Left + mPadding.Right, h + mPadding.Top + mPadding.Bottom );
}
void UISlider::onAutoSize() {