Merge branch 'new_text' into tizen
[platform/core/uifw/dali-demo.git] / examples / buttons / buttons-example.cpp
index a658fa1..297dbfb 100644 (file)
@@ -108,6 +108,8 @@ class ButtonsController: public ConnectionTracker
   {
     // The Init signal is received once (only) during the Application lifetime
 
+    DemoHelper::RequestThemeChange();
+
     // Respond to key events
     Stage::GetCurrent().KeyEventSignal().Connect(this, &ButtonsController::OnKeyEvent);
 
@@ -127,6 +129,7 @@ class ButtonsController: public ConnectionTracker
     radioGroup2Background.SetAnchorPoint( AnchorPoint::TOP_LEFT );
     radioGroup2Background.SetParentOrigin( ParentOrigin::TOP_LEFT );
     radioGroup2Background.SetPosition( DP(MARGIN_SIZE), DP(yPos) );
+    radioGroup2Background.SetRelayoutEnabled( true );
     radioGroup2Background.SetSize( DP(348), DP(GROUP2_HEIGHT) );
     mContentLayer.Add( radioGroup2Background );
 
@@ -134,6 +137,7 @@ class ButtonsController: public ConnectionTracker
     radioButtonsGroup2.SetParentOrigin( ParentOrigin::TOP_LEFT );
     radioButtonsGroup2.SetAnchorPoint( AnchorPoint::TOP_LEFT );
     radioButtonsGroup2.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) );
+    radioButtonsGroup2.SetRelayoutEnabled( true );
     radioButtonsGroup2.SetSize( DP(100), DP(160) );
 
     radioGroup2Background.Add( radioButtonsGroup2 );
@@ -188,7 +192,7 @@ class ButtonsController: public ConnectionTracker
     mUpdateButton.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
     mUpdateButton.SetAnchorPoint( AnchorPoint::TOP_CENTER );
     mUpdateButton.SetPosition( 0, DP(MARGIN_SIZE) );
-    mUpdateButton.SetLabel("Select");
+    mUpdateButton.SetLabel( "Select" );
     mUpdateButton.SetSize( DP(100), DP(BUTTON_HEIGHT) );
 
     mUpdateButton.SetSelectedImage( Dali::ResourceImage::New( PUSHBUTTON_PRESS_IMAGE ) );
@@ -218,6 +222,7 @@ class ButtonsController: public ConnectionTracker
     radioGroup1Background.SetAnchorPoint( AnchorPoint::TOP_LEFT );
     radioGroup1Background.SetParentOrigin( ParentOrigin::TOP_LEFT );
     radioGroup1Background.SetPosition( DP(MARGIN_SIZE), DP(yPos) );
+    radioGroup1Background.SetRelayoutEnabled( true );
     radioGroup1Background.SetSize( DP(348), DP(GROUP1_HEIGHT) );
     mContentLayer.Add( radioGroup1Background );
 
@@ -232,12 +237,17 @@ class ButtonsController: public ConnectionTracker
     // First radio button
     {
       Toolkit::TableView tableView = Toolkit::TableView::New( 1, 2 );
-      tableView.SetSize( DP(260), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
+      tableView.SetSize( DP(260), 0.0f );
+      tableView.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT );
+
+      Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( "Select enabled" );
+      tableView.AddChild( textLabel, Toolkit::TableView::CellPosition( 0, 0 ) );
 
       ImageActor imageActor = ImageActor::New( ResourceImage::New( ENABLED_IMAGE ) );
       imageActor.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
+      imageActor.SetResizePolicy( FIXED, ALL_DIMENSIONS );
+      imageActor.SetPadding( Padding( DP(20.0f), 0.0f, 0.0f, 0.0f ) );
       tableView.AddChild( imageActor, Toolkit::TableView::CellPosition( 0, 1 ) );
-      tableView.SetFixedWidth( 1, DP(RADIO_LABEL_THUMBNAIL_SIZE) );
 
       Toolkit::RadioButton radioButton = Dali::Toolkit::RadioButton::New( tableView );
       radioButton.SetName( "radio-select-enable" );
@@ -271,6 +281,7 @@ class ButtonsController: public ConnectionTracker
     checkBoxBackground.SetAnchorPoint( AnchorPoint::TOP_LEFT );
     checkBoxBackground.SetParentOrigin( ParentOrigin::TOP_LEFT );
     checkBoxBackground.SetPosition( DP(MARGIN_SIZE), DP(yPos) );
+    checkBoxBackground.SetRelayoutEnabled( true );
     checkBoxBackground.SetSize( DP(430), DP(GROUP3_HEIGHT) );
     mContentLayer.Add( checkBoxBackground );
 
@@ -331,6 +342,7 @@ class ButtonsController: public ConnectionTracker
     toggleBackground.SetAnchorPoint( AnchorPoint::TOP_LEFT );
     toggleBackground.SetParentOrigin( ParentOrigin::TOP_LEFT );
     toggleBackground.SetPosition( DP(MARGIN_SIZE), DP(yPos) );
+    toggleBackground.SetRelayoutEnabled( true );
     toggleBackground.SetSize( DP(150 + MARGIN_SIZE * 2), DP(GROUP4_HEIGHT) );
     mContentLayer.Add( toggleBackground );
 
@@ -414,6 +426,42 @@ class ButtonsController: public ConnectionTracker
 
   bool OnCheckBoxesSelected( Toolkit::Button button )
   {
+    if( button.GetName() == "checkbox1" )
+    {
+      if( button.IsSelected() )
+      {
+        button.SetLabel("CheckBox1 is selected");
+      }
+      else
+      {
+        button.SetLabel("CheckBox1 is unselected");
+      }
+    }
+
+    if( button.GetName() == "checkbox2" )
+    {
+      if( button.IsSelected() )
+      {
+        button.SetLabel("CheckBox2 is selected");
+      }
+      else
+      {
+        button.SetLabel("CheckBox2 is unselected");
+      }
+    }
+
+    if( button.GetName() == "checkbox3" )
+    {
+      if( button.IsSelected() )
+      {
+        button.SetLabel("CheckBox3 is selected");
+      }
+      else
+      {
+        button.SetLabel("CheckBox3 is unselected");
+      }
+    }
+
     return true;
   }
 
@@ -443,7 +491,7 @@ void RunTest( Application& application )
   application.MainLoop();
 }
 
-// Entry point for Linux & SLP applications
+// Entry point for Linux & Tizen applications
 //
 int main( int argc, char **argv )
 {