Size negotiation patch 4: Remove SetRelayoutEnabled
[platform/core/uifw/dali-demo.git] / shared / view.h
index 123fdef..27b1b3e 100644 (file)
@@ -45,11 +45,19 @@ const ViewStyle DEFAULT_VIEW_STYLE( 0.1f, 0.7f, 80.f, 4.f );
 
 const char*                   DEFAULT_TEXT_STYLE_FONT_FAMILY("HelveticaNue");
 const char*                   DEFAULT_TEXT_STYLE_FONT_STYLE("Regular");
+const float                   DEFAULT_TEXT_STYLE_POINT_SIZE( 8.0f );
 const Dali::Vector4           DEFAULT_TEXT_STYLE_COLOR(0.0f, 0.0f, 0.0f, 1.0f);
 
 const Dali::Toolkit::Alignment::Padding DEFAULT_PLAY_PADDING(12.0f, 12.0f, 12.0f, 12.0f);
 const Dali::Toolkit::Alignment::Padding DEFAULT_MODE_SWITCH_PADDING(8.0f, 8.0f, 8.0f, 8.0f);
 
+void RequestThemeChange()
+{
+  // Provide the stylesheet
+  Dali::Toolkit::StyleManager styleManager = Dali::Toolkit::StyleManager::Get();
+  styleManager.RequestThemeChange( DALI_DEMO_THEME_PATH );
+}
+
 float ScalePointSize(int pointSize)
 {
   Dali::Vector2 dpi = Dali::Stage::GetCurrent().GetDpi();
@@ -62,10 +70,13 @@ Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar,
                            const std::string& title,
                            const ViewStyle& style )
 {
+  Dali::Stage stage = Dali::Stage::GetCurrent();
+
   Dali::Layer toolBarLayer = Dali::Layer::New();
+  toolBarLayer.SetName( "TOOLBAR_LAYER" );
   toolBarLayer.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER );
   toolBarLayer.SetParentOrigin( Dali::ParentOrigin::TOP_CENTER );
-  toolBarLayer.ApplyConstraint( Dali::Constraint::New<Dali::Vector3>( Dali::Actor::Property::SIZE, Dali::ParentSource( Dali::Actor::Property::SIZE ), Dali::SourceWidthFixedHeight( style.mToolBarHeight  ) ) );
+  toolBarLayer.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::WIDTH );
   toolBarLayer.SetSize( 0.0f, style.mToolBarHeight );
 
   // Raise tool bar layer to the top.
@@ -74,12 +85,14 @@ Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar,
   // Tool bar
   Dali::Image image = Dali::ResourceImage::New( toolbarImagePath );
   Dali::ImageActor toolBarBackground = Dali::ImageActor::New( image );
+  toolBarBackground.SetName( "TOOLBAR_BACKGROUND" );
+  toolBarBackground.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS );
   toolBar = Dali::Toolkit::ToolBar::New();
+  toolBar.SetName( "TOOLBAR" );
   toolBar.SetBackground( toolBarBackground );
   toolBar.SetParentOrigin( Dali::ParentOrigin::TOP_CENTER );
   toolBar.SetAnchorPoint( Dali::AnchorPoint::TOP_CENTER );
-  toolBar.SetSize( 0.0f, style.mToolBarHeight );
-  toolBar.SetSizeMode( Dali::SIZE_EQUAL_TO_PARENT );
+  toolBar.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS );
   toolBarBackground.SetSortModifier(1.0f);
 
   // Add the tool bar to the too bar layer.
@@ -88,7 +101,19 @@ Dali::Layer CreateToolbar( Dali::Toolkit::ToolBar& toolBar,
   // Tool bar text.
   if( !title.empty() )
   {
-    // TODO
+    Dali::Toolkit::TextLabel label = Dali::Toolkit::TextLabel::New();
+    label.SetAnchorPoint( Dali::AnchorPoint::TOP_LEFT );
+    label.SetDrawMode( Dali::DrawMode::OVERLAY );
+    label.SetProperty( Dali::Toolkit::Control::Property::STYLE_NAME, "toolbarlabel" );
+    label.SetProperty( Dali::Toolkit::TextLabel::Property::TEXT, title );
+    label.SetProperty( Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
+    label.SetProperty( Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
+    label.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::HEIGHT );
+    label.SetColor( DEFAULT_TEXT_STYLE_COLOR );
+
+    // Add title to the tool bar.
+    const float padding( style.mToolBarPadding );
+    toolBar.AddControl( label, style.mToolBarTitlePercentage, Dali::Toolkit::Alignment::HorizontalCenter, Dali::Toolkit::Alignment::Padding( padding, padding, padding, padding ) );
   }
 
   return toolBarLayer;
@@ -106,6 +131,7 @@ Dali::Layer CreateView( Dali::Application& application,
 
   // Create default View.
   view = Dali::Toolkit::View::New();
+  view.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS );
 
   // Add the view to the stage before setting the background.
   stage.Add( view );
@@ -132,19 +158,30 @@ Dali::Layer CreateView( Dali::Application& application,
   // Add tool bar layer to the view.
   view.AddContentLayer( toolBarLayer );
 
-
-
   // Create a content layer.
   Dali::Layer contentLayer = Dali::Layer::New();
   contentLayer.SetAnchorPoint( Dali::AnchorPoint::CENTER );
   contentLayer.SetParentOrigin( Dali::ParentOrigin::CENTER );
-  contentLayer.SetSizeMode( Dali::SIZE_EQUAL_TO_PARENT );
+  contentLayer.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::ALL_DIMENSIONS );
   view.AddContentLayer( contentLayer );
   contentLayer.LowerBelow( toolBarLayer );
 
   return contentLayer;
 }
 
+Dali::Toolkit::TextLabel CreateToolBarLabel( const std::string& text )
+{
+  Dali::Toolkit::TextLabel label = Dali::Toolkit::TextLabel::New( text );
+  label.SetProperty( Dali::Toolkit::Control::Property::STYLE_NAME, "toolbarlabel" );
+  label.SetDrawMode( Dali::DrawMode::OVERLAY );
+  label.SetProperty( Dali::Toolkit::TextLabel::Property::HORIZONTAL_ALIGNMENT, "CENTER" );
+  label.SetProperty( Dali::Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
+  label.SetResizePolicy( Dali::ResizePolicy::FILL_TO_PARENT, Dali::Dimension::HEIGHT );
+  label.SetColor( DEFAULT_TEXT_STYLE_COLOR );
+
+  return label;
+}
+
 } // DemoHelper
 
 #endif // __DALI_DEMO_HELPER_VIEW_H__