本文整理汇总了C++中ToolkitTestApplication::ProcessEvent方法的典型用法代码示例。如果您正苦于以下问题:C++ ToolkitTestApplication::ProcessEvent方法的具体用法?C++ ToolkitTestApplication::ProcessEvent怎么用?C++ ToolkitTestApplication::ProcessEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ToolkitTestApplication
的用法示例。
在下文中一共展示了ToolkitTestApplication::ProcessEvent方法的14个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UtcDaliTextInputExceedMaxCharacters
int UtcDaliTextInputExceedMaxCharacters(void)
{
ToolkitTestApplication application;
tet_infoline("Testing Max characters is obeyed when inputting key events ");
TextInput textInput = TextInput::New(); // create empty TextInput
Stage::GetCurrent().Add(textInput);
textInput.SetMaxCharacterLength(4);
textInput.SetInitialText("");
textInput.SetEditable(true);
application.SendNotification();
application.Render();
Integration::KeyEvent eventA("a", "a", 0, 0, 0, Integration::KeyEvent::Down );
Integration::KeyEvent eventB("b", "b", 0, 0, 0, Integration::KeyEvent::Down );
application.ProcessEvent(eventA);
application.ProcessEvent(eventB);
application.ProcessEvent(eventA);
application.ProcessEvent(eventB);
application.ProcessEvent(eventA);
application.ProcessEvent(eventB);
tet_printf( "Get text result : %s\n", textInput.GetText().c_str());
DALI_TEST_EQUALS("abab",textInput.GetText(), TEST_LOCATION); // Get text which should be only 4 characters
END_TEST;
}
示例2: UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent
static void UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent()
{
ToolkitTestApplication application;
tet_infoline("UtcDaliKeyInputFocusManagerSignalUnhandledKeyEvent");
SignalData data;
SignalUnhandledKeyEventCallback callback( data );
KeyInputFocusManager manager = KeyInputFocusManager::Get();
manager.UnhandledKeyEventSignal().Connect( &callback, &SignalUnhandledKeyEventCallback::Callback );
Integration::KeyEvent event("a", "a", 0, 0, 0, Integration::KeyEvent::Up);
application.ProcessEvent(event);
DALI_TEST_CHECK(data.functorCalled);
DALI_TEST_CHECK(event.keyName == data.receivedKeyEvent.keyPressedName );
DALI_TEST_CHECK(event.keyCode == data.receivedKeyEvent.keyCode);
DALI_TEST_CHECK(event.keyString == data.receivedKeyEvent.keyPressed );
DALI_TEST_CHECK(event.state == data.receivedKeyEvent.state );
data.Reset();
Integration::KeyEvent event2("v", "v", 0, 0, 0, Integration::KeyEvent::Up);
application.ProcessEvent(event2);
DALI_TEST_CHECK(data.functorCalled);
DALI_TEST_CHECK(event2.keyName == data.receivedKeyEvent.keyPressedName );
DALI_TEST_CHECK(event2.keyCode == data.receivedKeyEvent.keyCode);
DALI_TEST_CHECK(event2.keyString == data.receivedKeyEvent.keyPressed );
}
示例3: utcDaliTextFieldEvent03
int utcDaliTextFieldEvent03(void)
{
ToolkitTestApplication application;
tet_infoline(" utcDaliTextFieldEvent03");
// Checks if the highlight actor is created.
TextField field = TextField::New();
DALI_TEST_CHECK( field );
Stage::GetCurrent().Add( field );
field.SetProperty( TextField::Property::TEXT, "This is a long text for the size of the text-field." );
field.SetProperty( TextField::Property::POINT_SIZE, 10.f );
field.SetSize( 30.f, 50.f );
field.SetParentOrigin( ParentOrigin::TOP_LEFT );
field.SetAnchorPoint( AnchorPoint::TOP_LEFT );
// Avoid a crash when core load gl resources.
application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
// Render and notify
application.SendNotification();
application.Render();
// Tap first to get the focus.
application.ProcessEvent( GenerateTap( Gesture::Possible, 1u, 1u, Vector2( 3.f, 25.0f ) ) );
application.ProcessEvent( GenerateTap( Gesture::Started, 1u, 1u, Vector2( 3.f, 25.0f ) ) );
// Render and notify
application.SendNotification();
application.Render();
// Double tap to select a word.
application.ProcessEvent( GenerateTap( Gesture::Possible, 2u, 1u, Vector2( 3.f, 25.0f ) ) );
application.ProcessEvent( GenerateTap( Gesture::Started, 2u, 1u, Vector2( 3.f, 25.0f ) ) );
// Render and notify
application.SendNotification();
application.Render();
// The offscreen root actor should have three actors: the camera, a renderer and the highlight actor.
Actor offscreenRoot = field.GetChildAt( 1u );
DALI_TEST_CHECK( offscreenRoot.IsLayer() );
CameraActor camera = CameraActor::DownCast( offscreenRoot.GetChildAt( 0u ) );
DALI_TEST_CHECK( camera );
Renderer renderer = offscreenRoot.GetChildAt( 1u ).GetRendererAt( 0u );
DALI_TEST_CHECK( renderer );
Renderer highlight = offscreenRoot.GetChildAt( 2u ).GetRendererAt( 0u );
DALI_TEST_CHECK( highlight );
END_TEST;
}
示例4: UtcDaliTextInputSetMaxCharacterLength
int UtcDaliTextInputSetMaxCharacterLength(void)
{
ToolkitTestApplication application;
tet_infoline("Testing Setting of max characters");
const int maxChars = 4;
const char* testChar = "v";
TextInput textInput = TextInput::New(); // create empty TextInput
Stage::GetCurrent().Add(textInput);
application.SendNotification();
application.Render();
textInput.SetMaxCharacterLength(maxChars);
Integration::KeyEvent event(testChar, testChar, 0, 0, 0, Integration::KeyEvent::Down );
std::string testString = "";
tet_infoline("Starting editmode");
textInput.SetEditable( true );
tet_infoline("Sending Key Events");
// Send max number of characters
for (int i=0; i < maxChars; i++)
{
application.ProcessEvent(event);
testString.append(testChar);
}
tet_printf( "Get text result : %s\n", textInput.GetText().c_str());
DALI_TEST_EQUALS(testString, textInput.GetText(), TEST_LOCATION);
tet_infoline("Sending Key Event which exceeds max characters");
application.ProcessEvent(event); // try to append additional character
DALI_TEST_EQUALS(testString,textInput.GetText(), TEST_LOCATION);
tet_infoline("Increase max characters limit");
textInput.SetMaxCharacterLength(maxChars+1); // increment max characters by 1
tet_infoline("Send character again which should now fit");
application.ProcessEvent(event); // append additional character
testString.append(testChar);
DALI_TEST_EQUALS(testString,textInput.GetText(), TEST_LOCATION);
END_TEST;
}
示例5: UtcDaliControlImplTouchEvent
int UtcDaliControlImplTouchEvent(void)
{
ToolkitTestApplication application;
{
DummyControl dummy = DummyControl::New( true );
DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
dummy.SetSize(100.0f, 100.0f);
dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
Stage::GetCurrent().Add(dummy);
application.Render();
application.SendNotification();
application.Render();
application.SendNotification();
DALI_TEST_EQUALS( dummyImpl.touchEventCalled, false, TEST_LOCATION );
Integration::TouchEvent touchEvent(1);
TouchPoint point(1, TouchPoint::Down, 20.0f, 20.0f);
touchEvent.AddPoint(point);
application.ProcessEvent(touchEvent);
DALI_TEST_EQUALS( dummyImpl.touchEventCalled, true, TEST_LOCATION );
Stage::GetCurrent().Remove(dummy);
}
// Ensure full code coverage
{
DummyControl dummy = DummyControl::New();
dummy.SetSize(100.0f, 100.0f);
dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
Stage::GetCurrent().Add(dummy);
application.Render();
application.SendNotification();
application.Render();
application.SendNotification();
Integration::TouchEvent touchEvent(1);
TouchPoint point(1, TouchPoint::Down, 20.0f, 20.0f);
touchEvent.AddPoint(point);
application.ProcessEvent(touchEvent);
Stage::GetCurrent().Remove(dummy);
}
END_TEST;
}
示例6: utcDaliTextFieldTextChangedP
// Positive test for the text-changed signal.
int utcDaliTextFieldTextChangedP(void)
{
ToolkitTestApplication application;
tet_infoline(" utcDaliTextFieldTextChangedP");
TextField field = TextField::New();
DALI_TEST_CHECK( field );
Stage::GetCurrent().Add( field );
field.TextChangedSignal().Connect(&TestTextChangedCallback);
gTextChangedCallBackCalled = false;
field.SetProperty( TextField::Property::TEXT, "ABC" );
DALI_TEST_CHECK( gTextChangedCallBackCalled );
application.SendNotification();
field.SetKeyInputFocus();
gTextChangedCallBackCalled = false;
application.ProcessEvent( GenerateKey( "D", "D", 0, 0, 0, Integration::KeyEvent::Down ) );
DALI_TEST_CHECK( gTextChangedCallBackCalled );
END_TEST;
}
示例7: UtcDaliPushButtonPressed
static void UtcDaliPushButtonPressed()
{
ToolkitTestApplication application;
tet_infoline(" UtcDaliPushButtonPressed");
PushButton pushButton = PushButton::New();
pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
pushButton.SetPosition( 240, 400 );
pushButton.SetSize( 100, 100 );
Stage::GetCurrent().Add( pushButton );
application.SendNotification();
application.Render();
gPushButtonPressed = false;
// connect to its touch signal
pushButton.PressedSignal().Connect( &PushButtonPressed );
Dali::Integration::TouchEvent eventDown;
eventDown.AddPoint( pointDownInside );
// flush the queue and render once
application.SendNotification();
application.Render();
application.ProcessEvent( eventDown );
DALI_TEST_CHECK( gPushButtonPressed );
}
示例8: UtcDaliControlImplKeyEvent
int UtcDaliControlImplKeyEvent(void)
{
ToolkitTestApplication application;
{
DummyControl dummy = DummyControl::New( true );
DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
Stage::GetCurrent().Add(dummy);
dummy.SetKeyInputFocus();
application.Render();
application.SendNotification();
application.Render();
application.SendNotification();
DALI_TEST_EQUALS( dummyImpl.keyEventCalled, false, TEST_LOCATION );
Integration::KeyEvent keyEvent;
application.ProcessEvent(keyEvent);
DALI_TEST_EQUALS( dummyImpl.keyEventCalled, true, TEST_LOCATION );
Stage::GetCurrent().Remove(dummy);
}
// Ensure full code coverage
{
DummyControl dummy = DummyControl::New();
Stage::GetCurrent().Add(dummy);
dummy.SetKeyInputFocus();
application.Render();
application.SendNotification();
application.Render();
application.SendNotification();
Integration::KeyEvent keyEvent;
application.ProcessEvent(keyEvent);
Stage::GetCurrent().Remove(dummy);
}
END_TEST;
}
示例9: utcDaliTextFieldMaxCharactersReachedN
// Negative test for Max Characters reached signal.
int utcDaliTextFieldMaxCharactersReachedN(void)
{
ToolkitTestApplication application;
tet_infoline(" utcDaliTextFieldMaxCharactersReachedN");
TextField field = TextField::New();
DALI_TEST_CHECK( field );
Stage::GetCurrent().Add( field );
const int maxNumberOfCharacters = 3;
field.SetProperty( TextField::Property::MAX_LENGTH, maxNumberOfCharacters );
field.SetKeyInputFocus();
gMaxCharactersCallBackCalled = false;
field.MaxLengthReachedSignal().Connect(&TestMaxLengthReachedCallback);
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
DALI_TEST_CHECK( !gMaxCharactersCallBackCalled );
END_TEST;
}
示例10: UtcDaliControlImplOnGestureMethods
int UtcDaliControlImplOnGestureMethods(void)
{
ToolkitTestApplication application;
// Check gesture actually happens
{
DummyControl dummy = DummyControl::New(true);
dummy.SetSize( Vector3(100.0f, 100.0f, 100.0f) );
dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
Stage::GetCurrent().Add(dummy);
// Render and notify a couple of times
application.SendNotification();
application.Render();
application.SendNotification();
application.Render();
DummyControlImplOverride& dummyImpl = static_cast<DummyControlImplOverride&>(dummy.GetImplementation());
dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
DALI_TEST_CHECK( dummyImpl.pinchCalled == false );
Integration::PinchGestureEvent pinch(Gesture::Started);
pinch.scale = 10.0f;
pinch.speed = 50.0f;
pinch.centerPoint = Vector2(20.0f, 20.0f);
application.ProcessEvent(pinch);
DALI_TEST_CHECK( dummyImpl.pinchCalled == true );
DALI_TEST_CHECK( dummyImpl.panCalled == false );
Integration::PanGestureEvent pan(Gesture::Possible);
pan.previousPosition = Vector2(10.0f, 20.0f);
pan.currentPosition = Vector2(20.0f, 20.0f);
pan.timeDelta = 10;
pan.numberOfTouches = 1u;
application.ProcessEvent(pan);
pan.state = Gesture::Started;
application.ProcessEvent(pan);
DALI_TEST_CHECK( dummyImpl.panCalled == true );
DALI_TEST_CHECK( dummyImpl.tapCalled == false );
Integration::TapGestureEvent tap(Gesture::Possible);
tap.numberOfTaps = 1u;
tap.numberOfTouches = 1u;
tap.point = Vector2(50.0f, 50.0f);
application.ProcessEvent(tap);
tap.state = Gesture::Started;
application.ProcessEvent(tap);
DALI_TEST_CHECK( dummyImpl.tapCalled == true );
DALI_TEST_CHECK( dummyImpl.longPressCalled == false );
Integration::LongPressGestureEvent longPress(Gesture::Possible);
longPress.numberOfTouches = 1u;
longPress.point = Vector2(50.0f, 50.0f);
application.ProcessEvent(longPress);
longPress.state = Gesture::Started;
application.ProcessEvent(longPress);
DALI_TEST_CHECK( dummyImpl.longPressCalled == true );
longPress.state = Gesture::Finished;
application.ProcessEvent(longPress);
Stage::GetCurrent().Remove(dummy);
}
// Ensure full code coverage
{
DummyControl dummy = DummyControl::New();
dummy.SetSize( Vector3(100.0f, 100.0f, 100.0f) );
dummy.SetAnchorPoint(AnchorPoint::TOP_LEFT);
Stage::GetCurrent().Add(dummy);
// Render and notify a couple of times
application.SendNotification();
application.Render();
application.SendNotification();
application.Render();
DummyControlImpl& dummyImpl = static_cast<DummyControlImpl&>(dummy.GetImplementation());
dummyImpl.EnableGestureDetection( Gesture::Type(Gesture::Pinch | Gesture::Pan | Gesture::Tap | Gesture::LongPress) );
DALI_TEST_CHECK( dummy.GetCurrentScale().x != 10.0f );
Integration::PinchGestureEvent pinch(Gesture::Started);
pinch.scale = 10.0f;
pinch.speed = 50.0f;
pinch.centerPoint = Vector2(20.0f, 20.0f);
application.ProcessEvent(pinch);
// Render and notify a couple of times
application.SendNotification();
application.Render();
application.SendNotification();
application.Render();
DALI_TEST_CHECK( dummy.GetCurrentScale().x == 10.0f );
Integration::PanGestureEvent pan(Gesture::Possible);
pan.previousPosition = Vector2(10.0f, 20.0f);
pan.currentPosition = Vector2(20.0f, 20.0f);
pan.timeDelta = 10;
pan.numberOfTouches = 1u;
//.........这里部分代码省略.........
示例11: utcDaliTextFieldEvent02
int utcDaliTextFieldEvent02(void)
{
ToolkitTestApplication application;
tet_infoline(" utcDaliTextFieldEvent02");
// Checks if the right number of actors are created.
TextField field = TextField::New();
field.SetProperty( TextField::Property::POINT_SIZE, 10.f );
DALI_TEST_CHECK( field );
Stage::GetCurrent().Add( field );
field.SetSize( 300.f, 50.f );
field.SetParentOrigin( ParentOrigin::TOP_LEFT );
field.SetAnchorPoint( AnchorPoint::TOP_LEFT );
// Avoid a crash when core load gl resources.
application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
// Render and notify
application.SendNotification();
application.Render();
// Check there are the expected number of children ( active layer, offscreen root actor, and the offscreen image actor
DALI_TEST_EQUALS( field.GetChildCount(), 3u, TEST_LOCATION );
Actor layer = field.GetChildAt( 0u );
DALI_TEST_CHECK( layer.IsLayer() );
Actor offscreenRoot = field.GetChildAt( 1u );
DALI_TEST_CHECK( offscreenRoot.IsLayer() );
DALI_TEST_EQUALS( offscreenRoot.GetChildCount(), 1u, TEST_LOCATION ); // The camera actor.
Actor offscreenImage = field.GetChildAt( 2u );
ImageActor imageActor = ImageActor::DownCast( offscreenImage );
DALI_TEST_CHECK( imageActor );
// Create a tap event to touch the text field.
application.ProcessEvent( GenerateTap( Gesture::Possible, 1u, 1u, Vector2( 150.0f, 25.0f ) ) );
application.ProcessEvent( GenerateTap( Gesture::Started, 1u, 1u, Vector2( 150.0f, 25.0f ) ) );
// Render and notify
application.SendNotification();
application.Render();
DALI_TEST_EQUALS( layer.GetChildCount(), 1u, TEST_LOCATION ); // The cursor.
DALI_TEST_EQUALS( offscreenRoot.GetChildCount(), 1u, TEST_LOCATION ); // The camera actor.
// Now the text field has the focus, so it can handle the key events.
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
// Render and notify
application.SendNotification();
application.Render();
// Checks the cursor and the renderer have been created.
DALI_TEST_EQUALS( layer.GetChildCount(), 1u, TEST_LOCATION ); // The cursor.
DALI_TEST_EQUALS( offscreenRoot.GetChildCount(), 2u, TEST_LOCATION ); // The camera actor and the renderer
ImageActor cursor = ImageActor::DownCast( layer.GetChildAt( 0u ) );
DALI_TEST_CHECK( cursor );
CameraActor camera = CameraActor::DownCast( offscreenRoot.GetChildAt( 0u ) );
DALI_TEST_CHECK( camera );
Renderer renderer = offscreenRoot.GetChildAt( 1u ).GetRendererAt( 0u );
DALI_TEST_CHECK( renderer );
// Move the cursor and check the position changes.
Vector3 position1 = cursor.GetCurrentPosition();
application.ProcessEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Integration::KeyEvent::Down ) );
application.ProcessEvent( GenerateKey( "", "", DALI_KEY_CURSOR_LEFT, 0, 0, Integration::KeyEvent::Down ) );
// Render and notify
application.SendNotification();
application.Render();
Vector3 position2 = cursor.GetCurrentPosition();
DALI_TEST_CHECK( position2.x < position1.x );
application.ProcessEvent( GenerateKey( "", "", DALI_KEY_CURSOR_RIGHT, 0, 0, Integration::KeyEvent::Down ) );
application.ProcessEvent( GenerateKey( "", "", DALI_KEY_CURSOR_RIGHT, 0, 0, Integration::KeyEvent::Down ) );
// Render and notify
application.SendNotification();
application.Render();
Vector3 position3 = cursor.GetCurrentPosition();
DALI_TEST_EQUALS( position1, position3, TEST_LOCATION ); // Should be in the same position1.
// Send some taps and check the cursor positions.
// Try to tap at the beginning.
application.ProcessEvent( GenerateTap( Gesture::Possible, 1u, 1u, Vector2( 1.f, 25.0f ) ) );
application.ProcessEvent( GenerateTap( Gesture::Started, 1u, 1u, Vector2( 1.f, 25.0f ) ) );
//.........这里部分代码省略.........
示例12: utcDaliTextFieldEvent01
int utcDaliTextFieldEvent01(void)
{
ToolkitTestApplication application;
tet_infoline(" utcDaliTextFieldEvent01");
// Creates a tap event. After creating a tap event the text field should
// have the focus and add text with key events should be possible.
TextField field = TextField::New();
DALI_TEST_CHECK( field );
Stage::GetCurrent().Add( field );
field.SetSize( 300.f, 50.f );
field.SetParentOrigin( ParentOrigin::TOP_LEFT );
field.SetAnchorPoint( AnchorPoint::TOP_LEFT );
// Avoid a crash when core load gl resources.
application.GetGlAbstraction().SetCheckFramebufferStatusResult( GL_FRAMEBUFFER_COMPLETE );
// Render and notify
application.SendNotification();
application.Render();
// Add a key event but as the text field has not the focus it should do nothing.
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
// Render and notify
application.SendNotification();
application.Render();
DALI_TEST_EQUALS( field.GetProperty<std::string>( TextField::Property::TEXT ), std::string(""), TEST_LOCATION );
// Create a tap event to touch the text field.
application.ProcessEvent( GenerateTap( Gesture::Possible, 1u, 1u, Vector2( 150.0f, 25.0f ) ) );
application.ProcessEvent( GenerateTap( Gesture::Started, 1u, 1u, Vector2( 150.0f, 25.0f ) ) );
// Render and notify
application.SendNotification();
application.Render();
// Now the text field has the focus, so it can handle the key events.
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
// Render and notify
application.SendNotification();
application.Render();
DALI_TEST_EQUALS( field.GetProperty<std::string>( TextField::Property::TEXT ), std::string("aa"), TEST_LOCATION );
// Create a second text field and send key events to it.
TextField field2 = TextField::New();
field2.SetParentOrigin( ParentOrigin::TOP_LEFT );
field2.SetAnchorPoint( AnchorPoint::TOP_LEFT );
field2.SetSize( 100.f, 100.f );
field2.SetPosition( 100.f, 100.f );
Stage::GetCurrent().Add( field2 );
// Render and notify
application.SendNotification();
application.Render();
// Create a tap event on the second text field.
application.ProcessEvent( GenerateTap( Gesture::Possible, 1u, 1u, Vector2( 150.0f, 125.0f ) ) );
application.ProcessEvent( GenerateTap( Gesture::Started, 1u, 1u, Vector2( 150.0f, 125.0f ) ) );
// Render and notify
application.SendNotification();
application.Render();
// The second text field has the focus. It should handle the key events.
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
application.ProcessEvent( GenerateKey( "a", "a", 0, 0, 0, Integration::KeyEvent::Down ) );
// Render and notify
application.SendNotification();
application.Render();
// Check the text has been added to the second text field.
DALI_TEST_EQUALS( field2.GetProperty<std::string>( TextField::Property::TEXT ), std::string("aa"), TEST_LOCATION );
END_TEST;
}
示例13: UtcDaliPushButtonInterruptEventWhenInsensitive
static void UtcDaliPushButtonInterruptEventWhenInsensitive()
{
ToolkitTestApplication application;
tet_infoline(" UtcDaliPushButtonInterruptEventWhenInsensitive");
// * Creates an actor which contains a button.
// * The size of the actor is bigger than the button.
// * The button's boundary is contained in the actor's one.
Actor actor = Actor::New();
TETButton tetButton= Toolkit::TETButton::New();
actor.SetName( "Actor" );
tetButton.SetName( "TETButton" );
actor.SetAnchorPoint( AnchorPoint::TOP_LEFT );
actor.SetParentOrigin( ParentOrigin::TOP_LEFT );
actor.SetPosition( 0, 0 );
actor.SetSize( 400, 800 );
tetButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
tetButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
tetButton.SetPosition( 240, 400 );
tetButton.SetSize( 100, 100 );
actor.Add( tetButton );
Stage::GetCurrent().Add( actor );
// * Actor's touch event is connected to a callback function
// and this callback function consumes the event.
actor.TouchedSignal().Connect( &TestCallback );
// * Button's pressed signal is connected to a callback function
// which also consumes the event.
// * Changes the sensitiveness of the button to false.
TETButtonPressed tetButtonPressed( actor, TETButtonPressed::SENSITIVENESS );
tetButton.PressedSignal().Connect( &tetButtonPressed, &TETButtonPressed::Callback );
// Initializes TET state.
gOnTouchPointInterrupted = false;
tetButton.SetSensitive( true );
Dali::Integration::TouchEvent event;
// TET starts.
// Test a down point inside the button which is also consumed by the actor, and an up point
// consumed only by the actor. gOnTouchPointInterrupted should be true (Button receives an
// interrupt event.
application.SendNotification();
application.Render();
// A down event is sent inside the button's boundary.
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownInside );
// flush the queue and render once
application.SendNotification();
application.Render();
application.ProcessEvent( event );
// An up event is sent outside the button's boundary but inside the actor's one.
event = Dali::Integration::TouchEvent();
event.AddPoint( pointUpOutside );
// flush the queue and render once
application.SendNotification();
application.Render();
application.ProcessEvent( event );
DALI_TEST_CHECK( gOnTouchPointInterrupted );
// Test a down point inside the button which is also consumed by the actor, and a motion point
// consumed only by the actor. gOnTouchPointInterrupted should be true (Button receives an
// interrupt event.
// Initializes TET state.
gOnTouchPointInterrupted = false;
actor.SetSensitive( true );
tetButton.SetSensitive( true );
application.SendNotification();
application.Render();
// A down event is sent inside the button's boundary.
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownInside );
// flush the queue and render once
application.SendNotification();
application.Render();
application.ProcessEvent( event );
// A motion event is sent outside the button's boundary but inside the actor's one.
event = Dali::Integration::TouchEvent();
event.AddPoint( pointMotionOut );
//.........这里部分代码省略.........
示例14: UtcDaliPushButtonToggled
static void UtcDaliPushButtonToggled()
{
ToolkitTestApplication application;
tet_infoline(" UtcDaliPushButtonToggled");
PushButton pushButton = PushButton::New();
pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
pushButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
pushButton.SetPosition( 240, 400 );
pushButton.SetSize( 100, 100 );
Stage::GetCurrent().Add( pushButton );
application.SendNotification();
application.Render();
// connect to its touch signal
pushButton.ToggledSignal().Connect( &PushButtonToggled );
Dali::Integration::TouchEvent event;
// Test1. No toggle button.
gPushButtonToggleState = false;
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownInside );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointUpInside );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gPushButtonToggleState );
// Set toggle property.
pushButton.SetToggleButton( true );
// Test2. Touch point down and up inside the button twice.
gPushButtonToggleState = false;
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownInside );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointUpInside );
application.ProcessEvent( event );
DALI_TEST_CHECK( gPushButtonToggleState );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownInside );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointUpInside );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gPushButtonToggleState );
// Test3. Touch point down and up outside the button.
gPushButtonToggleState = false;
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownOutside );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointUpOutside );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gPushButtonToggleState );
// Test4. Touch point down inside and up outside the button.
gPushButtonToggleState = false;
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownInside );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointLeave );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointUpOutside );
application.ProcessEvent( event );
DALI_TEST_CHECK( !gPushButtonToggleState );
// Test5. Touch point down outside and up inside the button.
gPushButtonToggleState = false;
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownOutside );
application.ProcessEvent( event );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointEnter );
application.ProcessEvent( event );
//.........这里部分代码省略.........