END_TEST;
}
-int UtcDaliActorSetSizeSignal(void)
-{
- TestApplication application;
-
- Actor actor = Actor::New();
- actor.SetSizeSignal().Connect( SetSizeCallback );
-
- gSetSize.x = gSetSize.y = gSetSize.z = 0.0f;
- gSetSizeCallBackCalled = false;
- Vector2 size2d( 1.0f, 2.0f );
- actor.SetSize( size2d );
- DALI_TEST_CHECK( gSetSizeCallBackCalled == true );
- // SetSize with Vector2 sets depth to be the minimum of width & height
- DALI_TEST_EQUALS( Vector3( 1.0f, 2.0f, 1.0f ), gSetSize, TEST_LOCATION );
-
- gSetSize.x = gSetSize.y = gSetSize.z = 0.0f;
- gSetSizeCallBackCalled = false;
- actor.SetSize( 22.0f, 11.0f );
- DALI_TEST_CHECK( gSetSizeCallBackCalled == true );
- // SetSize with Vector2 sets depth to be the minimum of width & height
- DALI_TEST_EQUALS( Vector3( 22.0f, 11.0f, 11.0f ), gSetSize, TEST_LOCATION );
-
- gSetSize.x = gSetSize.y = gSetSize.z = 0.0f;
- gSetSizeCallBackCalled = false;
- Vector3 size( 3.0f, 4.0f, 5.0f );
- actor.SetSize( size );
- DALI_TEST_CHECK( gSetSizeCallBackCalled == true );
- DALI_TEST_EQUALS( size, gSetSize, TEST_LOCATION );
-
- // add actor to stage to see that signal still works
- Stage::GetCurrent().Add( actor );
-
- gSetSize.x = gSetSize.y = gSetSize.z = 0.0f;
- gSetSizeCallBackCalled = false;
- actor.SetSize( -1.0f, -2.0f, -3.0f );
- DALI_TEST_CHECK( gSetSizeCallBackCalled == true );
- DALI_TEST_EQUALS( Vector3( -1.0f, -2.0f, -3.0f ), gSetSize, TEST_LOCATION );
- END_TEST;
-}
-
int UtcDaliActorOnOffStageSignal(void)
{
tet_infoline("Testing Dali::Actor::OnStageSignal() and OffStageSignal()");
DALI_TEST_CHECK( !handle.MouseWheelEventSignal().GetConnectionCount() );
DALI_TEST_CHECK( !handle.OffStageSignal().GetConnectionCount() );
DALI_TEST_CHECK( !handle.OnStageSignal().GetConnectionCount() );
- DALI_TEST_CHECK( !handle.SetSizeSignal().GetConnectionCount() );
DALI_TEST_CHECK( !handle.TouchedSignal().GetConnectionCount() );
}
END_TEST;
SignalConnectorType signalConnector1(mType, Dali::Actor::SIGNAL_TOUCHED, &Actor::DoConnectSignal);
SignalConnectorType signalConnector2(mType, Dali::Actor::SIGNAL_HOVERED, &Actor::DoConnectSignal);
-SignalConnectorType signalConnector3(mType, Dali::Actor::SIGNAL_SET_SIZE, &Actor::DoConnectSignal);
SignalConnectorType signalConnector4(mType, Dali::Actor::SIGNAL_ON_STAGE, &Actor::DoConnectSignal);
SignalConnectorType signalConnector5(mType, Dali::Actor::SIGNAL_OFF_STAGE, &Actor::DoConnectSignal);
// Notification for derived classes
OnSizeSet( mSize );
-
- // Emit signal for application developer
-
- if( !mSetSizeSignal.Empty() )
- {
- Dali::Actor handle( this );
- mSetSizeSignal.Emit( handle, mSize );
- }
}
}
return mMouseWheelEventSignal;
}
-Dali::Actor::SetSizeSignalType& Actor::SetSizeSignal()
-{
- return mSetSizeSignal;
-}
-
Dali::Actor::OnStageSignalType& Actor::OnStageSignal()
{
return mOnStageSignal;
{
actor->MouseWheelEventSignal().Connect( tracker, functor );
}
- else if(Dali::Actor::SIGNAL_SET_SIZE == signalName)
- {
- actor->SetSizeSignal().Connect( tracker, functor );
- }
else if(Dali::Actor::SIGNAL_ON_STAGE == signalName)
{
actor->OnStageSignal().Connect( tracker, functor );
Dali::Actor::MouseWheelEventSignalType& MouseWheelEventSignal();
/**
- * @copydoc Dali::Actor::SetSizeSignal()
- */
- Dali::Actor::SetSizeSignalType& SetSizeSignal();
-
- /**
* @copydoc Dali::Actor::OnStageSignal()
*/
Dali::Actor::OnStageSignalType& OnStageSignal();
Dali::Actor::TouchSignalType mTouchedSignal;
Dali::Actor::HoverSignalType mHoveredSignal;
Dali::Actor::MouseWheelEventSignalType mMouseWheelEventSignal;
- Dali::Actor::SetSizeSignalType mSetSizeSignal;
Dali::Actor::OnStageSignalType mOnStageSignal;
Dali::Actor::OffStageSignalType mOffStageSignal;
const char* const Actor::SIGNAL_TOUCHED = "touched";
const char* const Actor::SIGNAL_HOVERED = "hovered";
const char* const Actor::SIGNAL_MOUSE_WHEEL_EVENT = "mouse-wheel-event";
-const char* const Actor::SIGNAL_SET_SIZE = "set-size";
const char* const Actor::SIGNAL_ON_STAGE = "on-stage";
const char* const Actor::SIGNAL_OFF_STAGE = "off-stage";
return GetImplementation(*this).MouseWheelEventSignal();
}
-Actor::SetSizeSignalType& Actor::SetSizeSignal()
-{
- return GetImplementation(*this).SetSizeSignal();
-}
-
Actor::OnStageSignalType& Actor::OnStageSignal()
{
return GetImplementation(*this).OnStageSignal();
typedef Signal< bool (Actor, const TouchEvent&)> TouchSignalType; ///< Touch signal type
typedef Signal< bool (Actor, const HoverEvent&)> HoverSignalType; ///< Hover signal type
typedef Signal< bool (Actor, const MouseWheelEvent&) > MouseWheelEventSignalType;///< Mousewheel signal type
- typedef Signal< void (Actor, const Vector3&) > SetSizeSignalType; ///< SetSize signal type
typedef Signal< void (Actor) > OnStageSignalType; ///< Stage connection signal type
typedef Signal< void (Actor) > OffStageSignalType; ///< Stage disconnection signal type
static const char* const SIGNAL_TOUCHED; ///< name "touched", @see TouchedSignal()
static const char* const SIGNAL_HOVERED; ///< name "hovered", @see HoveredSignal()
static const char* const SIGNAL_MOUSE_WHEEL_EVENT; ///< name "mouse-wheel-event", @see MouseWheelEventSignal()
- static const char* const SIGNAL_SET_SIZE; ///< name "set-size", @see SetSizeSignal()
static const char* const SIGNAL_ON_STAGE; ///< name "on-stage", @see OnStageSignal()
static const char* const SIGNAL_OFF_STAGE; ///< name "off-stage", @see OffStageSignal()
/** @} */
MouseWheelEventSignalType& MouseWheelEventSignal();
/**
- * @brief Signal to indicate when the actor's size is set by application code.
- *
- * This signal is emitted when actors size is being <b>set</b> by application code.
- * This signal is <b>not</b> emitted when size is animated
- * Note! GetCurrentSize might not return this same size as the set size message may still be queued
- * A callback of the following type may be connected:
- * @code
- * void YourCallback(Actor actor, const Vector3& newSize);
- * @endcode
- * @pre The Actor has been initialized.
- * @return The signal to connect to.
- */
- SetSizeSignalType& SetSizeSignal();
-
- /**
* @brief This signal is emitted after the actor has been connected to the stage.
*
* When an actor is connected, it will be directly or indirectly parented to the root Actor.
*
* @post The image actor uses the natural image size after an image
* has been loaded.
- * @note Actor::SetSizeSignal() will be triggered if there is a current image.
*/
void SetToNaturalSize();