Further Setter/Getter public API removal from Dali::Actor
[platform/core/uifw/dali-demo.git] / examples / text-editor / text-editor-example.cpp
index 44b08c8..4183daa 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 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.
@@ -22,7 +22,6 @@
 
 // EXTERNAL INCLUDES
 #include <dali-toolkit/dali-toolkit.h>
-#include <dali-toolkit/devel-api/controls/buttons/button-devel.h>
 #include <sstream>
 
 // INTERNAL INCLUDES
@@ -42,7 +41,7 @@ const float   TOOLBAR_TITLE_PERCENTAGE = 0.7f;                      ///< The tit
 const float   TOOLBAR_HEIGHT_PERCENTAGE = 0.05f;                    ///< The toolbar's height as a percentage of the stage's height.
 const float   TOOLBAR_PADDING = 4.f;                                ///< The padding in pixels.
 const float   BUTTON_PERCENTAGE = 0.8f;                             ///< The button's height as a percentage of the space for the buttons in the toolbar.
-const Vector3 TEXT_EDITOR_RELATIVE_SIZE( 1.f, 0.45f, 1.0f );        ///< The size of the text editor as a percentage of the stage's size.
+const Vector3 TEXT_EDITOR_RELATIVE_SIZE( 0.9f, 0.5f, 1.0f );        ///< The size of the text editor as a percentage of the stage's size.
 const Vector4 TEXT_EDITOR_BACKGROUND_COLOR( 1.f, 1.f, 1.f, 0.15f ); ///< The background color of the text editor.
 
 const Vector4 COLORS[] = { Color::RED,
@@ -120,26 +119,26 @@ public:
     mColorContainer = Control::New();
     mColorContainer.SetResizePolicy( ResizePolicy::DIMENSION_DEPENDENCY, Dimension::WIDTH );
     mColorContainer.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::HEIGHT );
-    mColorContainer.SetSizeModeFactor( Vector3( 0.0f, BUTTON_PERCENTAGE, 0.0f ) );
+    mColorContainer.SetProperty( Actor::Property::SIZE_MODE_FACTOR, Vector3( 0.0f, BUTTON_PERCENTAGE, 0.0f ) );
 
     // Place to right of parent.
-    mColorContainer.SetParentOrigin( ParentOrigin::CENTER_RIGHT );
-    mColorContainer.SetAnchorPoint( AnchorPoint::CENTER_LEFT );
+    mColorContainer.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER_RIGHT );
+    mColorContainer.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER_LEFT );
     colorLabel.Add( mColorContainer );
 
     // Add border to highlight harder-to-see colors.
     // We use a color rather than border visual as the container will always be behind the button.
     Property::Map colorMap;
-    colorMap.Insert( Visual::Property::TYPE, Visual::COLOR);
+    colorMap.Insert( Toolkit::Visual::Property::TYPE, Visual::COLOR);
     colorMap.Insert( ColorVisual::Property::MIX_COLOR, Color::BLACK );
     mColorContainer.SetProperty( Control::Property::BACKGROUND, colorMap );
 
     // Create a 'select color' button.
     mColorButtonOption = Toolkit::PushButton::New();
     mColorButtonOption.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS );
-    mColorButtonOption.SetSizeModeFactor( Vector3( 0.9f, 0.9f, 0.0f ) ); // Smaller than container to show border.
-    mColorButtonOption.SetParentOrigin( ParentOrigin::CENTER );
-    mColorButtonOption.SetAnchorPoint( AnchorPoint::CENTER );
+    mColorButtonOption.SetProperty( Actor::Property::SIZE_MODE_FACTOR, Vector3( 0.9f, 0.9f, 0.0f ) ); // Smaller than container to show border.
+    mColorButtonOption.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+    mColorButtonOption.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::CENTER );
 
     SetButtonColor( mColorButtonOption, Color::BLACK );
 
@@ -151,11 +150,11 @@ public:
 
     // Create the text editor.
     mEditor = TextEditor::New();
-    mEditor.SetParentOrigin( ParentOrigin::TOP_CENTER );
-    mEditor.SetAnchorPoint( AnchorPoint::TOP_CENTER );
-    mEditor.SetPosition( 0.f, toolBarHeight, 0.f );
+    mEditor.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_CENTER );
+    mEditor.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER );
+    mEditor.SetProperty( Actor::Property::POSITION, Vector3( 0.f, toolBarHeight * 2.0f, 0.f ));
     mEditor.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS );
-    mEditor.SetSizeModeFactor( TEXT_EDITOR_RELATIVE_SIZE );
+    mEditor.SetProperty( Actor::Property::SIZE_MODE_FACTOR, TEXT_EDITOR_RELATIVE_SIZE );
 
     mEditor.SetBackgroundColor( TEXT_EDITOR_BACKGROUND_COLOR );
 
