/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
// The Init signal is received once (only) during the Application lifetime
void Create( Application& application )
{
- Stage stage = Stage::GetCurrent();
- stage.SetBackgroundColor( Color::WHITE );
+ auto window = application.GetWindow();
+ window.SetBackgroundColor( Color::WHITE );
mDragAndDropDetector = Dali::Toolkit::DragAndDropDetector::New();
// Respond to key events
- stage.KeyEventSignal().Connect( this, &DragAndDropExample::OnKeyEvent );
+ window.KeyEventSignal().Connect( this, &DragAndDropExample::OnKeyEvent );
TextLabel hintText = TextLabel::New("please drag one textlabel, move and drop on other textlabel");
- hintText.SetPosition(0.0f, 700.0f);
- hintText.SetParentOrigin(ParentOrigin::TOP_LEFT);
- hintText.SetAnchorPoint(AnchorPoint::TOP_LEFT);
+ hintText.SetProperty( Actor::Property::POSITION, Vector2(0.0f, 700.0f));
+ hintText.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+ hintText.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
hintText.SetProperty(TextLabel::Property::MULTI_LINE, true);
- stage.Add(hintText);
+ window.Add(hintText);
for(unsigned int i = 0 ; i < TEXT_LABEL_NUM; i++)
{
std::string str = "textlabel ";
mTextLabel[i] = TextLabel::New(str + std::to_string(i));
- mTextLabel[i].SetParentOrigin(ParentOrigin::TOP_LEFT);
- mTextLabel[i].SetAnchorPoint(AnchorPoint::TOP_LEFT);
- mTextLabel[i].SetName("textlabel " + std::to_string(i));
- mTextLabel[i].SetLeaveRequired(true);
+ mTextLabel[i].SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+ mTextLabel[i].SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
+ mTextLabel[i].SetProperty( Dali::Actor::Property::NAME,"textlabel " + std::to_string(i));
+ mTextLabel[i].SetProperty( Actor::Property::LEAVE_REQUIRED,true);
mTextLabel[i].SetProperty(TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER");
mTextLabel[i].SetProperty(TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER");
mTextLabel[i].SetBackgroundColor(TEXT_LABEL_COLOR[i]);
- mTextLabel[i].SetSize(TEXT_LABEL_WIDTH, TEXT_LABEL_HEIGHT);
- mTextLabel[i].SetPosition(TEXT_LABEL_POSITION_X, TEXT_LABEL_POSITION_START_Y + TEXT_LABEL_HEIGHT * i);
+ mTextLabel[i].SetProperty( Actor::Property::SIZE, Vector2(TEXT_LABEL_WIDTH, TEXT_LABEL_HEIGHT) );
+ mTextLabel[i].SetProperty( Actor::Property::POSITION, Vector2(TEXT_LABEL_POSITION_X, TEXT_LABEL_POSITION_START_Y + TEXT_LABEL_HEIGHT * i));
mDragAndDropDetector.Attach(mTextLabel[i]);
mRect[i] = Rect<float>(TEXT_LABEL_POSITION_X, TEXT_LABEL_POSITION_START_Y + TEXT_LABEL_HEIGHT * i, TEXT_LABEL_WIDTH, TEXT_LABEL_HEIGHT);
mOrder[i] = i;
- stage.Add(mTextLabel[i]);
+ window.Add(mTextLabel[i]);
}
mDragAndDropDetector.StartedSignal().Connect(this, &DragAndDropExample::OnStart);
void OnStart(Control control, Dali::Toolkit::DragAndDropDetector detector)
{
DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---OnStart---\n");
- DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetName().c_str());
+ DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetProperty< std::string >( Dali::Actor::Property::NAME ).c_str());
- control.SetOpacity(0.1f);
+ control.SetProperty( Actor::Property::OPACITY,0.1f);
Vector2 screenPos = detector.GetCurrentScreenPosition();
control.ScreenToLocal(mDragLocalPos.x, mDragLocalPos.y,screenPos.x, screenPos.y );
Rect<float> targetRect(screenPos.x, screenPos.y, 0.0f, 0.0f);
void OnEnter(Control control, Dali::Toolkit::DragAndDropDetector detector)
{
DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---OnEnter---\n");
- DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetName().c_str());
+ DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetProperty< std::string >( Dali::Actor::Property::NAME ).c_str());
}
void OnExit(Control control, Dali::Toolkit::DragAndDropDetector detector)
{
DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---OnExit---\n");
- DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetName().c_str());
+ DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetProperty< std::string >( Dali::Actor::Property::NAME ).c_str());
}
void OnMoved(Control control, Dali::Toolkit::DragAndDropDetector detector)
{
DALI_LOG_INFO(gDragAndDropFilter, Debug::Verbose, "---OnMoved---\n");
- DALI_LOG_INFO(gDragAndDropFilter, Debug::Verbose, "---control name is %s---\n", control.GetName().c_str());
+ DALI_LOG_INFO(gDragAndDropFilter, Debug::Verbose, "---control name is %s---\n", control.GetProperty< std::string >( Dali::Actor::Property::NAME ).c_str());
DALI_LOG_INFO(gDragAndDropFilter, Debug::Verbose, "---coordinate is (%f, %f)---\n", detector.GetCurrentScreenPosition().x, detector.GetCurrentScreenPosition().y);
}
void OnDropped(Control control, Dali::Toolkit::DragAndDropDetector detector)
{
DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---OnDropped---\n");
- DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetName().c_str());
+ DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetProperty< std::string >( Dali::Actor::Property::NAME ).c_str());
Vector2 screenPos = detector.GetCurrentScreenPosition();
Rect<float> targetRect(screenPos.x, screenPos.y, 0.0f, 0.0f);
{
for(int i = mDragIndex + 1; i <= droppedIndex; i++)
{
- float y = mTextLabel[mOrder[i]].GetCurrentPosition().y;
+ float y = mTextLabel[mOrder[i]].GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
mAnimation.AnimateTo(Property(mTextLabel[mOrder[i]], Actor::Property::POSITION), Vector3(TEXT_LABEL_POSITION_X, y - TEXT_LABEL_HEIGHT, 0.0f), AlphaFunction::EASE_OUT);
mAnimation.Play();
}
for(int i = mDragIndex - 1; i >= droppedIndex; i--)
{
- float y = mTextLabel[mOrder[i]].GetCurrentPosition().y;
+ float y = mTextLabel[mOrder[i]].GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y;
mAnimation.AnimateTo(Property(mTextLabel[mOrder[i]], Actor::Property::POSITION), Vector3(TEXT_LABEL_POSITION_X, y + TEXT_LABEL_HEIGHT, 0.0f), AlphaFunction::EASE_OUT);
mAnimation.Play();
}
KeyFrames k0 = KeyFrames::New();
k0.Add(0.0f, Vector3(localPos.x - mDragLocalPos.x, localPos.y - mDragLocalPos.y, 0.0f));
- k0.Add(1.0f, Vector3(control.GetCurrentPosition().x, control.GetCurrentPosition().y, 0.0f));
+ k0.Add(1.0f, Vector3(control.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).x, control.GetCurrentProperty< Vector3 >( Actor::Property::POSITION ).y, 0.0f));
KeyFrames k1 = KeyFrames::New();
k1.Add(0.0f, 0.1f);
Animation dropAnimation = Animation::New(0.5f);
dropAnimation.AnimateBetween(Property(mTextLabel[mDragRealIndex], Actor::Property::POSITION), k0, AlphaFunction::EASE_OUT);
- dropAnimation.AnimateBetween(Property(mTextLabel[mDragRealIndex], DevelActor::Property::OPACITY), k1, AlphaFunction::EASE_OUT);
+ dropAnimation.AnimateBetween(Property(mTextLabel[mDragRealIndex], Actor::Property::OPACITY), k1, AlphaFunction::EASE_OUT);
dropAnimation.Play();
}
void OnEnd(Control control, Dali::Toolkit::DragAndDropDetector detector)
{
DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---OnEnd---\n");
- DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetName().c_str());
+ DALI_LOG_INFO(gDragAndDropFilter, Debug::General, "---control name is %s---\n", control.GetProperty< std::string >( Dali::Actor::Property::NAME ).c_str());
- control.SetOpacity(1.0f);
+ control.SetProperty( Actor::Property::OPACITY,1.0f);
}
private: