/*
- * Copyright (c) 2014 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
using namespace Dali;
-namespace
-{
-// Used to produce visually same dimensions on desktop and device builds
-float ScalePointSize( int pointSize )
-{
- Dali::Vector2 dpi = Dali::Stage::GetCurrent().GetDpi();
- float meanDpi = (dpi.height + dpi.width) * 0.5f;
- return pointSize * meanDpi / 220.0f;
-}
-
-} // namespace
-
// Define this so that it is interchangeable
// "DP" stands for Device independent Pixels
-#define DP(x) ScalePointSize(x)
+#define DP(x) x
namespace
{
-const char* const BACKGROUND_IMAGE = DALI_IMAGE_DIR "background-gradient.jpg";
-const char* const TOOLBAR_IMAGE = DALI_IMAGE_DIR "top-bar.png";
+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 = "Buttons";
-const char* const SMALL_IMAGE_1 = DALI_IMAGE_DIR "gallery-small-14.jpg";
-const char* const BIG_IMAGE_1 = DALI_IMAGE_DIR "gallery-large-4.jpg";
-
-const char* const SMALL_IMAGE_2 = DALI_IMAGE_DIR "gallery-small-20.jpg";
-const char* const BIG_IMAGE_2 = DALI_IMAGE_DIR "gallery-large-11.jpg";
-
-const char* const SMALL_IMAGE_3 = DALI_IMAGE_DIR "gallery-small-25.jpg";
-const char* const BIG_IMAGE_3 = DALI_IMAGE_DIR "gallery-large-13.jpg";
+const char* const SMALL_IMAGE_1 = DEMO_IMAGE_DIR "gallery-small-14.jpg";
+const char* const BIG_IMAGE_1 = DEMO_IMAGE_DIR "gallery-large-4.jpg";
-const char* const ENABLED_IMAGE = DALI_IMAGE_DIR "item-select-check.png";
+const char* const SMALL_IMAGE_2 = DEMO_IMAGE_DIR "gallery-small-20.jpg";
+const char* const BIG_IMAGE_2 = DEMO_IMAGE_DIR "gallery-large-11.jpg";
-const char* const PUSHBUTTON_PRESS_IMAGE = DALI_IMAGE_DIR "button-down.9.png";
-const char* const PUSHBUTTON_DISABLED_IMAGE = DALI_IMAGE_DIR "button-disabled.9.png";
-const char* const PUSHBUTTON_BUTTON_IMAGE = DALI_IMAGE_DIR "button-up.9.png";
+const char* const SMALL_IMAGE_3 = DEMO_IMAGE_DIR "gallery-small-25.jpg";
+const char* const BIG_IMAGE_3 = DEMO_IMAGE_DIR "gallery-large-13.jpg";
-const char* const CHECKBOX_UNSELECTED_IMAGE = DALI_IMAGE_DIR "checkbox-unselected.png";
-const char* const CHECKBOX_SELECTED_IMAGE = DALI_IMAGE_DIR "checkbox-selected.png";
+const char* const ENABLED_IMAGE = DEMO_IMAGE_DIR "item-select-check.png";
const Vector4 BACKGROUND_COLOUR( 1.0f, 1.0f, 1.0f, 0.15f );
// Layout sizes
-const int RADIO_LABEL_THUMBNAIL_SIZE = 48;
+const int RADIO_LABEL_THUMBNAIL_SIZE = 60;
+const int RADIO_LABEL_THUMBNAIL_SIZE_SMALL = 40;
const int RADIO_IMAGE_SPACING = 8;
const int BUTTON_HEIGHT = 48;
{
// The Init signal is received once (only) during the Application lifetime
- DemoHelper::RequestThemeChange();
-
// Respond to key events
Stage::GetCurrent().KeyEventSignal().Connect(this, &ButtonsController::OnKeyEvent);
TOOLBAR_IMAGE,
TOOLBAR_TITLE );
- int yPos = TOP_MARGIN + MARGIN_SIZE;
+ Toolkit::TableView contentTable = Toolkit::TableView::New( 4, 1 );
+ contentTable.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+ contentTable.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
+ contentTable.SetAnchorPoint( AnchorPoint::TOP_LEFT );
+ contentTable.SetParentOrigin( ParentOrigin::TOP_LEFT );
+ contentTable.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE * 0.5f ) );
+
+ for( unsigned int i = 0; i < contentTable.GetRows(); ++i )
+ {
+ contentTable.SetFitHeight( i );
+ }
+
+ contentTable.SetPosition( 0.0f, TOP_MARGIN );
+
+ mContentLayer.Add( contentTable );
// Image selector radio group
- Actor radioGroup2Background = Toolkit::CreateSolidColorActor( BACKGROUND_COLOUR );
- 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 );
-
- Actor radioButtonsGroup2 = Actor::New();
- 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 );
+ Toolkit::TableView radioGroup2Background = Toolkit::TableView::New( 2, 2 );
+ radioGroup2Background.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+ radioGroup2Background.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
+ radioGroup2Background.SetBackgroundColor( BACKGROUND_COLOUR );
+ radioGroup2Background.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE ) );
+ radioGroup2Background.SetFitHeight( 0 );
+ radioGroup2Background.SetFitHeight( 1 );
+ radioGroup2Background.SetFitWidth( 0 );
+
+ contentTable.Add( radioGroup2Background );
+
+ Toolkit::TableView radioButtonsGroup2 = Toolkit::TableView::New( 3, 1 );
+ radioButtonsGroup2.SetCellPadding( Size( 0.0f, MARGIN_SIZE * 0.5f ) );
+ radioButtonsGroup2.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+ for( unsigned int i = 0; i < radioButtonsGroup2.GetRows(); ++i )
+ {
+ radioButtonsGroup2.SetFitHeight( i );
+ }
+ radioButtonsGroup2.SetFitWidth( 0 );
+
+ radioGroup2Background.AddChild( radioButtonsGroup2, Toolkit::TableView::CellPosition( 0, 0 ) );
+
+ // TableView to lay out 3x Radio buttons on the left, and 3x Image thumbnails on the right.
+ Toolkit::TableView imageSelectTableView = Toolkit::TableView::New( 3, 2 );
+ imageSelectTableView.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+ imageSelectTableView.SetFitHeight( 0 );
+ imageSelectTableView.SetFitHeight( 1 );
+ imageSelectTableView.SetFitHeight( 2 );
+ imageSelectTableView.SetFitWidth( 0 );
+ imageSelectTableView.SetFitWidth( 1 );
+ imageSelectTableView.SetCellPadding( Vector2( 6.0f, 0.0f ) );
+
+ radioButtonsGroup2.Add( imageSelectTableView );
int radioY = 0;
// Radio 1
{
- ImageActor imageActor = ImageActor::New( ResourceImage::New( SMALL_IMAGE_1 ) );
- imageActor.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
- mRadioButtonImage1 = Dali::Toolkit::RadioButton::New( imageActor );
+ Toolkit::ImageView image = Toolkit::ImageView::New( SMALL_IMAGE_1 );
+ image.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
+
+ mRadioButtonImage1 = Dali::Toolkit::RadioButton::New( "1" );
mRadioButtonImage1.SetParentOrigin( ParentOrigin::TOP_LEFT );
mRadioButtonImage1.SetAnchorPoint( AnchorPoint::TOP_LEFT );
mRadioButtonImage1.SetPosition( 0, DP(radioY) );
- mRadioButtonImage1.SetSelected( true );
+ mRadioButtonImage1.SetProperty( Toolkit::Button::Property::SELECTED, true );
- radioButtonsGroup2.Add( mRadioButtonImage1 );
+ imageSelectTableView.AddChild( mRadioButtonImage1, Toolkit::TableView::CellPosition( 0, 0 ) );
+ imageSelectTableView.AddChild( image, Toolkit::TableView::CellPosition( 0, 1 ) );
}
// Radio 2
{
radioY += RADIO_LABEL_THUMBNAIL_SIZE + RADIO_IMAGE_SPACING;
- ImageActor imageActor = ImageActor::New( ResourceImage::New( SMALL_IMAGE_2 ) );
- imageActor.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
+ Toolkit::ImageView image = Toolkit::ImageView::New( SMALL_IMAGE_2 );
+ image.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
- mRadioButtonImage2 = Dali::Toolkit::RadioButton::New( imageActor );
+ mRadioButtonImage2 = Dali::Toolkit::RadioButton::New( "2" );
mRadioButtonImage2.SetParentOrigin( ParentOrigin::TOP_LEFT );
mRadioButtonImage2.SetAnchorPoint( AnchorPoint::TOP_LEFT );
mRadioButtonImage2.SetPosition( 0, DP(radioY) );
- radioButtonsGroup2.Add( mRadioButtonImage2 );
+ imageSelectTableView.AddChild( mRadioButtonImage2, Toolkit::TableView::CellPosition( 1, 0 ) );
+ imageSelectTableView.AddChild( image, Toolkit::TableView::CellPosition( 1, 1 ) );
}
// Radio 3
{
radioY += RADIO_LABEL_THUMBNAIL_SIZE + RADIO_IMAGE_SPACING;
- ImageActor imageActor = ImageActor::New( ResourceImage::New( SMALL_IMAGE_3 ) );
- imageActor.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
+ Toolkit::ImageView image = Toolkit::ImageView::New( SMALL_IMAGE_3 );
+ image.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
- mRadioButtonImage3 = Dali::Toolkit::RadioButton::New( imageActor );
+ mRadioButtonImage3 = Dali::Toolkit::RadioButton::New( "3" );
mRadioButtonImage3.SetParentOrigin( ParentOrigin::TOP_LEFT );
mRadioButtonImage3.SetAnchorPoint( AnchorPoint::TOP_LEFT );
mRadioButtonImage3.SetPosition( 0, DP(radioY) );
- radioButtonsGroup2.Add( mRadioButtonImage3 );
+ imageSelectTableView.AddChild( mRadioButtonImage3, Toolkit::TableView::CellPosition( 2, 0 ) );
+ imageSelectTableView.AddChild( image, Toolkit::TableView::CellPosition( 2, 1 ) );
}
// Create select button
mUpdateButton = Toolkit::PushButton::New();
- mUpdateButton.SetParentOrigin( ParentOrigin::BOTTOM_CENTER );
- mUpdateButton.SetAnchorPoint( AnchorPoint::TOP_CENTER );
- mUpdateButton.SetPosition( 0, DP(MARGIN_SIZE) );
- mUpdateButton.SetLabel( "Select" );
- mUpdateButton.SetSize( DP(100), DP(BUTTON_HEIGHT) );
-
- mUpdateButton.SetSelectedImage( Dali::ResourceImage::New( PUSHBUTTON_PRESS_IMAGE ) );
- mUpdateButton.SetDisabledImage( Dali::ResourceImage::New( PUSHBUTTON_DISABLED_IMAGE ) );
- mUpdateButton.SetButtonImage( Dali::ResourceImage::New( PUSHBUTTON_BUTTON_IMAGE ) );
+ mUpdateButton.SetProperty( Toolkit::Button::Property::LABEL, "Select" );
+ mUpdateButton.SetName( "selectButton" );
+ mUpdateButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
mUpdateButton.ClickedSignal().Connect( this, &ButtonsController::OnButtonClicked );
- radioButtonsGroup2.Add(mUpdateButton);
-
- // ImageActor to display selected image
- mBigImage1 = ResourceImage::New( BIG_IMAGE_1 );
- mBigImage2 = ResourceImage::New( BIG_IMAGE_2 );
- mBigImage3 = ResourceImage::New( BIG_IMAGE_3 );
+ radioGroup2Background.AddChild( mUpdateButton, Toolkit::TableView::CellPosition( 1, 0 ) );
- mImage = ImageActor::New( mBigImage1 );
- mImage.SetParentOrigin( ParentOrigin::TOP_RIGHT );
- mImage.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- mImage.SetPosition( DP(MARGIN_SIZE), 0 );
- mImage.SetSize( DP(218), DP(218) );
- radioButtonsGroup2.Add( mImage );
+ // ImageView to display selected image
+ mImage = Toolkit::ImageView::New( BIG_IMAGE_1 );
+ mImage.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
+ mImage.SetSizeScalePolicy( SizeScalePolicy::FIT_WITH_ASPECT_RATIO );
+ radioGroup2Background.AddChild( mImage, Toolkit::TableView::CellPosition( 0, 1, 2, 1 ) );
// The enable/disable radio group
- yPos += GROUP2_HEIGHT + MARGIN_SIZE;
+ Toolkit::TableView radioGroup1Background = Toolkit::TableView::New( 1, 1 );
+ radioGroup1Background.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+ radioGroup1Background.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
+ radioGroup1Background.SetBackgroundColor( BACKGROUND_COLOUR );
+ radioGroup1Background.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE ) );
+ radioGroup1Background.SetFitHeight( 0 );
- Actor radioGroup1Background = Toolkit::CreateSolidColorActor( BACKGROUND_COLOUR );
- 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 );
+ contentTable.Add( radioGroup1Background );
// Radio group
- Actor radioButtonsGroup1 = Actor::New();
- radioButtonsGroup1.SetParentOrigin( ParentOrigin::TOP_LEFT );
- radioButtonsGroup1.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- radioButtonsGroup1.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) );
+ Toolkit::TableView radioButtonsGroup1 = Toolkit::TableView::New( 2, 1 );
+ radioButtonsGroup1.SetCellPadding( Size( 0.0f, MARGIN_SIZE * 0.5f ) );
+ radioButtonsGroup1.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+ for( unsigned int i = 0; i < radioButtonsGroup1.GetRows(); ++i )
+ {
+ radioButtonsGroup1.SetFitHeight( i );
+ }
+ radioButtonsGroup1.SetFitWidth( 0 );
radioGroup1Background.Add( radioButtonsGroup1 );
- // First radio button
- {
- Toolkit::TableView tableView = Toolkit::TableView::New( 1, 2 );
- tableView.SetSize( DP(260), 0.0f );
- tableView.SetResizePolicy( USE_NATURAL_SIZE, HEIGHT );
+ // TableView to lay out 2x Radio buttons on the left, and 1x Tick image on the right.
+ Toolkit::TableView tableView = Toolkit::TableView::New( 2, 2 );
+ tableView.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
+ tableView.SetFitHeight( 0 );
+ tableView.SetFitHeight( 1 );
+ tableView.SetFitWidth( 0 );
+ tableView.SetFitWidth( 1 );
- Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( "Select enabled" );
- tableView.AddChild( textLabel, Toolkit::TableView::CellPosition( 0, 0 ) );
+ Toolkit::TextLabel textLabel = Toolkit::TextLabel::New( "Select enabled" );
+ textLabel.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::WIDTH );
+ textLabel.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::HEIGHT );
+ textLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" );
- 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 ) );
+ Toolkit::ImageView image = Toolkit::ImageView::New( ENABLED_IMAGE );
+ image.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) );
+ image.SetPadding( Padding( DP(20.0f), 0.0f, 0.0f, 0.0f ) );
+ tableView.AddChild( image, Toolkit::TableView::CellPosition( 0, 1 ) );
- Toolkit::RadioButton radioButton = Dali::Toolkit::RadioButton::New( tableView );
- radioButton.SetName( "radio-select-enable" );
+ radioButtonsGroup1.Add( tableView );
+
+ // First radio button
+ {
+ Toolkit::RadioButton radioButton = Dali::Toolkit::RadioButton::New( "Select enabled" );
+ radioButton.SetName( "radioSelectEnable" );
radioButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
radioButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
radioButton.SetPosition( 0, 0 );
- radioButton.SetSelected( true );
+ radioButton.SetProperty( Toolkit::Button::Property::SELECTED, true );
radioButton.StateChangedSignal().Connect( this, &ButtonsController::EnableSelectButton );
- radioButtonsGroup1.Add( radioButton );
+ tableView.AddChild( radioButton, Toolkit::TableView::CellPosition( 0, 0 ) );
}
// Second radio button
{
Toolkit::RadioButton radioButton = Dali::Toolkit::RadioButton::New( "Select disabled" );
- radioButton.SetName( "radio-select-disable" );
+ radioButton.SetName( "radioSelectDisable" );
radioButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
radioButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
radioButton.SetPosition( 0, DP(50) );
radioButton.StateChangedSignal().Connect( this, &ButtonsController::EnableSelectButton );
- radioButtonsGroup1.Add( radioButton );
+ tableView.AddChild( radioButton, Toolkit::TableView::CellPosition( 1, 0 ) );
}
// CheckBoxes
- yPos += GROUP1_HEIGHT + MARGIN_SIZE;
+ Toolkit::TableView checkBoxBackground = Toolkit::TableView::New( 3, 1 );
+ checkBoxBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+ checkBoxBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
+ checkBoxBackground.SetBackgroundColor( BACKGROUND_COLOUR );
+ checkBoxBackground.SetCellPadding( Size( MARGIN_SIZE / 2.0f, MARGIN_SIZE / 2.0f ) );
- Actor checkBoxBackground = Toolkit::CreateSolidColorActor( BACKGROUND_COLOUR );
- 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 );
-
- Dali::Image unselected = Dali::ResourceImage::New( CHECKBOX_UNSELECTED_IMAGE );
- Dali::Image selected = Dali::ResourceImage::New( CHECKBOX_SELECTED_IMAGE );
+ for( unsigned int i = 0; i < checkBoxBackground.GetRows(); ++i )
+ {
+ checkBoxBackground.SetFitHeight( i );
+ }
- int checkYPos = MARGIN_SIZE;
+ contentTable.Add( checkBoxBackground );
{
- Toolkit::CheckBoxButton checkBox = Toolkit::CheckBoxButton::New();
- checkBox.SetName( "checkbox1" );
- checkBox.SetPosition( DP(MARGIN_SIZE), DP(checkYPos) );
- checkBox.SetParentOrigin( ParentOrigin::TOP_LEFT );
- checkBox.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- checkBox.SetBackgroundImage( unselected );
- checkBox.SetSelectedImage( selected );
- checkBox.SetLabel( "CheckBox1 is unselected" );
- checkBox.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected );
-
- checkBoxBackground.Add( checkBox );
+ mCheckboxButton1 = Toolkit::CheckBoxButton::New();
+ mCheckboxButton1.SetName( "checkbox1" );
+ mCheckboxButton1.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox1 is unselected" );
+ mCheckboxButton1.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected );
+ mCheckboxButton1.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+
+ checkBoxBackground.Add( mCheckboxButton1 );
}
- checkYPos += 60;
+ {
+ mCheckboxButton2 = Toolkit::CheckBoxButton::New();
+ mCheckboxButton2.SetName( "checkbox2" );
+ mCheckboxButton2.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox2 is selected" );
+ mCheckboxButton2.SetProperty( Toolkit::Button::Property::SELECTED, true );
+ mCheckboxButton2.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected );
+ mCheckboxButton2.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+
+ checkBoxBackground.Add( mCheckboxButton2 );
+ }
{
- Toolkit::CheckBoxButton checkBox = Toolkit::CheckBoxButton::New();
- checkBox.SetName( "checkbox2" );
- checkBox.SetPosition( DP(MARGIN_SIZE), DP(checkYPos) );
- checkBox.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- checkBox.SetBackgroundImage( unselected );
- checkBox.SetSelectedImage( selected );
- checkBox.SetLabel( "CheckBox2 is selected" );
- checkBox.SetSelected( true );
- checkBox.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected );
-
- checkBoxBackground.Add( checkBox );
+ mCheckboxButton3 = Toolkit::CheckBoxButton::New();
+ mCheckboxButton3.SetName( "checkbox3" );
+ mCheckboxButton3.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox3 is unselected" );
+ mCheckboxButton3.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected );
+ mCheckboxButton3.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+
+ checkBoxBackground.Add( mCheckboxButton3 );
}
- checkYPos += 60;
+ // Create togglabe button
+ Toolkit::TableView toggleBackground = Toolkit::TableView::New( 3, 1 );
+ toggleBackground.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+ toggleBackground.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
+ toggleBackground.SetBackgroundColor( BACKGROUND_COLOUR );
+ toggleBackground.SetCellPadding( Size( MARGIN_SIZE, MARGIN_SIZE ) );
+ for( unsigned int i = 0; i < toggleBackground.GetRows(); ++i )
{
- Toolkit::CheckBoxButton checkBox = Toolkit::CheckBoxButton::New();
- checkBox.SetName( "checkbox3" );
- checkBox.SetPosition( DP(MARGIN_SIZE), DP(checkYPos) );
- checkBox.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- checkBox.SetBackgroundImage( unselected );
- checkBox.SetSelectedImage( selected );
- checkBox.SetLabel( "CheckBox3 is unselected" );
- checkBox.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected );
-
- checkBoxBackground.Add( checkBox );
+ toggleBackground.SetFitHeight( i );
}
- // Create togglabe button
- yPos += GROUP3_HEIGHT + MARGIN_SIZE;
-
- Actor toggleBackground = Toolkit::CreateSolidColorActor( BACKGROUND_COLOUR );
- 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 );
-
- Toolkit::PushButton toggleButton = Toolkit::PushButton::New();
- toggleButton.SetTogglableButton( true );
- toggleButton.SetParentOrigin( ParentOrigin::TOP_LEFT );
- toggleButton.SetAnchorPoint( AnchorPoint::TOP_LEFT );
- toggleButton.SetPosition( DP(MARGIN_SIZE), DP(MARGIN_SIZE) );
- toggleButton.SetLabel( "Unselected" );
- toggleButton.SetSize( DP(150), DP(BUTTON_HEIGHT) );
-
- toggleButton.SetSelectedImage( Dali::ResourceImage::New( PUSHBUTTON_PRESS_IMAGE ) );
- toggleButton.SetDisabledImage( Dali::ResourceImage::New( PUSHBUTTON_DISABLED_IMAGE ) );
- toggleButton.SetButtonImage( Dali::ResourceImage::New( PUSHBUTTON_BUTTON_IMAGE ) );
-
- toggleButton.StateChangedSignal().Connect( this, &ButtonsController::OnButtonSelected );
-
- toggleBackground.Add( toggleButton );
+ contentTable.Add( toggleBackground );
+
+ mToggleButton = Toolkit::PushButton::New();
+ mToggleButton.SetProperty( Toolkit::Button::Property::TOGGLABLE, true );
+ mToggleButton.SetProperty( Toolkit::Button::Property::LABEL, "Unselected" );
+ mToggleButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH );
+ mToggleButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT );
+ mToggleButton.StateChangedSignal().Connect( this, &ButtonsController::OnButtonSelected );
+
+ toggleBackground.Add( mToggleButton );
}
void OnKeyEvent( const KeyEvent& event )
Toolkit::PushButton pushButton = Toolkit::PushButton::DownCast( button );
if( pushButton )
{
- if( button.IsSelected() )
+ bool isSelected = button.GetProperty( Toolkit::Button::Property::SELECTED ).Get<bool>();
+ if( isSelected )
{
- pushButton.SetLabel( "Selected" );
+ pushButton.SetProperty( Toolkit::Button::Property::LABEL, "Selected" );
}
else
{
- pushButton.SetLabel( "Unselected" );
+ pushButton.SetProperty( Toolkit::Button::Property::LABEL, "Unselected" );
}
}
bool EnableSelectButton( Toolkit::Button button )
{
- if( button.GetName() == "radio-select-enable" && button.IsSelected() == true )
+ bool isSelected = button.GetProperty( Toolkit::Button::Property::SELECTED ).Get<bool>();
+ if( !isSelected )
+ {
+ return true;
+ }
+
+ if( button.GetName() == "radioSelectEnable" )
{
- mUpdateButton.SetDisabled( false );
+ mUpdateButton.SetProperty( Toolkit::Button::Property::DISABLED, false );
+
+ mRadioButtonImage1.SetProperty( Toolkit::Button::Property::DISABLED, false );
+ mRadioButtonImage2.SetProperty( Toolkit::Button::Property::DISABLED, false );
+ mRadioButtonImage3.SetProperty( Toolkit::Button::Property::DISABLED, false );
+
+ mCheckboxButton1.SetProperty( Toolkit::Button::Property::DISABLED, false );
+ mCheckboxButton2.SetProperty( Toolkit::Button::Property::DISABLED, false );
+ mCheckboxButton3.SetProperty( Toolkit::Button::Property::DISABLED, false );
+
+ mToggleButton.SetProperty( Toolkit::Button::Property::DISABLED, false );
}
- else if( button.GetName() == "radio-select-disable" && button.IsSelected() == true )
+ else if( button.GetName() == "radioSelectDisable" )
{
- mUpdateButton.SetDisabled( true );
+ mUpdateButton.SetProperty( Toolkit::Button::Property::DISABLED, true );
+
+ mRadioButtonImage1.SetProperty( Toolkit::Button::Property::DISABLED, true );
+ mRadioButtonImage2.SetProperty( Toolkit::Button::Property::DISABLED, true );
+ mRadioButtonImage3.SetProperty( Toolkit::Button::Property::DISABLED, true );
+
+ mCheckboxButton1.SetProperty( Toolkit::Button::Property::DISABLED, true );
+ mCheckboxButton2.SetProperty( Toolkit::Button::Property::DISABLED, true );
+ mCheckboxButton3.SetProperty( Toolkit::Button::Property::DISABLED, true );
+
+ mToggleButton.SetProperty( Toolkit::Button::Property::DISABLED, true );
}
return true;
bool OnButtonClicked(Toolkit::Button button)
{
- if( mRadioButtonImage1.IsSelected() )
+ if( mRadioButtonImage1.GetProperty( Toolkit::Button::Property::SELECTED ).Get<bool>() )
{
- mImage.SetImage( mBigImage1 );
+ mImage.SetImage( BIG_IMAGE_1 );
}
- else if( mRadioButtonImage2.IsSelected() )
+ else if( mRadioButtonImage2.GetProperty( Toolkit::Button::Property::SELECTED ).Get<bool>() )
{
- mImage.SetImage( mBigImage2 );
+ mImage.SetImage( BIG_IMAGE_2 );
}
- else if( mRadioButtonImage3.IsSelected() )
+ else if( mRadioButtonImage3.GetProperty( Toolkit::Button::Property::SELECTED ).Get<bool>() )
{
- mImage.SetImage( mBigImage3 );
+ mImage.SetImage( BIG_IMAGE_3 );
}
return true;
}
bool OnCheckBoxesSelected( Toolkit::Button button )
{
+ bool isSelected = button.GetProperty( Toolkit::Button::Property::SELECTED ).Get<bool>();
if( button.GetName() == "checkbox1" )
{
- if( button.IsSelected() )
+ if( isSelected )
{
- button.SetLabel("CheckBox1 is selected");
+ button.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox1 is selected");
}
else
{
- button.SetLabel("CheckBox1 is unselected");
+ button.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox1 is unselected");
}
}
if( button.GetName() == "checkbox2" )
{
- if( button.IsSelected() )
+ if( isSelected )
{
- button.SetLabel("CheckBox2 is selected");
+ button.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox2 is selected");
}
else
{
- button.SetLabel("CheckBox2 is unselected");
+ button.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox2 is unselected");
}
}
if( button.GetName() == "checkbox3" )
{
- if( button.IsSelected() )
+ if( isSelected )
{
- button.SetLabel("CheckBox3 is selected");
+ button.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox3 is selected");
}
else
{
- button.SetLabel("CheckBox3 is unselected");
+ button.SetProperty( Toolkit::Button::Property::LABEL, "CheckBox3 is unselected");
}
}
return true;
}
- private:
+private:
Application& mApplication;
- Toolkit::View mView; ///< The View instance.
+ Toolkit::Control mView; ///< The View instance.
Toolkit::ToolBar mToolBar; ///< The View's Toolbar.
Layer mContentLayer; ///< Content layer
Toolkit::RadioButton mRadioButtonImage3;
Toolkit::PushButton mUpdateButton;
+ Toolkit::PushButton mToggleButton;
+
+ Toolkit::CheckBoxButton mCheckboxButton1;
+ Toolkit::CheckBoxButton mCheckboxButton2;
+ Toolkit::CheckBoxButton mCheckboxButton3;
- Image mBigImage1;
- Image mBigImage2;
- Image mBigImage3;
- ImageActor mImage;
+ Animation mAnimation;
+
+ Toolkit::ImageView mImage;
};
-void RunTest( Application& application )
+int DALI_EXPORT_API main( int argc, char **argv )
{
+ Application application = Application::New( &argc, &argv, DEMO_THEME_PATH );
ButtonsController test( application );
-
application.MainLoop();
-}
-
-// Entry point for Linux & Tizen applications
-//
-int main( int argc, char **argv )
-{
- Application application = Application::New( &argc, &argv );
-
- RunTest( application );
-
return 0;
}