-//
-// Copyright (c) 2014 Samsung Electronics Co., Ltd.
-//
-// Licensed under the Flora License, Version 1.0 (the License);
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://floralicense.org/license/
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an AS IS BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-//
+/*
+ * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
#include <iostream>
#include <stdlib.h>
namespace
{
-static bool gObjectCreatedCallBackCalled;
+bool gObjectCreatedCallBackCalled;
-static void TestCallback(BaseHandle handle)
+void TestCallback(BaseHandle handle)
{
gObjectCreatedCallBackCalled = true;
}
+void TestVoidCallback()
+{
+}
+
} // namespace
///////////////////////////////////////////////////////////////////////////////////////////////////
{
try
{
- ControlImpl& controlImpl = control.GetImplementation();
+ Toolkit::Internal::Control& controlImpl = control.GetImplementation();
(void)controlImpl; // Avoid unused warning
tet_result(TET_FAIL);
}
try
{
const DummyControl constControl(control);
- const ControlImpl& controlImpl = constControl.GetImplementation();
+ const Toolkit::Internal::Control& controlImpl = constControl.GetImplementation();
(void)controlImpl; // Avoid unused warning
tet_result(TET_FAIL);
}
{
try
{
- ControlImpl& controlImpl = control.GetImplementation();
+ Toolkit::Internal::Control& controlImpl = control.GetImplementation();
(void)controlImpl; // Avoid unused warning
tet_result(TET_PASS);
}
try
{
const DummyControl constControl(control);
- const ControlImpl& controlImpl = constControl.GetImplementation();
+ const Toolkit::Internal::Control& controlImpl = constControl.GetImplementation();
(void)controlImpl; // Avoid unused warning
tet_result(TET_PASS);
}
DummyControl dummy = DummyControlImpl::New();
Actor actor = Actor::New();
- DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
- actor.SetSizeSignal().Connect( &dummy, &DummyControl::CustomSlot1 );
- DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 1u, TEST_LOCATION );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Value, Vector3::ZERO, TEST_LOCATION );
-
- const Vector3 newSize( 10, 10, 0 );
- actor.SetSize( newSize );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Called, true, TEST_LOCATION );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Value, newSize, TEST_LOCATION );
-
- dummy.mCustomSlot1Called = false;
- actor.SetSizeSignal().Disconnect( &dummy, &DummyControl::CustomSlot1 );
- DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
- const Vector3 ignoredSize( 20, 20, 0 );
- actor.SetSize( ignoredSize );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Value, newSize/*not ignoredSize*/, TEST_LOCATION );
+ DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+ Toolkit::Internal::Control& control = dummy.GetImplementation();
+ DummyControlImpl* dummyImpl = dynamic_cast<DummyControlImpl*>(&control);
+ DALI_TEST_CHECK( dummyImpl );
+
+ actor.OnStageSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+ DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 1u, TEST_LOCATION );
+ DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
+
+ Stage::GetCurrent().Add( actor );
+ DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, true, TEST_LOCATION );
+
+ dummyImpl->mCustomSlot1Called = false;
+ actor.OnStageSignal().Disconnect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+ DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+ Stage::GetCurrent().Remove( actor );
+ Stage::GetCurrent().Add( actor );
+ DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
}
END_TEST;
}
{
DummyControl dummy = DummyControlImpl::New();
+ Toolkit::Internal::Control& control = dummy.GetImplementation();
+ DummyControlImpl* dummyImpl = dynamic_cast<DummyControlImpl*>(&control);
+ DALI_TEST_CHECK( dummyImpl );
- actor.SetSizeSignal().Connect( &dummy, &DummyControl::CustomSlot1 );
- DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 1u, TEST_LOCATION );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Called, false, TEST_LOCATION );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Value, Vector3::ZERO, TEST_LOCATION );
+ actor.OnStageSignal().Connect( dummyImpl, &DummyControlImpl::CustomSlot1 );
+ DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 1u, TEST_LOCATION );
+ DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, false, TEST_LOCATION );
- const Vector3 newSize( 10, 10, 0 );
- actor.SetSize( newSize );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Called, true, TEST_LOCATION );
- DALI_TEST_EQUALS( dummy.mCustomSlot1Value, newSize, TEST_LOCATION );
+ Stage::GetCurrent().Add( actor );
+ DALI_TEST_EQUALS( dummyImpl->mCustomSlot1Called, true, TEST_LOCATION );
+ Stage::GetCurrent().Remove( actor );
}
// dummyControl automatically disconnects
- DALI_TEST_EQUALS( actor.SetSizeSignal().GetConnectionCount(), 0u, TEST_LOCATION );
+ DALI_TEST_EQUALS( actor.OnStageSignal().GetConnectionCount(), 0u, TEST_LOCATION );
const Vector3 ignoredSize( 20, 20, 0 );
actor.SetSize( ignoredSize );
ToolkitTestApplication application;
DummyControl test = DummyControl::New();
- Vector3 maxSize = test.GetNaturalSize();
- Vector3 minSize = maxSize / 2.0f;
-
- Toolkit::Control::SizePolicy widthPolicy( Control::Fixed );
- Toolkit::Control::SizePolicy heightPolicy( Control::Fixed );
- test.SetSizePolicy( widthPolicy, heightPolicy );
- test.GetSizePolicy( widthPolicy, heightPolicy );
-
- DALI_TEST_CHECK( widthPolicy == Control::Fixed && heightPolicy == Control::Fixed );
-
test.SetSize( 0.7f, 0.7f, 0.7f );
float width = 640.0f;
float height = test.GetHeightForWidth( width );
DALI_TEST_CHECK( test.GetWidthForHeight( height ) == width );
- test.SetMinimumSize( minSize );
- DALI_TEST_CHECK( test.GetMinimumSize() == minSize );
-
- test.SetMaximumSize( maxSize );
- DALI_TEST_CHECK( test.GetMaximumSize() == maxSize );
-
test.KeyEventSignal();
- DummyControl test2 = DummyControl::New();
- dynamic_cast< ConnectionTrackerInterface& >( test2 ).GetConnectionCount();
// Provide coverage for pointer destructor
Control* testControlPtr = new Control;
DALI_TEST_CHECK( !control.GetBackgroundActor() );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::TRANSPARENT, TEST_LOCATION );
- Image image = Image::New("TestImage");
- control.SetBackground( image );
+ Image image = ResourceImage::New("TestImage");
+ control.SetBackgroundImage( image );
DALI_TEST_CHECK( control.GetBackgroundActor() );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::WHITE, TEST_LOCATION );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::TRANSPARENT, TEST_LOCATION );
control.SetBackgroundColor( Color::YELLOW );
- control.SetBackground( image );
+ control.SetBackgroundImage( image );
DALI_TEST_CHECK( control.GetBackgroundActor() );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::YELLOW, TEST_LOCATION );
DALI_TEST_CHECK( !control.GetBackgroundActor() );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::TRANSPARENT, TEST_LOCATION );
- DALI_TEST_EQUALS( control.GetProperty( Control::PROPERTY_BACKGROUND_COLOR ).Get< Vector4 >(), Color::TRANSPARENT, TEST_LOCATION );
- DALI_TEST_CHECK( control.GetProperty( Control::PROPERTY_BACKGROUND ).Get< Property::Map >().empty() );
+ DALI_TEST_EQUALS( control.GetProperty( Control::Property::BACKGROUND_COLOR ).Get< Vector4 >(), Color::TRANSPARENT, TEST_LOCATION );
+ DALI_TEST_CHECK( control.GetProperty( Control::Property::BACKGROUND_IMAGE ).Get< Property::Map >().Empty() );
- control.SetProperty( Control::PROPERTY_BACKGROUND_COLOR, Color::RED );
+ control.SetProperty( Control::Property::BACKGROUND_COLOR, Color::RED );
DALI_TEST_CHECK( control.GetBackgroundActor() );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::RED, TEST_LOCATION );
- DALI_TEST_EQUALS( control.GetProperty( Control::PROPERTY_BACKGROUND_COLOR ).Get< Vector4 >(), Color::RED, TEST_LOCATION );
+ DALI_TEST_EQUALS( control.GetProperty( Control::Property::BACKGROUND_COLOR ).Get< Vector4 >(), Color::RED, TEST_LOCATION );
Property::Map imageMap;
- imageMap.push_back( Property::StringValuePair( "filename", "TestImage" ) );
+ imageMap[ "filename" ] = "TestImage";
Property::Map map;
- map.push_back( Property::StringValuePair( "image", imageMap ) );
- control.SetProperty( Control::PROPERTY_BACKGROUND, map );
+ map[ "image" ] = imageMap;
+ control.SetProperty( Control::Property::BACKGROUND_IMAGE, map );
DALI_TEST_CHECK( control.GetBackgroundActor() );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::RED, TEST_LOCATION );
- DALI_TEST_EQUALS( control.GetProperty( Control::PROPERTY_BACKGROUND_COLOR ).Get< Vector4 >(), Color::RED, TEST_LOCATION );
+ DALI_TEST_EQUALS( control.GetProperty( Control::Property::BACKGROUND_COLOR ).Get< Vector4 >(), Color::RED, TEST_LOCATION );
- Property::Value propValue = control.GetProperty( Control::PROPERTY_BACKGROUND );
+ Property::Value propValue = control.GetProperty( Control::Property::BACKGROUND_IMAGE );
DALI_TEST_CHECK( propValue.HasKey( "image" ) );
DALI_TEST_CHECK( propValue.GetValue( "image" ).HasKey( "filename" ) );
DALI_TEST_CHECK( propValue.GetValue( "image" ).GetValue( "filename" ).Get< std::string>() == "TestImage" );
Property::Map emptyMap;
- control.SetProperty( Control::PROPERTY_BACKGROUND, emptyMap );
+ control.SetProperty( Control::Property::BACKGROUND_IMAGE, emptyMap );
DALI_TEST_CHECK( !control.GetBackgroundActor() );
DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::TRANSPARENT, TEST_LOCATION );
- DALI_TEST_EQUALS( control.GetProperty( Control::PROPERTY_BACKGROUND_COLOR ).Get< Vector4 >(), Color::TRANSPARENT, TEST_LOCATION );
- DALI_TEST_CHECK( control.GetProperty( Control::PROPERTY_BACKGROUND ).Get< Property::Map >().empty() );
+ DALI_TEST_EQUALS( control.GetProperty( Control::Property::BACKGROUND_COLOR ).Get< Vector4 >(), Color::TRANSPARENT, TEST_LOCATION );
+ DALI_TEST_CHECK( control.GetProperty( Control::Property::BACKGROUND_IMAGE ).Get< Property::Map >().Empty() );
+
+ END_TEST;
+}
+
+int UtcDaliControlKeyProperties(void)
+{
+ ToolkitTestApplication application;
+
+ Control control = Control::New();
+ Stage::GetCurrent().Add( control );
+
+ DALI_TEST_EQUALS( control.HasKeyInputFocus(), control.GetProperty( Control::Property::KEY_INPUT_FOCUS ).Get< bool >(), TEST_LOCATION );
+
+ control.SetKeyInputFocus();
+ DALI_TEST_EQUALS( true, control.GetProperty( Control::Property::KEY_INPUT_FOCUS ).Get< bool >(), TEST_LOCATION );
+
+ control.ClearKeyInputFocus();
+ DALI_TEST_EQUALS( false, control.GetProperty( Control::Property::KEY_INPUT_FOCUS ).Get< bool >(), TEST_LOCATION );
+
+ control.SetProperty( Control::Property::KEY_INPUT_FOCUS, true );
+ DALI_TEST_EQUALS( true, control.HasKeyInputFocus(), TEST_LOCATION );
+
+ END_TEST;
+}
+
+int UtcDaliControlGestureSignals(void)
+{
+ ToolkitTestApplication application;
+ ConnectionTracker connectionTracker;
+ Control control = Control::New();
+
+ // Each gesture detector gets created when connecting to the gesture signals
+ DALI_TEST_CHECK( !control.GetTapGestureDetector() );
+ control.ConnectSignal( &connectionTracker, "tapped", &TestVoidCallback );
+ DALI_TEST_CHECK( control.GetTapGestureDetector() );
+
+ DALI_TEST_CHECK( !control.GetPanGestureDetector() );
+ control.ConnectSignal( &connectionTracker, "panned", &TestVoidCallback );
+ DALI_TEST_CHECK( control.GetPanGestureDetector() );
+
+ DALI_TEST_CHECK( !control.GetPinchGestureDetector() );
+ control.ConnectSignal( &connectionTracker, "pinched", &TestVoidCallback );
+ DALI_TEST_CHECK( control.GetPinchGestureDetector() );
+
+ DALI_TEST_CHECK( !control.GetLongPressGestureDetector() );
+ control.ConnectSignal( &connectionTracker, "long-pressed", &TestVoidCallback );
+ DALI_TEST_CHECK( control.GetLongPressGestureDetector() );
END_TEST;
}