@@ -191,12 +190,12 @@ public:
   {
     mButtonContainer = Toolkit::TableView::New( NUMBER_OF_COLORS, 1u );
     mButtonContainer.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS );
-    mButtonContainer.SetSizeModeFactor( Vector3( 1.0f, NUMBER_OF_COLORS, 1.0f ) );
+    mButtonContainer.SetProperty( Actor::Property::SIZE_MODE_FACTOR, Vector3( 1.0f, NUMBER_OF_COLORS, 1.0f ) );
 
     // Place below color selection button.
-    mButtonContainer.SetParentOrigin( ParentOrigin::BOTTOM_CENTER  );
-    mButtonContainer.SetAnchorPoint( AnchorPoint::TOP_CENTER );
-    mButtonContainer.SetPosition( 0.0f, 2.f * TOOLBAR_PADDING, 0.f );
+    mButtonContainer.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::BOTTOM_CENTER  );
+    mButtonContainer.SetProperty( Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_CENTER );
+    mButtonContainer.SetProperty( Actor::Property::POSITION, Vector3( 0.0f, 2.f * TOOLBAR_PADDING, 0.f ));
     mColorContainer.Add( mButtonContainer );
 
     const Vector3 buttonPercentage( 1.f, 0.8f / static_cast<float>( NUMBER_OF_COLORS ), 1.f );
@@ -204,11 +203,11 @@ public:
     {
       Toolkit::PushButton button = Toolkit::PushButton::New();
       button.SetResizePolicy( ResizePolicy::SIZE_RELATIVE_TO_PARENT, Dimension::ALL_DIMENSIONS );
-      button.SetSizeModeFactor( buttonPercentage );
+      button.SetProperty( Actor::Property::SIZE_MODE_FACTOR, buttonPercentage );
 
       std::ostringstream s;
       s << "color" << index;
-      button.SetName( s.str() );
+      button.SetProperty( Dali::Actor::Property::NAME, s.str() );
 
       SetButtonColor( button, COLORS[index] );
 
@@ -237,14 +236,14 @@ public:
       CreateButtonContainer();
     }
 
-    mButtonContainer.SetVisible( true );
-    mButtonContainer.SetSensitive( true );
+    mButtonContainer.SetProperty( Actor::Property::VISIBLE, true );
+    mButtonContainer.SetProperty( Actor::Property::SENSITIVE, true );
     return true;
   }
 
   bool OnColorButtonClicked( Button button )
   {
-    const std::string& name = button.GetName();
+    const std::string& name = button.GetProperty< std::string >( Dali::Actor::Property::NAME );
 
     Vector4 color;
     if( "color" == name.substr( 0u, 5u ) )
@@ -256,8 +255,8 @@ public:
 
     SetButtonColor( mColorButtonOption, color  );
 
-    mButtonContainer.SetVisible( false );
-    mButtonContainer.SetSensitive( false );
+    mButtonContainer.SetProperty( Actor::Property::VISIBLE, false );
+    mButtonContainer.SetProperty( Actor::Property::SENSITIVE, false );
 
     return true;
   }
@@ -276,11 +275,11 @@ public:
   void SetButtonColor( Button& button, const Vector4& color )
   {
     Property::Map colorVisualMap;
-    colorVisualMap.Add( Visual::Property::TYPE, Visual::COLOR )
+    colorVisualMap.Add( Toolkit::Visual::Property::TYPE, Visual::COLOR )
                   .Add( ColorVisual::Property::MIX_COLOR, color );
 
-    button.SetProperty( DevelButton::Property::UNSELECTED_BACKGROUND_VISUAL, colorVisualMap );
-    button.SetProperty( DevelButton::Property::SELECTED_BACKGROUND_VISUAL, colorVisualMap );
+    button.SetProperty( Button::Property::UNSELECTED_BACKGROUND_VISUAL, colorVisualMap );
+    button.SetProperty( Button::Property::SELECTED_BACKGROUND_VISUAL, colorVisualMap );
   }
 
 private:
@@ -295,20 +294,11 @@ private:
   Toolkit::TableView  mButtonContainer;
 };
 
-void RunTest( Application& application )
-{
-  TextEditorExample test( application );
-
-  application.MainLoop();
-}
-
-/** Entry point for Linux & Tizen applications */
-int main( int argc, char **argv )
+int DALI_EXPORT_API main( int argc, char **argv )
 {
   // DALI_DEMO_THEME_PATH not passed to Application so TextEditor example uses default Toolkit style sheet.
   Application application = Application::New( &argc, &argv );
-
-  RunTest( application );
-
+  TextEditorExample test( application );
+  application.MainLoop();
   return 0;
 }