X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=examples%2Fbuttons%2Fbuttons-example.cpp;h=b6249ee91402565df8e34a67cd04eeac15630399;hb=e32aa313e35269ecb61ccd4865d0ee9225d71ade;hp=842bfa3c1b5bfebe7bc64c7c2ebef78dd062fcc3;hpb=fc74c49e34fbe0ba1dc3c5d86302e5cd3436e2ac;p=platform%2Fcore%2Fuifw%2Fdali-demo.git diff --git a/examples/buttons/buttons-example.cpp b/examples/buttons/buttons-example.cpp index 842bfa3..b6249ee 100644 --- a/examples/buttons/buttons-example.cpp +++ b/examples/buttons/buttons-example.cpp @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2022 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. @@ -15,9 +15,10 @@ * */ -#include "shared/view.h" -#include #include +#include +#include +#include "shared/view.h" using namespace Dali; @@ -25,42 +26,36 @@ using namespace Dali; // "DP" stands for Device independent Pixels #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-default.png"; +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_1 = DEMO_IMAGE_DIR "gallery-small-14.jpg"; +const char* const BIG_IMAGE_1 = DEMO_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_2 = DEMO_IMAGE_DIR "gallery-small-20.jpg"; +const char* const BIG_IMAGE_2 = DEMO_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_3 = DEMO_IMAGE_DIR "gallery-small-25.jpg"; +const char* const BIG_IMAGE_3 = DEMO_IMAGE_DIR "gallery-large-13.jpg"; -const char* const ENABLED_IMAGE = DALI_IMAGE_DIR "item-select-check.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 ); +const Vector4 BACKGROUND_COLOUR(0.25f, 0.25f, 0.25f, 0.15f); // Layout sizes -const int RADIO_LABEL_THUMBNAIL_SIZE = 60; +const int RADIO_LABEL_THUMBNAIL_SIZE = 50; const int RADIO_LABEL_THUMBNAIL_SIZE_SMALL = 40; -const int RADIO_IMAGE_SPACING = 8; -const int BUTTON_HEIGHT = 48; +const int RADIO_IMAGE_SPACING = 8; +const int BUTTON_HEIGHT = 48; -const int MARGIN_SIZE = 10; -const int TOP_MARGIN = 85; -const int GROUP2_HEIGHT = 238; -const int GROUP1_HEIGHT = 120; -const int GROUP3_HEIGHT = 190; -const int GROUP4_HEIGHT = BUTTON_HEIGHT + MARGIN_SIZE * 2; +const int MARGIN_SIZE = 10; +const int TOP_MARGIN = 85; -} // namespace +} // namespace /** This example shows how to create and use different buttons. * @@ -70,15 +65,14 @@ const int GROUP4_HEIGHT = BUTTON_HEIGHT + MARGIN_SIZE * 2; * Selecting one of these will enable/disable the image loading push button * 4. A group of check boxes */ -class ButtonsController: public ConnectionTracker +class ButtonsController : public ConnectionTracker { - public: - - ButtonsController( Application& application ) - : mApplication( application ) +public: + ButtonsController(Application& application) + : mApplication(application) { // Connect to the Application's Init signal - mApplication.InitSignal().Connect( this, &ButtonsController::Create ); + mApplication.InitSignal().Connect(this, &ButtonsController::Create); } ~ButtonsController() @@ -86,283 +80,281 @@ class ButtonsController: public ConnectionTracker // Nothing to do here } - void Create( Application& application ) + void Create(Application& application) { // The Init signal is received once (only) during the Application lifetime // Respond to key events - Stage::GetCurrent().KeyEventSignal().Connect(this, &ButtonsController::OnKeyEvent); + application.GetWindow().KeyEventSignal().Connect(this, &ButtonsController::OnKeyEvent); // Creates a default view with a default tool bar. - // The view is added to the stage. - mContentLayer = DemoHelper::CreateView( application, - mView, - mToolBar, - BACKGROUND_IMAGE, - TOOLBAR_IMAGE, - TOOLBAR_TITLE ); - - 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 ) ); -// contentTable.TouchedSignal().Connect( this, &ButtonsController::OnTouchEvent ); - - for( unsigned int i = 0; i < contentTable.GetRows(); ++i ) + // The view is added to the window. + mContentLayer = DemoHelper::CreateView(application, + mView, + mToolBar, + BACKGROUND_IMAGE, + TOOLBAR_IMAGE, + TOOLBAR_TITLE); + + 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.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)); + + for(unsigned int i = 0; i < contentTable.GetRows(); ++i) { - contentTable.SetFitHeight( i ); + contentTable.SetFitHeight(i); } - contentTable.SetPosition( 0.0f, TOP_MARGIN ); + contentTable.SetProperty(Actor::Property::POSITION, Vector2(0.0f, TOP_MARGIN)); - mContentLayer.Add( contentTable ); + mContentLayer.Add(contentTable); // Image selector radio group - 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 ) + 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.SetFitHeight(i); } - radioButtonsGroup2.SetFitWidth( 0 ); + radioButtonsGroup2.SetFitWidth(0); - radioGroup2Background.AddChild( radioButtonsGroup2, Toolkit::TableView::CellPosition( 0, 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 ) ); + 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 ); + radioButtonsGroup2.Add(imageSelectTableView); int radioY = 0; // Radio 1 { - Toolkit::ImageView image = Toolkit::ImageView::New( ResourceImage::New( SMALL_IMAGE_1 ) ); - image.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) ); + Toolkit::ImageView image = Toolkit::ImageView::New(SMALL_IMAGE_1); + image.SetProperty(Actor::Property::SIZE, Vector2(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 = Dali::Toolkit::RadioButton::New("1"); + mRadioButtonImage1.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + mRadioButtonImage1.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + mRadioButtonImage1.SetProperty(Actor::Property::POSITION, Vector2(0, DP(radioY))); + mRadioButtonImage1.SetProperty(Toolkit::Button::Property::SELECTED, true); - imageSelectTableView.AddChild( mRadioButtonImage1, Toolkit::TableView::CellPosition( 0, 0 ) ); - imageSelectTableView.AddChild( image, Toolkit::TableView::CellPosition( 0, 1 ) ); + 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; - Toolkit::ImageView image = Toolkit::ImageView::New( ResourceImage::New( SMALL_IMAGE_2 ) ); - image.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) ); + Toolkit::ImageView image = Toolkit::ImageView::New(SMALL_IMAGE_2); + image.SetProperty(Actor::Property::SIZE, Vector2(DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE))); - mRadioButtonImage2 = Dali::Toolkit::RadioButton::New( "2" ); - mRadioButtonImage2.SetParentOrigin( ParentOrigin::TOP_LEFT ); - mRadioButtonImage2.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - mRadioButtonImage2.SetPosition( 0, DP(radioY) ); + mRadioButtonImage2 = Dali::Toolkit::RadioButton::New("2"); + mRadioButtonImage2.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + mRadioButtonImage2.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + mRadioButtonImage2.SetProperty(Actor::Property::POSITION, Vector2(0, DP(radioY))); - imageSelectTableView.AddChild( mRadioButtonImage2, Toolkit::TableView::CellPosition( 1, 0 ) ); - imageSelectTableView.AddChild( image, Toolkit::TableView::CellPosition( 1, 1 ) ); + 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; - Toolkit::ImageView image = Toolkit::ImageView::New( ResourceImage::New( SMALL_IMAGE_3 ) ); - image.SetSize( DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE) ); + Toolkit::ImageView image = Toolkit::ImageView::New(SMALL_IMAGE_3); + image.SetProperty(Actor::Property::SIZE, Vector2(DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE))); - mRadioButtonImage3 = Dali::Toolkit::RadioButton::New( "3" ); - mRadioButtonImage3.SetParentOrigin( ParentOrigin::TOP_LEFT ); - mRadioButtonImage3.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - mRadioButtonImage3.SetPosition( 0, DP(radioY) ); + mRadioButtonImage3 = Dali::Toolkit::RadioButton::New("3"); + mRadioButtonImage3.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + mRadioButtonImage3.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + mRadioButtonImage3.SetProperty(Actor::Property::POSITION, Vector2(0, DP(radioY))); - imageSelectTableView.AddChild( mRadioButtonImage3, Toolkit::TableView::CellPosition( 2, 0 ) ); - imageSelectTableView.AddChild( image, Toolkit::TableView::CellPosition( 2, 1 ) ); + imageSelectTableView.AddChild(mRadioButtonImage3, Toolkit::TableView::CellPosition(2, 0)); + imageSelectTableView.AddChild(image, Toolkit::TableView::CellPosition(2, 1)); } // Create select button mUpdateButton = Toolkit::PushButton::New(); - mUpdateButton.SetLabelText( "Select" ); - mUpdateButton.SetName( "select-button" ); - mUpdateButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS ); + mUpdateButton.SetProperty(Toolkit::Button::Property::LABEL, "Select"); + mUpdateButton.SetProperty(Dali::Actor::Property::NAME, "selectButton"); + mUpdateButton.SetResizePolicy(ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS); - mUpdateButton.ClickedSignal().Connect( this, &ButtonsController::OnButtonClicked ); + mUpdateButton.ClickedSignal().Connect(this, &ButtonsController::OnButtonClicked); - radioGroup2Background.AddChild( mUpdateButton, Toolkit::TableView::CellPosition( 1, 0 ) ); + radioGroup2Background.AddChild(mUpdateButton, Toolkit::TableView::CellPosition(1, 0)); // ImageView to display selected image - mBigImage1 = ResourceImage::New( BIG_IMAGE_1 ); - mBigImage2 = ResourceImage::New( BIG_IMAGE_2 ); - mBigImage3 = ResourceImage::New( BIG_IMAGE_3 ); - - mImage = Toolkit::ImageView::New( mBigImage1 ); - 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 ) ); + mImage = Toolkit::ImageView::New(BIG_IMAGE_1); + mImage.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS); + mImage.SetProperty(Actor::Property::SIZE_SCALE_POLICY, SizeScalePolicy::FIT_WITH_ASPECT_RATIO); + radioGroup2Background.AddChild(mImage, Toolkit::TableView::CellPosition(0, 1, 2, 1)); // The enable/disable radio group - 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 ); + 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); - contentTable.Add( radioGroup1Background ); + contentTable.Add(radioGroup1Background); // Radio group - 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 ) + 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.SetFitHeight(i); } - radioButtonsGroup1.SetFitWidth( 0 ); + radioButtonsGroup1.SetFitWidth(0); - radioGroup1Background.Add( radioButtonsGroup1 ); + radioGroup1Background.Add(radioButtonsGroup1); // 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::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" ); - textLabel.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::WIDTH ); - textLabel.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::HEIGHT ); - textLabel.SetProperty( Toolkit::TextLabel::Property::VERTICAL_ALIGNMENT, "CENTER" ); + 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"); - Toolkit::ImageView image = Toolkit::ImageView::New( ResourceImage::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::ImageView image = Toolkit::ImageView::New(ENABLED_IMAGE); + image.SetProperty(Actor::Property::SIZE, Vector2(DP(RADIO_LABEL_THUMBNAIL_SIZE), DP(RADIO_LABEL_THUMBNAIL_SIZE))); + image.SetProperty(Actor::Property::PADDING, Padding(DP(20.0f), 0.0f, 0.0f, 0.0f)); + tableView.AddChild(image, Toolkit::TableView::CellPosition(0, 1)); - radioButtonsGroup1.Add( tableView ); + radioButtonsGroup1.Add(tableView); // First radio button { - Toolkit::RadioButton radioButton = Dali::Toolkit::RadioButton::New( "Select enabled" ); - radioButton.SetName( "radio-select-enable" ); - radioButton.SetParentOrigin( ParentOrigin::TOP_LEFT ); - radioButton.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - radioButton.SetPosition( 0, 0 ); - radioButton.SetSelected( true ); + Toolkit::RadioButton radioButton = Dali::Toolkit::RadioButton::New("Select enabled"); + radioButton.SetProperty(Dali::Actor::Property::NAME, "radioSelectEnable"); + radioButton.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + radioButton.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + radioButton.SetProperty(Actor::Property::POSITION, Vector2(0, 0)); + radioButton.SetProperty(Toolkit::Button::Property::SELECTED, true); - radioButton.StateChangedSignal().Connect( this, &ButtonsController::EnableSelectButton ); + radioButton.StateChangedSignal().Connect(this, &ButtonsController::EnableSelectButton); - tableView.AddChild( radioButton, Toolkit::TableView::CellPosition( 0, 0 ) ); + 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.SetParentOrigin( ParentOrigin::TOP_LEFT ); - radioButton.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - radioButton.SetPosition( 0, DP(50) ); + Toolkit::RadioButton radioButton = Dali::Toolkit::RadioButton::New("Select disabled"); + radioButton.SetProperty(Dali::Actor::Property::NAME, "radioSelectDisable"); + radioButton.SetProperty(Actor::Property::PARENT_ORIGIN, ParentOrigin::TOP_LEFT); + radioButton.SetProperty(Actor::Property::ANCHOR_POINT, AnchorPoint::TOP_LEFT); + radioButton.SetProperty(Actor::Property::POSITION, Vector2(0, DP(50))); - radioButton.StateChangedSignal().Connect( this, &ButtonsController::EnableSelectButton ); + radioButton.StateChangedSignal().Connect(this, &ButtonsController::EnableSelectButton); - tableView.AddChild( radioButton, Toolkit::TableView::CellPosition( 1, 0 ) ); + tableView.AddChild(radioButton, Toolkit::TableView::CellPosition(1, 0)); } // CheckBoxes - 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 ) ); + 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)); - for( unsigned int i = 0; i < checkBoxBackground.GetRows(); ++i ) + for(unsigned int i = 0; i < checkBoxBackground.GetRows(); ++i) { - checkBoxBackground.SetFitHeight( i ); + checkBoxBackground.SetFitHeight(i); } - contentTable.Add( checkBoxBackground ); + contentTable.Add(checkBoxBackground); { mCheckboxButton1 = Toolkit::CheckBoxButton::New(); - mCheckboxButton1.SetName( "checkbox1" ); - mCheckboxButton1.SetLabelText( "CheckBox1 is unselected" ); - mCheckboxButton1.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected ); + mCheckboxButton1.SetProperty(Dali::Actor::Property::NAME, "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 ); + checkBoxBackground.Add(mCheckboxButton1); } { mCheckboxButton2 = Toolkit::CheckBoxButton::New(); - mCheckboxButton2.SetName( "checkbox2" ); - mCheckboxButton2.SetLabelText( "CheckBox2 is selected" ); - mCheckboxButton2.SetSelected( true ); - mCheckboxButton2.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected ); + mCheckboxButton2.SetProperty(Dali::Actor::Property::NAME, "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 ); + checkBoxBackground.Add(mCheckboxButton2); } { mCheckboxButton3 = Toolkit::CheckBoxButton::New(); - mCheckboxButton3.SetName( "checkbox3" ); - mCheckboxButton3.SetLabelText( "CheckBox3 is unselected" ); - mCheckboxButton3.StateChangedSignal().Connect( this, &ButtonsController::OnCheckBoxesSelected ); + mCheckboxButton3.SetProperty(Dali::Actor::Property::NAME, "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 ); + checkBoxBackground.Add(mCheckboxButton3); } // 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 ) ); + 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 ) + for(unsigned int i = 0; i < toggleBackground.GetRows(); ++i) { - toggleBackground.SetFitHeight( i ); + toggleBackground.SetFitHeight(i); } - contentTable.Add( toggleBackground ); + contentTable.Add(toggleBackground); mToggleButton = Toolkit::PushButton::New(); - mToggleButton.SetTogglableButton( true ); - mToggleButton.SetLabelText( "Unselected" ); - mToggleButton.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::WIDTH ); - mToggleButton.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::HEIGHT ); - mToggleButton.StateChangedSignal().Connect( this, &ButtonsController::OnButtonSelected ); + 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 ); + toggleBackground.Add(mToggleButton); } - void OnKeyEvent( const KeyEvent& event ) + void OnKeyEvent(const KeyEvent& event) { - if( event.state == KeyEvent::Down ) + if(event.GetState() == KeyEvent::DOWN) { - if( IsKey( event, Dali::DALI_KEY_ESCAPE ) || IsKey( event, Dali::DALI_KEY_BACK ) ) + if(IsKey(event, Dali::DALI_KEY_ESCAPE) || IsKey(event, Dali::DALI_KEY_BACK)) { // Exit application when click back or escape. mApplication.Quit(); @@ -370,53 +362,60 @@ class ButtonsController: public ConnectionTracker } } - bool OnButtonSelected( Toolkit::Button button ) + bool OnButtonSelected(Toolkit::Button button) { - Toolkit::PushButton pushButton = Toolkit::PushButton::DownCast( button ); - if( pushButton ) + Toolkit::PushButton pushButton = Toolkit::PushButton::DownCast(button); + if(pushButton) { - if( button.IsSelected() ) + bool isSelected = button.GetProperty(Toolkit::Button::Property::SELECTED).Get(); + if(isSelected) { - pushButton.SetLabelText( "Selected" ); + pushButton.SetProperty(Toolkit::Button::Property::LABEL, "Selected"); } else { - pushButton.SetLabelText( "Unselected" ); + pushButton.SetProperty(Toolkit::Button::Property::LABEL, "Unselected"); } } return true; } - bool EnableSelectButton( Toolkit::Button button ) + bool EnableSelectButton(Toolkit::Button button) { - if( button.GetName() == "radio-select-enable" && button.IsSelected() == true ) + bool isSelected = button.GetProperty(Toolkit::Button::Property::SELECTED).Get(); + if(!isSelected) { - mUpdateButton.SetDisabled( false ); + return true; + } + + if(button.GetProperty(Dali::Actor::Property::NAME) == "radioSelectEnable") + { + mUpdateButton.SetProperty(Toolkit::Button::Property::DISABLED, false); - mRadioButtonImage1.SetDisabled( false ); - mRadioButtonImage2.SetDisabled( false ); - mRadioButtonImage3.SetDisabled( false ); + mRadioButtonImage1.SetProperty(Toolkit::Button::Property::DISABLED, false); + mRadioButtonImage2.SetProperty(Toolkit::Button::Property::DISABLED, false); + mRadioButtonImage3.SetProperty(Toolkit::Button::Property::DISABLED, false); - mCheckboxButton1.SetDisabled( false ); - mCheckboxButton2.SetDisabled( false ); - mCheckboxButton3.SetDisabled( false ); + mCheckboxButton1.SetProperty(Toolkit::Button::Property::DISABLED, false); + mCheckboxButton2.SetProperty(Toolkit::Button::Property::DISABLED, false); + mCheckboxButton3.SetProperty(Toolkit::Button::Property::DISABLED, false); - mToggleButton.SetDisabled( false ); + mToggleButton.SetProperty(Toolkit::Button::Property::DISABLED, false); } - else if( button.GetName() == "radio-select-disable" && button.IsSelected() == true ) + else if(button.GetProperty(Dali::Actor::Property::NAME) == "radioSelectDisable") { - mUpdateButton.SetDisabled( true ); + mUpdateButton.SetProperty(Toolkit::Button::Property::DISABLED, true); - mRadioButtonImage1.SetDisabled( true ); - mRadioButtonImage2.SetDisabled( true ); - mRadioButtonImage3.SetDisabled( true ); + mRadioButtonImage1.SetProperty(Toolkit::Button::Property::DISABLED, true); + mRadioButtonImage2.SetProperty(Toolkit::Button::Property::DISABLED, true); + mRadioButtonImage3.SetProperty(Toolkit::Button::Property::DISABLED, true); - mCheckboxButton1.SetDisabled( true ); - mCheckboxButton2.SetDisabled( true ); - mCheckboxButton3.SetDisabled( true ); + mCheckboxButton1.SetProperty(Toolkit::Button::Property::DISABLED, true); + mCheckboxButton2.SetProperty(Toolkit::Button::Property::DISABLED, true); + mCheckboxButton3.SetProperty(Toolkit::Button::Property::DISABLED, true); - mToggleButton.SetDisabled( true ); + mToggleButton.SetProperty(Toolkit::Button::Property::DISABLED, true); } return true; @@ -424,96 +423,68 @@ class ButtonsController: public ConnectionTracker bool OnButtonClicked(Toolkit::Button button) { - if( mRadioButtonImage1.IsSelected() ) + if(mRadioButtonImage1.GetProperty(Toolkit::Button::Property::SELECTED).Get()) { - mImage.SetImage( mBigImage1 ); + mImage.SetImage(BIG_IMAGE_1); } - else if( mRadioButtonImage2.IsSelected() ) + else if(mRadioButtonImage2.GetProperty(Toolkit::Button::Property::SELECTED).Get()) { - mImage.SetImage( mBigImage2 ); + mImage.SetImage(BIG_IMAGE_2); } - else if( mRadioButtonImage3.IsSelected() ) + else if(mRadioButtonImage3.GetProperty(Toolkit::Button::Property::SELECTED).Get()) { - mImage.SetImage( mBigImage3 ); + mImage.SetImage(BIG_IMAGE_3); } return true; } - bool OnCheckBoxesSelected( Toolkit::Button button ) + bool OnCheckBoxesSelected(Toolkit::Button button) { - if( button.GetName() == "checkbox1" ) + bool isSelected = button.GetProperty(Toolkit::Button::Property::SELECTED).Get(); + if(button.GetProperty(Dali::Actor::Property::NAME) == "checkbox1") { - if( button.IsSelected() ) + if(isSelected) { - button.SetLabelText("CheckBox1 is selected"); + button.SetProperty(Toolkit::Button::Property::LABEL, "CheckBox1 is selected"); } else { - button.SetLabelText("CheckBox1 is unselected"); + button.SetProperty(Toolkit::Button::Property::LABEL, "CheckBox1 is unselected"); } } - if( button.GetName() == "checkbox2" ) + if(button.GetProperty(Dali::Actor::Property::NAME) == "checkbox2") { - if( button.IsSelected() ) + if(isSelected) { - button.SetLabelText("CheckBox2 is selected"); + button.SetProperty(Toolkit::Button::Property::LABEL, "CheckBox2 is selected"); } else { - button.SetLabelText("CheckBox2 is unselected"); + button.SetProperty(Toolkit::Button::Property::LABEL, "CheckBox2 is unselected"); } } - if( button.GetName() == "checkbox3" ) + if(button.GetProperty(Dali::Actor::Property::NAME) == "checkbox3") { - if( button.IsSelected() ) + if(isSelected) { - button.SetLabelText("CheckBox3 is selected"); + button.SetProperty(Toolkit::Button::Property::LABEL, "CheckBox3 is selected"); } else { - button.SetLabelText("CheckBox3 is unselected"); + button.SetProperty(Toolkit::Button::Property::LABEL, "CheckBox3 is unselected"); } } return true; } - bool OnTouchEvent( Actor actor, const TouchEvent& event ) - { - if( 1u == event.GetPointCount() ) - { - const TouchPoint::State state = event.GetPoint(0u).state; - - // Clamp to integer values; this is to reduce flicking due to pixel misalignment - const float localPoint = static_cast( static_cast( event.GetPoint( 0 ).local.y ) ); - - if( TouchPoint::Down == state ) - { - mLastPoint = localPoint; - mAnimation = Animation::New( 0.25f ); - } - else if( TouchPoint::Motion == state ) - { - if( mAnimation ) - { - mAnimation.AnimateBy( Property(actor, Actor::Property::POSITION), Vector3( 0.f, localPoint - mLastPoint, 0.f ), AlphaFunction::LINEAR ); - mAnimation.Play(); - mLastPoint = localPoint; - } - } - } - - return true; - } - - private: - - Application& mApplication; - Toolkit::Control mView; ///< The View instance. - Toolkit::ToolBar mToolBar; ///< The View's Toolbar. - Layer mContentLayer; ///< Content layer +private: + Application& mApplication; + Toolkit::Control mView; ///< The View instance. + Toolkit::ToolBar mToolBar; ///< The View's Toolbar. + Layer mContentLayer; ///< Content layer Toolkit::RadioButton mRadioButtonImage1; Toolkit::RadioButton mRadioButtonImage2; @@ -526,29 +497,15 @@ class ButtonsController: public ConnectionTracker Toolkit::CheckBoxButton mCheckboxButton2; Toolkit::CheckBoxButton mCheckboxButton3; - Animation mAnimation; - float mLastPoint; + Animation mAnimation; - Image mBigImage1; - Image mBigImage2; - Image mBigImage3; Toolkit::ImageView mImage; }; -void RunTest( Application& application ) +int DALI_EXPORT_API main(int argc, char** argv) { - ButtonsController test( application ); - + 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, DALI_DEMO_THEME_PATH ); - - RunTest( application ); - return 0; }