return false;
}
-const Dali::TouchPoint pointDownInside( 0, TouchPoint::Down, 240, 400 );
-const Dali::TouchPoint pointUpInside( 0, TouchPoint::Up, 240, 400 );
-const Dali::TouchPoint pointLeave( 0, TouchPoint::Leave, 240, 400 );
-const Dali::TouchPoint pointEnter( 0, TouchPoint::Motion, 240, 400 );
-const Dali::TouchPoint pointDownOutside( 0, TouchPoint::Down, 10, 10 );
-const Dali::TouchPoint pointUpOutside( 0, TouchPoint::Up, 10, 10 );
+struct CallbackFunctor
+{
+ CallbackFunctor(bool* callbackFlag)
+ : mCallbackFlag( callbackFlag )
+ {
+ }
+
+ void operator()()
+ {
+ *mCallbackFlag = true;
+ }
+ bool* mCallbackFlag;
+};
+
+
+Image CreateSolidColorImage( const Vector4& color, unsigned int width, unsigned int height )
+{
+ BufferImage imageData = BufferImage::New( width, height, Pixel::RGBA8888 );
+
+ // Create the image
+ PixelBuffer* pixbuf = imageData.GetBuffer();
+ unsigned int size = width * height;
+
+ for( size_t i = 0; i < size; i++ )
+ {
+ pixbuf[i*4+0] = 0xFF * color.r;
+ pixbuf[i*4+1] = 0xFF * color.g;
+ pixbuf[i*4+2] = 0xFF * color.b;
+ pixbuf[i*4+3] = 0xFF * color.a;
+ }
+
+ imageData.Update();
+
+ return imageData;
+}
+
+Dali::Integration::Point GetPointDownInside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::DOWN );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointUpInside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::UP );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointLeave()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::LEAVE );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointEnter()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::MOTION );
+ point.SetScreenPosition( Vector2( 240, 400 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointDownOutside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::DOWN );
+ point.SetScreenPosition( Vector2( 10, 10 ) );
+ return point;
+}
+
+Dali::Integration::Point GetPointUpOutside()
+{
+ Dali::Integration::Point point;
+ point.SetState( PointState::UP );
+ point.SetScreenPosition( Vector2( 10, 10 ) );
+ return point;
+}
+
static float ANIMATION_TIME( 0.5f );
} // namespace
Button button = PushButton::New();
- button.SetLabel( "Button Label" );
+ button.SetLabelText( "Button Label" );
- DALI_TEST_CHECK( button.GetLabel() );
+ DALI_TEST_EQUALS( button.GetLabelText(), "Button Label", TEST_LOCATION );
END_TEST;
}
Button button = PushButton::New();
- TextLabel textLabel = TextLabel::New( "Button Label" );
- button.SetLabel( textLabel );
+ button.SetLabelText( "Button Label" );
+
+ DALI_TEST_EQUALS( button.GetLabelText(), "Button Label", TEST_LOCATION );
+ END_TEST;
+}
+
+int UtcDaliButtonSetUnselectedImageP(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline(" UtcDaliButtonSetUnselectedImageP");
+
+ PushButton pushButton = PushButton::New();
+ Stage::GetCurrent().Add( pushButton );
+
+ application.SendNotification();
+ application.Render();
+
+ pushButton.SetSize( Vector2( 20.0f, 20.0f ) );
+ pushButton.SetUnselectedImage( "Image.jpg" );
+
+ application.SendNotification();
+ application.Render();
+
+ Vector3 size = pushButton.GetCurrentSize();
+
+ DALI_TEST_EQUALS( size.width, 20.f, TEST_LOCATION );
+ DALI_TEST_EQUALS( size.height, 20.f, TEST_LOCATION );
+
+ END_TEST;
+}
+
+int UtcDaliButtonSetSelectedImageP(void)
+{
+ ToolkitTestApplication application;
+ tet_infoline(" UtcDaliButtonSetButtonImage");
+
+ PushButton pushButton = PushButton::New();
+ Stage::GetCurrent().Add( pushButton );
+
+ application.SendNotification();
+ application.Render();
+
+ pushButton.SetSize( Vector2( 20.0f, 20.0f ) );
+ pushButton.SetSelectedImage( "Image.jpg" );
+
+ application.SendNotification();
+ application.Render();
+
+ Vector3 size = pushButton.GetCurrentSize();
+
+ DALI_TEST_EQUALS( size.width, 20.f, TEST_LOCATION );
+ DALI_TEST_EQUALS( size.height, 20.f, TEST_LOCATION );
- DALI_TEST_CHECK( button.GetLabel() );
END_TEST;
}
application.Render();
// connect to its touch signal
+ ConnectionTracker* testTracker = new ConnectionTracker();
button.PressedSignal().Connect( &ButtonCallback );
button.ReleasedSignal().Connect( &ButtonCallback );
+ bool pressedSignal = false;
+ bool releasedSignal = false;
+ button.ConnectSignal( testTracker, "pressed", CallbackFunctor(&pressedSignal) );
+ button.ConnectSignal( testTracker, "released", CallbackFunctor(&releasedSignal) );
Dali::Integration::TouchEvent event;
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( pressedSignal );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( releasedSignal );
// Test2. Touch point down and up outside the button.
+ pressedSignal = false;
+ releasedSignal = false;
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !pressedSignal );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !releasedSignal );
// Test3. Touch point down inside and up outside the button.
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointLeave );
+ event.AddPoint( GetPointLeave() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointEnter );
+ event.AddPoint( GetPointEnter() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
// connect to its touch signal
button.ClickedSignal().Connect( &ButtonCallback );
+ bool clickedSignal = false;
+ ConnectionTracker* testTracker = new ConnectionTracker();
+ button.ConnectSignal( testTracker, "clicked", CallbackFunctor(&clickedSignal) );
Dali::Integration::TouchEvent event;
gIsCalledButtonCallback = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( clickedSignal );
// Test2. Touch point down and up outside the button.
gIsCalledButtonCallback = false;
+ clickedSignal = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !clickedSignal );
// Test3. Touch point down inside and up outside the button.
gIsCalledButtonCallback = false;
+ clickedSignal = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownInside );
+ event.AddPoint( GetPointDownInside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointLeave );
+ event.AddPoint( GetPointLeave() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpOutside );
+ event.AddPoint( GetPointUpOutside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !clickedSignal );
// Test4. Touch point down outside and up inside the button.
gIsCalledButtonCallback = false;
+ clickedSignal = false;
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointDownOutside );
+ event.AddPoint( GetPointDownOutside() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointEnter );
+ event.AddPoint( GetPointEnter() );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
- event.AddPoint( pointUpInside );
+ event.AddPoint( GetPointUpInside() );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gIsCalledButtonCallback );
+ DALI_TEST_CHECK( !clickedSignal );
END_TEST;
}
// connect to its signal
button.StateChangedSignal().Connect( &ButtonCallback );
+ bool stateChangedSignal = false;
+ ConnectionTracker* testTracker = new ConnectionTracker();
+ button.ConnectSignal( testTracker, "stateChanged", CallbackFunctor(&stateChangedSignal) );
gIsCalledButtonCallback = false;
button.SetSelected( true );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( stateChangedSignal );
gIsCalledButtonCallback = false;
+ stateChangedSignal = false;
+
button.SetSelected( false );
DALI_TEST_CHECK( gIsCalledButtonCallback );
+ DALI_TEST_CHECK( stateChangedSignal );
END_TEST;
}
pushButton.SetProperty(pushButton.GetPropertyIndex("disabled"), false);
DALI_TEST_CHECK( false == pushButton.IsDisabled() );
+
pushButton.SetProperty(pushButton.GetPropertyIndex("disabled"), true);
DALI_TEST_CHECK( true == pushButton.IsDisabled() );
+
END_TEST;
}
ToolkitTestApplication application;
tet_infoline(" UtcDaliButtonSize");
- ImageActor image01 = ImageActor::New(CreateBufferImage());
- image01.SetSize( 100, 50 );
-
- PushButton pushButton;
-
- Vector3 size;
-
- // Test1 Size is set through Actor API
-
// First an image is set, then SetSize is called.
- pushButton = PushButton::New();
+ PushButton pushButton = PushButton::New();
Stage::GetCurrent().Add( pushButton );
- pushButton.SetBackgroundImage( image01 );
+ pushButton.SetBackgroundImage( "Image.jpg" );
pushButton.SetSize( 10.f, 10.f );
application.SendNotification();
application.Render();
- size = pushButton.GetCurrentSize();
+ Vector3 size = pushButton.GetCurrentSize();
DALI_TEST_EQUALS( size.width, 10.f, TEST_LOCATION );
DALI_TEST_EQUALS( size.height, 10.f, TEST_LOCATION );