Updated demos to use DALi clang-format
[platform/core/uifw/dali-demo.git] / examples / focus-integration / focus-integration.cpp
index 6f9dad5..5c471cb 100644 (file)
  *
  */
 
-#include "shared/view.h"
 #include <dali-toolkit/dali-toolkit.h>
 #include <dali-toolkit/devel-api/controls/table-view/table-view.h>
+#include "shared/view.h"
 
 using namespace Dali;
 using namespace Dali::Toolkit;
 
 namespace
 {
-
 const char* const BACKGROUND_IMAGE = DEMO_IMAGE_DIR "background-gradient.jpg";
-const char* const TOOLBAR_IMAGE = DEMO_IMAGE_DIR "top-bar.png";
-const char* const TOOLBAR_TITLE = "Focus Integration";
-const Vector4 BACKGROUND_COLOUR( 1.0f, 1.0f, 1.0f, 0.15f );
+const char* const TOOLBAR_IMAGE    = DEMO_IMAGE_DIR "top-bar.png";
+const char* const TOOLBAR_TITLE    = "Focus Integration";
+const Vector4     BACKGROUND_COLOUR(1.0f, 1.0f, 1.0f, 0.15f);
 
 // Layout sizes
-const int MARGIN_SIZE = 10;
-const int TOP_MARGIN = 85;
-const std::string ITEMNAME[] = { "TextLabel", "TextField", "TextEditor", "PushButton", "RadioButton", "CheckBoxButton" };
+const int         MARGIN_SIZE = 10;
+const int         TOP_MARGIN  = 85;
+const std::string ITEMNAME[]  = {"TextLabel", "TextField", "TextEditor", "PushButton", "RadioButton", "CheckBoxButton"};
 
-}  // namespace
+} // namespace
 
 /**
  * @brief Shows how integrated DALi Focus works.
  */
-class FocusIntegrationExample: public ConnectionTracker
+class FocusIntegrationExample : public ConnectionTracker
 {
 public:
-
-  FocusIntegrationExample( Application& application )
-    : mApplication( application )
+  FocusIntegrationExample(Application& application)
+  : mApplication(application)
   {
     // Connect to the Application's Init signal
-    mApplication.InitSignal().Connect( this, &FocusIntegrationExample::Create );
+    mApplication.InitSignal().Connect(this, &FocusIntegrationExample::Create);
   }
 
-  void Create( Application& application )
+  void Create(Application& application)
   {
-    mWindow = application.GetWindow();
+    mWindow            = application.GetWindow();
     Vector2 windowSize = mWindow.GetSize();
-    mContentLayer = DemoHelper::CreateView( application,
-                                            mView,
-                                            mToolBar,
-                                            BACKGROUND_IMAGE,
-                                            TOOLBAR_IMAGE,
-                                            TOOLBAR_TITLE );
+    mContentLayer      = DemoHelper::CreateView(application,
+                                           mView,
+                                           mToolBar,
+                                           BACKGROUND_IMAGE,
+                                           TOOLBAR_IMAGE,
+                                           TOOLBAR_TITLE);
 
     TableView contentTable = TableView::New(2, 1);
     contentTable.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH);
     contentTable.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT);
-    contentTable.SetProperty( Actor::Property::ANCHOR_POINT,AnchorPoint::TOP_LEFT);
-    contentTable.SetProperty( Actor::Property::PARENT_ORIGIN,ParentOrigin::TOP_LEFT);
+    contentTable.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT);
+    contentTable.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT);
     contentTable.SetCellPadding(Size(MARGIN_SIZE, MARGIN_SIZE * 0.5f));
-    contentTable.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE,true);
+    contentTable.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
 
-    for( unsigned int i = 0; i < contentTable.GetRows(); ++i )
+    for(unsigned int i = 0; i < contentTable.GetRows(); ++i)
     {
-      contentTable.SetFitHeight( i );
+      contentTable.SetFitHeight(i);
     }
-    contentTable.SetProperty( Actor::Property::POSITION, Vector2( 0.0f, TOP_MARGIN ));
-    mContentLayer.Add( contentTable );
+    contentTable.SetProperty(Actor::Property::POSITION, Vector2(0.0f, TOP_MARGIN));
+    mContentLayer.Add(contentTable);
 
     // Create label to display which control's KeyEvent callback is called
     mEventLabel = TextLabel::New("Controls don't get KeyEvent yet");
-    mEventLabel.SetProperty( Actor::Property::SIZE, Vector2( windowSize.width, windowSize.height*0.1f ) );
+    mEventLabel.SetProperty(Actor::Property::SIZE, Vector2(windowSize.width, windowSize.height * 0.1f));
     mEventLabel.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH);
