Revert "Renamed KeyEvent enum values to comply with coding standards."
[platform/core/uifw/dali-demo.git] / examples / simple-text-field / simple-text-field.cpp
index d96906b..ef8be2c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2019 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.
@@ -52,12 +52,13 @@ public:
    */
   void Create( Application& application )
   {
-    Stage stage = Stage::GetCurrent();
-    stage.SetBackgroundColor( Vector4( 0.04f, 0.345f, 0.392f, 1.0f ) );
+    Window window = application.GetWindow();
+    window.KeyEventSignal().Connect(this, &SimpleTextFieldExample::OnKeyEvent);
+    window.SetBackgroundColor( Vector4( 0.04f, 0.345f, 0.392f, 1.0f ) );
 
     TextField field = TextField::New();
-    field.SetParentOrigin( ParentOrigin::CENTER );
-    field.SetSize( 300.f, 60.f );
+    field.SetProperty( Actor::Property::PARENT_ORIGIN, ParentOrigin::CENTER );
+    field.SetProperty( Actor::Property::SIZE, Vector2( 300.f, 60.f ) );
     field.SetBackgroundColor( Color::WHITE );
     field.SetBackgroundColor( Vector4( 1.f, 1.f, 1.f, 0.15f ) );
 
@@ -65,7 +66,21 @@ public:
     field.SetProperty( TextField::Property::PLACEHOLDER_TEXT, "Unnamed folder" );
     field.SetProperty( TextField::Property::PLACEHOLDER_TEXT_FOCUSED, "Enter folder name." );
 
-    stage.Add( field );
+    window.Add( field );
+  }
+
+  /**
+   * Main key event handler
+   */
+  void OnKeyEvent(const KeyEvent& event)
+  {
+    if(event.GetState() == KeyEvent::Down)
+    {
+      if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
+      {
+        mApplication.Quit();
+      }
+    }
   }
 
 private:
@@ -81,7 +96,7 @@ void RunTest( Application& application )
 }
 
 /** 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 TextField example uses default Toolkit style sheet.
   Application application = Application::New( &argc, &argv );