-    mEventLabel.SetProperty( TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
-    mEventLabel.SetProperty( TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
-    mEventLabel.SetBackgroundColor( Color::WHITE );
-    contentTable.Add( mEventLabel );
+    mEventLabel.SetProperty(TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER");
+    mEventLabel.SetProperty(TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER");
+    mEventLabel.SetBackgroundColor(Color::WHITE);
+    contentTable.Add(mEventLabel);
 
-    mContainer = TableView::New( 4, 3 );
-    mContainer.SetProperty( Actor::Property::SIZE, Vector2( windowSize.width, windowSize.height*0.4f ) );
+    mContainer = TableView::New(4, 3);
+    mContainer.SetProperty(Actor::Property::SIZE, Vector2(windowSize.width, windowSize.height * 0.4f));
     mContainer.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH);
-    mContainer.SetBackgroundColor( BACKGROUND_COLOUR );
-    mContainer.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE ) );
-    mContainer.SetRelativeHeight( 0, 0.2f);
-    mContainer.SetRelativeHeight( 1, 0.3f);
-    mContainer.SetRelativeHeight( 2, 0.2f);
-    mContainer.SetRelativeHeight( 3, 0.3f);
-    mContainer.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE,true);
-    contentTable.Add( mContainer );
+    mContainer.SetBackgroundColor(BACKGROUND_COLOUR);
+    mContainer.SetCellPadding(Size(MARGIN_SIZE, MARGIN_SIZE));
+    mContainer.SetRelativeHeight(0, 0.2f);
+    mContainer.SetRelativeHeight(1, 0.3f);
+    mContainer.SetRelativeHeight(2, 0.2f);
+    mContainer.SetRelativeHeight(3, 0.3f);
+    mContainer.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
+    contentTable.Add(mContainer);
 
     // Make name label for each controls
     for(int i = 0; i < 6; i++)
     {
-      TextLabel itemLabel = TextLabel::New( ITEMNAME[i] );
-      itemLabel.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
-      itemLabel.SetBackgroundColor( BACKGROUND_COLOUR );
-      itemLabel.SetProperty( TextLabel::Property::POINT_SIZE, 14.0f );
-      itemLabel.SetProperty( TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
-      itemLabel.SetProperty( TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
-      mContainer.AddChild( itemLabel, TableView::CellPosition( (i/3)*2, i%3 ) );
+      TextLabel itemLabel = TextLabel::New(ITEMNAME[i]);
+      itemLabel.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
+      itemLabel.SetBackgroundColor(BACKGROUND_COLOUR);
+      itemLabel.SetProperty(TextLabel::Property::POINT_SIZE, 14.0f);
+      itemLabel.SetProperty(TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER");
+      itemLabel.SetProperty(TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER");
+      mContainer.AddChild(itemLabel, TableView::CellPosition((i / 3) * 2, i % 3));
     }
 
     TextLabel textLabel = TextLabel::New("TextLabel");
-    mContainer.AddChild( textLabel, TableView::CellPosition( 1, 0 ) );
+    mContainer.AddChild(textLabel, TableView::CellPosition(1, 0));
 
     TextField textField = TextField::New();
-    textField.SetBackgroundColor( Color::WHITE );
-    textField.SetProperty( TextField::Property::TEXT, "Text" );
-    mContainer.AddChild( textField, TableView::CellPosition( 1, 1 ) );
+    textField.SetBackgroundColor(Color::WHITE);
+    textField.SetProperty(TextField::Property::TEXT, "Text");
+    mContainer.AddChild(textField, TableView::CellPosition(1, 1));
 
     TextEditor textEditor = TextEditor::New();
-    textEditor.SetBackgroundColor( Color::WHITE );
-    textEditor.SetProperty( TextEditor::Property::TEXT, "Text\nText" );
-    mContainer.AddChild( textEditor, TableView::CellPosition( 1, 2 ) );
+    textEditor.SetBackgroundColor(Color::WHITE);
+    textEditor.SetProperty(TextEditor::Property::TEXT, "Text\nText");
+    mContainer.AddChild(textEditor, TableView::CellPosition(1, 2));
 
     PushButton pushButton = PushButton::New();
-    mContainer.AddChild( pushButton, TableView::CellPosition( 3, 0 ) );
+    mContainer.AddChild(pushButton, TableView::CellPosition(3, 0));
 
     RadioButton radioButton = RadioButton::New();
-    mContainer.AddChild( radioButton, TableView::CellPosition( 3, 1 ) );
+    mContainer.AddChild(radioButton, TableView::CellPosition(3, 1));
 
     CheckBoxButton checkBoxButton = CheckBoxButton::New();
-    mContainer.AddChild( checkBoxButton, TableView::CellPosition( 3, 2 ) );
+    mContainer.AddChild(checkBoxButton, TableView::CellPosition(3, 2));
 
     // Set name and keyboard focusable for each controls
-    for(int i = 0; i<6; i++)
+    for(int i = 0; i < 6; i++)
     {
-      Control control = Control::DownCast( mContainer.GetChildAt( TableView::CellPosition( (i/3)*2+1, i%3 ) ) );
-      control.SetProperty( Actor::Property::KEYBOARD_FOCUSABLE,true);
-      control.SetProperty( Dali::Actor::Property::NAME,ITEMNAME[i]);
-      control.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
-      control.KeyEventSignal().Connect( this, &FocusIntegrationExample::OnControlKeyEvent );
+      Control control = Control::DownCast(mContainer.GetChildAt(TableView::CellPosition((i / 3) * 2 + 1, i % 3)));
+      control.SetProperty(Actor::Property::KEYBOARD_FOCUSABLE, true);
+      control.SetProperty(Dali::Actor::Property::NAME, ITEMNAME[i]);
+      control.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
+      control.KeyEventSignal().Connect(this, &FocusIntegrationExample::OnControlKeyEvent);
     }
 
-    KeyboardFocusManager::Get().PreFocusChangeSignal().Connect( this, &FocusIntegrationExample::OnPreFocusChange );
+    KeyboardFocusManager::Get().PreFocusChangeSignal().Connect(this, &FocusIntegrationExample::OnPreFocusChange);
 
     // Respond to key events
-    mWindow.KeyEventSignal().Connect( this, &FocusIntegrationExample::OnKeyEvent );
+    mWindow.KeyEventSignal().Connect(this, &FocusIntegrationExample::OnKeyEvent);
   }
 
   // Callback for KeyboardFocusManager
-  Actor OnPreFocusChange( Actor current, Actor next, Control::KeyboardFocus::Direction direction )
+  Actor OnPreFocusChange(Actor current, Actor next, Control::KeyboardFocus::Direction direction)
   {
-    if( !current && !next )
+    if(!current && !next)
     {
-      next = mContainer.GetChildAt( TableView::CellPosition( 1, 0 ) );
+      next = mContainer.GetChildAt(TableView::CellPosition(1, 0));
     }
     return next;
   }
 
   // Callback for each controls.
   // Display current control name.
-  bool OnControlKeyEvent( Control control, const KeyEvent& event )
+  bool OnControlKeyEvent(Control control, const KeyEvent& event)
   {
-    std::string controlName = control.GetProperty< std::string >( Dali::Actor::Property::NAME );
-    mEventLabel.SetProperty( TextLabel::Property::TEXT, controlName+"'s KeyEvent works\n" );
+    std::string controlName = control.GetProperty<std::string>(Dali::Actor::Property::NAME);
+    mEventLabel.SetProperty(TextLabel::Property::TEXT, controlName + "'s KeyEvent works\n");
 
     return false;
   }
 
 private:
-
   /**
    * Main key event handler
    */
@@ -177,7 +174,7 @@ private:
   {
     if(event.GetState() == KeyEvent::DOWN)
     {
-      if( IsKey( event, DALI_KEY_ESCAPE) || IsKey( event, DALI_KEY_BACK ) )
+      if(IsKey(event, DALI_KEY_ESCAPE) || IsKey(event, DALI_KEY_BACK))
       {
         mApplication.Quit();
       }
@@ -185,22 +182,21 @@ private:
   }
 
 private:
-
-  Application&  mApplication;
-  Window mWindow;
-  TableView mContainer;
-  TextLabel mEventLabel;
-  Toolkit::Control  mView;                              ///< The View instance.
-  Toolkit::ToolBar  mToolBar;                           ///< The View's Toolbar.
-  Layer             mContentLayer;                      ///< Content layer.
+  Application&     mApplication;
+  Window           mWindow;
+  TableView        mContainer;
+  TextLabel        mEventLabel;
+  Toolkit::Control mView;         ///< The View instance.
+  Toolkit::ToolBar mToolBar;      ///< The View's Toolbar.
+  Layer            mContentLayer; ///< Content layer.
 };
 
 //
-int DALI_EXPORT_API main( int argc, char **argv )
+int DALI_EXPORT_API main(int argc, char** argv)
 {
-  Application application = Application::New( &argc, &argv );
+  Application application = Application::New(&argc, &argv);
 
-  FocusIntegrationExample test( application );
+  FocusIntegrationExample test(application);
 
   application.MainLoop();