From: Adeel Kazmi Date: Thu, 19 Feb 2015 10:35:36 +0000 (-0800) Subject: Merge "Typo fixed in Control implementation doc." into tizen X-Git-Tag: dali_1.0.31~7 X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=commitdiff_plain;h=dc3613bb6248908c267a76e378b04962bce85664;hp=fa6ce6654d9e7c6dae3c24006bc7040dab22bab7 Merge "Typo fixed in Control implementation doc." into tizen --- diff --git a/automated-tests/src/dali-toolkit-internal/utc-Dali-PushButton.cpp b/automated-tests/src/dali-toolkit-internal/utc-Dali-PushButton.cpp index 9885e19..8636839 100644 --- a/automated-tests/src/dali-toolkit-internal/utc-Dali-PushButton.cpp +++ b/automated-tests/src/dali-toolkit-internal/utc-Dali-PushButton.cpp @@ -18,10 +18,10 @@ #include #include +#include #include #include #include -#include using namespace Dali; @@ -30,10 +30,10 @@ using namespace Toolkit; namespace { -static bool gPushButtonToggleState = false; -bool PushButtonToggled( Button button, bool toggled ) +static bool gPushButtonSelectedState = false; +bool PushButtonSelected( Button button, bool selected ) { - gPushButtonToggleState = toggled && ( toggled == static_cast( button ).IsToggled() ); + gPushButtonSelectedState = selected && ( selected == static_cast( button ).IsSelected() ); return true; } @@ -67,15 +67,15 @@ class TETButton; } /** - * Creates a Button to test if interrupt events are handled correctly. + * Creates a PushButton to test if interrupt events are handled correctly. */ -class TETButton : public Button +class TETButton : public PushButton { public: // PushButton Pressed - typedef Signal< bool ( Button ) > PressedSignalType; + typedef Signal< bool ( PushButton ) > ButtonSignalType; - PressedSignalType& PressedSignal(); + ButtonSignalType& PressedSignal(); /** * Default constructor. @@ -85,7 +85,7 @@ public: /** * Copy constructor. */ - TETButton( const Button& button ); + TETButton( const PushButton& button ); /** * Assignment operator. @@ -121,7 +121,7 @@ namespace Internal /** * Internal implementation */ -class TETButton : public Button +class TETButton : public PushButton { public: /** @@ -142,7 +142,7 @@ public: /** * @return the pressed signal. */ - Toolkit::TETButton::PressedSignalType& PressedSignal(); + Toolkit::TETButton::ButtonSignalType& PressedSignal(); /** * Callback called when an interrupt events is received. @@ -154,7 +154,7 @@ public: */ void OnButtonDown(); - Toolkit::TETButton::PressedSignalType mPressedSignal; ///< Signal emitted when the button is pressed. + Toolkit::TETButton::ButtonSignalType mPressedSignal; ///< Signal emitted when the button is pressed. }; } // namespace Internal @@ -163,8 +163,8 @@ TETButton::TETButton() { } -TETButton::TETButton( const Button& button ) -: Button( button ) +TETButton::TETButton( const PushButton& button ) +: PushButton( button ) { } @@ -172,7 +172,7 @@ TETButton& TETButton::operator=( const TETButton& button ) { if( &button != this ) { - Button::operator=( button ); + PushButton::operator=( button ); } return *this; } @@ -187,7 +187,7 @@ TETButton TETButton::DownCast( BaseHandle handle ) return Control::DownCast(handle); } -TETButton::PressedSignalType& TETButton::PressedSignal() +TETButton::ButtonSignalType& TETButton::PressedSignal() { TETButton button( *this ); DALI_ASSERT_ALWAYS( button ); @@ -198,11 +198,11 @@ TETButton::PressedSignalType& TETButton::PressedSignal() } TETButton::TETButton( Internal::TETButton& implementation ) -: Button( implementation ) +: PushButton( implementation ) {} TETButton::TETButton( Dali::Internal::CustomActor* internal ) -: Button( internal ) +: PushButton( internal ) { VerifyCustomActorPointer(internal); } @@ -211,7 +211,7 @@ namespace Internal { TETButton::TETButton() -: Button(), +: PushButton(), mPressedSignal() { } @@ -235,7 +235,7 @@ Toolkit::TETButton TETButton::New() return tetButton; } -Toolkit::TETButton::PressedSignalType& TETButton::PressedSignal() +Toolkit::TETButton::ButtonSignalType& TETButton::PressedSignal() { return mPressedSignal; } @@ -277,7 +277,7 @@ public: { } - bool Callback( Button button ) + bool Callback( PushButton button ) { switch( mTest ) { @@ -660,22 +660,22 @@ int UtcDaliPushButtonProperties(void) DALI_TEST_EQUALS( 4.0f, button.GetProperty< float >( Button::PROPERTY_NEXT_AUTO_REPEATING_DELAY ), TEST_LOCATION ); // Button::PROPERTY_TOGGLABLE - button.SetToggleButton( false ); + button.SetTogglableButton( false ); DALI_TEST_CHECK( ! button.GetProperty< bool >( Button::PROPERTY_TOGGLABLE ) ); button.SetProperty( Button::PROPERTY_TOGGLABLE, true ); - DALI_TEST_CHECK( button.IsToggleButton() ) ; + DALI_TEST_CHECK( button.IsTogglableButton() ) ; DALI_TEST_CHECK( button.GetProperty< bool >( Button::PROPERTY_TOGGLABLE ) ); - // Button::PROPERTY_TOGGLED - button.SetToggled( false ); - DALI_TEST_CHECK( ! button.GetProperty< bool >( Button::PROPERTY_TOGGLED ) ); - button.SetProperty( Button::PROPERTY_TOGGLED, true ); - DALI_TEST_CHECK( button.IsToggled() ) ; - DALI_TEST_CHECK( button.GetProperty< bool >( Button::PROPERTY_TOGGLED ) ); + // Button::PROPERTY_SELECTED + button.SetSelected( false ); + DALI_TEST_CHECK( ! button.GetProperty< bool >( Button::PROPERTY_SELECTED ) ); + button.SetProperty( Button::PROPERTY_SELECTED, true ); + DALI_TEST_CHECK( button.IsSelected() ) ; + DALI_TEST_CHECK( button.GetProperty< bool >( Button::PROPERTY_SELECTED ) ); // Button::PROPERTY_NORMAL_STATE_ACTOR { - button.SetButtonImage( Image::New( "IMAGE_PATH_1") ); + button.SetButtonImage( ResourceImage::New( "IMAGE_PATH_1") ); DALI_TEST_EQUALS( "IMAGE_PATH_1", button.GetProperty( Button::PROPERTY_NORMAL_STATE_ACTOR ).GetValue( "image" ).GetValue( "filename" ).Get< std::string >(), TEST_LOCATION ); Property::Map map; @@ -687,7 +687,7 @@ int UtcDaliPushButtonProperties(void) // Button::PROPERTY_SELECTED_STATE_ACTOR { - button.SetSelectedImage( Image::New( "IMAGE_PATH_2") ); + button.SetSelectedImage( ResourceImage::New( "IMAGE_PATH_2") ); DALI_TEST_EQUALS( "IMAGE_PATH_2", button.GetProperty( Button::PROPERTY_SELECTED_STATE_ACTOR ).GetValue( "image" ).GetValue( "filename" ).Get< std::string >(), TEST_LOCATION ); Property::Map map; @@ -700,7 +700,7 @@ int UtcDaliPushButtonProperties(void) // Button::PROPERTY_DISABLED_STATE_ACTOR { - button.SetDisabledImage( Image::New( "IMAGE_PATH_3") ); + button.SetDisabledImage( ResourceImage::New( "IMAGE_PATH_3") ); DALI_TEST_EQUALS( "IMAGE_PATH_3", button.GetProperty( Button::PROPERTY_DISABLED_STATE_ACTOR ).GetValue( "image" ).GetValue( "filename" ).Get< std::string >(), TEST_LOCATION ); Property::Map map; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp b/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp index f016900..6892c84 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-CheckBoxButton.cpp @@ -27,9 +27,9 @@ namespace { static bool gCheckBoxButtonState = false; -bool CheckBoxButtonClicked( Button button, bool state ) +bool CheckBoxButtonClicked( Button button ) { - gCheckBoxButtonState = state; + gCheckBoxButtonState = button.IsSelected(); return true; } @@ -69,10 +69,10 @@ void checkbox_button_cleanup(void) test_return_value = TET_PASS; } -int UtcDaliCheckBoxButtonSetGetChecked(void) +int UtcDaliCheckBoxButtonSetGetSelected(void) { ToolkitTestApplication application; - tet_infoline(" UtcDaliCheckBoxButtonSetGetChecked"); + tet_infoline(" UtcDaliCheckBoxButtonSetGetSelected"); CheckBoxButton checkBoxButton = CheckBoxButton::New(); checkBoxButton.StateChangedSignal().Connect( &CheckBoxButtonClicked ); @@ -80,19 +80,19 @@ int UtcDaliCheckBoxButtonSetGetChecked(void) // global var used to check if CheckBoxButtonClicked is called; gCheckBoxButtonState = false; - checkBoxButton.SetChecked( true ); + checkBoxButton.SetSelected( true ); - DALI_TEST_CHECK( checkBoxButton.IsChecked() ); + DALI_TEST_CHECK( checkBoxButton.IsSelected() ); DALI_TEST_CHECK( gCheckBoxButtonState ); - checkBoxButton.SetChecked( false ); + checkBoxButton.SetSelected( false ); - DALI_TEST_CHECK( !checkBoxButton.IsChecked() ); + DALI_TEST_CHECK( !checkBoxButton.IsSelected() ); DALI_TEST_CHECK( !gCheckBoxButtonState ); - checkBoxButton.SetChecked( true ); + checkBoxButton.SetSelected( true ); - DALI_TEST_CHECK( checkBoxButton.IsChecked() ); + DALI_TEST_CHECK( checkBoxButton.IsSelected() ); DALI_TEST_CHECK( gCheckBoxButtonState ); END_TEST; } @@ -148,22 +148,22 @@ int UtcDaliCheckBoxButtonSetImages(void) DALI_TEST_EQUALS( size.width, 20.f, TEST_LOCATION ); DALI_TEST_EQUALS( size.height, 20.f, TEST_LOCATION ); - checkBoxButton.SetCheckedImage( image02 ); + checkBoxButton.SetSelectedImage( image02 ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetCheckedImage().GetCurrentSize(); + size = checkBoxButton.GetSelectedImage().GetCurrentSize(); DALI_TEST_EQUALS( size.width, 30.f, TEST_LOCATION ); DALI_TEST_EQUALS( size.height, 30.f, TEST_LOCATION ); - checkBoxButton.SetCheckedImage( imageActor02 ); + checkBoxButton.SetSelectedImage( imageActor02 ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetCheckedImage().GetCurrentSize(); + size = checkBoxButton.GetSelectedImage().GetCurrentSize(); DALI_TEST_EQUALS( size.width, 40.f, TEST_LOCATION ); DALI_TEST_EQUALS( size.height, 40.f, TEST_LOCATION ); @@ -188,22 +188,22 @@ int UtcDaliCheckBoxButtonSetImages(void) DALI_TEST_EQUALS( size.width, 60.f, TEST_LOCATION ); DALI_TEST_EQUALS( size.height, 60.f, TEST_LOCATION ); - checkBoxButton.SetDisabledCheckedImage( image04 ); + checkBoxButton.SetDisabledSelectedImage( image04 ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetDisabledCheckedImage().GetCurrentSize(); + size = checkBoxButton.GetDisabledSelectedImage().GetCurrentSize(); DALI_TEST_EQUALS( size.width, 70.f, TEST_LOCATION ); DALI_TEST_EQUALS( size.height, 70.f, TEST_LOCATION ); - checkBoxButton.SetDisabledCheckedImage( imageActor04 ); + checkBoxButton.SetDisabledSelectedImage( imageActor04 ); application.SendNotification(); application.Render(); - size = checkBoxButton.GetDisabledCheckedImage().GetCurrentSize(); + size = checkBoxButton.GetDisabledSelectedImage().GetCurrentSize(); DALI_TEST_EQUALS( size.width, 80.f, TEST_LOCATION ); DALI_TEST_EQUALS( size.height, 80.f, TEST_LOCATION ); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp b/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp index 95136ce..f1edb7a 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-Control.cpp @@ -380,7 +380,7 @@ int UtcDaliControlBackgroundImage(void) DALI_TEST_CHECK( !control.GetBackgroundActor() ); DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::TRANSPARENT, TEST_LOCATION ); - Image image = Image::New("TestImage"); + Image image = ResourceImage::New("TestImage"); control.SetBackground( image ); DALI_TEST_CHECK( control.GetBackgroundActor() ); DALI_TEST_EQUALS( control.GetBackgroundColor(), Color::WHITE, TEST_LOCATION ); @@ -518,19 +518,19 @@ int UtcDaliControlGestureSignals(void) // Each gesture detector gets created when connecting to the gesture signals DALI_TEST_CHECK( !control.GetTapGestureDetector() ); - control.ConnectSignal( &connectionTracker, Control::SIGNAL_TAPPED, &TestVoidCallback ); + control.ConnectSignal( &connectionTracker, "tapped", &TestVoidCallback ); DALI_TEST_CHECK( control.GetTapGestureDetector() ); DALI_TEST_CHECK( !control.GetPanGestureDetector() ); - control.ConnectSignal( &connectionTracker, Control::SIGNAL_PANNED, &TestVoidCallback ); + control.ConnectSignal( &connectionTracker, "panned", &TestVoidCallback ); DALI_TEST_CHECK( control.GetPanGestureDetector() ); DALI_TEST_CHECK( !control.GetPinchGestureDetector() ); - control.ConnectSignal( &connectionTracker, Control::SIGNAL_PINCHED, &TestVoidCallback ); + control.ConnectSignal( &connectionTracker, "pinched", &TestVoidCallback ); DALI_TEST_CHECK( control.GetPinchGestureDetector() ); DALI_TEST_CHECK( !control.GetLongPressGestureDetector() ); - control.ConnectSignal( &connectionTracker, Control::SIGNAL_LONG_PRESSED, &TestVoidCallback ); + control.ConnectSignal( &connectionTracker, "long-pressed", &TestVoidCallback ); DALI_TEST_CHECK( control.GetLongPressGestureDetector() ); END_TEST; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-CubeTransitionEffect.cpp b/automated-tests/src/dali-toolkit/utc-Dali-CubeTransitionEffect.cpp index 671e19d..9811d1e 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-CubeTransitionEffect.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-CubeTransitionEffect.cpp @@ -326,9 +326,8 @@ int UtcDaliCubeTransitionEffectSetCurrentImage(void) //check the size of the off screen rendered image Wait( application, OFFSCREEN_RENDER_DURATION ); - ImageAttributes attributes( tile.GetImage().GetAttributes() ); - DALI_TEST_EQUALS( static_cast(attributes.GetWidth()), VIEW_AREA_SIZE.x, TEST_LOCATION ); - DALI_TEST_EQUALS( static_cast(attributes.GetHeight()), VIEW_AREA_SIZE.y, TEST_LOCATION ); + DALI_TEST_EQUALS( tile.GetImage().GetWidth(), VIEW_AREA_SIZE.x, TEST_LOCATION ); + DALI_TEST_EQUALS( tile.GetImage().GetHeight(), VIEW_AREA_SIZE.y, TEST_LOCATION ); END_TEST; } @@ -358,9 +357,8 @@ int UtcDaliCubeTransitionEffectSetTargetImage(void) //check the size of the off screen rendered image Wait( application, OFFSCREEN_RENDER_DURATION ); - ImageAttributes attributes( tile.GetImage().GetAttributes() ); - DALI_TEST_EQUALS( static_cast(attributes.GetWidth()), VIEW_AREA_SIZE.x, TEST_LOCATION ); - DALI_TEST_EQUALS( static_cast(attributes.GetHeight()), VIEW_AREA_SIZE.y, TEST_LOCATION ); + DALI_TEST_EQUALS( tile.GetImage().GetWidth(), VIEW_AREA_SIZE.x, TEST_LOCATION ); + DALI_TEST_EQUALS( tile.GetImage().GetHeight(), VIEW_AREA_SIZE.y, TEST_LOCATION ); END_TEST; } @@ -370,7 +368,7 @@ int UtcDaliCubeTransitionWaveEffectStartTransition(void) tet_infoline(" UtcDaliCubeTransitionWaveEffectStartTransition "); application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE ); - ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,30,30); + ImageActor imageActor = ImageActor::New(ResourceImage::New("Image.jpg")); CubeTransitionEffect waveEffect = CubeTransitionWaveEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE ); waveEffect.SetTransitionDuration( TRANSITION_DURATION ); @@ -421,7 +419,7 @@ int UtcDaliCubeTransitionCrossEffectStartTransition(void) tet_infoline(" UtcDaliCubeTransitionCrossEffectStartTransition "); application.GetGlAbstraction().SetCheckFramebufferStatusResult(GL_FRAMEBUFFER_COMPLETE ); - ImageActor imageActor = CreateSolidColorImageActor(application, Color::BLUE,30,30); + ImageActor imageActor = ImageActor::New(ResourceImage::New("Image.jpg")); CubeTransitionEffect crossEffect = CubeTransitionCrossEffect::New( NUM_ROWS, NUM_COLUMNS, VIEW_AREA_SIZE ); crossEffect.SetTransitionDuration( TRANSITION_DURATION ); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-DisplacementEffect.cpp b/automated-tests/src/dali-toolkit/utc-Dali-DisplacementEffect.cpp index 32aa471..522a6fe 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-DisplacementEffect.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-DisplacementEffect.cpp @@ -106,7 +106,7 @@ int UtcDaliDisplacementEffectTestSetProperty(void) Toolkit::DisplacementEffect effect = Toolkit::DisplacementEffect::New(Toolkit::DisplacementEffect::DISPLACED); DALI_TEST_CHECK( effect ); - ImageActor actor = ImageActor::New( Image::New(TEST_IMAGE_FILE_NAME) ); + ImageActor actor = ImageActor::New( ResourceImage::New(TEST_IMAGE_FILE_NAME) ); actor.SetSize( 100.0f, 100.0f ); actor.SetShaderEffect( effect ); Stage::GetCurrent().Add( actor ); @@ -114,7 +114,7 @@ int UtcDaliDisplacementEffectTestSetProperty(void) Toolkit::DisplacementEffect effect2 = Toolkit::DisplacementEffect::New(Toolkit::DisplacementEffect::FIXED); DALI_TEST_CHECK( effect ); - ImageActor actor2 = ImageActor::New( Image::New(TEST_IMAGE_FILE_NAME) ); + ImageActor actor2 = ImageActor::New( ResourceImage::New(TEST_IMAGE_FILE_NAME) ); actor2.SetSize( 100.0f, 100.0f ); actor2.SetShaderEffect( effect2 ); Stage::GetCurrent().Add( actor2 ); diff --git a/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp index d4b6e4a..2028c6c 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-GaussianBlurView.cpp @@ -195,7 +195,7 @@ int UtcDaliGaussianBlurViewSetGetRenderTarget(void) view.Activate(); FrameBufferImage renderTarget = FrameBufferImage::New( 480.0f, 800.0f, Pixel::RGB888 ); - view.SetUserImageAndOutputRenderTarget(Image::New(TEST_IMAGE_FILE_NAME), renderTarget); + view.SetUserImageAndOutputRenderTarget(ResourceImage::New(TEST_IMAGE_FILE_NAME), renderTarget); DALI_TEST_CHECK( view.GetBlurredRenderTarget() == renderTarget ); END_TEST; } diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ItemLayout.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ItemLayout.cpp index b81aa6d..6f45276 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ItemLayout.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ItemLayout.cpp @@ -66,7 +66,7 @@ public: // From ItemFactory virtual Actor NewItem(unsigned int itemId) { // Create an image actor for this item - Image image = Image::New( TEST_IMAGE_FILE_NAME ); + Image image = ResourceImage::New( TEST_IMAGE_FILE_NAME ); Actor actor = ImageActor::New(image); return actor; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp index a565f6e..c66a650 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-ItemView.cpp @@ -83,7 +83,7 @@ public: // From ItemFactory virtual Actor NewItem(unsigned int itemId) { // Create an image actor for this item - Image image = Image::New( TEST_IMAGE_FILE_NAME ); + Image image = ResourceImage::New( TEST_IMAGE_FILE_NAME ); Actor actor = ImageActor::New(image); return actor; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp b/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp index 4b314c0..443de6f 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-PageTurnView.cpp @@ -507,7 +507,7 @@ int UtcDaliPageTurnViewSignals(void) // [0]: testing PageTurnStartedSignal; [1]: testing PageTurnFinishedSignal // [2]: testing PagePanStartedSignal; [3]: testing PagePanFinishedSignal - bool signalVerified[4]; + bool signalVerified[4] = {false, false, false, false}; PageTurnView currentView; unsigned int pageIndex; bool isTurningForwards; diff --git a/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp b/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp index 2f0b7fc..7313afc 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-PushButton.cpp @@ -42,10 +42,10 @@ void utc_dali_toolkit_pushbutton_cleanup(void) namespace { -static bool gPushButtonToggleState = false; -bool PushButtonToggled( Button button, bool toggled ) +static bool gPushButtonSelectedState = false; +bool PushButtonSelected( Button button ) { - gPushButtonToggleState = toggled && ( toggled == static_cast( button ).IsToggled() ); + gPushButtonSelectedState = button.IsSelected(); return true; } @@ -118,101 +118,101 @@ int UtcDaliPushButtonSetGetAutoRepeating(void) END_TEST; } -int UtcDaliPushButtonSetGetToggleButton(void) +int UtcDaliPushButtonSetGetTogglableButton(void) { ToolkitTestApplication application; - tet_infoline(" UtcDaliPushButtonSetGetToggleButton"); + tet_infoline(" UtcDaliPushButtonSetGetTogglableButton"); PushButton pushButton = PushButton::New(); - pushButton.SetToggleButton( true ); + pushButton.SetTogglableButton( true ); - DALI_TEST_CHECK( pushButton.IsToggleButton() ); + DALI_TEST_CHECK( pushButton.IsTogglableButton() ); - pushButton.SetToggleButton( false ); + pushButton.SetTogglableButton( false ); - DALI_TEST_CHECK( !pushButton.IsToggleButton() ); + DALI_TEST_CHECK( !pushButton.IsTogglableButton() ); - pushButton.SetToggleButton( true ); + pushButton.SetTogglableButton( true ); - DALI_TEST_CHECK( pushButton.IsToggleButton() ); + DALI_TEST_CHECK( pushButton.IsTogglableButton() ); END_TEST; } -int UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton(void) +int UtcDaliPushButtonSetGetAutoRepeatingAndTogglableButton(void) { ToolkitTestApplication application; - tet_infoline(" UtcDaliPushButtonSetGetAutoRepeatingAndToggleButton"); + tet_infoline(" UtcDaliPushButtonSetGetAutoRepeatingAndTogglableButton"); PushButton pushButton = PushButton::New(); pushButton.SetAutoRepeating( true ); - pushButton.SetToggleButton( true ); + pushButton.SetTogglableButton( true ); - DALI_TEST_CHECK( pushButton.IsToggleButton() ); + DALI_TEST_CHECK( pushButton.IsTogglableButton() ); DALI_TEST_CHECK( !pushButton.IsAutoRepeating() ); - pushButton.SetToggleButton( true ); + pushButton.SetTogglableButton( true ); pushButton.SetAutoRepeating( true ); DALI_TEST_CHECK( pushButton.IsAutoRepeating() ); - DALI_TEST_CHECK( !pushButton.IsToggleButton() ); + DALI_TEST_CHECK( !pushButton.IsTogglableButton() ); END_TEST; } -int UtcDaliPushButtonSetGetToggled01(void) +int UtcDaliPushButtonSetGetSelected01(void) { ToolkitTestApplication application; - tet_infoline(" UtcDaliPushButtonSetGetToggled01"); + tet_infoline(" UtcDaliPushButtonSetGetSelected01"); PushButton pushButton = PushButton::New(); - pushButton.SetToggleButton( true ); - pushButton.StateChangedSignal().Connect( &PushButtonToggled ); + pushButton.SetTogglableButton( true ); + pushButton.StateChangedSignal().Connect( &PushButtonSelected ); - gPushButtonToggleState = false; - pushButton.SetToggled( true ); + gPushButtonSelectedState = false; + pushButton.SetSelected( true ); - DALI_TEST_CHECK( pushButton.IsToggled() ); - DALI_TEST_CHECK( gPushButtonToggleState ); + DALI_TEST_CHECK( pushButton.IsSelected() ); + DALI_TEST_CHECK( gPushButtonSelectedState ); - pushButton.SetToggled( false ); + pushButton.SetSelected( false ); - DALI_TEST_CHECK( !pushButton.IsToggled() ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); - pushButton.SetToggled( true ); + pushButton.SetSelected( true ); - DALI_TEST_CHECK( pushButton.IsToggled() ); - DALI_TEST_CHECK( gPushButtonToggleState ); + DALI_TEST_CHECK( pushButton.IsSelected() ); + DALI_TEST_CHECK( gPushButtonSelectedState ); END_TEST; } -int UtcDaliPushButtonSetGetToggled02(void) +int UtcDaliPushButtonSetGetSelected02(void) { ToolkitTestApplication application; - tet_infoline(" UtcDaliPushButtonSetGetToggled02"); + tet_infoline(" UtcDaliPushButtonSetGetSelected02"); PushButton pushButton = PushButton::New(); - pushButton.SetToggleButton( false ); - pushButton.StateChangedSignal().Connect( &PushButtonToggled ); + pushButton.SetTogglableButton( false ); + pushButton.StateChangedSignal().Connect( &PushButtonSelected ); - gPushButtonToggleState = false; - pushButton.SetToggled( true ); + gPushButtonSelectedState = false; + pushButton.SetSelected( true ); - DALI_TEST_CHECK( !pushButton.IsToggled() ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); - pushButton.SetToggled( false ); + pushButton.SetSelected( false ); - DALI_TEST_CHECK( !pushButton.IsToggled() ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); - pushButton.SetToggled( true ); + pushButton.SetSelected( true ); - DALI_TEST_CHECK( !pushButton.IsToggled() ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !pushButton.IsSelected() ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); END_TEST; } @@ -551,10 +551,10 @@ int UtcDaliPushButtonReleased(void) END_TEST; } -int UtcDaliPushButtonToggled(void) +int UtcDaliPushButtonSelected(void) { ToolkitTestApplication application; - tet_infoline(" UtcDaliPushButtonToggled"); + tet_infoline(" UtcDaliPushButtonSelected"); PushButton pushButton = PushButton::New(); pushButton.SetAnchorPoint( AnchorPoint::TOP_LEFT ); @@ -568,13 +568,13 @@ int UtcDaliPushButtonToggled(void) application.Render(); // connect to its touch signal - pushButton.StateChangedSignal().Connect( &PushButtonToggled ); + pushButton.StateChangedSignal().Connect( &PushButtonSelected ); Dali::Integration::TouchEvent event; - // Test1. No toggle button. + // Test1. No togglable button. - gPushButtonToggleState = false; + gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); event.AddPoint( pointDownInside ); application.ProcessEvent( event ); @@ -583,13 +583,13 @@ int UtcDaliPushButtonToggled(void) event.AddPoint( pointUpInside ); application.ProcessEvent( event ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); - // Set toggle property. - pushButton.SetToggleButton( true ); + // Set togglable property. + pushButton.SetTogglableButton( true ); // Test2. Touch point down and up inside the button twice. - gPushButtonToggleState = false; + gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); event.AddPoint( pointDownInside ); application.ProcessEvent( event ); @@ -598,7 +598,7 @@ int UtcDaliPushButtonToggled(void) event.AddPoint( pointUpInside ); application.ProcessEvent( event ); - DALI_TEST_CHECK( gPushButtonToggleState ); + DALI_TEST_CHECK( gPushButtonSelectedState ); event = Dali::Integration::TouchEvent(); event.AddPoint( pointDownInside ); @@ -608,11 +608,11 @@ int UtcDaliPushButtonToggled(void) event.AddPoint( pointUpInside ); application.ProcessEvent( event ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); // Test3. Touch point down and up outside the button. - gPushButtonToggleState = false; + gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); event.AddPoint( pointDownOutside ); application.ProcessEvent( event ); @@ -621,11 +621,11 @@ int UtcDaliPushButtonToggled(void) event.AddPoint( pointUpOutside ); application.ProcessEvent( event ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); // Test4. Touch point down inside and up outside the button. - gPushButtonToggleState = false; + gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); event.AddPoint( pointDownInside ); application.ProcessEvent( event ); @@ -638,11 +638,11 @@ int UtcDaliPushButtonToggled(void) event.AddPoint( pointUpOutside ); application.ProcessEvent( event ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); // Test5. Touch point down outside and up inside the button. - gPushButtonToggleState = false; + gPushButtonSelectedState = false; event = Dali::Integration::TouchEvent(); event.AddPoint( pointDownOutside ); application.ProcessEvent( event ); @@ -655,6 +655,6 @@ int UtcDaliPushButtonToggled(void) event.AddPoint( pointUpInside ); application.ProcessEvent( event ); - DALI_TEST_CHECK( !gPushButtonToggleState ); + DALI_TEST_CHECK( !gPushButtonSelectedState ); END_TEST; } diff --git a/automated-tests/src/dali-toolkit/utc-Dali-RadioButton.cpp b/automated-tests/src/dali-toolkit/utc-Dali-RadioButton.cpp index 66bb90d..9b3c9e5 100644 --- a/automated-tests/src/dali-toolkit/utc-Dali-RadioButton.cpp +++ b/automated-tests/src/dali-toolkit/utc-Dali-RadioButton.cpp @@ -117,21 +117,13 @@ int UtcDaliRadioButtonLabelActor(void) END_TEST; } -int UtcDaliRadioButtonActive(void) +int UtcDaliRadioButtonSelected(void) { ToolkitTestApplication application; RadioButton radioButton = RadioButton::New(); - // Default active - DALI_TEST_CHECK( radioButton.IsSelected() == false ); - - // False to true - radioButton.ToggleState(); - DALI_TEST_CHECK( radioButton.IsSelected() == true ); - - // True to false - radioButton.ToggleState(); + // Default selected DALI_TEST_CHECK( radioButton.IsSelected() == false ); // False @@ -149,10 +141,10 @@ int UtcDaliRadioButtonActive(void) END_TEST; } -int UtcDaliRadioButtonActiveProperty(void) +int UtcDaliRadioButtonSelectedProperty(void) { ToolkitTestApplication application; // Exceptions require ToolkitTestApplication - tet_infoline(" UtcDaliRadioButtonActiveProperty"); + tet_infoline(" UtcDaliRadioButtonSelectedProperty"); // Create the RadioButton actor RadioButton radioButton = RadioButton::New(); @@ -161,20 +153,20 @@ int UtcDaliRadioButtonActiveProperty(void) radioButton.SetAnchorPoint(ParentOrigin::TOP_LEFT); radioButton.SetPosition( 0.0f, 0.0f ); - // Default active - DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_TOGGLED ) == false ); + // Default selected + DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_SELECTED ) == false ); - // Setting false active - radioButton.SetProperty( Button::PROPERTY_TOGGLED, false ); - DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_TOGGLED ) == false ); + // Setting false selected + radioButton.SetProperty( Button::PROPERTY_SELECTED, false ); + DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_SELECTED ) == false ); - // Setting true active - radioButton.SetProperty( Button::PROPERTY_TOGGLED, true ); - DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_TOGGLED ) == true ); + // Setting true selected + radioButton.SetProperty( Button::PROPERTY_SELECTED, true ); + DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_SELECTED ) == true ); // Setting false again - radioButton.SetProperty( Button::PROPERTY_TOGGLED, false ); - DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_TOGGLED ) == false ); + radioButton.SetProperty( Button::PROPERTY_SELECTED, false ); + DALI_TEST_CHECK( radioButton.GetProperty( Button::PROPERTY_SELECTED ) == false ); // Test selecting radio buttons RadioButton radioButton2 = RadioButton::New( "label" ); @@ -201,71 +193,91 @@ int UtcDaliRadioButtonActiveProperty(void) application.Render(); // Simulate touch events - DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_TOGGLED ) == false ); - DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_TOGGLED ) == false ); + DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_SELECTED ) == false ); + DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_SELECTED ) == false ); // Select first radio { - Dali::Integration::TouchEvent event = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event1 = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event2 = Dali::Integration::TouchEvent(); + const Dali::TouchPoint pointDown( 0, TouchPoint::Down, 10.0f, 10.0f ); const Dali::TouchPoint pointUp( 0, TouchPoint::Up, 10.0f, 10.0f ); - event.AddPoint( pointUp ); - application.ProcessEvent( event ); + event1.AddPoint( pointDown ); + application.ProcessEvent( event1 ); + + event2.AddPoint( pointUp ); + application.ProcessEvent( event2 ); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_TOGGLED ) == true ); - DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_TOGGLED ) == false ); + DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_SELECTED ) == true ); + DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_SELECTED ) == false ); } // Select an already selected radio { - Dali::Integration::TouchEvent event = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event1 = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event2 = Dali::Integration::TouchEvent(); - const Dali::TouchPoint pointDown( 0, TouchPoint::Up, 10.0f, 10.0f ); - event.AddPoint( pointDown ); + const Dali::TouchPoint pointDown( 0, TouchPoint::Down, 10.0f, 10.0f ); + const Dali::TouchPoint pointUp( 0, TouchPoint::Up, 10.0f, 10.0f ); + + event1.AddPoint( pointDown ); + application.ProcessEvent( event1 ); - application.ProcessEvent( event ); + event2.AddPoint( pointUp ); + application.ProcessEvent( event2 ); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_TOGGLED ) == true ); - DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_TOGGLED ) == false ); + DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_SELECTED ) == true ); + DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_SELECTED ) == false ); } // Select second radio { - Dali::Integration::TouchEvent event = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event1 = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event2 = Dali::Integration::TouchEvent(); - const Dali::TouchPoint pointDown( 0, TouchPoint::Up, 10.0f, 50.0f ); - event.AddPoint( pointDown ); + const Dali::TouchPoint pointDown( 0, TouchPoint::Down, 10.0f, 50.0f ); + const Dali::TouchPoint pointUp( 0, TouchPoint::Up, 10.0f, 50.0f ); - application.ProcessEvent( event ); + event1.AddPoint( pointDown ); + application.ProcessEvent( event1 ); + + event2.AddPoint( pointUp ); + application.ProcessEvent( event2 ); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_TOGGLED ) == false ); - DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_TOGGLED ) == true ); + DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_SELECTED ) == false ); + DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_SELECTED ) == true ); } // Select outside radio group { - Dali::Integration::TouchEvent event = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event1 = Dali::Integration::TouchEvent(); + Dali::Integration::TouchEvent event2 = Dali::Integration::TouchEvent(); + + const Dali::TouchPoint pointDown( 0, TouchPoint::Down, 10.0f, 500.0f ); + const Dali::TouchPoint pointUp( 0, TouchPoint::Up, 10.0f, 500.0f ); - const Dali::TouchPoint pointDown( 0, TouchPoint::Up, 10.0f, 500.0f ); - event.AddPoint( pointDown ); + event1.AddPoint( pointDown ); + application.ProcessEvent( event1 ); - application.ProcessEvent( event ); + event2.AddPoint( pointUp ); + application.ProcessEvent( event2 ); application.SendNotification(); application.Render(); - DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_TOGGLED ) == false ); - DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_TOGGLED ) == true ); + DALI_TEST_CHECK( radioButton2.GetProperty( Button::PROPERTY_SELECTED ) == false ); + DALI_TEST_CHECK( radioButton3.GetProperty( Button::PROPERTY_SELECTED ) == true ); } END_TEST; diff --git a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp index 097097f..1d514dc 100644 --- a/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp +++ b/dali-toolkit/internal/controls/bloom-view/bloom-view-impl.cpp @@ -357,9 +357,9 @@ void BloomView::AllocateResources() // Create render targets // create off screen buffer of new size to render our child actors to - mRenderTargetForRenderingChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::Unused ); - mBloomExtractTarget = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat, Dali::Image::Unused ); - mOutputRenderTarget = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::Unused ); + mRenderTargetForRenderingChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::UNUSED ); + mBloomExtractTarget = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat, Dali::Image::UNUSED ); + mOutputRenderTarget = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::UNUSED); ////////////////////////////////////////////////////// diff --git a/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.cpp b/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.cpp index 1faf68c..d9b868f 100644 --- a/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.cpp +++ b/dali-toolkit/internal/controls/bubble-effect/bubble-emitter-impl.cpp @@ -22,6 +22,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -89,7 +90,7 @@ void BubbleEmitter::OnInitialize() mBubbleRoot.SetSize(mMovementArea); // Prepare the frame buffer to store the color adjusted background image - mEffectImage = FrameBufferImage::New( mMovementArea.width/4.f, mMovementArea.height/4.f, Pixel::RGBA8888, Dali::Image::Unused ); + mEffectImage = FrameBufferImage::New( mMovementArea.width/4.f, mMovementArea.height/4.f, Pixel::RGBA8888, Dali::Image::UNUSED ); // Generate the material object, which is used by all meshActors GenMaterial(); @@ -107,7 +108,7 @@ void BubbleEmitter::OnInitialize() mMeshActor[i] = MeshActor::New( mMesh[i] ); mMeshActor[i].SetAffectedByLighting( false ); mMeshActor[i].SetParentOrigin(ParentOrigin::TOP_LEFT); - mEffect[i] = BubbleEffect::New( mNumBubblePerShader, mShapeImage.GetFilename() ); + mEffect[i] = BubbleEffect::New( mNumBubblePerShader ); mEffect[i].SetEffectImage( mEffectImage ); mEffect[i].SetMovementArea( mMovementArea ); mMeshActor[i].SetShaderEffect( mEffect[i] ); @@ -120,7 +121,7 @@ void BubbleEmitter::OnInitialize() mMeshActorForNoise = MeshActor::New( Mesh::New(meshDataForNoise) ); mMeshActorForNoise.SetAffectedByLighting( false ); mMeshActorForNoise.SetParentOrigin(ParentOrigin::TOP_LEFT); - mEffectForNoise = BubbleEffect::New( mNumBubblePerShader, mShapeImage.GetFilename() ); + mEffectForNoise = BubbleEffect::New( mNumBubblePerShader ); mEffectForNoise.SetMovementArea( mMovementArea ); mEffectForNoise.SetEffectImage( mEffectImage ); mMeshActorForNoise.SetShaderEffect( mEffectForNoise ); @@ -169,15 +170,6 @@ void BubbleEmitter::SetBackground( Image bgImage, const Vector3& hsvDelta ) void BubbleEmitter::SetShapeImage( Image shapeImage ) { mCustomMaterial.SetDiffuseTexture( shapeImage ); - - //Get pixel width of the shape - float width = Image::GetImageSize(shapeImage.GetFilename()).width; - - for(unsigned int i=0; i < mNumShader; i++ ) - { - mEffect[i].SetShapeImageWidth(width); - } - mEffectForNoise.SetShapeImageWidth(width); } void BubbleEmitter::SetBubbleScale( float scale ) diff --git a/dali-toolkit/internal/controls/buttons/button-impl.cpp b/dali-toolkit/internal/controls/buttons/button-impl.cpp index 2cb3d72..fb61723 100644 --- a/dali-toolkit/internal/controls/buttons/button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/button-impl.cpp @@ -21,6 +21,9 @@ // EXTERNAL INCLUDES #include #include +#include +#include +#include namespace Dali { @@ -33,7 +36,7 @@ const Property::Index Button::PROPERTY_AUTO_REPEATING = Internal:: const Property::Index Button::PROPERTY_INITIAL_AUTO_REPEATING_DELAY = Internal::Button::BUTTON_PROPERTY_START_INDEX + 2; const Property::Index Button::PROPERTY_NEXT_AUTO_REPEATING_DELAY = Internal::Button::BUTTON_PROPERTY_START_INDEX + 3; const Property::Index Button::PROPERTY_TOGGLABLE = Internal::Button::BUTTON_PROPERTY_START_INDEX + 4; -const Property::Index Button::PROPERTY_TOGGLED = Internal::Button::BUTTON_PROPERTY_START_INDEX + 5; +const Property::Index Button::PROPERTY_SELECTED = Internal::Button::BUTTON_PROPERTY_START_INDEX + 5; const Property::Index Button::PROPERTY_NORMAL_STATE_ACTOR = Internal::Button::BUTTON_PROPERTY_START_INDEX + 6; const Property::Index Button::PROPERTY_SELECTED_STATE_ACTOR = Internal::Button::BUTTON_PROPERTY_START_INDEX + 7; const Property::Index Button::PROPERTY_DISABLED_STATE_ACTOR = Internal::Button::BUTTON_PROPERTY_START_INDEX + 8; @@ -45,23 +48,41 @@ namespace Internal namespace { +const unsigned int INITIAL_AUTOREPEATING_DELAY( 0.15f ); +const unsigned int NEXT_AUTOREPEATING_DELAY( 0.05f ); + +// Signals + +const char* const SIGNAL_PRESSED = "pressed"; +const char* const SIGNAL_RELEASED = "released"; +const char* const SIGNAL_CLICKED = "clicked"; +const char* const SIGNAL_STATE_CHANGED = "state-changed"; + +// Actions + +const char* const ACTION_BUTTON_CLICK = "button-click"; + BaseHandle Create() { // empty handle as we cannot create button (but type registered for clicked signal) return BaseHandle(); } -TypeRegistration typeRegistration( typeid(Toolkit::Button), typeid(Toolkit::Control), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::Button ), typeid( Toolkit::Control ), Create ); + +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_PRESSED , &Button::DoConnectSignal ); +SignalConnectorType signalConnector2( typeRegistration, SIGNAL_RELEASED, &Button::DoConnectSignal ); +SignalConnectorType signalConnector3( typeRegistration, SIGNAL_CLICKED, &Button::DoConnectSignal ); +SignalConnectorType signalConnector4( typeRegistration, SIGNAL_STATE_CHANGED, &Button::DoConnectSignal ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::Button::SIGNAL_CLICKED, &Button::DoConnectSignal ); -SignalConnectorType signalConnector2( typeRegistration, Toolkit::Button::SIGNAL_STATE_CHANGED, &Button::DoConnectSignal ); +TypeAction action1( typeRegistration, ACTION_BUTTON_CLICK, &Button::DoAction ); PropertyRegistration property1( typeRegistration, "disabled", Toolkit::Button::PROPERTY_DISABLED, Property::BOOLEAN, &Button::SetProperty, &Button::GetProperty ); PropertyRegistration property2( typeRegistration, "auto-repeating", Toolkit::Button::PROPERTY_AUTO_REPEATING, Property::BOOLEAN, &Button::SetProperty, &Button::GetProperty ); PropertyRegistration property3( typeRegistration, "initial-auto-repeating-delay", Toolkit::Button::PROPERTY_INITIAL_AUTO_REPEATING_DELAY, Property::FLOAT, &Button::SetProperty, &Button::GetProperty ); PropertyRegistration property4( typeRegistration, "next-auto-repeating-delay", Toolkit::Button::PROPERTY_NEXT_AUTO_REPEATING_DELAY, Property::FLOAT, &Button::SetProperty, &Button::GetProperty ); PropertyRegistration property5( typeRegistration, "togglable", Toolkit::Button::PROPERTY_TOGGLABLE, Property::BOOLEAN, &Button::SetProperty, &Button::GetProperty ); -PropertyRegistration property6( typeRegistration, "toggled", Toolkit::Button::PROPERTY_TOGGLED, Property::BOOLEAN, &Button::SetProperty, &Button::GetProperty ); +PropertyRegistration property6( typeRegistration, "selected", Toolkit::Button::PROPERTY_SELECTED, Property::BOOLEAN, &Button::SetProperty, &Button::GetProperty ); PropertyRegistration property7( typeRegistration, "normal-state-actor", Toolkit::Button::PROPERTY_NORMAL_STATE_ACTOR, Property::MAP, &Button::SetProperty, &Button::GetProperty ); PropertyRegistration property8( typeRegistration, "selected-state-actor", Toolkit::Button::PROPERTY_SELECTED_STATE_ACTOR, Property::MAP, &Button::SetProperty, &Button::GetProperty ); PropertyRegistration property9( typeRegistration, "disabled-state-actor", Toolkit::Button::PROPERTY_DISABLED_STATE_ACTOR, Property::MAP, &Button::SetProperty, &Button::GetProperty ); @@ -71,14 +92,27 @@ PropertyRegistration property10( typeRegistration, "label-actor", Button::Button() : Control( ControlBehaviour( REQUIRES_TOUCH_EVENTS | REQUIRES_STYLE_CHANGE_SIGNALS ) ), + mTogglableButton( false ), + mSelected( false ), mPainter( NULL ), - mState( ButtonUp ), - mDisabled( false ) + mAutoRepeatingTimer(), + mDisabled( false ), + mAutoRepeating( false ), +// mTogglableButton( false ), +// mSelected( false ), + mInitialAutoRepeatingDelay( INITIAL_AUTOREPEATING_DELAY ), + mNextAutoRepeatingDelay( NEXT_AUTOREPEATING_DELAY ), + mClickActionPerforming( false ), + mState( ButtonUp ) { } Button::~Button() { + if( mAutoRepeatingTimer ) + { + mAutoRepeatingTimer.Reset(); + } } void Button::SetDisabled( bool disabled ) @@ -98,6 +132,94 @@ bool Button::IsDisabled() const return mDisabled; } +void Button::SetAutoRepeating( bool autoRepeating ) +{ + mAutoRepeating = autoRepeating; + + // An autorepeating button can't be a togglable button. + if( autoRepeating ) + { + mTogglableButton = false; + if( mSelected ) + { + // Emit a signal is not wanted, only change the appearance. + Toolkit::Button handle( GetOwner() ); + mPainter->Selected( handle ); + mSelected = false; + } + } + + // Notifies the painter. + mPainter->SetAutoRepeating( mAutoRepeating ); +} + +bool Button::IsAutoRepeating() const +{ + return mAutoRepeating; +} + +void Button::SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ) +{ + DALI_ASSERT_ALWAYS( initialAutoRepeatingDelay > 0.f ); + mInitialAutoRepeatingDelay = initialAutoRepeatingDelay; +} + +float Button::GetInitialAutoRepeatingDelay() const +{ + return mInitialAutoRepeatingDelay; +} + +void Button::SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ) +{ + DALI_ASSERT_ALWAYS( nextAutoRepeatingDelay > 0.f ); + mNextAutoRepeatingDelay = nextAutoRepeatingDelay; +} + +float Button::GetNextAutoRepeatingDelay() const +{ + return mNextAutoRepeatingDelay; +} + +void Button::SetTogglableButton( bool togglable ) +{ + mTogglableButton = togglable; + + // A togglable button can't be an autorepeating button. + if( togglable ) + { + mAutoRepeating = false; + + // Notifies the painter. + mPainter->SetAutoRepeating( mAutoRepeating ); + } +} + +bool Button::IsTogglableButton() const +{ + return mTogglableButton; +} + +void Button::SetSelected( bool selected ) +{ + if( !mDisabled && mTogglableButton && ( selected != mSelected ) ) + { + mSelected = selected; + + Toolkit::Button handle( GetOwner() ); + + // Notifies the painter the button has been selected. + mPainter->Selected( handle ); + + // Emit signal. + mStateChangedSignal.Emit( handle ); + } +} + +bool Button::IsSelected() const +{ + return mTogglableButton && mSelected; +} + void Button::SetAnimationTime( float animationTime ) { OnAnimationTimeSet( animationTime ); @@ -108,32 +230,325 @@ float Button::GetAnimationTime() const return OnAnimationTimeRequested(); } +void Button::SetLabel( const std::string& label ) +{ + Toolkit::TextView textView = Toolkit::TextView::New( label ); + textView.SetWidthExceedPolicy( Toolkit::TextView::ShrinkToFit ); // Make sure our text always fits inside the button + SetLabel( textView ); + + RelayoutRequest(); +} + +void Button::SetLabel( Actor label ) +{ + Toolkit::Button handle( GetOwner() ); + + mPainter->SetLabel( handle, label ); +} + +Actor Button::GetLabel() const +{ + return mLabel; +} + +Actor& Button::GetLabel() +{ + return mLabel; +} + +void Button::SetButtonImage( Image image ) +{ + SetButtonImage( ImageActor::New( image ) ); +} + +void Button::SetButtonImage( Actor image ) +{ + Toolkit::Button handle( GetOwner() ); + mPainter->SetButtonImage( handle, image ); +} + +Actor Button::GetButtonImage() const +{ + return mButtonImage; +} + +Actor& Button::GetButtonImage() +{ + return mButtonImage; +} + +void Button::SetSelectedImage( Image image ) +{ + SetSelectedImage( ImageActor::New( image ) ); +} + +void Button::SetSelectedImage( Actor image ) +{ + Toolkit::Button handle( GetOwner() ); + mPainter->SetSelectedImage( handle, image ); +} + +Actor Button::GetSelectedImage() const +{ + return mSelectedImage; +} + +Actor& Button::GetSelectedImage() +{ + return mSelectedImage; +} + +void Button::SetBackgroundImage( Image image ) +{ + SetBackgroundImage( ImageActor::New( image ) ); +} + +void Button::SetBackgroundImage( Actor image ) +{ + Toolkit::Button handle( GetOwner() ); + mPainter->SetBackgroundImage( handle, image ); +} + +Actor Button::GetBackgroundImage() const +{ + return mBackgroundImage; +} + +Actor& Button::GetBackgroundImage() +{ + return mBackgroundImage; +} + +void Button::SetDisabledImage( Image image ) +{ + SetDisabledImage( ImageActor::New( image ) ); +} + +void Button::SetDisabledImage( Actor image ) +{ + Toolkit::Button handle( GetOwner() ); + mPainter->SetDisabledImage( handle, image ); +} + +Actor Button::GetDisabledImage() const +{ + return mDisabledImage; +} + +Actor& Button::GetDisabledImage() +{ + return mDisabledImage; +} + +void Button::SetDisabledSelectedImage( Image image ) +{ + SetDisabledSelectedImage( ImageActor::New( image ) ); +} + +void Button::SetDisabledSelectedImage( Actor image ) +{ + Toolkit::Button handle( GetOwner() ); + mPainter->SetDisabledSelectedImage( handle, image ); +} + +Actor Button::GetDisabledSelectedImage() const +{ + return mDisabledSelectedImage; +} + +Actor& Button::GetDisabledSelectedImage() +{ + return mDisabledSelectedImage; +} + +void Button::SetDisabledBackgroundImage( Image image ) +{ + SetDisabledBackgroundImage( ImageActor::New( image ) ); +} + +void Button::SetDisabledBackgroundImage( Actor image ) +{ + Toolkit::Button handle( GetOwner() ); + mPainter->SetDisabledBackgroundImage( handle, image ); +} + +Actor Button::GetDisabledBackgroundImage() const +{ + return mDisabledBackgroundImage; +} + +Actor& Button::GetDisabledBackgroundImage() +{ + return mDisabledBackgroundImage; +} + +Actor& Button::GetFadeOutButtonImage() +{ + return mFadeOutButtonImage; +} + +Actor& Button::GetFadeOutSelectedImage() +{ + return mFadeOutSelectedImage; +} + +Actor& Button::GetFadeOutBackgroundImage() +{ + return mFadeOutBackgroundImage; +} + +bool Button::DoAction( BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes ) +{ + bool ret = false; + + Dali::BaseHandle handle( object ); + + Toolkit::Button button = Toolkit::Button::DownCast( handle ); + + DALI_ASSERT_ALWAYS( button ); + + if( 0 == strcmp( actionName.c_str(), ACTION_BUTTON_CLICK ) ) + { + GetImplementation( button ).DoClickAction( attributes ); + ret = true; + } + + return ret; +} + +void Button::DoClickAction( const PropertyValueContainer& attributes ) +{ + // Prevents the button signals from doing a recursive loop by sending an action + // and re-emitting the signals. + if( !mClickActionPerforming ) + { + mClickActionPerforming = true; + OnButtonDown(); + mState = ButtonDown; + OnButtonUp(); + mClickActionPerforming = false; + } +} + void Button::OnAnimationTimeSet( float animationTime ) { - // nothing to do. + mPainter->SetAnimationTime( animationTime ); +} + +float Button::OnAnimationTimeRequested() const +{ + return mPainter->GetAnimationTime(); +} + +void Button::OnButtonStageDisconnection() +{ + if( ButtonDown == mState ) + { + if( !mTogglableButton ) + { + Toolkit::Button handle( GetOwner() ); + + // Notifies the painter the button has been released. + mPainter->Released( handle ); + + if( mAutoRepeating ) + { + mAutoRepeatingTimer.Reset(); + } + } + } } void Button::OnButtonDown() { + if( !mTogglableButton ) + { + Toolkit::Button handle( GetOwner() ); + + // Notifies the painter the button has been pressed. + mPainter->Pressed( handle ); + + if( mAutoRepeating ) + { + SetUpTimer( mInitialAutoRepeatingDelay ); + } + //Emit signal. + mPressedSignal.Emit( handle ); + } } void Button::OnButtonUp() { + if( ButtonDown == mState ) + { + if( mTogglableButton ) + { + SetSelected( !mSelected ); + } + else + { + Toolkit::Button handle( GetOwner() ); + + // Notifies the painter the button has been clicked. + mPainter->Released( handle ); + mPainter->Clicked( handle ); + + if( mAutoRepeating ) + { + mAutoRepeatingTimer.Reset(); + } + //Emit signal. + mReleasedSignal.Emit( handle ); + mClickedSignal.Emit( handle ); + } + } } -float Button::OnAnimationTimeRequested() const +void Button::OnTouchPointLeave() +{ + if( ButtonDown == mState ) + { + if( !mTogglableButton ) + { + Toolkit::Button handle( GetOwner() ); + + // Notifies the painter the button has been released. + mPainter->Released( handle ); + + if( mAutoRepeating ) + { + mAutoRepeatingTimer.Reset(); + } + + //Emit signal. + mReleasedSignal.Emit( handle ); + } + } +} + +void Button::OnTouchPointInterrupted() { - return 0.f; + OnTouchPointLeave(); } -Toolkit::Button::ClickedSignalType& Button::ClickedSignal() +Toolkit::Button::ButtonSignalType& Button::PressedSignal() +{ + return mPressedSignal; +} + +Toolkit::Button::ButtonSignalType& Button::ReleasedSignal() +{ + return mReleasedSignal; +} + +Toolkit::Button::ButtonSignalType& Button::ClickedSignal() { return mClickedSignal; } -Toolkit::Button::StateChangedSignalType& Button::StateChangedSignal() +Toolkit::Button::ButtonSignalType& Button::StateChangedSignal() { return mStateChangedSignal; } @@ -143,13 +558,21 @@ bool Button::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tr Dali::BaseHandle handle( object ); bool connected( true ); - Toolkit::Button button = Toolkit::Button::DownCast(handle); + Toolkit::Button button = Toolkit::Button::DownCast( handle ); - if( Dali::Toolkit::Button::SIGNAL_CLICKED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_PRESSED ) ) + { + button.PressedSignal().Connect( tracker, functor ); + } + else if( 0 == strcmp( signalName.c_str(), SIGNAL_RELEASED ) ) + { + button.ReleasedSignal().Connect( tracker, functor ); + } + else if( 0 == strcmp( signalName.c_str(), SIGNAL_CLICKED ) ) { button.ClickedSignal().Connect( tracker, functor ); } - else if( Dali::Toolkit::Button::SIGNAL_STATE_CHANGED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_STATE_CHANGED ) ) { button.StateChangedSignal().Connect( tracker, functor ); } @@ -246,6 +669,13 @@ void Button::OnInitialize() self.SetKeyboardFocusable( true ); } +void Button::OnActivated() +{ + // When the button is activated, it performs the click action + PropertyValueContainer attributes; + DoClickAction( attributes ); +} + void Button::OnControlSizeSet(const Vector3& targetSize) { Toolkit::Button handle( GetOwner() ); @@ -260,32 +690,203 @@ void Button::OnTap(Actor actor, const TapGesture& tap) // Do nothing. } +void Button::SetUpTimer( float delay ) +{ + mAutoRepeatingTimer = Dali::Timer::New( static_cast( 1000.f * delay ) ); + mAutoRepeatingTimer.TickSignal().Connect( this, &Button::AutoRepeatingSlot ); + mAutoRepeatingTimer.Start(); +} + +bool Button::AutoRepeatingSlot() +{ + bool consumed = false; + if( !mDisabled ) + { + // Restart the autorepeat timer. + SetUpTimer( mNextAutoRepeatingDelay ); + + Toolkit::Button handle( GetOwner() ); + + // Notifies the painter the button has been pressed. + mPainter->Pressed( handle ); + + //Emit signal. + consumed = mReleasedSignal.Emit( handle ); + consumed |= mClickedSignal.Emit( handle ); + consumed |= mPressedSignal.Emit( handle ); + } + + return consumed; +} + void Button::OnControlStageDisconnection() { OnButtonStageDisconnection(); // Notification for derived classes. mState = ButtonUp; } +void Button::SetPainter(ButtonPainterPtr painter) +{ + mPainter = painter; +} + +Button::ButtonState Button::GetState() +{ + return mState; +} + void Button::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value ) { Toolkit::Button button = Toolkit::Button::DownCast( Dali::BaseHandle( object ) ); - if ( button && ( index == Toolkit::Button::PROPERTY_DISABLED ) ) + if ( button ) { - GetImplementation( button ).SetDisabled( value.Get() ); + switch ( index ) + { + case Toolkit::Button::PROPERTY_DISABLED: + { + GetImplementation( button ).SetDisabled( value.Get() ); + break; + } + + case Toolkit::Button::PROPERTY_AUTO_REPEATING: + { + GetImplementation( button ).SetAutoRepeating( value.Get< bool >() ); + break; + } + + case Toolkit::Button::PROPERTY_INITIAL_AUTO_REPEATING_DELAY: + { + GetImplementation( button ).SetInitialAutoRepeatingDelay( value.Get< float >() ); + break; + } + + case Toolkit::Button::PROPERTY_NEXT_AUTO_REPEATING_DELAY: + { + GetImplementation( button ).SetNextAutoRepeatingDelay( value.Get< float >() ); + break; + } + + case Toolkit::Button::PROPERTY_TOGGLABLE: + { + GetImplementation( button ).SetTogglableButton( value.Get< bool >() ); + break; + } + + case Toolkit::Button::PROPERTY_SELECTED: + { + GetImplementation( button ).SetSelected( value.Get< bool >() ); + break; + } + + case Toolkit::Button::PROPERTY_NORMAL_STATE_ACTOR: + { + GetImplementation( button ).SetButtonImage( Scripting::NewActor( value.Get< Property::Map >() ) ); + break; + } + + case Toolkit::Button::PROPERTY_SELECTED_STATE_ACTOR: + { + GetImplementation( button ).SetSelectedImage( Scripting::NewActor( value.Get< Property::Map >() ) ); + break; + } + + case Toolkit::Button::PROPERTY_DISABLED_STATE_ACTOR: + { + GetImplementation( button ).SetDisabledImage( Scripting::NewActor( value.Get< Property::Map >() ) ); + break; + } + + case Toolkit::Button::PROPERTY_LABEL_ACTOR: + { + GetImplementation( button ).SetLabel( Scripting::NewActor( value.Get< Property::Map >() ) ); + break; + } + } } } Property::Value Button::GetProperty( BaseObject* object, Property::Index propertyIndex ) { + Property::Value value; + Toolkit::Button button = Toolkit::Button::DownCast( Dali::BaseHandle( object ) ); - if ( button && ( propertyIndex == Toolkit::Button::PROPERTY_DISABLED ) ) + if ( button ) { - return Property::Value( GetImplementation( button ).mDisabled ); + switch ( propertyIndex ) + { + case Toolkit::Button::PROPERTY_DISABLED: + { + value = GetImplementation( button ).mDisabled; + break; + } + + case Toolkit::Button::PROPERTY_AUTO_REPEATING: + { + value = GetImplementation( button ).mAutoRepeating; + break; + } + + case Toolkit::Button::PROPERTY_INITIAL_AUTO_REPEATING_DELAY: + { + value = GetImplementation( button ).mInitialAutoRepeatingDelay; + break; + } + + case Toolkit::Button::PROPERTY_NEXT_AUTO_REPEATING_DELAY: + { + value = GetImplementation( button ).mNextAutoRepeatingDelay; + break; + } + + case Toolkit::Button::PROPERTY_TOGGLABLE: + { + value = GetImplementation( button ).mTogglableButton; + break; + } + + case Toolkit::Button::PROPERTY_SELECTED: + { + value = GetImplementation( button ).mSelected; + break; + } + + case Toolkit::Button::PROPERTY_NORMAL_STATE_ACTOR: + { + Property::Map map; + Scripting::CreatePropertyMap( GetImplementation( button ).mButtonImage, map ); + value = map; + break; + } + + case Toolkit::Button::PROPERTY_SELECTED_STATE_ACTOR: + { + Property::Map map; + Scripting::CreatePropertyMap( GetImplementation( button ).mSelectedImage, map ); + value = map; + break; + } + + case Toolkit::Button::PROPERTY_DISABLED_STATE_ACTOR: + { + Property::Map map; + Scripting::CreatePropertyMap( GetImplementation( button ).mDisabledImage, map ); + value = map; + break; + } + + case Toolkit::Button::PROPERTY_LABEL_ACTOR: + { + Property::Map map; + Scripting::CreatePropertyMap( GetImplementation( button ).mLabel, map ); + value = map; + break; + } + } } - return Property::Value(); + return value; } } // namespace Internal diff --git a/dali-toolkit/internal/controls/buttons/button-impl.h b/dali-toolkit/internal/controls/buttons/button-impl.h index 3881cc1..f0884e1 100644 --- a/dali-toolkit/internal/controls/buttons/button-impl.h +++ b/dali-toolkit/internal/controls/buttons/button-impl.h @@ -18,6 +18,9 @@ * */ +// EXTERNAL INCLUDES +#include + // INTERNAL INCLUDES #include #include @@ -73,6 +76,56 @@ public: bool IsDisabled() const; /** + * @copydoc Dali::Toolkit::Button::SetAutoRepeating( bool autoRepeating ) + */ + void SetAutoRepeating( bool autoRepeating ); + + /** + * @copydoc Dali::Toolkit::Button::IsAutoRepeating() const + */ + bool IsAutoRepeating() const; + + /** + * @copydoc Dali::Toolkit::Button::SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ) + */ + void SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ); + + /** + * @copydoc Dali::Toolkit::Button::GetInitialAutoRepeatingDelay() const + */ + float GetInitialAutoRepeatingDelay() const; + + /** + * @copydoc Dali::Toolkit::Button::SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ) + */ + void SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ); + + /** + * @copydoc Dali::Toolkit::Button::GetNextAutoRepeatingDelay() const + */ + float GetNextAutoRepeatingDelay() const; + + /** + * @copydoc Dali::Toolkit::Button::SetTogglableButton( bool togglable ) + */ + void SetTogglableButton( bool togglable ); + + /** + * @copydoc Dali::Toolkit::Button::IsTogglableButton() const + */ + bool IsTogglableButton() const; + + /** + * @copydoc Dali::Toolkit::Button::SetSelected( bool selected ) + */ + virtual void SetSelected( bool selected ); + + /** + * @copydoc Dali::Toolkit::Button::IsSelected() const + */ + bool IsSelected() const; + + /** * @copydoc Dali::Toolkit::Button::SetAnimationTime() */ void SetAnimationTime( float animationTime ); @@ -82,7 +135,186 @@ public: */ float GetAnimationTime() const; + /** + * @copydoc Dali::Toolkit::Button::SetLabel( const std::string& label ) + */ + void SetLabel( const std::string& label ); + + /** + * @copydoc Dali::Toolkit::Button::SetLabel( Actor label ) + */ + virtual void SetLabel( Actor label ); // TODO: After refactoring painter, virtual will be removed + + /** + * @copydoc Dali::Toolkit::Button::GetLabel() + */ + Actor GetLabel() const; + + /** + * Used by the painter only. + * @return A reference to the label actor. + */ + Actor& GetLabel(); + + /** + * @copydoc Dali::Toolkit::PushButton::SetButtonImage( const Image image ) + */ + void SetButtonImage( Image image ); + + /** + * @copydoc Dali::Toolkit::PushButton::SetButtonImage( Actor image ) + */ + void SetButtonImage( Actor image ); + + /** + * @copydoc Dali::Toolkit::PushButton::GetButtonImage() + */ + Actor GetButtonImage() const; + + /** + * Used by the painter only. + * @return A reference to the button image. + */ + Actor& GetButtonImage(); + + /** + * @copydoc Dali::Toolkit::PushButton::SetSelectedImage( const Image image ) + */ + void SetSelectedImage( Image image ); + + /** + * @copydoc Dali::Toolkit::PushButton::SetSelectedImage( Actor image ) + */ + void SetSelectedImage( Actor image ); + + /** + * @copydoc Dali::Toolkit::PushButton::GetSelectedImage() + */ + Actor GetSelectedImage() const; + + /** + * Used by the painter only. + * @return A reference to the selected image. + */ + Actor& GetSelectedImage(); + + /** + * @copydoc Dali::Toolkit::PushButton::SetBackgroundImage( const Image image ) + */ + void SetBackgroundImage( Image image ); + + /** + * @copydoc Dali::Toolkit::PushButton::SetBackgroundImage( Actor image ) + */ + void SetBackgroundImage( Actor image ); + + /** + * @copydoc Dali::Toolkit::PushButton::GetBackgroundImage() + */ + Actor GetBackgroundImage() const; + + /** + * Used by the painter only. + * @return A reference to the background image. + */ + Actor& GetBackgroundImage(); + + /** + * @copydoc Dali::Toolkit::PushButton::SetDisabledImage( Image image ) + */ + void SetDisabledImage( Image image ); + + /** + * @copydoc Dali::Toolkit::PushButton::SetDisabledImage( Actor image ) + */ + void SetDisabledImage( Actor image ); + + /** + * @copydoc Dali::Toolkit::PushButton::GetDisabledImage() + */ + Actor GetDisabledImage() const; + + /** + * Used by the painter only. + * @return A reference to the disabled button image. + */ + Actor& GetDisabledImage(); + + /** + * @copydoc Dali::Toolkit::CheckBoxButton::SetDisabledSelectedImage( Image image ) + */ + void SetDisabledSelectedImage( Image image ); + + /** + * @copydoc Dali::Toolkit::CheckBoxButton::SetDisabledSelectedImage( Actor image ) + */ + void SetDisabledSelectedImage( Actor image ); + + /** + * @copydoc Dali::Toolkit::CheckBoxButton::GetDisabledSelectedImage() + */ + Actor GetDisabledSelectedImage() const; + + /** + * Used by the painter only. + * @return A reference to the disabled selected image. + */ + Actor& GetDisabledSelectedImage(); + + /** + * @copydoc Dali::Toolkit::PushButton::SetDisabledBackgroundImage( Image image ) + */ + void SetDisabledBackgroundImage( Image image ); + + /** + * @copydoc Dali::Toolkit::PushButton::SetDisabledBackgroundImage( Actor image ) + */ + void SetDisabledBackgroundImage( Actor image ); + + /** + * @copydoc Dali::Toolkit::PushButton::GetDisabledBackgroundImage() + */ + Actor GetDisabledBackgroundImage() const; + + /** + * Used by the painter only. + * @return A reference to the disabled background image. + */ + Actor& GetDisabledBackgroundImage(); + + /** + * Used by the painter only. + * @return A reference to the button image that is fading out. + */ + Actor& GetFadeOutButtonImage(); + + /** + * Used by the painter only. + * @return A reference to the selected image that is fading out. + */ + Actor& GetFadeOutSelectedImage(); + + /** + * Used by the painter only. + * @return A reference to the background image that is fading out. + */ + Actor& GetFadeOutBackgroundImage(); + + /** + * Performs actions as requested using the action name. + * @param[in] object The object on which to perform the action. + * @param[in] actionName The action to perform. + * @param[in] attributes The attributes with which to perfrom this action. + * @return true if action has been accepted by this control + */ + static bool DoAction( BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes ); + private: + /** + * Perform the click action to click the button. + * @param[in] attributes The attributes to perfrom this action. + */ + void DoClickAction( const PropertyValueContainer& attributes ); /** * This method is called after the button initialization. @@ -107,13 +339,13 @@ private: * more than one touch points are received. * Could be reimplemented in subclasses to provide specific behaviour. */ - virtual void OnTouchPointLeave() { } + virtual void OnTouchPointLeave(); /** * This method is called from the OnTouchEvent method when the touch point is interrupted. * Could be reimplemented in subclasses to provide specific behaviour. */ - virtual void OnTouchPointInterrupted() { } + virtual void OnTouchPointInterrupted(); /** * This method is called when the animation time is set. @@ -133,19 +365,29 @@ private: * This method is called when the button is removed from the stage. * Could be reimplemented in subclasses to provide specific behaviour. */ - virtual void OnButtonStageDisconnection() { } + virtual void OnButtonStageDisconnection(); public: /** + * @copydoc Dali::Toolkit::PushButton::PressedSignal() + */ + Toolkit::Button::ButtonSignalType& PressedSignal(); + + /** + * @copydoc Dali::Toolkit::PushButton::ReleasedSignal() + */ + Toolkit::Button::ButtonSignalType& ReleasedSignal(); + + /** * @copydoc Dali::Toolkit::Button::ClickedSignal() */ - Toolkit::Button::ClickedSignalType& ClickedSignal(); + Toolkit::Button::ButtonSignalType& ClickedSignal(); /** * @copydoc Dali::Toolkit::Button::StateChangedSignal() */ - Toolkit::Button::StateChangedSignalType& StateChangedSignal(); + Toolkit::Button::ButtonSignalType& StateChangedSignal(); /** * Connects a callback function with the object's signals. @@ -191,6 +433,11 @@ private: // From Control virtual void OnInitialize(); /** + * @copydoc Toolkit::Control::OnActivated() + */ + virtual void OnActivated(); + + /** * @copydoc Toolkit::Control::OnControlSizeSet( const Vector3& targetSize ) */ virtual void OnControlSizeSet( const Vector3& targetSize ); @@ -213,6 +460,33 @@ private: */ void OnTap(Actor actor, const TapGesture& tap); + /** + * Sets up the autorepeating timer. + * @param[in] delay The delay time in seconds. + */ + void SetUpTimer( float delay ); + + /** + * Slot called when Dali::Timer::SignalTick signal. Resets the autorepeating timer. + */ + bool AutoRepeatingSlot(); + +protected: + + enum ButtonState + { + ButtonUp, ///< The button is up. + ButtonDown, ///< The button is down. + }; + + void SetPainter(ButtonPainterPtr painter); + + ButtonState GetState(); + + Actor mLabel; //TODO: After refactoring painter, this will be private + bool mTogglableButton; //TODO: After refactoring painter, this will be private + bool mSelected; //TODO: After refactoring painter, this will be private + private: // Undefined @@ -221,24 +495,44 @@ private: // Undefined Button& operator = ( const Button& ); -protected: +private: - enum ButtonState - { - ButtonUp, ///< The button is up. - ButtonDown, ///< The button is down. - }; + ButtonPainterPtr mPainter; ///< Pointer to a ButtonPainter base class. + + // Signals + Toolkit::Button::ButtonSignalType mPressedSignal; ///< Signal emitted when the button is pressed. + Toolkit::Button::ButtonSignalType mReleasedSignal; ///< Signal emitted when the button is released. + Toolkit::Button::ButtonSignalType mClickedSignal; ///< Signal emitted when the button is clicked. + Toolkit::Button::ButtonSignalType mStateChangedSignal; ///< Signal emitted when the button's state is changed. + + Timer mAutoRepeatingTimer; ///< Timer used to implement the autorepeating property. - ButtonPainterPtr mPainter; ///< Pointer to a ButtonPainter base class. +// Actor mLabel; ///< Stores the button label. - Toolkit::Button::ClickedSignalType mClickedSignal; ///< Signal emitted when the button is clicked. - Toolkit::Button::StateChangedSignalType mStateChangedSignal; ///< Signal emitted when the button's state is changed. + Actor mButtonImage; ///< Stores the unselected image. + Actor mSelectedImage; ///< Stores the selected image. + Actor mBackgroundImage; ///< Stores the background image. + Actor mDisabledImage; ///< Stores the disabled image. + Actor mDisabledSelectedImage; ///< Stores the disabled selected image. + Actor mDisabledBackgroundImage; ///< Stores the disabled background image. + + Actor mFadeOutButtonImage; ///< Stores a foreground image, which is in a fade out animation, to be removed when the animation finishes. + Actor mFadeOutSelectedImage; ///< Stores a foreground image, which is in a fade out animation, to be removed when the animation finishes. + Actor mFadeOutBackgroundImage; ///< Stores a background image, which is in a fade out animation, to be removed when the animation finishes. TapGestureDetector mTapDetector; - ButtonState mState; ///< Stores the button state. + bool mDisabled; ///< Stores the disabled property. + bool mAutoRepeating; ///< Stores the autorepeating property. +// bool mTogglableButton; ///< Stores the togglable property. +// bool mSelected; ///< Stores the selected state. + float mInitialAutoRepeatingDelay; ///< Stores the initial autorepeating delay in seconds. + float mNextAutoRepeatingDelay; ///< Stores the next autorepeating delay in seconds. + + // Actions + bool mClickActionPerforming; - bool mDisabled; ///< Stores the disabled property. + ButtonState mState; ///< Stores the button state. }; } // namespace Internal diff --git a/dali-toolkit/internal/controls/buttons/button-painter-impl.h b/dali-toolkit/internal/controls/buttons/button-painter-impl.h index 70215c5..3014a75 100644 --- a/dali-toolkit/internal/controls/buttons/button-painter-impl.h +++ b/dali-toolkit/internal/controls/buttons/button-painter-impl.h @@ -81,7 +81,7 @@ public: virtual void SetSize( Toolkit::Button& button, const Vector3& size ) = 0; /** - * This method is called from the Dali::Toolkit::Internal::PushButton when the \e disabled property changes. + * This method is called from the Dali::Toolkit::Internal::Button when the \e disabled property changes. * * @param[inout] button The button in which all actors that form its appearance are going to be added. * @param[in] disabled The disabled state. @@ -89,6 +89,12 @@ public: virtual void SetDisabled( Toolkit::Button& button, bool disabled ) = 0; /** + * This method is called from the Dali::Toolkit::Internal::PushButton when the \e autorepeating property changes. + * @param[in] autorepeating property. + */ + virtual void SetAutoRepeating( bool autorepeating ) {} + + /** * Sets the animation time. * @param [in] animationTime The animation time in seconds. */ @@ -99,6 +105,94 @@ public: * @return The animation time in seconds. */ virtual float GetAnimationTime() const = 0; + + /** + * Sets the label. + * It adds the label to the root actor. + * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @param[in] label Button label. + */ + virtual void SetLabel( Toolkit::Button& button, Actor label ) {} + + /** + * Sets the button image. + * It adds the button image to the root actor and creates the image transition if needed. + * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @param[in] image The button image. + */ + virtual void SetButtonImage( Toolkit::Button& button, Actor image ) {} + + /** + * Sets the selected image. + * It adds the selected image to the root actor and creates the image transition if needed. + * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @param[in] image The selected image. + */ + virtual void SetSelectedImage( Toolkit::Button& button, Actor image ) {} + + /** + * Sets the background image. + * It adds the background image to the root actor and creates the image transition if needed. + * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @param[in] image The background image. + */ + virtual void SetBackgroundImage( Toolkit::Button& button, Actor image ) {} + + /** + * Sets the disabled image. + * It adds the disabled image to the root actor and creates the image transition if needed. + * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @param[in] image The disabled button image. + */ + virtual void SetDisabledImage( Toolkit::Button& button, Actor image ) {} + + /** + * Sets the disabled selected image. + * It adds the disabled selected image to the root actor and creates the image transition if needed. + * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @param[in] image The disabled selected image. + */ + virtual void SetDisabledSelectedImage( Toolkit::Button& button, Actor image ) {} + + /** + * Sets the disabled background image. + * It adds the disabled background image to the root actor and creates the image transition if needed. + * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @param[in] image The disabled background image. + */ + virtual void SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ) {} + + /** + * This method is called when the Dali::Toolkit::Internal::Button, in which this + * object is registered, is pressed. + * @param[inout] button The Dali::Toolkit::Button, linked to the internal + * implementation, in which this object is registered. + */ + virtual void Pressed( Toolkit::Button& button ) {} + + /** + * This method is called when the Dali::Toolkit::Internal::Button, in which this + * object is registered, is released. + * @param[inout] button The Dali::Toolkit::Button, linked to the internal + * implementation, in which this object is registered. + */ + virtual void Released( Toolkit::Button& button ) {} + + /** + * This method is called when the Dali::Toolkit::Internal::Button, in which this + * object is registered, is clicked. + * @param[inout] button The Dali::Toolkit::Button, linked to the internal + * implementation, in which this object is registered. + */ + virtual void Clicked( Toolkit::Button& button ) {} + + /** + * This method is called when the Dali::Toolkit::Internal::Button, in which this + * object is registered, changes its state. + * @param[inout] button The Dali::Toolkit::Button, linked to the internal + * implementation, in which this object is registered. + */ + virtual void Selected( Toolkit::Button& button ) {} }; } // namespace Internal diff --git a/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.cpp b/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.cpp index 3885f5f..d18afb5 100644 --- a/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.cpp @@ -65,7 +65,7 @@ inline const Toolkit::Internal::CheckBoxButton& GetCheckBoxButtonImpl( const Too CheckBoxButtonDefaultPainter::CheckBoxButtonDefaultPainter() : CheckBoxButtonPainter(), mDisabled( false ), - mPaintState( UncheckedState ), + mPaintState( UnselectedState ), mButton(NULL), mAnimationTime( ANIMATION_TIME ) { @@ -83,303 +83,13 @@ CheckBoxButtonDefaultPainter::~CheckBoxButtonDefaultPainter() } } -void CheckBoxButtonDefaultPainter::SetBackgroundImage( Toolkit::CheckBoxButton& checkBox, Actor image ) -{ - Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetImplementation( checkBox ); - Actor& backgroundImage = checkBoxImpl.GetBackgroundImage(); - Actor& fadeOutBackgroundImage = checkBoxImpl.GetFadeOutBackgroundImage(); - - switch( mPaintState ) - { - case UncheckedState: // FALLTHROUGH - case CheckedState: - case UncheckedCheckedTransition: - case CheckedUncheckedTransition: - { - if( backgroundImage && backgroundImage.GetParent() ) - { - StopCheckOutAnimation( checkBox ); - FadeOutImage( checkBox, Background, backgroundImage ); - - backgroundImage = image; - - FadeInImage( checkBox, backgroundImage ); - - StartCheckOutAnimation( checkBox ); - StartCheckInAnimation(); - } - else - { - backgroundImage = image; - checkBox.Add( backgroundImage ); - } - break; - } - case DisabledUncheckedTransition: // FALLTHROUGH - case DisabledCheckedTransition: - { - StopCheckInAnimation(); - checkBox.Remove( backgroundImage ); - - backgroundImage = image; - - FadeInImage( checkBox, backgroundImage ); - StartCheckInAnimation(); - break; - } - case CheckedDisabledTransition: // FALLTHROUGH - case UncheckedDisabledTransition: - { - float opacity = 1.f; - if( fadeOutBackgroundImage ) - { - opacity = fadeOutBackgroundImage.GetCurrentOpacity(); - } - StopCheckOutAnimation( checkBox ); - - // Replaces the button image. - backgroundImage = image; - - checkBox.Add( backgroundImage ); - FadeOutImage( checkBox, Background, backgroundImage, opacity ); - - StartCheckOutAnimation( checkBox ); - break; - } - default: - { - backgroundImage = image; - break; - } - } - - backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); -} - -void CheckBoxButtonDefaultPainter::SetCheckedImage( Toolkit::CheckBoxButton& checkBox, Actor image ) -{ - Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetImplementation( checkBox ); - Actor& checkedImage = checkBoxImpl.GetCheckedImage(); - Actor& fadeOutCheckedImage = checkBoxImpl.GetFadeOutCheckedImage(); - - switch( mPaintState ) - { - case CheckedState: - { - if( checkedImage && checkedImage.GetParent() ) - { - StopCheckOutAnimation( checkBox ); - FadeOutImage( checkBox, Foreground, checkedImage ); - - checkedImage = image; - - FadeInImage( checkBox, checkedImage ); - - StartCheckOutAnimation( checkBox ); - StartCheckInAnimation(); - } - else - { - checkedImage = image; - checkBox.Add( checkedImage ); - } - break; - } - case UncheckedCheckedTransition: // FALLTHROUGH - case DisabledCheckedTransition: - { - StopCheckInAnimation(); - checkBox.Remove( checkedImage ); - - checkedImage = image; - - FadeInImage( checkBox, checkedImage ); - StartCheckInAnimation(); - break; - } - case CheckedUncheckedTransition: // FALLTHROUGH - case CheckedDisabledTransition: - { - float opacity = 1.f; - if( fadeOutCheckedImage ) - { - opacity = fadeOutCheckedImage.GetCurrentOpacity(); - } - StopCheckOutAnimation( checkBox ); - - // Replaces the button image. - checkedImage = image; - - checkBox.Add( checkedImage ); - FadeOutImage( checkBox, Foreground, checkedImage, opacity ); - - StartCheckOutAnimation( checkBox ); - break; - } - default: - { - checkedImage = image; - break; - } - } - - checkedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - checkedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyCheckedConstraint( checkedImage, FOREGROUND_DEPTH ); -} - -void CheckBoxButtonDefaultPainter::SetDisabledCheckedImage( Toolkit::CheckBoxButton& checkBox, Actor image ) -{ - Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetImplementation( checkBox ); - Actor& disabledCheckedImage = checkBoxImpl.GetDisabledCheckedImage(); - Actor& fadeOutCheckedImage = checkBoxImpl.GetFadeOutCheckedImage(); - - switch( mPaintState ) - { - case DisabledCheckedState: - { - if( disabledCheckedImage && disabledCheckedImage.GetParent() ) - { - StopCheckOutAnimation( checkBox ); - FadeOutImage( checkBox, Foreground, disabledCheckedImage ); - - disabledCheckedImage = image; - - FadeInImage( checkBox, disabledCheckedImage ); - - StartCheckOutAnimation( checkBox ); - StartCheckInAnimation(); - } - else - { - disabledCheckedImage = image; - checkBox.Add( disabledCheckedImage ); - } - break; - } - case CheckedDisabledTransition: - { - StopCheckInAnimation(); - checkBox.Remove( disabledCheckedImage ); - - disabledCheckedImage = image; - - FadeInImage( checkBox, disabledCheckedImage ); - StartCheckInAnimation(); - break; - } - case DisabledCheckedTransition: - { - float opacity = 1.f; - if( fadeOutCheckedImage ) - { - opacity = fadeOutCheckedImage.GetCurrentOpacity(); - } - StopCheckOutAnimation( checkBox ); - - // Replaces the button image. - disabledCheckedImage = image; - - checkBox.Add( disabledCheckedImage ); - FadeOutImage( checkBox, Foreground, disabledCheckedImage, opacity ); - - StartCheckOutAnimation( checkBox ); - break; - } - default: - { - disabledCheckedImage = image; - break; - } - } - - disabledCheckedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - disabledCheckedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( disabledCheckedImage, FOREGROUND_DEPTH ); -} - -void CheckBoxButtonDefaultPainter::SetDisabledBackgroundImage( Toolkit::CheckBoxButton& checkBox, Actor image ) -{ - Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetImplementation( checkBox ); - Actor& disabledBackgroundImage = checkBoxImpl.GetDisabledBackgroundImage(); - Actor& fadeOutBackgroundImage = checkBoxImpl.GetFadeOutBackgroundImage(); - - switch( mPaintState ) - { - case DisabledCheckedState: // FALLTHROUGH - case DisabledUncheckedState: - { - if( disabledBackgroundImage && disabledBackgroundImage.GetParent() ) - { - StopCheckOutAnimation( checkBox ); - FadeOutImage( checkBox, Background, disabledBackgroundImage ); - - disabledBackgroundImage = image; - - FadeInImage( checkBox, disabledBackgroundImage ); - - StartCheckOutAnimation( checkBox ); - StartCheckInAnimation(); - } - else - { - disabledBackgroundImage = image; - checkBox.Add( disabledBackgroundImage ); - } - break; - } - case UncheckedDisabledTransition: // FALLTHROUGH - case CheckedDisabledTransition: - { - StopCheckInAnimation(); - checkBox.Remove( disabledBackgroundImage ); - - disabledBackgroundImage = image; - - FadeInImage( checkBox, disabledBackgroundImage ); - StartCheckInAnimation(); - break; - } - case DisabledUncheckedTransition: // FALLTHROUGH - case DisabledCheckedTransition: - { - float opacity = 1.f; - if( fadeOutBackgroundImage ) - { - opacity = fadeOutBackgroundImage.GetCurrentOpacity(); - } - StopCheckOutAnimation( checkBox ); - - // Replaces the button image. - disabledBackgroundImage = image; - - checkBox.Add( disabledBackgroundImage ); - FadeOutImage( checkBox, Background, disabledBackgroundImage, opacity ); - - StartCheckOutAnimation( checkBox ); - break; - } - default: - { - disabledBackgroundImage = image; - break; - } - } - - disabledBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - disabledBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); -} - void CheckBoxButtonDefaultPainter::Initialize( Toolkit::Button& button ) { Toolkit::Internal::CheckBoxButton& buttonImpl = GetCheckBoxButtonImpl( button ); Actor& backgroundImage = buttonImpl.GetBackgroundImage(); - Actor& checkedImage = buttonImpl.GetCheckedImage(); + Actor& selectedImage = buttonImpl.GetSelectedImage(); Actor& disabledBackgroundImage = buttonImpl.GetDisabledBackgroundImage(); - Actor& disabledCheckedImage = buttonImpl.GetDisabledCheckedImage(); + Actor& disabledSelectedImage = buttonImpl.GetDisabledSelectedImage(); Toolkit::CheckBoxButton& checkBox = static_cast( button ); @@ -388,9 +98,9 @@ void CheckBoxButtonDefaultPainter::Initialize( Toolkit::Button& button ) SetBackgroundImage( checkBox, backgroundImage ); } - if( checkedImage ) + if( selectedImage ) { - SetCheckedImage( checkBox, checkedImage ); + SetSelectedImage( checkBox, selectedImage ); } if( disabledBackgroundImage ) @@ -398,9 +108,9 @@ void CheckBoxButtonDefaultPainter::Initialize( Toolkit::Button& button ) SetDisabledBackgroundImage( checkBox, disabledBackgroundImage ); } - if( disabledCheckedImage ) + if( disabledSelectedImage ) { - SetDisabledCheckedImage( checkBox, disabledCheckedImage ); + SetDisabledSelectedImage( checkBox, disabledSelectedImage ); } SetDisabled( button, mDisabled ); @@ -410,13 +120,13 @@ void CheckBoxButtonDefaultPainter::SetSize( Toolkit::Button& button, const Vecto { Toolkit::Internal::CheckBoxButton& buttonImpl = GetCheckBoxButtonImpl( button ); Actor& backgroundImage = buttonImpl.GetBackgroundImage(); - Actor& checkedImage = buttonImpl.GetCheckedImage(); + Actor& selectedImage = buttonImpl.GetSelectedImage(); Actor& disabledBackgroundImage = buttonImpl.GetDisabledBackgroundImage(); - Actor& disabledCheckedImage = buttonImpl.GetDisabledCheckedImage(); + Actor& disabledSelectedImage = buttonImpl.GetDisabledSelectedImage(); - ApplyCheckedConstraint( checkedImage, FOREGROUND_DEPTH ); + ApplySelectedConstraint( selectedImage, FOREGROUND_DEPTH ); ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); - ApplyConstraint( disabledCheckedImage, FOREGROUND_DEPTH ); + ApplyConstraint( disabledSelectedImage, FOREGROUND_DEPTH ); ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); } @@ -426,17 +136,17 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di Toolkit::Internal::CheckBoxButton& buttonImpl = GetCheckBoxButtonImpl( button ); Actor& backgroundImage = buttonImpl.GetBackgroundImage(); - Actor& checkedImage = buttonImpl.GetCheckedImage(); + Actor& selectedImage = buttonImpl.GetSelectedImage(); Actor& disabledBackgroundImage = buttonImpl.GetDisabledBackgroundImage(); - Actor& disabledCheckedImage = buttonImpl.GetDisabledCheckedImage(); - Actor& fadeOutCheckedImage = buttonImpl.GetFadeOutCheckedImage(); + Actor& disabledSelectedImage = buttonImpl.GetDisabledSelectedImage(); + Actor& fadeOutSelectedImage = buttonImpl.GetFadeOutSelectedImage(); Actor& fadeOutBackgroundImage = buttonImpl.GetFadeOutBackgroundImage(); Toolkit::CheckBoxButton& checkBox = static_cast( button ); switch( mPaintState ) { - case UncheckedState: + case UnselectedState: { if( disabled ) { @@ -446,27 +156,27 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = UncheckedDisabledTransition; + mPaintState = UnselectedDisabledTransition; } break; } - case CheckedState: + case SelectedState: { if( disabled ) { StopCheckOutAnimation( checkBox ); FadeOutImage( checkBox, Background, backgroundImage ); - FadeOutImage( checkBox, Foreground, checkedImage ); - FadeInImage( checkBox, disabledCheckedImage ); + FadeOutImage( checkBox, Foreground, selectedImage ); + FadeInImage( checkBox, disabledSelectedImage ); FadeInImage( checkBox, disabledBackgroundImage ); StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = CheckedDisabledTransition; + mPaintState = SelectedDisabledTransition; } break; } - case DisabledUncheckedState: + case DisabledUnselectedState: { if( !disabled ) { @@ -476,65 +186,65 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = DisabledUncheckedTransition; + mPaintState = DisabledUnselectedTransition; } break; } - case DisabledCheckedState: + case DisabledSelectedState: { if( !disabled ) { StopCheckOutAnimation( checkBox ); FadeOutImage( checkBox, Background, disabledBackgroundImage ); - FadeOutImage( checkBox, Foreground, disabledCheckedImage ); + FadeOutImage( checkBox, Foreground, disabledSelectedImage ); FadeInImage( checkBox, backgroundImage ); - FadeInImage( checkBox, checkedImage ); + FadeInImage( checkBox, selectedImage ); StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = DisabledCheckedTransition; + mPaintState = DisabledSelectedTransition; } break; } - case UncheckedCheckedTransition: + case UnselectedSelectedTransition: { if( disabled ) { float opacity = 1.f; - if( checkedImage ) + if( selectedImage ) { - opacity = checkedImage.GetCurrentOpacity(); + opacity = selectedImage.GetCurrentOpacity(); } StopCheckOutAnimation( checkBox ); StopCheckInAnimation(); - FadeOutImage( checkBox, Foreground, checkedImage, opacity ); + FadeOutImage( checkBox, Foreground, selectedImage, opacity ); FadeOutImage( checkBox, Background, backgroundImage ); - FadeInImage( checkBox, disabledCheckedImage ); + FadeInImage( checkBox, disabledSelectedImage ); FadeInImage( checkBox, disabledBackgroundImage ); StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = CheckedDisabledTransition; + mPaintState = SelectedDisabledTransition; } break; } - case CheckedUncheckedTransition: + case SelectedUnselectedTransition: { if( disabled ) { float opacity = 1.f; - if( fadeOutCheckedImage ) + if( fadeOutSelectedImage ) { - opacity = fadeOutCheckedImage.GetCurrentOpacity(); + opacity = fadeOutSelectedImage.GetCurrentOpacity(); } StopCheckOutAnimation( checkBox ); StopCheckInAnimation(); - button.Add( disabledCheckedImage ); - FadeOutImage( checkBox, Foreground, disabledCheckedImage, opacity ); + button.Add( disabledSelectedImage ); + FadeOutImage( checkBox, Foreground, disabledSelectedImage, opacity ); FadeOutImage( checkBox, Background, backgroundImage ); FadeInImage( checkBox, disabledBackgroundImage ); @@ -542,11 +252,11 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = UncheckedDisabledTransition; + mPaintState = UnselectedDisabledTransition; } break; } - case UncheckedDisabledTransition: + case UnselectedDisabledTransition: { if( !disabled ) { @@ -564,11 +274,11 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = DisabledUncheckedTransition; + mPaintState = DisabledUnselectedTransition; } break; } - case DisabledUncheckedTransition: + case DisabledUnselectedTransition: { if( disabled ) { @@ -586,11 +296,11 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = UncheckedDisabledTransition; + mPaintState = UnselectedDisabledTransition; } break; } - case CheckedDisabledTransition: + case SelectedDisabledTransition: { if( !disabled ) { @@ -602,19 +312,19 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di StopCheckOutAnimation( checkBox, false ); StopCheckInAnimation(); - FadeOutImage( checkBox, Foreground, disabledCheckedImage, 1.f - opacity ); + FadeOutImage( checkBox, Foreground, disabledSelectedImage, 1.f - opacity ); FadeOutImage( checkBox, Background, disabledBackgroundImage, 1.f - opacity ); - FadeInImage( checkBox, checkedImage, opacity ); + FadeInImage( checkBox, selectedImage, opacity ); FadeInImage( checkBox, backgroundImage, opacity ); StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = DisabledCheckedTransition; + mPaintState = DisabledSelectedTransition; } break; } - case DisabledCheckedTransition: + case DisabledSelectedTransition: { if( disabled ) { @@ -626,15 +336,15 @@ void CheckBoxButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool di StopCheckOutAnimation( checkBox, false ); StopCheckInAnimation(); - FadeOutImage( checkBox, Foreground, checkedImage, 1.f - opacity ); + FadeOutImage( checkBox, Foreground, selectedImage, 1.f - opacity ); FadeOutImage( checkBox, Background, backgroundImage, 1.f - opacity ); - FadeInImage( checkBox, disabledCheckedImage, opacity ); + FadeInImage( checkBox, disabledSelectedImage, opacity ); FadeInImage( checkBox, disabledBackgroundImage, opacity ); StartCheckOutAnimation( checkBox ); StartCheckInAnimation(); - mPaintState = CheckedDisabledTransition; + mPaintState = SelectedDisabledTransition; } break; } @@ -653,65 +363,365 @@ float CheckBoxButtonDefaultPainter::GetAnimationTime() const return mAnimationTime; } -void CheckBoxButtonDefaultPainter::Checked( Toolkit::CheckBoxButton& button ) +void CheckBoxButtonDefaultPainter::SetSelectedImage( Toolkit::Button& button, Actor image ) { Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetCheckBoxButtonImpl( button ); - Actor& checkedImage = checkBoxImpl.GetCheckedImage(); - Actor& fadeOutCheckedImage = checkBoxImpl.GetFadeOutCheckedImage(); + Actor& selectedImage = checkBoxImpl.GetSelectedImage(); + Actor& fadeOutSelectedImage = checkBoxImpl.GetFadeOutSelectedImage(); + + Toolkit::CheckBoxButton& checkBox = static_cast( button ); + + switch( mPaintState ) + { + case SelectedState: + { + if( selectedImage && selectedImage.GetParent() ) + { + StopCheckOutAnimation( checkBox ); + FadeOutImage( checkBox, Foreground, selectedImage ); + + selectedImage = image; + + FadeInImage( checkBox, selectedImage ); + + StartCheckOutAnimation( checkBox ); + StartCheckInAnimation(); + } + else + { + selectedImage = image; + checkBox.Add( selectedImage ); + } + break; + } + case UnselectedSelectedTransition: // FALLTHROUGH + case DisabledSelectedTransition: + { + StopCheckInAnimation(); + checkBox.Remove( selectedImage ); + + selectedImage = image; + + FadeInImage( checkBox, selectedImage ); + StartCheckInAnimation(); + break; + } + case SelectedUnselectedTransition: // FALLTHROUGH + case SelectedDisabledTransition: + { + float opacity = 1.f; + if( fadeOutSelectedImage ) + { + opacity = fadeOutSelectedImage.GetCurrentOpacity(); + } + StopCheckOutAnimation( checkBox ); + + // Replaces the button image. + selectedImage = image; + + checkBox.Add( selectedImage ); + FadeOutImage( checkBox, Foreground, selectedImage, opacity ); + + StartCheckOutAnimation( checkBox ); + break; + } + default: + { + selectedImage = image; + break; + } + } + + selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplySelectedConstraint( selectedImage, FOREGROUND_DEPTH ); +} + +void CheckBoxButtonDefaultPainter::SetBackgroundImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetCheckBoxButtonImpl( button ); + Actor& backgroundImage = checkBoxImpl.GetBackgroundImage(); + Actor& fadeOutBackgroundImage = checkBoxImpl.GetFadeOutBackgroundImage(); + + Toolkit::CheckBoxButton& checkBox = static_cast( button ); + + switch( mPaintState ) + { + case UnselectedState: // FALLTHROUGH + case SelectedState: + case UnselectedSelectedTransition: + case SelectedUnselectedTransition: + { + if( backgroundImage && backgroundImage.GetParent() ) + { + StopCheckOutAnimation( checkBox ); + FadeOutImage( checkBox, Background, backgroundImage ); + + backgroundImage = image; + + FadeInImage( checkBox, backgroundImage ); + + StartCheckOutAnimation( checkBox ); + StartCheckInAnimation(); + } + else + { + backgroundImage = image; + checkBox.Add( backgroundImage ); + } + break; + } + case DisabledUnselectedTransition: // FALLTHROUGH + case DisabledSelectedTransition: + { + StopCheckInAnimation(); + checkBox.Remove( backgroundImage ); + + backgroundImage = image; + + FadeInImage( checkBox, backgroundImage ); + StartCheckInAnimation(); + break; + } + case SelectedDisabledTransition: // FALLTHROUGH + case UnselectedDisabledTransition: + { + float opacity = 1.f; + if( fadeOutBackgroundImage ) + { + opacity = fadeOutBackgroundImage.GetCurrentOpacity(); + } + StopCheckOutAnimation( checkBox ); + + // Replaces the button image. + backgroundImage = image; + + checkBox.Add( backgroundImage ); + FadeOutImage( checkBox, Background, backgroundImage, opacity ); + + StartCheckOutAnimation( checkBox ); + break; + } + default: + { + backgroundImage = image; + break; + } + } + + backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); +} + +void CheckBoxButtonDefaultPainter::SetDisabledSelectedImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetCheckBoxButtonImpl( button ); + Actor& disabledSelectedImage = checkBoxImpl.GetDisabledSelectedImage(); + Actor& fadeOutSelectedImage = checkBoxImpl.GetFadeOutSelectedImage(); + + Toolkit::CheckBoxButton& checkBox = static_cast( button ); + + switch( mPaintState ) + { + case DisabledSelectedState: + { + if( disabledSelectedImage && disabledSelectedImage.GetParent() ) + { + StopCheckOutAnimation( checkBox ); + FadeOutImage( checkBox, Foreground, disabledSelectedImage ); + + disabledSelectedImage = image; + + FadeInImage( checkBox, disabledSelectedImage ); + + StartCheckOutAnimation( checkBox ); + StartCheckInAnimation(); + } + else + { + disabledSelectedImage = image; + checkBox.Add( disabledSelectedImage ); + } + break; + } + case SelectedDisabledTransition: + { + StopCheckInAnimation(); + checkBox.Remove( disabledSelectedImage ); + + disabledSelectedImage = image; + + FadeInImage( checkBox, disabledSelectedImage ); + StartCheckInAnimation(); + break; + } + case DisabledSelectedTransition: + { + float opacity = 1.f; + if( fadeOutSelectedImage ) + { + opacity = fadeOutSelectedImage.GetCurrentOpacity(); + } + StopCheckOutAnimation( checkBox ); + + // Replaces the button image. + disabledSelectedImage = image; + + checkBox.Add( disabledSelectedImage ); + FadeOutImage( checkBox, Foreground, disabledSelectedImage, opacity ); + + StartCheckOutAnimation( checkBox ); + break; + } + default: + { + disabledSelectedImage = image; + break; + } + } + + disabledSelectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + disabledSelectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( disabledSelectedImage, FOREGROUND_DEPTH ); +} + +void CheckBoxButtonDefaultPainter::SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetCheckBoxButtonImpl( button ); + Actor& disabledBackgroundImage = checkBoxImpl.GetDisabledBackgroundImage(); + Actor& fadeOutBackgroundImage = checkBoxImpl.GetFadeOutBackgroundImage(); + + Toolkit::CheckBoxButton& checkBox = static_cast( button ); + + switch( mPaintState ) + { + case DisabledSelectedState: // FALLTHROUGH + case DisabledUnselectedState: + { + if( disabledBackgroundImage && disabledBackgroundImage.GetParent() ) + { + StopCheckOutAnimation( checkBox ); + FadeOutImage( checkBox, Background, disabledBackgroundImage ); + + disabledBackgroundImage = image; + + FadeInImage( checkBox, disabledBackgroundImage ); + + StartCheckOutAnimation( checkBox ); + StartCheckInAnimation(); + } + else + { + disabledBackgroundImage = image; + checkBox.Add( disabledBackgroundImage ); + } + break; + } + case UnselectedDisabledTransition: // FALLTHROUGH + case SelectedDisabledTransition: + { + StopCheckInAnimation(); + checkBox.Remove( disabledBackgroundImage ); + + disabledBackgroundImage = image; + + FadeInImage( checkBox, disabledBackgroundImage ); + StartCheckInAnimation(); + break; + } + case DisabledUnselectedTransition: // FALLTHROUGH + case DisabledSelectedTransition: + { + float opacity = 1.f; + if( fadeOutBackgroundImage ) + { + opacity = fadeOutBackgroundImage.GetCurrentOpacity(); + } + StopCheckOutAnimation( checkBox ); + + // Replaces the button image. + disabledBackgroundImage = image; + + checkBox.Add( disabledBackgroundImage ); + FadeOutImage( checkBox, Background, disabledBackgroundImage, opacity ); + + StartCheckOutAnimation( checkBox ); + break; + } + default: + { + disabledBackgroundImage = image; + break; + } + } + + disabledBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + disabledBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); +} + +void CheckBoxButtonDefaultPainter::Selected( Toolkit::Button& button ) +{ + Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetCheckBoxButtonImpl( button ); + Actor& selectedImage = checkBoxImpl.GetSelectedImage(); + Actor& fadeOutSelectedImage = checkBoxImpl.GetFadeOutSelectedImage(); + + Toolkit::CheckBoxButton& checkBoxButton = static_cast( button ); switch( mPaintState ) { - case UncheckedState: + case UnselectedState: { // Fade in the 'check' actor. - FadeInImage( button, checkedImage ); - SetupCheckedAnimation( button, checkedImage ); // Animate in the check actor + FadeInImage( checkBoxButton, selectedImage ); + SetupSelectedAnimation( checkBoxButton, selectedImage ); // Animate in the check actor StartCheckInAnimation(); - mPaintState = UncheckedCheckedTransition; + mPaintState = UnselectedSelectedTransition; break; } - case CheckedState: + case SelectedState: { // Fade out the 'check' actor. - StopCheckOutAnimation( button ); - FadeOutImage( button, Foreground, checkedImage ); - StartCheckOutAnimation( button ); + StopCheckOutAnimation( checkBoxButton ); + FadeOutImage( checkBoxButton, Foreground, selectedImage ); + StartCheckOutAnimation( checkBoxButton ); - mPaintState = UncheckedState; + mPaintState = UnselectedState; break; } - case UncheckedCheckedTransition: + case UnselectedSelectedTransition: { // Stop fade in and start fade out. - StopCheckOutAnimation( button ); + StopCheckOutAnimation( checkBoxButton ); StopCheckInAnimation(); float opacity = 0.f; - if( checkedImage ) + if( selectedImage ) { - opacity = checkedImage.GetCurrentOpacity(); + opacity = selectedImage.GetCurrentOpacity(); } - FadeOutImage( button, Foreground, checkedImage, opacity ); - StartCheckOutAnimation( button ); + FadeOutImage( checkBoxButton, Foreground, selectedImage, opacity ); + StartCheckOutAnimation( checkBoxButton ); - mPaintState = UncheckedState; + mPaintState = UnselectedState; break; } - case CheckedUncheckedTransition: + case SelectedUnselectedTransition: { // Stop fade out and start fade in. float opacity = 1.f; - if( fadeOutCheckedImage ) + if( fadeOutSelectedImage ) { - opacity = fadeOutCheckedImage.GetCurrentOpacity(); + opacity = fadeOutSelectedImage.GetCurrentOpacity(); } - StopCheckOutAnimation( button ); + StopCheckOutAnimation( checkBoxButton ); - FadeInImage( button, checkedImage, opacity ); + FadeInImage( checkBoxButton, selectedImage, opacity ); StartCheckInAnimation(); - mPaintState = UncheckedCheckedTransition; + mPaintState = UnselectedSelectedTransition; break; } default: @@ -729,7 +739,7 @@ void CheckBoxButtonDefaultPainter::ApplyConstraint( Actor& actor, float depth ) } } -void CheckBoxButtonDefaultPainter::ApplyCheckedConstraint( Actor& actor, float depth ) +void CheckBoxButtonDefaultPainter::ApplySelectedConstraint( Actor& actor, float depth ) { if( actor ) { @@ -799,14 +809,14 @@ void CheckBoxButtonDefaultPainter::StopCheckOutAnimation( Toolkit::CheckBoxButto } Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetCheckBoxButtonImpl( checkBox ); - Actor& fadeOutCheckedImage = checkBoxImpl.GetFadeOutCheckedImage(); + Actor& fadeOutSelectedImage = checkBoxImpl.GetFadeOutSelectedImage(); Actor& fadeOutBackgroundImage = checkBoxImpl.GetFadeOutBackgroundImage(); if( remove ) { - if( fadeOutCheckedImage && fadeOutCheckedImage.GetParent() ) + if( fadeOutSelectedImage && fadeOutSelectedImage.GetParent() ) { - fadeOutCheckedImage.GetParent().Remove( fadeOutCheckedImage ); + fadeOutSelectedImage.GetParent().Remove( fadeOutSelectedImage ); } if( fadeOutBackgroundImage && fadeOutBackgroundImage.GetParent() ) @@ -814,7 +824,7 @@ void CheckBoxButtonDefaultPainter::StopCheckOutAnimation( Toolkit::CheckBoxButto fadeOutBackgroundImage.GetParent().Remove( fadeOutBackgroundImage ); } - fadeOutCheckedImage.Reset(); + fadeOutSelectedImage.Reset(); fadeOutBackgroundImage.Reset(); } } @@ -837,10 +847,10 @@ void CheckBoxButtonDefaultPainter::FadeOutImage( Toolkit::CheckBoxButton& checkB if( image ) { Toolkit::Internal::CheckBoxButton& checkBoxImpl = GetCheckBoxButtonImpl( checkBox ); - Actor& fadeOutCheckedImage = checkBoxImpl.GetFadeOutCheckedImage(); + Actor& fadeOutSelectedImage = checkBoxImpl.GetFadeOutSelectedImage(); Actor& fadeOutBackgroundImage = checkBoxImpl.GetFadeOutBackgroundImage(); - Actor& actorLayer = ( ( Background == layer ) ? fadeOutBackgroundImage : fadeOutCheckedImage ); + Actor& actorLayer = ( ( Background == layer ) ? fadeOutBackgroundImage : fadeOutSelectedImage ); actorLayer = image; @@ -863,7 +873,7 @@ void CheckBoxButtonDefaultPainter::AddToCheckInAnimation( const Actor& actor ) mCheckInAnimation.AnimateTo( Property( handle, Actor::SCALE_X ), 1.0f); } -void CheckBoxButtonDefaultPainter::SetupCheckedAnimation( Toolkit::CheckBoxButton& checkBox, Actor& image ) +void CheckBoxButtonDefaultPainter::SetupSelectedAnimation( Toolkit::CheckBoxButton& checkBox, Actor& image ) { if( image ) { @@ -892,34 +902,34 @@ void CheckBoxButtonDefaultPainter::EndCheckOutAnimation() { switch( mPaintState ) { - case UncheckedCheckedTransition: + case UnselectedSelectedTransition: { - mPaintState = CheckedState; + mPaintState = SelectedState; break; } - case CheckedUncheckedTransition: + case SelectedUnselectedTransition: { - mPaintState = UncheckedState; + mPaintState = UnselectedState; break; } - case UncheckedDisabledTransition: + case UnselectedDisabledTransition: { - mPaintState = DisabledUncheckedState; + mPaintState = DisabledUnselectedState; break; } - case DisabledUncheckedTransition: + case DisabledUnselectedTransition: { - mPaintState = UncheckedState; + mPaintState = UnselectedState; break; } - case CheckedDisabledTransition: + case SelectedDisabledTransition: { - mPaintState = DisabledCheckedState; + mPaintState = DisabledSelectedState; break; } - case DisabledCheckedTransition: + case DisabledSelectedTransition: { - mPaintState = CheckedState; + mPaintState = SelectedState; break; } default: @@ -942,34 +952,34 @@ void CheckBoxButtonDefaultPainter::CheckInAnimationFinished( Dali::Animation& so { switch( mPaintState ) { - case UncheckedCheckedTransition: + case UnselectedSelectedTransition: { - mPaintState = CheckedState; + mPaintState = SelectedState; break; } - case CheckedUncheckedTransition: + case SelectedUnselectedTransition: { - mPaintState = UncheckedState; + mPaintState = UnselectedState; break; } - case UncheckedDisabledTransition: + case UnselectedDisabledTransition: { - mPaintState = DisabledUncheckedState; + mPaintState = DisabledUnselectedState; break; } - case DisabledUncheckedTransition: + case DisabledUnselectedTransition: { - mPaintState = UncheckedState; + mPaintState = UnselectedState; break; } - case CheckedDisabledTransition: + case SelectedDisabledTransition: { - mPaintState = DisabledCheckedState; + mPaintState = DisabledSelectedState; break; } - case DisabledCheckedTransition: + case DisabledSelectedTransition: { - mPaintState = CheckedState; + mPaintState = SelectedState; break; } default: diff --git a/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.h b/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.h index 0addbb4..a5b5a29 100644 --- a/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.h +++ b/dali-toolkit/internal/controls/buttons/check-box-button-default-painter-impl.h @@ -68,88 +68,54 @@ public: */ ~CheckBoxButtonDefaultPainter(); + ///////////////////////////////////////////////////////////////////////////// + // ButtonPainter interface + ///////////////////////////////////////////////////////////////////////////// + /** - * Sets the background image. - * - * It adds the background image to the root actor and creates the image transition if needed. - * - * @param[inout] checkBox The button in which all actors that form its appearance are going to be added. - * @param[in] image The background image. + * @copydoc ButtonPainter::Initialize( Toolkit::Button& button ) */ - void SetBackgroundImage( Toolkit::CheckBoxButton& checkBox, Actor image ); + virtual void Initialize( Toolkit::Button& button ); /** - * Sets the checked image. - * - * It adds the checked image to the root actor and creates the image transition if needed. - * - * @param[inout] checkBox The button in which all actors that form its appearance are going to be added. - * @param[in] image The checked image. + * @copydoc ButtonPainter::SetSize( Toolkit::Button& button, const Vector3& size ) */ - void SetCheckedImage( Toolkit::CheckBoxButton& checkBox, Actor image ); + virtual void SetSize( Toolkit::Button& button, const Vector3& size ); /** - * Sets the disabled backgroundimage. - * - * It adds the disabled backgroundimage to the root actor and creates the image transition if needed. - * - * @param[inout] checkBox The button in which all actors that form its appearance are going to be added. - * @param[in] image The disabled backgroundimage. + * @copydoc ButtonPainter::SetDisabled( Toolkit::Button& button, bool disabled ) */ - void SetDisabledBackgroundImage( Toolkit::CheckBoxButton& checkBox, Actor image ); + virtual void SetDisabled( Toolkit::Button& button, bool disabled ); /** - * Sets the disabled checked image. - * - * It adds the disabled checked image to the root actor and creates the image transition if needed. - * - * @param[inout] checkBox The button in which all actors that form its appearance are going to be added. - * @param[in] image The disabled checked image. + * @copydoc ButtonPainter::SetAnimationTime( float animationTime ) */ - void SetDisabledCheckedImage( Toolkit::CheckBoxButton& checkBox, Actor image ); - - ///////////////////////////////////////////////////////////////////////////// - // ButtonPainter interface - ///////////////////////////////////////////////////////////////////////////// + virtual void SetAnimationTime( float animationTime ); /** - * Initializes the painter by setting the default images. - * - * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @copydoc ButtonPainter::GetAnimationTime() */ - void Initialize( Toolkit::Button& button ); + virtual float GetAnimationTime() const; /** - * Sets the new size. - * - * Resizes images. It applies size constraints. - * - * @param[inout] button The button which stores button's images. - * @param[in] size The new size. + * @copydoc ButtonPainter::SetSelectedImage( Toolkit::Button& button, Actor image ) */ - void SetSize( Toolkit::Button& button, const Vector3& size ); + virtual void SetSelectedImage( Toolkit::Button& button, Actor image ); /** - * Changes the Vega::Toolkit::CheckBoxButton for the given disabled state. - * - * It creates the image transition if needed. - * - * @param[inout] button The button in which all actors that form its appearance are going to be added. - * @param[in] disabled The disabled state. + * @copydoc ButtonPainter::SetBackgroundImage( Toolkit::Button& button, Actor image ) */ - void SetDisabled( Toolkit::Button& button, bool disabled ); + virtual void SetBackgroundImage( Toolkit::Button& button, Actor image ); /** - * Sets the animation time. - * @param[in] animationTime The animation time. + * @copydoc ButtonPainter::SetDisabledSelectedImage( Toolkit::Button& button, Actor image ) */ - void SetAnimationTime( float animationTime ); + virtual void SetDisabledSelectedImage( Toolkit::Button& button, Actor image ); /** - * Retrieves the animation time. - * @return The animation time. + * @copydoc ButtonPainter::SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ) */ - float GetAnimationTime() const; + virtual void SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ); ///////////////////////////////////////////////////////////////////////////// // CheckBoxButtonPainter interface @@ -161,7 +127,7 @@ public: * * @param[inout] checkBox The Dali::Toolkit::CheckBoxButton in which this object is registered. */ - void Checked( Toolkit::CheckBoxButton& checkBox ); + void Selected( Toolkit::Button& checkBox ); private: @@ -178,16 +144,16 @@ private: */ enum PaintState { - UncheckedState, ///< The check box button is unchecked. - CheckedState, ///< The check box button is checked. - DisabledUncheckedState, ///< The check box button is disabled and unchecked. - DisabledCheckedState, ///< The check box button is disabled and checked. - UncheckedCheckedTransition, ///< The check box button is in transition from unchecked to checked. - CheckedUncheckedTransition, ///< The check box button is in transition from checked to unchecked. - UncheckedDisabledTransition, ///< The check box button is in transition from unchecked to disabled. - DisabledUncheckedTransition, ///< The check box button is in transition from disabled to unchecked. - CheckedDisabledTransition, ///< The check box button is in transition from checked to disabled. - DisabledCheckedTransition ///< The check box button is in transition from disabled to checked. + UnselectedState, ///< The check box button is unselected. + SelectedState, ///< The check box button is selected. + DisabledUnselectedState, ///< The check box button is disabled and unselected. + DisabledSelectedState, ///< The check box button is disabled and selected. + UnselectedSelectedTransition, ///< The check box button is in transition from unselected to selected. + SelectedUnselectedTransition, ///< The check box button is in transition from selected to unselected. + UnselectedDisabledTransition, ///< The check box button is in transition from unselected to disabled. + DisabledUnselectedTransition, ///< The check box button is in transition from disabled to unselected. + SelectedDisabledTransition, ///< The check box button is in transition from selected to disabled. + DisabledSelectedTransition ///< The check box button is in transition from disabled to selected. }; /** @@ -214,7 +180,7 @@ private: * @param[inout] actor The actor. * @param[in] depth Depth position. */ - void ApplyCheckedConstraint( Actor& actor, float depth ); + void ApplySelectedConstraint( Actor& actor, float depth ); /** * Adds the actor to the fade in animation. It creates a fade in animation if needed. @@ -255,7 +221,7 @@ private: * Stops the fade out animation. * * It removes the actor stored in CheckBoxButtonDefaultPainter::mFadeOutBackgroundImage and - * CheckBoxButtonDefaultPainter::mFadeOutCheckedImage. + * CheckBoxButtonDefaultPainter::mFadeOutSelectedImage. * * @param[inout] checkBox The button which holds images. * @param[in] remove If true, removes the fadeout actor from root. @@ -275,7 +241,7 @@ private: * It adds the actor fade out animation and stores it to be removed when the animation finishes. * * @param[inout] checkBox The button which holds images. - * @param[in] layer Defines if the actor is going to be stored in the mFadeOutBackgroundImage or mFadeOutCheckedImage member. + * @param[in] layer Defines if the actor is going to be stored in the mFadeOutBackgroundImage or mFadeOutSelectedImage member. * @param[inout] image The actor. * @param[in] opacity The initial opacity. */ @@ -294,7 +260,7 @@ private: * @param[inout] checkBox The button which holds images. * @param[inout] image The actor. */ - void SetupCheckedAnimation( Toolkit::CheckBoxButton& checkBox, Actor& image ); + void SetupSelectedAnimation( Toolkit::CheckBoxButton& checkBox, Actor& image ); /** * Signal end of check out animation diff --git a/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp b/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp index c15c15e..9c898c7 100644 --- a/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/check-box-button-impl.cpp @@ -19,8 +19,6 @@ #include "check-box-button-impl.h" // EXTERNAL INCLUDES -#include -#include #include // INTERNAL INCLUDES @@ -45,19 +43,8 @@ BaseHandle Create() TypeRegistration mType( typeid(Toolkit::CheckBoxButton), typeid(Toolkit::Button), Create ); -TypeAction a1(mType, Toolkit::CheckBoxButton::ACTION_CHECK_BOX_BUTTON_CLICK, &CheckBoxButton::DoAction); - } -namespace -{ - // Helper function used to cast a ButtonPainterPtr to CheckBoxButtonDefaultPainterPtr - CheckBoxButtonDefaultPainterPtr GetCheckBoxButtonPainter( ButtonPainterPtr painter ) - { - return static_cast( painter.Get() ); - } -} // namespace - Dali::Toolkit::CheckBoxButton CheckBoxButton::New() { // Create the implementation, temporarily owned on stack @@ -73,193 +60,19 @@ Dali::Toolkit::CheckBoxButton CheckBoxButton::New() return checkBoxButton; } -void CheckBoxButton::SetChecked( bool checked ) -{ - if( !mDisabled && ( checked != mChecked ) ) - { - // Stores the state. - mChecked = checked; - - Toolkit::CheckBoxButton handle( GetOwner() ); - - // Notifies the painter the checkbox has been checked. - GetCheckBoxButtonPainter( mPainter )->Checked( handle ); - - // Raise state changed signal - mStateChangedSignal.Emit( handle, mChecked ); - } -} - -bool CheckBoxButton::IsChecked() const -{ - return mChecked; -} - -void CheckBoxButton::SetBackgroundImage( Image image ) -{ - SetBackgroundImage( ImageActor::New( image ) ); -} - -void CheckBoxButton::SetBackgroundImage( Actor image ) -{ - Toolkit::CheckBoxButton handle( GetOwner() ); - GetCheckBoxButtonPainter( mPainter )->SetBackgroundImage( handle, image ); -} - -Actor& CheckBoxButton::GetBackgroundImage() -{ - return mBackgroundImage; -} - -Actor CheckBoxButton::GetBackgroundImage() const -{ - return mBackgroundImage; -} - -void CheckBoxButton::SetCheckedImage( Image image ) -{ - SetCheckedImage( ImageActor::New( image ) ); -} - -void CheckBoxButton::SetCheckedImage( Actor image ) -{ - Toolkit::CheckBoxButton handle( GetOwner() ); - GetCheckBoxButtonPainter( mPainter )->SetCheckedImage( handle, image ); -} - -Actor& CheckBoxButton::GetCheckedImage() -{ - return mCheckedImage; -} - -Actor CheckBoxButton::GetCheckedImage() const -{ - return mCheckedImage; -} - -void CheckBoxButton::SetDisabledBackgroundImage( Image image ) -{ - SetDisabledBackgroundImage( ImageActor::New( image ) ); -} - -void CheckBoxButton::SetDisabledBackgroundImage( Actor image ) -{ - Toolkit::CheckBoxButton handle( GetOwner() ); - GetCheckBoxButtonPainter( mPainter )->SetDisabledBackgroundImage( handle, image ); -} - -Actor& CheckBoxButton::GetDisabledBackgroundImage() -{ - return mDisabledBackgroundImage; -} - -Actor CheckBoxButton::GetDisabledBackgroundImage() const -{ - return mDisabledBackgroundImage; -} - -void CheckBoxButton::SetDisabledCheckedImage( Image image ) -{ - SetDisabledCheckedImage( ImageActor::New( image ) ); -} - -void CheckBoxButton::SetDisabledCheckedImage( Actor image ) -{ - Toolkit::CheckBoxButton handle( GetOwner() ); - GetCheckBoxButtonPainter( mPainter )->SetDisabledCheckedImage( handle, image ); -} - -Actor& CheckBoxButton::GetDisabledCheckedImage() -{ - return mDisabledCheckedImage; -} - -Actor CheckBoxButton::GetDisabledCheckedImage() const -{ - return mDisabledCheckedImage; -} - -Actor& CheckBoxButton::GetFadeOutBackgroundImage() -{ - return mFadeOutBackgroundImage; -} - -Actor& CheckBoxButton::GetFadeOutCheckedImage() -{ - return mFadeOutCheckedImage; -} - -void CheckBoxButton::OnButtonInitialize() -{ -} - -void CheckBoxButton::OnButtonUp() -{ - if( ButtonDown == mState ) - { - // Stores the state, notifies the painter and emits a signal. - SetChecked( !mChecked ); - } -} - -void CheckBoxButton::OnAnimationTimeSet( float animationTime ) -{ - GetCheckBoxButtonPainter( mPainter )->SetAnimationTime( animationTime ); -} - -float CheckBoxButton::OnAnimationTimeRequested() const -{ - return GetCheckBoxButtonPainter( mPainter )->GetAnimationTime(); -} - -void CheckBoxButton::OnActivated() -{ - // When the button is activated, it performs the click action - PropertyValueContainer attributes; - DoClickAction(attributes); -} - -void CheckBoxButton::DoClickAction(const PropertyValueContainer& attributes) -{ - // Prevents the button signals from doing a recursive loop by sending an action - // and re-emitting the signals. - if(!mClickActionPerforming) - { - mClickActionPerforming = true; - SetChecked( !mChecked ); - mClickActionPerforming = false; - } -} - -bool CheckBoxButton::DoAction(BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes) -{ - bool ret = false; - - Dali::BaseHandle handle(object); - - Toolkit::CheckBoxButton button = Toolkit::CheckBoxButton::DownCast(handle); - - if(Toolkit::CheckBoxButton::ACTION_CHECK_BOX_BUTTON_CLICK == actionName) - { - GetImplementation(button).DoClickAction(attributes); - ret = true; - } - - return ret; -} - CheckBoxButton::CheckBoxButton() -: Button(), - mChecked( false ), - mClickActionPerforming(false) +: Button() { // Creates specific painter. - mPainter = new CheckBoxButtonDefaultPainter(); + ButtonPainterPtr painter = new CheckBoxButtonDefaultPainter(); + SetPainter( painter ); + + SetTogglableButton( true ); } CheckBoxButton::~CheckBoxButton() { - mPainter = NULL; + SetPainter( NULL ); } } // namespace Internal diff --git a/dali-toolkit/internal/controls/buttons/check-box-button-impl.h b/dali-toolkit/internal/controls/buttons/check-box-button-impl.h index cb5e08c..619a571 100644 --- a/dali-toolkit/internal/controls/buttons/check-box-button-impl.h +++ b/dali-toolkit/internal/controls/buttons/check-box-button-impl.h @@ -49,162 +49,6 @@ public: */ static Dali::Toolkit::CheckBoxButton New(); - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetChecked( bool checked ) - */ - void SetChecked( bool checked ); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::IsChecked() - */ - bool IsChecked() const; - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetBackgroundImage( Image image ) - */ - void SetBackgroundImage( Image image ); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetBackgroundImage( Actor image ) - */ - void SetBackgroundImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the background image. - */ - Actor& GetBackgroundImage(); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::GetBackgroundImage() - */ - Actor GetBackgroundImage() const; - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetCheckedImage( Image image ) - */ - void SetCheckedImage( Image image ); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetCheckedImage( Actor image ) - */ - void SetCheckedImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the checked image. - */ - Actor& GetCheckedImage(); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::GetCheckedImage() - */ - Actor GetCheckedImage() const; - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetDisabledBackgroundImage( Image image ) - */ - void SetDisabledBackgroundImage( Image image ); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetDisabledBackgroundImage( Actor image ) - */ - void SetDisabledBackgroundImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the disabled background image. - */ - Actor& GetDisabledBackgroundImage(); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::GetDisabledBackgroundImage() - */ - Actor GetDisabledBackgroundImage() const; - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetDisabledCheckedImage( Image image ) - */ - void SetDisabledCheckedImage( Image image ); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::SetDisabledCheckedImage( Actor image ) - */ - void SetDisabledCheckedImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the disabled checked image. - */ - Actor& GetDisabledCheckedImage(); - - /** - * @copydoc Dali::Toolkit::CheckBoxButton::GetDisabledCheckedImage() - */ - Actor GetDisabledCheckedImage() const; - - /** - * Used by the painter only. - * @return A reference to the background image that is fading out. - */ - Actor& GetFadeOutBackgroundImage(); - - /** - * Used by the painter only. - * @return A reference to the checked image that is fading out. - */ - Actor& GetFadeOutCheckedImage(); - -protected: // From Control - - /** - * Respond the activate notification. - */ - virtual void OnActivated(); - -private: - - /** - * Perform the click action to click the button. - * @param[in] attributes The attributes to perfrom this action. - */ - void DoClickAction(const PropertyValueContainer& attributes); - -public: - /** - * Performs actions as requested using the action name. - * @param[in] object The object on which to perform the action. - * @param[in] actionName The action to perform. - * @param[in] attributes The attributes with which to perfrom this action. - * @return true if action has been accepted by this control - */ - static bool DoAction(BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes); - -protected: // From Button - - /** - * Registers properties - */ - virtual void OnButtonInitialize(); - - /** - * Emits signals and notifies the painter accordingly with the set button - * properties when the button is released. - */ - virtual void OnButtonUp(); - - /** - * Sets the push button animation time. - * @param animationTime The animation time in seconds. - */ - virtual void OnAnimationTimeSet( float animationTime ); - - /** - * Retrieves the animation time. - * @return The animation time in seconds. - */ - virtual float OnAnimationTimeRequested() const; - protected: /** @@ -224,20 +68,6 @@ private: // Undefined CheckBoxButton& operator=( const CheckBoxButton& ); - - -private: - bool mChecked; ///< Stores the check state. - - Actor mBackgroundImage; ///< Stores the background image. - Actor mCheckedImage; ///< Stores the checked image. - Actor mDisabledCheckedImage; ///< Stores the disabled checked image. - Actor mDisabledBackgroundImage; ///< Stores the disabled background image. - Actor mFadeOutBackgroundImage; ///< Stores a background image, which is in a fade out animation, to be removed when the animation finishes. - Actor mFadeOutCheckedImage; ///< Stores a foreground image, which is in a fade out animation, to be removed when the animation finishes. - - // Actions - bool mClickActionPerforming; }; } // namespace Internal diff --git a/dali-toolkit/internal/controls/buttons/check-box-button-painter-impl.h b/dali-toolkit/internal/controls/buttons/check-box-button-painter-impl.h index c4224d4..3151809 100644 --- a/dali-toolkit/internal/controls/buttons/check-box-button-painter-impl.h +++ b/dali-toolkit/internal/controls/buttons/check-box-button-painter-impl.h @@ -53,14 +53,6 @@ public: */ virtual ~CheckBoxButtonPainter() {} - /** - * This method is called when the Dali::Toolkit::Internal::CheckBoxButton, in which this - * object is registered, changes its state. - * @param[inout] button The Dali::Toolkit::CheckBoxButton, linked to the internal - * implementation, in which this object is registered. - */ - virtual void Checked( Toolkit::CheckBoxButton& button ) = 0; - ///////////////////////////////////////////////////////////////////////////// // ButtonPainter interface ///////////////////////////////////////////////////////////////////////////// diff --git a/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp b/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp index cf0cf92..5a60a1d 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.cpp @@ -26,7 +26,6 @@ // INTERNAL INCLUDES #include -#include #include "push-button-impl.h" namespace Dali @@ -89,180 +88,190 @@ PushButtonDefaultPainter::~PushButtonDefaultPainter() } } -void PushButtonDefaultPainter::SetButtonImage( Toolkit::PushButton& pushButton, Actor image ) +void PushButtonDefaultPainter::Initialize( Toolkit::Button& button ) { - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); + Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& label = pushButtonImpl.GetLabel(); - switch( mPaintState ) + Toolkit::PushButton& pushButton = static_cast( button ); + + if( buttonImage ) { - case ReleasedState: - { - if( buttonImage && buttonImage.GetParent() ) - { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, buttonImage ); + SetButtonImage( pushButton, buttonImage ); + } - buttonImage = image; + if( backgroundImage ) + { + SetBackgroundImage( pushButton, backgroundImage ); + } - FadeInImage( pushButton, buttonImage ); + if( selectedImage ) + { + SetSelectedImage( pushButton, selectedImage ); + } - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); - } - else - { - buttonImage = image; - pushButton.Add( buttonImage ); - } - break; - } - case ReleasedPressedTransition: // FALLTHROUGH - case ReleasedDisabledTransition: - { - float opacity = 1.f; - if( fadeOutButtonImage ) - { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton ); + if( disabledImage ) + { + SetDisabledImage( pushButton, disabledImage ); + } - // Replaces the button image. - buttonImage = image; + if( disabledBackgroundImage ) + { + SetDisabledBackgroundImage( pushButton, disabledBackgroundImage ); + } - pushButton.Add( buttonImage ); - FadeOutImage( pushButton, Foreground, buttonImage, opacity ); + if( label ) + { + SetLabel( pushButton, label ); + } - StartFadeOutAnimation( pushButton ); - break; - } - case PressedReleasedTransition: // FALLTHROUGH - case DisabledReleasedTransition: - { - StopFadeInAnimation(); - pushButton.Remove( buttonImage ); + SetDisabled( pushButton, mDisabled ); +} - buttonImage = image; +void PushButtonDefaultPainter::SetSize( Toolkit::Button& button, const Vector3& size ) +{ + if( size != mSize ) + { + mSize = size; - FadeInImage( pushButton, buttonImage ); - StartFadeInAnimation(); - break; + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& buttonImage = pushButtonImpl.GetButtonImage(); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); + Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& label = pushButtonImpl.GetLabel(); + + ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); + ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); + ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); + ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); + ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); + + if( label ) + { + label.SetPosition( 0.f, 0.f, LABEL_DEPTH ); + label.SetSize( mSize ); } - default: - buttonImage = image; - break; } - - buttonImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - buttonImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); } -void PushButtonDefaultPainter::SetBackgroundImage( Toolkit::PushButton& pushButton, Actor image ) +void PushButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool disabled ) { - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& buttonImage = pushButtonImpl.GetButtonImage(); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + mDisabled = disabled; switch( mPaintState ) { - case ReleasedState: // FALLTHROUGH - case PressedState: - case ReleasedPressedTransition: - case PressedReleasedTransition: + case ReleasedState: + { + if( disabled ) { - if( backgroundImage && backgroundImage.GetParent() ) - { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, backgroundImage ); - - backgroundImage = image; - - FadeInImage( pushButton, backgroundImage ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, backgroundImage ); + FadeOutImage( pushButton, Foreground, buttonImage ); + FadeInImage( pushButton, disabledBackgroundImage ); + FadeInImage( pushButton, disabledImage ); + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = ReleasedDisabledTransition; } else { - backgroundImage = image; - pushButton.Add( backgroundImage ); + mPaintState = DisabledReleasedState; } - break; } - case ReleasedDisabledTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case PressedState: + { + if( disabled ) { - float opacity = 1.f; - if( fadeOutBackgroundImage ) - { - opacity = fadeOutBackgroundImage.GetCurrentOpacity(); - } StopFadeOutAnimation( pushButton ); - - // Replaces the button image. - backgroundImage = image; - - pushButton.Add( backgroundImage ); - FadeOutImage( pushButton, Background, backgroundImage, opacity ); - + FadeOutImage( pushButton, Background, backgroundImage ); + FadeOutImage( pushButton, Foreground, selectedImage ); + FadeInImage( pushButton, disabledBackgroundImage ); + FadeInImage( pushButton, disabledImage ); StartFadeOutAnimation( pushButton ); - break; + StartFadeInAnimation(); + + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = PressedDisabledTransition; + } + else + { + mPaintState = DisabledPressedState; + } } - case DisabledReleasedTransition: // FALLTHROUGH - case DisabledPressedTransition: + break; + } + case DisabledReleasedState: + { + if( !disabled ) { - StopFadeInAnimation(); - pushButton.Remove( backgroundImage ); - - backgroundImage = image; - + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, disabledBackgroundImage ); + FadeOutImage( pushButton, Foreground, disabledImage ); FadeInImage( pushButton, backgroundImage ); + FadeInImage( pushButton, buttonImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - break; - } - default: - backgroundImage = image; - break; - } - - backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); -} -void PushButtonDefaultPainter::SetSelectedImage( Toolkit::PushButton& pushButton, Actor image ) -{ - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); - - switch( mPaintState ) + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledReleasedTransition; + } + else + { + mPaintState = ReleasedState; + } + } + break; + } + case DisabledPressedState: { - case PressedState: + if( !disabled ) { - if( selectedImage && selectedImage.GetParent() ) - { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, selectedImage ); - - selectedImage = image; - - FadeInImage( pushButton, selectedImage ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, disabledBackgroundImage ); + FadeOutImage( pushButton, Foreground, disabledImage ); + FadeInImage( pushButton, backgroundImage ); + FadeInImage( pushButton, selectedImage ); + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledPressedTransition; } else { - selectedImage = image; - pushButton.Add( selectedImage ); + mPaintState = PressedState; } - break; } - case PressedReleasedTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case ReleasedPressedTransition: + { + if( disabled ) { float opacity = 1.f; if( fadeOutButtonImage ) @@ -270,604 +279,608 @@ void PushButtonDefaultPainter::SetSelectedImage( Toolkit::PushButton& pushButton opacity = fadeOutButtonImage.GetCurrentOpacity(); } StopFadeOutAnimation( pushButton ); + StopFadeInAnimation(); - // Replaces the button image. - selectedImage = image; + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage ); - pushButton.Add( selectedImage ); - FadeOutImage( pushButton, Foreground, selectedImage, opacity ); + FadeInImage( pushButton, disabledImage ); + FadeInImage( pushButton, disabledBackgroundImage ); StartFadeOutAnimation( pushButton ); - break; - } - case ReleasedPressedTransition: // FALLTHROUGH - case DisabledPressedTransition: - { - StopFadeInAnimation(); - pushButton.Remove( selectedImage ); - - selectedImage = image; - - FadeInImage( pushButton, selectedImage ); StartFadeInAnimation(); - break; - } - default: - selectedImage = image; - break; - } - - selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); -} - -void PushButtonDefaultPainter::SetDisabledImage( Toolkit::PushButton& pushButton, Actor image ) -{ - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); - switch( mPaintState ) - { - case DisabledReleasedState: // FALLTHROUGH - case DisabledPressedState: - { - if( disabledImage && disabledImage.GetParent() ) + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, disabledImage ); - - disabledImage = image; - - FadeInImage( pushButton, disabledImage ); - - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + mPaintState = PressedDisabledTransition; } else { - disabledImage = image; - pushButton.Add( disabledImage ); + mPaintState = DisabledPressedState; } - break; } - case ReleasedDisabledTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case PressedReleasedTransition: + { + if( disabled ) { + float opacity = 1.f; + if( fadeOutButtonImage ) + { + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } + StopFadeOutAnimation( pushButton ); StopFadeInAnimation(); - pushButton.Remove( disabledImage ); - disabledImage = image; + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage ); FadeInImage( pushButton, disabledImage ); + FadeInImage( pushButton, disabledBackgroundImage ); + + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - break; + + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = ReleasedDisabledTransition; + } + else + { + mPaintState = DisabledReleasedState; + } } - case DisabledReleasedTransition: // FALLTHROUGH - case DisabledPressedTransition: + break; + } + case ReleasedDisabledTransition: + { + if( !disabled ) { float opacity = 1.f; if( fadeOutButtonImage ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton ); - - // Replaces the button image. - disabledImage = image; + StopFadeOutAnimation( pushButton, false ); + StopFadeInAnimation(); - pushButton.Add( disabledImage ); - FadeOutImage( pushButton, Foreground, disabledImage, opacity ); + FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); + FadeInImage( pushButton, buttonImage, opacity ); + FadeInImage( pushButton, backgroundImage, opacity ); StartFadeOutAnimation( pushButton ); - break; + StartFadeInAnimation(); + + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledReleasedTransition; + } + else + { + mPaintState = ReleasedState; + } } - default: - disabledImage = image; - break; + break; } - - disabledImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - disabledImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); -} - -void PushButtonDefaultPainter::SetDisabledBackgroundImage( Toolkit::PushButton& pushButton, Actor image ) -{ - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); - Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); - - switch( mPaintState ) + case DisabledReleasedTransition: { - case DisabledReleasedState: // FALLTHROUGH - case DisabledPressedState: + if( disabled ) { - if( disabledBackgroundImage && disabledBackgroundImage.GetParent() ) + float opacity = 1.f; + if( fadeOutButtonImage ) { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, disabledBackgroundImage ); + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } + StopFadeOutAnimation( pushButton, false ); + StopFadeInAnimation(); - disabledBackgroundImage = image; + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); + FadeInImage( pushButton, disabledImage, opacity ); + FadeInImage( pushButton, disabledBackgroundImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage ); + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = ReleasedDisabledTransition; } else { - disabledBackgroundImage = image; - pushButton.Add( disabledBackgroundImage ); + mPaintState = DisabledReleasedState; } - break; } - case ReleasedDisabledTransition: // FALLTHROUGH - case PressedDisabledTransition: + break; + } + case PressedDisabledTransition: + { + if( !disabled ) { + float opacity = 1.f; + if( fadeOutButtonImage ) + { + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - pushButton.Remove( disabledBackgroundImage ); - disabledBackgroundImage = image; + FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); + FadeInImage( pushButton, selectedImage, opacity ); + FadeInImage( pushButton, backgroundImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - break; + + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = DisabledPressedTransition; + } + else + { + mPaintState = PressedState; + } } - case DisabledReleasedTransition: // FALLTHROUGH - case DisabledPressedTransition: + break; + } + case DisabledPressedTransition: + { + if( disabled ) { float opacity = 1.f; - if( fadeOutBackgroundImage ) + if( fadeOutButtonImage ) { - opacity = fadeOutBackgroundImage.GetCurrentOpacity(); + opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton ); - - // Replaces the button image. - disabledBackgroundImage = image; + StopFadeOutAnimation( pushButton, false ); + StopFadeInAnimation(); - pushButton.Add( disabledBackgroundImage ); - FadeOutImage( pushButton, Background, disabledBackgroundImage, opacity ); + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); + FadeInImage( pushButton, disabledImage, opacity ); + FadeInImage( pushButton, disabledBackgroundImage, opacity ); StartFadeOutAnimation( pushButton ); - break; + StartFadeInAnimation(); + + if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + { + mPaintState = PressedDisabledTransition; + } + else + { + mPaintState = DisabledPressedState; + } } - default: - disabledBackgroundImage = image; - break; + break; + } + default: + break; } - - disabledBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); - disabledBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); - ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); } -void PushButtonDefaultPainter::SetLabel( Toolkit::PushButton& pushButton, Actor label ) +void PushButtonDefaultPainter::SetAnimationTime( float animationTime ) { - Toolkit::Internal::PushButton& pushButtonImpl = GetImplementation( pushButton ); - Actor& labelActor = pushButtonImpl.GetLabel(); - - if( labelActor && labelActor.GetParent() ) - { - labelActor.GetParent().Remove( labelActor ); - } - - labelActor = label; - labelActor.SetAnchorPoint( AnchorPoint::CENTER ); - labelActor.SetParentOrigin( ParentOrigin::CENTER ); + mAnimationTime = animationTime; +} - labelActor.SetPosition( 0.f, 0.f, LABEL_DEPTH ); - labelActor.SetSize( mSize ); +float PushButtonDefaultPainter::GetAnimationTime() const +{ + return mAnimationTime; +} - pushButton.Add( labelActor ); +void PushButtonDefaultPainter::SetAutoRepeating( bool autorepeating ) +{ + mAutoRepeating = autorepeating; } -void PushButtonDefaultPainter::Initialize( Toolkit::Button& button ) +void PushButtonDefaultPainter::SetLabel( Toolkit::Button& button, Actor label ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); - Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); - Actor& label = pushButtonImpl.GetLabel(); + Actor& labelActor = pushButtonImpl.GetLabel(); Toolkit::PushButton& pushButton = static_cast( button ); - if( buttonImage ) - { - SetButtonImage( pushButton, buttonImage ); - } - - if( backgroundImage ) - { - SetBackgroundImage( pushButton, backgroundImage ); - } - - if( selectedImage ) - { - SetSelectedImage( pushButton, selectedImage ); - } - - if( disabledImage ) - { - SetDisabledImage( pushButton, disabledImage ); - } - - if( disabledBackgroundImage ) - { - SetDisabledBackgroundImage( pushButton, disabledBackgroundImage ); - } - - if( label ) + if( labelActor && labelActor.GetParent() ) { - SetLabel( pushButton, label ); + labelActor.GetParent().Remove( labelActor ); } - SetDisabled( pushButton, mDisabled ); -} - -void PushButtonDefaultPainter::SetSize( Toolkit::Button& button, const Vector3& size ) -{ - if( size != mSize ) - { - mSize = size; - - Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); - Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); - Actor& label = pushButtonImpl.GetLabel(); - - ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); - ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); - ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); - ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); - ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); + labelActor = label; + labelActor.SetAnchorPoint( AnchorPoint::CENTER ); + labelActor.SetParentOrigin( ParentOrigin::CENTER ); - if( label ) - { - label.SetPosition( 0.f, 0.f, LABEL_DEPTH ); - label.SetSize( mSize ); - } - } + labelActor.SetPosition( 0.f, 0.f, LABEL_DEPTH ); + labelActor.SetSize( mSize ); + + pushButton.Add( labelActor ); } -void PushButtonDefaultPainter::SetDisabled( Toolkit::Button& button, bool disabled ) +void PushButtonDefaultPainter::SetButtonImage( Toolkit::Button& button, Actor image ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& buttonImage = pushButtonImpl.GetButtonImage(); - Actor& selectedImage = pushButtonImpl.GetSelectedImage(); - Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); - Actor& disabledImage = pushButtonImpl.GetDisabledImage(); - Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); Toolkit::PushButton& pushButton = static_cast( button ); - mDisabled = disabled; - switch( mPaintState ) { - case ReleasedState: - { - if( disabled ) + case ReleasedState: { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, backgroundImage ); - FadeOutImage( pushButton, Foreground, buttonImage ); - FadeInImage( pushButton, disabledBackgroundImage ); - FadeInImage( pushButton, disabledImage ); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); - - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + if( buttonImage && buttonImage.GetParent() ) { - mPaintState = ReleasedDisabledTransition; + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, buttonImage ); + + buttonImage = image; + + FadeInImage( pushButton, buttonImage ); + + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = DisabledReleasedState; + buttonImage = image; + pushButton.Add( buttonImage ); } + break; } - break; - } - case PressedState: - { - if( disabled ) + case ReleasedPressedTransition: // FALLTHROUGH + case ReleasedDisabledTransition: { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, backgroundImage ); - FadeOutImage( pushButton, Foreground, selectedImage ); - FadeInImage( pushButton, disabledBackgroundImage ); - FadeInImage( pushButton, disabledImage ); - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); - - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = PressedDisabledTransition; - } - else + float opacity = 1.f; + if( fadeOutButtonImage ) { - mPaintState = DisabledPressedState; + opacity = fadeOutButtonImage.GetCurrentOpacity(); } + StopFadeOutAnimation( pushButton ); + + // Replaces the button image. + buttonImage = image; + + pushButton.Add( buttonImage ); + FadeOutImage( pushButton, Foreground, buttonImage, opacity ); + + StartFadeOutAnimation( pushButton ); + break; } - break; - } - case DisabledReleasedState: - { - if( !disabled ) + case PressedReleasedTransition: // FALLTHROUGH + case DisabledReleasedTransition: { - StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, disabledImage ); - FadeInImage( pushButton, backgroundImage ); + StopFadeInAnimation(); + pushButton.Remove( buttonImage ); + + buttonImage = image; + FadeInImage( pushButton, buttonImage ); - StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); + break; + } + default: + buttonImage = image; + break; + } - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) + buttonImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + buttonImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( buttonImage, FOREGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetSelectedImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& selectedImage = pushButtonImpl.GetSelectedImage(); + Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) + { + case PressedState: + { + if( selectedImage && selectedImage.GetParent() ) { - mPaintState = DisabledReleasedTransition; + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, selectedImage ); + + selectedImage = image; + + FadeInImage( pushButton, selectedImage ); + + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = ReleasedState; + selectedImage = image; + pushButton.Add( selectedImage ); } + break; } - break; - } - case DisabledPressedState: - { - if( !disabled ) + case PressedReleasedTransition: // FALLTHROUGH + case PressedDisabledTransition: { + float opacity = 1.f; + if( fadeOutButtonImage ) + { + opacity = fadeOutButtonImage.GetCurrentOpacity(); + } StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Background, disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, disabledImage ); - FadeInImage( pushButton, backgroundImage ); - FadeInImage( pushButton, selectedImage ); + + // Replaces the button image. + selectedImage = image; + + pushButton.Add( selectedImage ); + FadeOutImage( pushButton, Foreground, selectedImage, opacity ); + StartFadeOutAnimation( pushButton ); + break; + } + case ReleasedPressedTransition: // FALLTHROUGH + case DisabledPressedTransition: + { + StopFadeInAnimation(); + pushButton.Remove( selectedImage ); + + selectedImage = image; + + FadeInImage( pushButton, selectedImage ); StartFadeInAnimation(); + break; + } + default: + selectedImage = image; + break; + } - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) + selectedImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + selectedImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( selectedImage, FOREGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetBackgroundImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& backgroundImage = pushButtonImpl.GetBackgroundImage(); + Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) + { + case ReleasedState: // FALLTHROUGH + case PressedState: + case ReleasedPressedTransition: + case PressedReleasedTransition: + { + if( backgroundImage && backgroundImage.GetParent() ) { - mPaintState = DisabledPressedTransition; + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, backgroundImage ); + + backgroundImage = image; + + FadeInImage( pushButton, backgroundImage ); + + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = PressedState; + backgroundImage = image; + pushButton.Add( backgroundImage ); } + break; } - break; - } - case ReleasedPressedTransition: - { - if( disabled ) + case ReleasedDisabledTransition: // FALLTHROUGH + case PressedDisabledTransition: { float opacity = 1.f; - if( fadeOutButtonImage ) + if( fadeOutBackgroundImage ) { - opacity = fadeOutButtonImage.GetCurrentOpacity(); + opacity = fadeOutBackgroundImage.GetCurrentOpacity(); } StopFadeOutAnimation( pushButton ); + + // Replaces the button image. + backgroundImage = image; + + pushButton.Add( backgroundImage ); + FadeOutImage( pushButton, Background, backgroundImage, opacity ); + + StartFadeOutAnimation( pushButton ); + break; + } + case DisabledReleasedTransition: // FALLTHROUGH + case DisabledPressedTransition: + { StopFadeInAnimation(); + pushButton.Remove( backgroundImage ); - FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage ); + backgroundImage = image; + + FadeInImage( pushButton, backgroundImage ); + StartFadeInAnimation(); + break; + } + default: + backgroundImage = image; + break; + } + + backgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + backgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( backgroundImage, BACKGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetDisabledImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& disabledImage = pushButtonImpl.GetDisabledImage(); + Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) + { + case DisabledReleasedState: // FALLTHROUGH + case DisabledPressedState: + { + if( disabledImage && disabledImage.GetParent() ) + { + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, disabledImage ); - FadeInImage( pushButton, disabledImage ); - FadeInImage( pushButton, disabledBackgroundImage ); + disabledImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + FadeInImage( pushButton, disabledImage ); - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = PressedDisabledTransition; + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = DisabledPressedState; + disabledImage = image; + pushButton.Add( disabledImage ); } + break; } - break; - } - case PressedReleasedTransition: - { - if( disabled ) + case ReleasedDisabledTransition: // FALLTHROUGH + case PressedDisabledTransition: { - float opacity = 1.f; - if( fadeOutButtonImage ) - { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton ); StopFadeInAnimation(); + pushButton.Remove( disabledImage ); - FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage ); + disabledImage = image; FadeInImage( pushButton, disabledImage ); - FadeInImage( pushButton, disabledBackgroundImage ); - - StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); - - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = ReleasedDisabledTransition; - } - else - { - mPaintState = DisabledReleasedState; - } + break; } - break; - } - case ReleasedDisabledTransition: - { - if( !disabled ) + case DisabledReleasedTransition: // FALLTHROUGH + case DisabledPressedTransition: { float opacity = 1.f; if( fadeOutButtonImage ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton, false ); - StopFadeInAnimation(); + StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); - FadeInImage( pushButton, buttonImage, opacity ); - FadeInImage( pushButton, backgroundImage, opacity ); + // Replaces the button image. + disabledImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + pushButton.Add( disabledImage ); + FadeOutImage( pushButton, Foreground, disabledImage, opacity ); - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = DisabledReleasedTransition; - } - else - { - mPaintState = ReleasedState; - } + StartFadeOutAnimation( pushButton ); + break; } - break; + default: + disabledImage = image; + break; } - case DisabledReleasedTransition: + + disabledImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + disabledImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( disabledImage, FOREGROUND_DEPTH ); +} + +void PushButtonDefaultPainter::SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ) +{ + Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); + Actor& disabledBackgroundImage = pushButtonImpl.GetDisabledBackgroundImage(); + Actor& fadeOutBackgroundImage = pushButtonImpl.GetFadeOutBackgroundImage(); + + Toolkit::PushButton& pushButton = static_cast( button ); + + switch( mPaintState ) { - if( disabled ) + case DisabledReleasedState: // FALLTHROUGH + case DisabledPressedState: { - float opacity = 1.f; - if( fadeOutButtonImage ) + if( disabledBackgroundImage && disabledBackgroundImage.GetParent() ) { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton, false ); - StopFadeInAnimation(); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Background, disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); - FadeInImage( pushButton, disabledImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage, opacity ); + disabledBackgroundImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + FadeInImage( pushButton, disabledBackgroundImage ); - if( buttonImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = ReleasedDisabledTransition; + StartFadeOutAnimation( pushButton ); + StartFadeInAnimation(); } else { - mPaintState = DisabledReleasedState; + disabledBackgroundImage = image; + pushButton.Add( disabledBackgroundImage ); } + break; } - break; - } - case PressedDisabledTransition: - { - if( !disabled ) + case ReleasedDisabledTransition: // FALLTHROUGH + case PressedDisabledTransition: { - float opacity = 1.f; - if( fadeOutButtonImage ) - { - opacity = fadeOutButtonImage.GetCurrentOpacity(); - } - StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); + pushButton.Remove( disabledBackgroundImage ); - FadeOutImage( pushButton, Foreground, disabledImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, disabledBackgroundImage, 1.f - opacity ); - FadeInImage( pushButton, selectedImage, opacity ); - FadeInImage( pushButton, backgroundImage, opacity ); + disabledBackgroundImage = image; - StartFadeOutAnimation( pushButton ); + FadeInImage( pushButton, disabledBackgroundImage ); StartFadeInAnimation(); - - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = DisabledPressedTransition; - } - else - { - mPaintState = PressedState; - } + break; } - break; - } - case DisabledPressedTransition: - { - if( disabled ) + case DisabledReleasedTransition: // FALLTHROUGH + case DisabledPressedTransition: { float opacity = 1.f; - if( fadeOutButtonImage ) + if( fadeOutBackgroundImage ) { - opacity = fadeOutButtonImage.GetCurrentOpacity(); + opacity = fadeOutBackgroundImage.GetCurrentOpacity(); } - StopFadeOutAnimation( pushButton, false ); - StopFadeInAnimation(); + StopFadeOutAnimation( pushButton ); - FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); - FadeOutImage( pushButton, Background, backgroundImage, 1.f - opacity ); - FadeInImage( pushButton, disabledImage, opacity ); - FadeInImage( pushButton, disabledBackgroundImage, opacity ); + // Replaces the button image. + disabledBackgroundImage = image; - StartFadeOutAnimation( pushButton ); - StartFadeInAnimation(); + pushButton.Add( disabledBackgroundImage ); + FadeOutImage( pushButton, Background, disabledBackgroundImage, opacity ); - if( selectedImage || disabledImage || backgroundImage || disabledBackgroundImage ) - { - mPaintState = PressedDisabledTransition; - } - else - { - mPaintState = DisabledPressedState; - } + StartFadeOutAnimation( pushButton ); + break; } - break; - } - default: - break; + default: + disabledBackgroundImage = image; + break; } -} - -void PushButtonDefaultPainter::SetAnimationTime( float animationTime ) -{ - mAnimationTime = animationTime; -} - -float PushButtonDefaultPainter::GetAnimationTime() const -{ - return mAnimationTime; -} -void PushButtonDefaultPainter::SetAutoRepeating( bool autorepeating ) -{ - mAutoRepeating = autorepeating; + disabledBackgroundImage.SetAnchorPoint( AnchorPoint::TOP_LEFT ); + disabledBackgroundImage.SetParentOrigin( ParentOrigin::TOP_LEFT ); + ApplyConstraint( disabledBackgroundImage, BACKGROUND_DEPTH ); } -void PushButtonDefaultPainter::Pressed( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Pressed( Toolkit::Button& button ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& buttonImage = pushButtonImpl.GetButtonImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Toolkit::PushButton& pushButton = static_cast( button ); + switch( mPaintState ) { case ReleasedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, buttonImage ); - FadeInImage( button, selectedImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, buttonImage ); + FadeInImage( pushButton, selectedImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -895,13 +908,13 @@ void PushButtonDefaultPainter::Pressed( Toolkit::PushButton& button ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, buttonImage, 1.f - opacity ); - FadeInImage( button, selectedImage, opacity ); + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeInImage( pushButton, selectedImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -919,21 +932,23 @@ void PushButtonDefaultPainter::Pressed( Toolkit::PushButton& button ) } } -void PushButtonDefaultPainter::Released( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Released( Toolkit::Button& button ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& buttonImage = pushButtonImpl.GetButtonImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Toolkit::PushButton& pushButton = static_cast( button ); + switch( mPaintState ) { case PressedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, selectedImage ); - FadeInImage( button, buttonImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, selectedImage ); + FadeInImage( pushButton, buttonImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -953,13 +968,13 @@ void PushButtonDefaultPainter::Released( Toolkit::PushButton& button ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, selectedImage, 1.f - opacity ); - FadeInImage( button, buttonImage, opacity ); + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeInImage( pushButton, buttonImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -979,26 +994,28 @@ void PushButtonDefaultPainter::Released( Toolkit::PushButton& button ) } } -void PushButtonDefaultPainter::Clicked( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Clicked( Toolkit::Button& button ) { Released( button ); } -void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) +void PushButtonDefaultPainter::Selected( Toolkit::Button& button ) { Toolkit::Internal::PushButton& pushButtonImpl = GetPushButtonImpl( button ); Actor& selectedImage = pushButtonImpl.GetSelectedImage(); Actor& buttonImage = pushButtonImpl.GetButtonImage(); Actor& fadeOutButtonImage = pushButtonImpl.GetFadeOutButtonImage(); + Toolkit::PushButton& pushButton = static_cast( button ); + switch( mPaintState ) { case ReleasedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, buttonImage ); - FadeInImage( button, selectedImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, buttonImage ); + FadeInImage( pushButton, selectedImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -1013,10 +1030,10 @@ void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) } case PressedState: { - StopFadeOutAnimation( button ); - FadeOutImage( button, Foreground, selectedImage ); - FadeInImage( button, buttonImage ); - StartFadeOutAnimation( button ); + StopFadeOutAnimation( pushButton ); + FadeOutImage( pushButton, Foreground, selectedImage ); + FadeInImage( pushButton, buttonImage ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -1036,13 +1053,13 @@ void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) { opacity = fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, selectedImage, 1.f - opacity ); - FadeInImage( button, buttonImage, opacity ); + FadeOutImage( pushButton, Foreground, selectedImage, 1.f - opacity ); + FadeInImage( pushButton, buttonImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) @@ -1062,13 +1079,13 @@ void PushButtonDefaultPainter::Toggled( Toolkit::PushButton& button ) { opacity = 1.f - fadeOutButtonImage.GetCurrentOpacity(); } - StopFadeOutAnimation( button, false ); + StopFadeOutAnimation( pushButton, false ); StopFadeInAnimation(); - FadeOutImage( button, Foreground, buttonImage, 1.f - opacity ); - FadeInImage( button, selectedImage, opacity ); + FadeOutImage( pushButton, Foreground, buttonImage, 1.f - opacity ); + FadeInImage( pushButton, selectedImage, opacity ); - StartFadeOutAnimation( button ); + StartFadeOutAnimation( pushButton ); StartFadeInAnimation(); if( buttonImage || selectedImage ) diff --git a/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.h b/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.h index 2ef708c..ed13641 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.h +++ b/dali-toolkit/internal/controls/buttons/push-button-default-painter-impl.h @@ -68,150 +68,89 @@ public: */ ~PushButtonDefaultPainter(); + ///////////////////////////////////////////////////////////////////////////// + // ButtonPainter interface + ///////////////////////////////////////////////////////////////////////////// + /** - * Sets the button image. - * - * It adds the button image to the root actor and creates the image transition if needed. - * - * @param[inout] pushButton The button in which all actors that form its appearance are going to be added. - * @param[in] image The button image. + * @copydoc ButtonPainter::Initialize( Toolkit::Button& button ) */ - void SetButtonImage( Toolkit::PushButton& pushButton, Actor image ); + virtual void Initialize( Toolkit::Button& button ); /** - * Sets the background image. - * - * It adds the background image to the root actor and creates the image transition if needed. - * - * @param[inout] pushButton The button in which all actors that form its appearance are going to be added. - * @param[in] image The background image. + * @copydoc ButtonPainter::SetSize( Toolkit::Button& button, const Vector3& size ) */ - void SetBackgroundImage( Toolkit::PushButton& pushButton, Actor image ); + virtual void SetSize( Toolkit::Button& button, const Vector3& size ); /** - * Sets the selected image. - * - * It adds the selected image to the root actor and creates the image transition if needed. - * - * @param[inout] pushButton The button in which all actors that form its appearance are going to be added. - * @param[in] image The selected image. + * @copydoc ButtonPainter::SetDisabled( Toolkit::Button& button, bool disabled ) */ - void SetSelectedImage( Toolkit::PushButton& pushButton, Actor image ); + virtual void SetDisabled( Toolkit::Button& button, bool disabled ); /** - * Sets the disabled background image. - * - * It adds the disabled background image to the root actor and creates the image transition if needed. - * - * @param[inout] pushButton The button in which all actors that form its appearance are going to be added. - * @param[in] image The disabled background image. + * @copydoc ButtonPainter::SetAnimationTime( float animationTime ) */ - void SetDisabledBackgroundImage( Toolkit::PushButton& pushButton, Actor image ); + virtual void SetAnimationTime( float animationTime ); /** - * Sets the disabled image. - * - * It adds the disabled image to the root actor and creates the image transition if needed. - * - * @param[inout] pushButton The button in which all actors that form its appearance are going to be added. - * @param[in] image The image. + * @copydoc ButtonPainter::GetAnimationTime() */ - void SetDisabledImage( Toolkit::PushButton& pushButton, Actor image ); + virtual float GetAnimationTime() const; /** - * Sets the label. - * - * It adds the label to the root actor. - * - * @param[inout] pushButton The button in which all actors that form its appearance are going to be added. - * @param[in] label Button label. + * @copydoc ButtonPainter::SetLabel( Toolkit::Button& button, Actor label ) */ - void SetLabel( Toolkit::PushButton& pushButton, Actor label ); - - ///////////////////////////////////////////////////////////////////////////// - // ButtonPainter interface - ///////////////////////////////////////////////////////////////////////////// + virtual void SetLabel( Toolkit::Button& button, Actor label ); /** - * Initializes the painter by setting the default images. - * - * @param[inout] button The button in which all actors that form its appearance are going to be added. + * @copydoc ButtonPainter::SetAutoRepeating( bool autorepeating ) */ - void Initialize( Toolkit::Button& button ); + virtual void SetAutoRepeating( bool autorepeating ); /** - * Sets the new size. - * - * Resizes actors. It applies size constraints. - * - * @param[inout] button The button which stores button's images. - * @param[in] size The new size. + * @copydoc ButtonPainter::SetButtonImage( Toolkit::Button& button, Actor image ) */ - void SetSize( Toolkit::Button& button, const Vector3& size ); + virtual void SetButtonImage( Toolkit::Button& button, Actor image ); /** - * This method is called when the \e disabled property in the Dali::Toolkit::PushButton changes. - * - * Creates image transitions if needed. - * - * @param[inout] button The button in which all actors that form its appearance are going to be added. - * @param[in] disabled property. + * @copydoc ButtonPainter::SetSelectedImage( Toolkit::Button& button, Actor image ) */ - void SetDisabled( Toolkit::Button& button, bool disabled ); + virtual void SetSelectedImage( Toolkit::Button& button, Actor image ); /** - * Sets the animation time. - * @param[in] animationTime The animation time. + * @copydoc ButtonPainter::SetBackgroundImage( Toolkit::Button& button, Actor image ) */ - void SetAnimationTime( float animationTime ); + virtual void SetBackgroundImage( Toolkit::Button& button, Actor image ); /** - * Retrieves the animation time. - * @return The animation time. + * @copydoc ButtonPainter::SetDisabledImage( Toolkit::Button& button, Actor image ) */ - float GetAnimationTime() const; - - ///////////////////////////////////////////////////////////////////////////// - // PushButtonPainter interface - ///////////////////////////////////////////////////////////////////////////// + virtual void SetDisabledImage( Toolkit::Button& button, Actor image ); /** - * This method is called when the \e autorepeating property in the Dali::Toolkit::PushButton changes. - * @param[in] autorepeating property. + * @copydoc ButtonPainter::SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ) */ - void SetAutoRepeating( bool autorepeating ); + virtual void SetDisabledBackgroundImage( Toolkit::Button& button, Actor image ); /** - * This method is called when the Dali::Toolkit::Internal::PushButton in which this object is registered - * is pressed. It changes to the selected image with a transition. - * - * @param[inout] button The Dali::Toolkit::PushButton in which this object is registered. + * @copydoc ButtonPainter::Pressed( Toolkit::Button& button ) */ - void Pressed( Toolkit::PushButton& button ); + void Pressed( Toolkit::Button& button ); /** - * This method is called when the Dali::Toolkit::Internal::PushButton in which this object is registered - * is released. It changes to the button image with a transition. - * - * @param[inout] button The Dali::Toolkit::PushButton in which this object is registered. + * @copydoc ButtonPainter::Released( Toolkit::Button& button ) */ - void Released( Toolkit::PushButton& button ); + void Released( Toolkit::Button& button ); /** - * This method is called when the Dali::Toolkit::Internal::PushButton in which this object is registered - * is clicked. - * - * @param[inout] button The Dali::Toolkit::PushButton in which this object is registered. + * @copydoc ButtonPainter::Clicked( Toolkit::Button& button ) */ - void Clicked( Toolkit::PushButton& button ); + void Clicked( Toolkit::Button& button ); /** - * This method is called when the Dali::Toolkit::Internal::PushButton in which this object is registered - * is toggled. - * - * @param[inout] button The Dali::Toolkit::PushButton in which this object is registered. + * @copydoc ButtonPainter::Selected( Toolkit::Button& button ) */ - void Toggled( Toolkit::PushButton& button ); + void Selected( Toolkit::Button& button ); private: diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp index 450b038..0df4e3c 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/push-button-impl.cpp @@ -22,7 +22,6 @@ #include #include #include -#include // INTERNAL INCLUDES #include "push-button-default-painter-impl.h" @@ -49,27 +48,13 @@ BaseHandle Create() TypeRegistration typeRegistration( typeid(Toolkit::PushButton), typeid(Toolkit::Button), Create ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::PushButton::SIGNAL_PRESSED , &PushButton::DoConnectSignal ); -SignalConnectorType signalConnector2( typeRegistration, Toolkit::PushButton::SIGNAL_RELEASED, &PushButton::DoConnectSignal ); - -TypeAction action1( typeRegistration, Toolkit::PushButton::ACTION_PUSH_BUTTON_CLICK, &PushButton::DoAction ); - } // unnamed namespace namespace { -const unsigned int INITIAL_AUTOREPEATING_DELAY( 0.15f ); -const unsigned int NEXT_AUTOREPEATING_DELAY( 0.05f ); - const float TEXT_PADDING = 12.0f; -// Helper function used to cast a ButtonPainter to PushButtonDefaultPainter -PushButtonDefaultPainterPtr GetPushButtonPainter( Dali::Toolkit::Internal::ButtonPainterPtr painter ) -{ - return static_cast( painter.Get() ); -} - /** * Find the first image actor in the actor hierarchy */ @@ -109,376 +94,6 @@ Dali::Toolkit::PushButton PushButton::New() return pushButton; } -void PushButton::SetAutoRepeating( bool autoRepeating ) -{ - mAutoRepeating = autoRepeating; - - // An autorepeating button can't be a toggle button. - if( autoRepeating ) - { - mToggleButton = false; - if( mToggled ) - { - // Emit a signal is not wanted, only change the appearance. - Toolkit::PushButton handle( GetOwner() ); - GetPushButtonPainter( mPainter )->Toggled( handle ); - mToggled = false; - } - } - - // Notifies the painter. - GetPushButtonPainter( mPainter )->SetAutoRepeating( mAutoRepeating ); -} - -bool PushButton::IsAutoRepeating() const -{ - return mAutoRepeating; -} - -void PushButton::SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ) -{ - DALI_ASSERT_ALWAYS( initialAutoRepeatingDelay > 0.f ); - mInitialAutoRepeatingDelay = initialAutoRepeatingDelay; -} - -float PushButton::GetInitialAutoRepeatingDelay() const -{ - return mInitialAutoRepeatingDelay; -} - -void PushButton::SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ) -{ - DALI_ASSERT_ALWAYS( nextAutoRepeatingDelay > 0.f ); - mNextAutoRepeatingDelay = nextAutoRepeatingDelay; -} - -float PushButton::GetNextAutoRepeatingDelay() const -{ - return mNextAutoRepeatingDelay; -} - -void PushButton::SetToggleButton( bool toggle ) -{ - mToggleButton = toggle; - - // A toggle button can't be an autorepeating button. - if( toggle ) - { - mAutoRepeating = false; - - // Notifies the painter. - GetPushButtonPainter( mPainter )->SetAutoRepeating( mAutoRepeating ); - } -} - -bool PushButton::IsToggleButton() const -{ - return mToggleButton; -} - -void PushButton::SetToggled( bool toggle ) -{ - if( !mDisabled && mToggleButton && ( toggle != mToggled ) ) - { - mToggled = toggle; - - Toolkit::PushButton handle( GetOwner() ); - - // Notifies the painter the button has been toggled. - GetPushButtonPainter( mPainter )->Toggled( handle ); - - // Emit signal. - mStateChangedSignal.Emit( handle, mToggled ); - } -} - -bool PushButton::IsToggled() const -{ - return mToggleButton && mToggled; -} - -void PushButton::SetButtonImage( Image image ) -{ - SetButtonImage( ImageActor::New( image ) ); -} - -void PushButton::SetButtonImage( Actor image ) -{ - Toolkit::PushButton handle( GetOwner() ); - GetPushButtonPainter( mPainter )->SetButtonImage( handle, image ); -} - -Actor& PushButton::GetButtonImage() -{ - return mButtonImage; -} - -Actor PushButton::GetButtonImage() const -{ - return mButtonImage; -} - -void PushButton::SetBackgroundImage( Image image ) -{ - SetBackgroundImage( ImageActor::New( image ) ); -} - -void PushButton::SetBackgroundImage( Actor image ) -{ - Toolkit::PushButton handle( GetOwner() ); - GetPushButtonPainter( mPainter )->SetBackgroundImage( handle, image ); -} - -Actor& PushButton::GetBackgroundImage() -{ - return mBackgroundImage; -} - -Actor PushButton::GetBackgroundImage() const -{ - return mBackgroundImage; -} - -void PushButton::SetSelectedImage( Image image ) -{ - SetSelectedImage( ImageActor::New( image ) ); -} - -void PushButton::SetSelectedImage( Actor image ) -{ - Toolkit::PushButton handle( GetOwner() ); - GetPushButtonPainter( mPainter )->SetSelectedImage( handle, image ); -} - -Actor& PushButton::GetSelectedImage() -{ - return mSelectedImage; -} - -Actor PushButton::GetSelectedImage() const -{ - return mSelectedImage; -} - -void PushButton::SetDisabledBackgroundImage( Image image ) -{ - SetDisabledBackgroundImage( ImageActor::New( image ) ); -} - -void PushButton::SetDisabledBackgroundImage( Actor image ) -{ - Toolkit::PushButton handle( GetOwner() ); - GetPushButtonPainter( mPainter )->SetDisabledBackgroundImage( handle, image ); -} - -Actor& PushButton::GetDisabledBackgroundImage() -{ - return mDisabledBackgroundImage; -} - -Actor PushButton::GetDisabledBackgroundImage() const -{ - return mDisabledBackgroundImage; -} - -void PushButton::SetDisabledImage( Image image ) -{ - SetDisabledImage( ImageActor::New( image ) ); -} - -void PushButton::SetDisabledImage( Actor image ) -{ - Toolkit::PushButton handle( GetOwner() ); - GetPushButtonPainter( mPainter )->SetDisabledImage( handle, image ); -} - -Actor& PushButton::GetDisabledImage() -{ - return mDisabledImage; -} - -Actor PushButton::GetDisabledImage() const -{ - return mDisabledImage; -} - -void PushButton::SetLabel( const std::string& label ) -{ - Toolkit::TextView textView ( Toolkit::TextView::New( label ) ); - textView.SetWidthExceedPolicy( Toolkit::TextView::ShrinkToFit ); // Make sure our text always fits inside the button - SetLabel( textView ); -} - -void PushButton::SetLabel( Actor label ) -{ - Toolkit::PushButton handle( GetOwner() ); - GetPushButtonPainter( mPainter )->SetLabel( handle, label ); -} - -Actor PushButton::GetLabel() const -{ - return mLabel; -} - -Actor& PushButton::GetLabel() -{ - return mLabel; -} - -Actor& PushButton::GetFadeOutBackgroundImage() -{ - return mFadeOutBackgroundImage; -} - -Actor& PushButton::GetFadeOutButtonImage() -{ - return mFadeOutButtonImage; -} - -Toolkit::PushButton::PressedSignalType& PushButton::PressedSignal() -{ - return mPressedSignal; -} - -Toolkit::PushButton::ReleasedSignalType& PushButton::ReleasedSignal() -{ - return mReleasedSignal; -} - -bool PushButton::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) -{ - Dali::BaseHandle handle( object ); - - bool connected( true ); - Toolkit::PushButton button = Toolkit::PushButton::DownCast(handle); - - if( Toolkit::PushButton::SIGNAL_STATE_CHANGED == signalName ) - { - button.StateChangedSignal().Connect( tracker, functor ); - } - else if( Toolkit::PushButton::SIGNAL_PRESSED == signalName ) - { - button.PressedSignal().Connect( tracker, functor ); - } - else if( Toolkit::PushButton::SIGNAL_RELEASED == signalName ) - { - button.ReleasedSignal().Connect( tracker, functor ); - } - else - { - // signalName does not match any signal - connected = false; - } - - return connected; -} - -void PushButton::SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value ) -{ - Toolkit::PushButton pushButton = Toolkit::PushButton::DownCast( Dali::BaseHandle( object ) ); - - if ( pushButton ) - { - PushButton& pushButtonImpl( GetImplementation( pushButton ) ); - - if ( propertyIndex == Toolkit::Button::PROPERTY_AUTO_REPEATING ) - { - pushButtonImpl.SetAutoRepeating( value.Get< bool >() ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_INITIAL_AUTO_REPEATING_DELAY ) - { - pushButtonImpl.SetInitialAutoRepeatingDelay( value.Get< float >() ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_NEXT_AUTO_REPEATING_DELAY ) - { - pushButtonImpl.SetNextAutoRepeatingDelay( value.Get< float >() ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_TOGGLABLE ) - { - pushButtonImpl.SetToggleButton( value.Get< bool >() ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_TOGGLED ) - { - pushButtonImpl.SetToggled( value.Get< bool >() ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_NORMAL_STATE_ACTOR ) - { - pushButtonImpl.SetButtonImage( Scripting::NewActor( value.Get< Property::Map >() ) ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_SELECTED_STATE_ACTOR ) - { - pushButtonImpl.SetSelectedImage( Scripting::NewActor( value.Get< Property::Map >() ) ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_DISABLED_STATE_ACTOR ) - { - pushButtonImpl.SetDisabledImage( Scripting::NewActor( value.Get< Property::Map >() ) ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_LABEL_ACTOR ) - { - pushButtonImpl.SetLabel( Scripting::NewActor( value.Get< Property::Map >() ) ); - } - } -} - -Property::Value PushButton::GetProperty( BaseObject* object, Property::Index propertyIndex ) -{ - Property::Value value; - - Toolkit::PushButton pushButton = Toolkit::PushButton::DownCast( Dali::BaseHandle( object ) ); - - if ( pushButton ) - { - PushButton& pushButtonImpl( GetImplementation( pushButton ) ); - - if ( propertyIndex == Toolkit::Button::PROPERTY_AUTO_REPEATING ) - { - value = pushButtonImpl.mAutoRepeating; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_INITIAL_AUTO_REPEATING_DELAY ) - { - value = pushButtonImpl.mInitialAutoRepeatingDelay; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_NEXT_AUTO_REPEATING_DELAY ) - { - value = pushButtonImpl.mNextAutoRepeatingDelay; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_TOGGLABLE ) - { - value = pushButtonImpl.mToggleButton; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_TOGGLED ) - { - value = pushButtonImpl.mToggled; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_NORMAL_STATE_ACTOR ) - { - Property::Map map; - Scripting::CreatePropertyMap( pushButtonImpl.mButtonImage, map ); - value = map; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_SELECTED_STATE_ACTOR ) - { - Property::Map map; - Scripting::CreatePropertyMap( pushButtonImpl.mSelectedImage, map ); - value = map; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_DISABLED_STATE_ACTOR ) - { - Property::Map map; - Scripting::CreatePropertyMap( pushButtonImpl.mDisabledImage, map ); - value = map; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_LABEL_ACTOR ) - { - Property::Map map; - Scripting::CreatePropertyMap( pushButtonImpl.mLabel, map ); - value = map; - } - } - - return value; -} - void PushButton::OnButtonInitialize() { // Push button requires the Leave event. @@ -486,175 +101,17 @@ void PushButton::OnButtonInitialize() root.SetLeaveRequired( true ); } -void PushButton::OnButtonDown() -{ - if( !mToggleButton ) - { - Toolkit::PushButton handle( GetOwner() ); - - // Notifies the painter the button has been pressed. - GetPushButtonPainter( mPainter )->Pressed( handle ); - - if( mAutoRepeating ) - { - SetUpTimer( mInitialAutoRepeatingDelay ); - } - - //Emit signal. - mPressedSignal.Emit( handle ); - } -} - -void PushButton::OnButtonUp() -{ - if( ButtonDown == mState ) - { - if( mToggleButton ) - { - mToggled = !mToggled; - - Toolkit::PushButton handle( GetOwner() ); - - // Notifies the painter the button has been toggled. - GetPushButtonPainter( mPainter )->Toggled( handle ); - - // Emit signal. - mStateChangedSignal.Emit( handle, mToggled ); - } - else - { - Toolkit::PushButton handle( GetOwner() ); - - // Notifies the painter the button has been clicked. - GetPushButtonPainter( mPainter )->Released( handle ); - GetPushButtonPainter( mPainter )->Clicked( handle ); - - if( mAutoRepeating ) - { - mAutoRepeatingTimer.Reset(); - } - - //Emit signal. - mReleasedSignal.Emit( handle ); - mClickedSignal.Emit( handle ); - } - } -} - -void PushButton::OnTouchPointLeave() -{ - if( ButtonDown == mState ) - { - if( !mToggleButton ) - { - Toolkit::PushButton handle( GetOwner() ); - - // Notifies the painter the button has been released. - GetPushButtonPainter( mPainter )->Released( handle ); - - if( mAutoRepeating ) - { - mAutoRepeatingTimer.Reset(); - } - - //Emit signal. - mReleasedSignal.Emit( handle ); - } - } -} - -void PushButton::OnTouchPointInterrupted() -{ - OnTouchPointLeave(); -} - -void PushButton::OnAnimationTimeSet( float animationTime ) -{ - GetPushButtonPainter( mPainter )->SetAnimationTime( animationTime ); -} - -float PushButton::OnAnimationTimeRequested() const -{ - return GetPushButtonPainter( mPainter )->GetAnimationTime(); -} - -void PushButton::OnButtonStageDisconnection() -{ - if( ButtonDown == mState ) - { - if( !mToggleButton ) - { - Toolkit::PushButton handle( GetOwner() ); - - // Notifies the painter the button has been released. - GetPushButtonPainter( mPainter )->Released( handle ); - - if( mAutoRepeating ) - { - mAutoRepeatingTimer.Reset(); - } - } - } -} - PushButton::PushButton() -: Button(), - mAutoRepeating( false ), - mInitialAutoRepeatingDelay( INITIAL_AUTOREPEATING_DELAY ), - mNextAutoRepeatingDelay( NEXT_AUTOREPEATING_DELAY ), - mToggleButton( false ), - mAutoRepeatingTimer(), - mToggled( false ), - mClickActionPerforming(false) +: Button() { - // Creates specific painter. - mPainter = PushButtonDefaultPainterPtr( new PushButtonDefaultPainter() ); + // Creates specific painter.GetBu + ButtonPainterPtr painter = PushButtonDefaultPainterPtr( new PushButtonDefaultPainter() ); + SetPainter( painter ); } PushButton::~PushButton() { - if( mAutoRepeatingTimer ) - { - mAutoRepeatingTimer.Reset(); - } - - mPainter = NULL; -} - -void PushButton::SetUpTimer( float delay ) -{ - mAutoRepeatingTimer = Dali::Timer::New( static_cast( 1000.f * delay ) ); - mAutoRepeatingTimer.TickSignal().Connect( this, &PushButton::AutoRepeatingSlot ); - mAutoRepeatingTimer.Start(); -} - -bool PushButton::AutoRepeatingSlot() -{ - bool consumed = false; - if( !mDisabled ) - { - // Restart the autorepeat timer. - SetUpTimer( mNextAutoRepeatingDelay ); - - Toolkit::PushButton handle( GetOwner() ); - - // Notifies the painter the button has been pressed. - GetPushButtonPainter( mPainter )->Pressed( handle ); - - //Emit signal. - consumed = mReleasedSignal.Emit( handle ); - consumed |= mClickedSignal.Emit( handle ); - consumed |= mPressedSignal.Emit( handle ); - } - - return consumed; -} - -void PushButton::OnActivated() -{ - // When the button is activated, it performs the click action - PropertyValueContainer attributes; - DoClickAction(attributes); + SetPainter( NULL ); } Vector3 PushButton::GetNaturalSize() @@ -667,7 +124,7 @@ Vector3 PushButton::GetNaturalSize() if( widthIsZero || heightIsZero ) { // If background and background not scale9 try get size from that - ImageActor imageActor = FindImageActor( mButtonImage ); + ImageActor imageActor = FindImageActor( GetButtonImage() ); if( imageActor && imageActor.GetStyle() != ImageActor::STYLE_NINE_PATCH ) { Vector3 imageSize = RelayoutHelper::GetNaturalSize( imageActor ); @@ -683,7 +140,7 @@ Vector3 PushButton::GetNaturalSize() } } - ImageActor backgroundImageActor = FindImageActor( mBackgroundImage ); + ImageActor backgroundImageActor = FindImageActor( GetBackgroundImage() ); if( backgroundImageActor && backgroundImageActor.GetStyle() != ImageActor::STYLE_NINE_PATCH ) { Vector3 imageSize = RelayoutHelper::GetNaturalSize( backgroundImageActor ); @@ -700,7 +157,7 @@ Vector3 PushButton::GetNaturalSize() } // If label, test against it's size - Toolkit::TextView textView = Toolkit::TextView::DownCast( mLabel ); + Toolkit::TextView textView = Toolkit::TextView::DownCast( GetLabel() ); if( textView ) { Vector3 textViewSize = textView.GetNaturalSize(); @@ -720,39 +177,6 @@ Vector3 PushButton::GetNaturalSize() return size; } -void PushButton::DoClickAction(const PropertyValueContainer& attributes) -{ - // Prevents the button signals from doing a recursive loop by sending an action - // and re-emitting the signals. - if(!mClickActionPerforming) - { - mClickActionPerforming = true; - OnButtonDown(); - mState = ButtonDown; - OnButtonUp(); - mClickActionPerforming = false; - } -} - -bool PushButton::DoAction(BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes) -{ - bool ret = false; - - Dali::BaseHandle handle(object); - - Toolkit::PushButton button = Toolkit::PushButton::DownCast(handle); - - DALI_ASSERT_ALWAYS(button); - - if(Toolkit::PushButton::ACTION_PUSH_BUTTON_CLICK == actionName) - { - GetImplementation(button).DoClickAction(attributes); - ret = true; - } - - return ret; -} - } // namespace Internal } // namespace Toolkit diff --git a/dali-toolkit/internal/controls/buttons/push-button-impl.h b/dali-toolkit/internal/controls/buttons/push-button-impl.h index 1297fef..730b746 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-impl.h +++ b/dali-toolkit/internal/controls/buttons/push-button-impl.h @@ -19,7 +19,6 @@ */ // EXTERNAL INCLUDES -#include #include // INTERNAL INCLUDES @@ -50,231 +49,6 @@ public: */ static Dali::Toolkit::PushButton New(); - /** - * @copydoc Dali::Toolkit::PushButton::SetAutoRepeating( bool autoRepeating ) - */ - void SetAutoRepeating( bool autoRepeating ); - - /** - * @copydoc Dali::Toolkit::PushButton::IsAutoRepeating() const - */ - bool IsAutoRepeating() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ) - */ - void SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ); - - /** - * @copydoc Dali::Toolkit::PushButton::GetInitialAutoRepeatingDelay() const - */ - float GetInitialAutoRepeatingDelay() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ) - */ - void SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ); - - /** - * @copydoc Dali::Toolkit::PushButton::GetNextAutoRepeatingDelay() const - */ - float GetNextAutoRepeatingDelay() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetToggleButton( bool toggle ) - */ - void SetToggleButton( bool toggle ); - - /** - * @copydoc Dali::Toolkit::PushButton::IsToggleButton() const - */ - bool IsToggleButton() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetToggled( bool toggle ) - */ - void SetToggled( bool toggle ); - - /** - * @copydoc Dali::Toolkit::PushButton::IsToggled() const - */ - bool IsToggled() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetButtonImage( const Image image ) - */ - void SetButtonImage( Image image ); - - /** - * @copydoc Dali::Toolkit::PushButton::SetButtonImage( Actor image ) - */ - void SetButtonImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the button image. - */ - Actor& GetButtonImage(); - - /** - * @copydoc Dali::Toolkit::PushButton:: - */ - Actor GetButtonImage() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetBackgroundImage( const Image image ) - */ - void SetBackgroundImage( Image image ); - - /** - * @copydoc Dali::Toolkit::PushButton::SetBackgroundImage( Actor image ) - */ - void SetBackgroundImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the background image. - */ - Actor& GetBackgroundImage(); - - /** - * @copydoc Dali::Toolkit::PushButton::GetBackgroundImage() - */ - Actor GetBackgroundImage() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetSelectedImage( const Image image ) - */ - void SetSelectedImage( Image image ); - - /** - * @copydoc Dali::Toolkit::PushButton::SetSelectedImage( Actor image ) - */ - void SetSelectedImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the selected image. - */ - Actor& GetSelectedImage(); - - /** - * @copydoc Dali::Toolkit::PushButton::GetSelectedImage() - */ - Actor GetSelectedImage() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetDisabledBackgroundImage( Image image ) - */ - void SetDisabledBackgroundImage( Image image ); - - /** - * @copydoc Dali::Toolkit::PushButton::SetDisabledBackgroundImage( Actor image ) - */ - void SetDisabledBackgroundImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the disabled background image. - */ - Actor& GetDisabledBackgroundImage(); - - /** - * @copydoc Dali::Toolkit::PushButton::GetDisabledBackgroundImage() - */ - Actor GetDisabledBackgroundImage() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetDisabledImage( Image image ) - */ - void SetDisabledImage( Image image ); - - /** - * @copydoc Dali::Toolkit::PushButton::SetDisabledImage( Actor image ) - */ - void SetDisabledImage( Actor image ); - - /** - * Used by the painter only. - * @return A reference to the disabled button image. - */ - Actor& GetDisabledImage(); - - /** - * @copydoc Dali::Toolkit::PushButton::GetDisabledImage() - */ - Actor GetDisabledImage() const; - - /** - * @copydoc Dali::Toolkit::PushButton::SetLabel( const std::string& label ) - */ - void SetLabel( const std::string& label ); - - /** - * @copydoc Dali::Toolkit::PushButton::SetLabel( Actor label ) - */ - void SetLabel( Actor label ); - - /** - * @copydoc Dali::Toolkit::PushButton::GetLabel() - */ - Actor GetLabel() const; - - /** - * Used by the painter only. - * @return A reference to the label actor. - */ - Actor& GetLabel(); - - /** - * Used by the painter only. - * @return A reference to the background image that is fading out. - */ - Actor& GetFadeOutBackgroundImage(); - - /** - * Used by the painter only. - * @return A reference to the button image that is fading out. - */ - Actor& GetFadeOutButtonImage(); - -public: - - // Signals - - /** - * @copydoc Dali::Toolkit::PushButton::PressedSignal() - */ - Toolkit::PushButton::PressedSignalType& PressedSignal(); - - /** - * @copydoc Dali::Toolkit::PushButton::ReleasedSignal() - */ - Toolkit::PushButton::ReleasedSignalType& ReleasedSignal(); - - /** - * Connects a callback function with the object's signals. - * @param[in] object The object providing the signal. - * @param[in] tracker Used to disconnect the signal. - * @param[in] signalName The signal to connect to. - * @param[in] functor A newly allocated FunctorDelegate. - * @return True if the signal was connected. - * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor. - */ - static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ); - - // Properties - - /** - * @copydoc Button::SetProperty - */ - static void SetProperty( BaseObject* object, Property::Index propertyIndex, const Property::Value& value ); - - /** - * @copydoc Button::GetProperty - */ - static Property::Value GetProperty( BaseObject* object, Property::Index propertyIndex ); - protected: // From Button /** @@ -282,77 +56,13 @@ protected: // From Button */ virtual void OnButtonInitialize(); - /** - * Emits signals and notifies the painter accordingly with the set button - * properties when the button is pressed. - */ - virtual void OnButtonDown(); - - /** - * Emits signals and notifies the painter accordingly with the set button - * properties when the button is released. - */ - virtual void OnButtonUp(); - - /** - * Emits signals and notifies the painter accordingly with the set button - * properties when the touch point leaves the boundary of the button. - */ - virtual void OnTouchPointLeave(); - - /** - * Currently it doesn't need different behaviour than @see OnTouchPointLeave() - */ - virtual void OnTouchPointInterrupted(); - - /** - * Sets the push button animation time. - * @param animationTime The animation time in seconds. - */ - virtual void OnAnimationTimeSet( float animationTime ); - - /** - * Retrieves the animation time. - * @return The animation time in seconds. - */ - virtual float OnAnimationTimeRequested() const; - - /** - * This method is called when the button is removed from the stage. - */ - virtual void OnButtonStageDisconnection(); - protected: // From Control /** - * Respond the activate notification. - */ - virtual void OnActivated(); - - /** * @copydoc Control::GetNaturalSize() */ virtual Vector3 GetNaturalSize(); -private: - - /** - * Perform the click action to click the button. - * @param[in] attributes The attributes to perfrom this action. - */ - void DoClickAction(const PropertyValueContainer& attributes); - -public: - - /** - * Performs actions as requested using the action name. - * @param[in] object The object on which to perform the action. - * @param[in] actionName The action to perform. - * @param[in] attributes The attributes with which to perfrom this action. - * @return true if action has been accepted by this control - */ - static bool DoAction(BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes); - /** * Construct a new PushButton. */ @@ -370,47 +80,6 @@ private: // Undefined PushButton& operator=( const PushButton& ); - - /** - * Sets up the autorepeating timer. - * @param[in] delay The delay time in seconds. - */ - void SetUpTimer( float delay ); - - /** - * Slot called when Dali::Timer::SignalTick signal. Resets the autorepeating timer. - */ - bool AutoRepeatingSlot(); - -private: - bool mAutoRepeating; ///< Stores the autorepeating property. - float mInitialAutoRepeatingDelay; ///< Stores the initial autorepeating delay in seconds. - float mNextAutoRepeatingDelay; ///< Stores the next autorepeating delay in seconds. - bool mToggleButton; ///< Stores the toggle property. - - // AutoRepeating - Timer mAutoRepeatingTimer; ///< Timer used to implement the autorepeating property. - - // Toggle - bool mToggled; ///< Stores the toggle state. - - // Signals - Toolkit::PushButton::PressedSignalType mPressedSignal; ///< Signal emitted when the button is pressed. - Toolkit::PushButton::ReleasedSignalType mReleasedSignal; ///< Signal emitted when the button is released. - - Actor mButtonImage; ///< Stores the unselected image. - Actor mBackgroundImage; ///< Stores the background image. - Actor mSelectedImage; ///< Stores the selected image. - Actor mDisabledImage; ///< Stores the disabled image. - Actor mDisabledBackgroundImage; ///< Stores the disabled background image. - - Actor mLabel; ///< Stores the text label. - - Actor mFadeOutBackgroundImage; ///< Stores a background image, which is in a fade out animation, to be removed when the animation finishes. - Actor mFadeOutButtonImage; ///< Stores a foreground image, which is in a fade out animation, to be removed when the animation finishes. - - // Actions - bool mClickActionPerforming; }; } // namespace Internal diff --git a/dali-toolkit/internal/controls/buttons/push-button-painter-impl.h b/dali-toolkit/internal/controls/buttons/push-button-painter-impl.h index cc85e62..9c43fe9 100644 --- a/dali-toolkit/internal/controls/buttons/push-button-painter-impl.h +++ b/dali-toolkit/internal/controls/buttons/push-button-painter-impl.h @@ -54,45 +54,6 @@ public: */ virtual ~PushButtonPainter() {} - /** - * This method is called from the Dali::Toolkit::Internal::PushButton when the - * \e autorepeating property changes. - * @param[in] autorepeating property. - */ - virtual void SetAutoRepeating( bool autorepeating ) = 0; - - /** - * This method is called when the Dali::Toolkit::Internal::PushButton, in which this - * object is registered, is pressed. - * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal - * implementation, in which this object is registered. - */ - virtual void Pressed( Toolkit::PushButton& button ) = 0; - - /** - * This method is called when the Dali::Toolkit::Internal::PushButton, in which this - * object is registered, is released. - * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal - * implementation, in which this object is registered. - */ - virtual void Released( Toolkit::PushButton& button ) = 0; - - /** - * This method is called when the Dali::Toolkit::Internal::PushButton, in which this - * object is registered, is clicked. - * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal - * implementation, in which this object is registered. - */ - virtual void Clicked( Toolkit::PushButton& button ) = 0; - - /** - * This method is called when the Dali::Toolkit::Internal::PushButton, in which this - * object is registered, is toggled. - * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal - * implementation, in which this object is registered. - */ - virtual void Toggled( Toolkit::PushButton& button ) = 0; - ///////////////////////////////////////////////////////////////////////////// // ButtonPainter interface ///////////////////////////////////////////////////////////////////////////// diff --git a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp index 2bcb901..4ef25d9 100644 --- a/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp +++ b/dali-toolkit/internal/controls/buttons/radio-button-impl.cpp @@ -20,9 +20,8 @@ #include "radio-button-impl.h" // EXTERNAL INCLUDES -#include #include -#include +#include using namespace Dali; using namespace Dali::Toolkit::Internal; @@ -59,35 +58,21 @@ Dali::Toolkit::RadioButton RadioButton::New() } RadioButton::RadioButton() - : mSelected(false) { - mUnselectedImage = Dali::Image::New( UNSELECTED_BUTTON_IMAGE_DIR ); - mSelectedImage = Dali::Image::New( SELECTED_BUTTON_IMAGE_DIR ); + mUnselectedImage = Dali::ResourceImage::New( UNSELECTED_BUTTON_IMAGE_DIR ); + mSelectedImage = Dali::ResourceImage::New( SELECTED_BUTTON_IMAGE_DIR ); mRadioIcon = Dali::ImageActor::New( mUnselectedImage ); + +// SetTogglableButton(true); + mTogglableButton = true; // TODO: Use SetTogglableButton() after refactoring painter } RadioButton::~RadioButton() { } -void RadioButton::SetLabel(const std::string& label) -{ - TextActor textActor = TextActor::DownCast( mLabel ); - if( textActor ) - { - textActor.SetText( label ); - } - else - { - Toolkit::TextView newTextView = Toolkit::TextView::New( label ); - SetLabel( newTextView ); - } - - RelayoutRequest(); -} - -void RadioButton::SetLabel(Actor label) +void RadioButton::SetLabel( Actor label ) { if( mLabel != label ) { @@ -110,14 +95,9 @@ void RadioButton::SetLabel(Actor label) } } -Actor RadioButton::GetLabel() const +void RadioButton::SetSelected( bool selected ) { - return mLabel; -} - -void RadioButton::SetSelected(bool selected) -{ - if( mSelected != selected ) + if( IsSelected() != selected ) { if( selected ) { @@ -146,36 +126,28 @@ void RadioButton::SetSelected(bool selected) // Raise state changed signal Toolkit::RadioButton handle( GetOwner() ); - mStateChangedSignal.Emit( handle, mSelected ); + StateChangedSignal().Emit( handle ); RelayoutRequest(); } } -bool RadioButton::IsSelected()const -{ - return mSelected; -} - -void RadioButton::ToggleState() -{ - SetSelected(!mSelected); -} - void RadioButton::OnRelayout( const Vector2& /*size*/, ActorSizeContainer& container ) { Vector3 newSize( mRadioIcon.GetNaturalSize() ); - if( mLabel ) + Actor& label = GetLabel(); + + if( label ) { // Offset the label from the radio button image newSize.width += DISTANCE_BETWEEN_IMAGE_AND_LABEL.width; // Find the size of the control using size negotiation - Vector3 actorNaturalSize( mLabel.GetNaturalSize() ); - Control::Relayout( mLabel, Vector2( actorNaturalSize.width, actorNaturalSize.height ), container ); + Vector3 actorNaturalSize( label.GetNaturalSize() ); + Control::Relayout( label, Vector2( actorNaturalSize.width, actorNaturalSize.height ), container ); - Vector3 actorSize( mLabel.GetSize() ); + Vector3 actorSize( label.GetSize() ); newSize.width += actorSize.width; newSize.height = std::max( newSize.height, actorSize.height ); } @@ -194,53 +166,12 @@ void RadioButton::OnInitialize() void RadioButton::OnButtonUp() { - // Don't allow selection on an already selected radio button - if( !mSelected ) - { - ToggleState(); - } -} - -void RadioButton::SetProperty(BaseObject* object, Property::Index propertyIndex, const Property::Value& value) -{ - Toolkit::RadioButton radioButton = Toolkit::RadioButton::DownCast( Dali::BaseHandle( object ) ); - - if( radioButton ) + if( ButtonDown == GetState() ) { - RadioButton& radioButtonImpl( GetImplementation( radioButton ) ); - - if ( propertyIndex == Toolkit::Button::PROPERTY_TOGGLED ) + // Don't allow selection on an already selected radio button + if( !IsSelected() ) { - radioButtonImpl.SetSelected( value.Get< bool >( ) ); - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_LABEL_ACTOR ) - { - radioButtonImpl.SetLabel( Scripting::NewActor( value.Get< Property::Map >( ) ) ); + SetSelected(!IsSelected()); } } } - -Property::Value RadioButton::GetProperty(BaseObject* object, Property::Index propertyIndex) -{ - Property::Value value; - - Toolkit::RadioButton radioButton = Toolkit::RadioButton::DownCast( Dali::BaseHandle(object) ); - - if( radioButton ) - { - RadioButton& radioButtonImpl( GetImplementation( radioButton ) ); - - if ( propertyIndex == Toolkit::Button::PROPERTY_TOGGLED ) - { - value = radioButtonImpl.mSelected; - } - else if ( propertyIndex == Toolkit::Button::PROPERTY_LABEL_ACTOR ) - { - Property::Map map; - Scripting::CreatePropertyMap( radioButtonImpl.mLabel, map ); - value = map; - } - } - - return value; -} diff --git a/dali-toolkit/internal/controls/buttons/radio-button-impl.h b/dali-toolkit/internal/controls/buttons/radio-button-impl.h index 07c622b..dc31882 100644 --- a/dali-toolkit/internal/controls/buttons/radio-button-impl.h +++ b/dali-toolkit/internal/controls/buttons/radio-button-impl.h @@ -58,12 +58,12 @@ class RadioButton: public Button /** * Construct a new PushButton with label. */ - RadioButton(const std::string& label); + RadioButton( const std::string& label ); /** * Construct a new PushButton with label. */ - RadioButton(Actor label); + RadioButton( Actor label ); /** * A reference counted object may only be deleted by calling Unreference() @@ -71,53 +71,20 @@ class RadioButton: public Button virtual ~RadioButton(); /** - * @copydoc Dali::Toolkit::RadioButton::SetLabel(const std::string& label) + * @copydoc Dali::Toolkit::Button::SetLabel( Actor label ) */ - void SetLabel(const std::string& label); + virtual void SetLabel( Actor label ); // TODO: After refactoring painter, this will be removed /** - * @copydoc Dali::Toolkit::RadioButton::SetLabel(Actor label) + * @copydoc Dali::Toolkit::Button::SetSelected( bool selected ) */ - void SetLabel(Actor label); - - /** - * @copydoc Dali::Toolkit::RadioButton::GetLabel() - */ - Actor GetLabel() const; - - /** - * @copydoc Dali::Toolkit::RadioButton::SetSelected(bool selected) - */ - void SetSelected(bool selected); - - /** - * @copydoc Dali::Toolkit::RadioButton::IsSelected() - */ - bool IsSelected()const; - - /** - * @copydoc Dali::Toolkit::RadioButton::ToggleState() - */ - void ToggleState(); + virtual void SetSelected( bool selected ); /** * @copydoc Dali::Toolkit::Control::OnRelayout() */ virtual void OnRelayout( const Vector2& size, ActorSizeContainer& container ); - public: - // Properties - - /** - * @copydoc Button::SetProperty - */ - static void SetProperty(BaseObject* object, Property::Index propertyIndex, const Property::Value& value); - - /** - * @copydoc Button::GetProperty - */ - static Property::Value GetProperty(BaseObject* object, Property::Index propertyIndex); - protected: // From Control /** @@ -134,17 +101,15 @@ class RadioButton: public Button private: // Undefined - RadioButton(const RadioButton& origin); + RadioButton( const RadioButton& origin ); // Undefined - RadioButton& operator=(const RadioButton& origin); + RadioButton& operator=( const RadioButton& origin ); Image mUnselectedImage; ///< Stores the unselected image Image mSelectedImage; ///< Stores the selected image ImageActor mRadioIcon; ///< Stores the current image - Actor mLabel; ///< Stores the button label - bool mSelected; ///< Stores the selected state -} ; +}; } // namespace Internal diff --git a/dali-toolkit/internal/controls/cluster/cluster-impl.cpp b/dali-toolkit/internal/controls/cluster/cluster-impl.cpp index d94a94b..25c5fdd 100644 --- a/dali-toolkit/internal/controls/cluster/cluster-impl.cpp +++ b/dali-toolkit/internal/controls/cluster/cluster-impl.cpp @@ -49,17 +49,23 @@ namespace Internal namespace { +// Actions + +const char* const ACTION_EXPAND = "expand"; +const char* const ACTION_COLLAPSE = "collapse"; +const char* const ACTION_TRANSFORM = "transform"; + BaseHandle Create() { - Toolkit::ClusterStyleStandard s = Toolkit::ClusterStyleStandard::New(Toolkit::ClusterStyleStandard::ClusterStyle1); + Toolkit::ClusterStyleStandard s = Toolkit::ClusterStyleStandard::New( Toolkit::ClusterStyleStandard::ClusterStyle1 ); return Toolkit::Cluster::New( s ); } -TypeRegistration mType( typeid(Toolkit::Cluster), typeid(Toolkit::Control), Create ); +TypeRegistration mType( typeid( Toolkit::Cluster ), typeid( Toolkit::Control ), Create ); -TypeAction a1(mType, Toolkit::Cluster::ACTION_EXPAND , &Cluster::DoAction); -TypeAction a2(mType, Toolkit::Cluster::ACTION_COLLAPSE , &Cluster::DoAction); -TypeAction a3(mType, Toolkit::Cluster::ACTION_TRANSFORM, &Cluster::DoAction); +TypeAction a1( mType, ACTION_EXPAND, &Cluster::DoAction ); +TypeAction a2( mType, ACTION_COLLAPSE, &Cluster::DoAction ); +TypeAction a3( mType, ACTION_TRANSFORM, &Cluster::DoAction ); } @@ -552,25 +558,25 @@ bool Cluster::DoAction(BaseObject* object, const std::string& actionName, const { bool ret = false; - Dali::BaseHandle handle(object); + Dali::BaseHandle handle( object ); - Toolkit::Cluster cluster = Toolkit::Cluster::DownCast(handle); + Toolkit::Cluster cluster = Toolkit::Cluster::DownCast( handle ); - DALI_ASSERT_ALWAYS(cluster); + DALI_ASSERT_ALWAYS( cluster ); - if(Toolkit::Cluster::ACTION_EXPAND == actionName) + if( 0 == strcmp( actionName.c_str(), ACTION_EXPAND ) ) { - GetImpl(cluster).DoExpandAction(attributes); + GetImpl( cluster ).DoExpandAction( attributes ); ret = true; } - else if(Toolkit::Cluster::ACTION_COLLAPSE == actionName) + else if( 0 == strcmp( actionName.c_str(), ACTION_COLLAPSE ) ) { - GetImpl(cluster).DoCollapseAction(attributes); + GetImpl( cluster ).DoCollapseAction( attributes ); ret = true; } - else if(Toolkit::Cluster::ACTION_TRANSFORM == actionName) + else if( 0 == strcmp( actionName.c_str(), ACTION_TRANSFORM ) ) { - GetImpl(cluster).DoTransformAction(attributes); + GetImpl( cluster ).DoTransformAction( attributes ); ret = true; } diff --git a/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp b/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp index f928e1c..d140750 100644 --- a/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp +++ b/dali-toolkit/internal/controls/effects-view/effects-view-impl.cpp @@ -438,10 +438,10 @@ void EffectsView::AllocateResources() SetupCameras(); - mImageForChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::Unused ); + mImageForChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::UNUSED ); mActorForChildren.SetImage(mImageForChildren); - mImagePostFilter = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::Unused ); + mImagePostFilter = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::UNUSED ); mActorPostFilter.SetImage(mImagePostFilter); SetupFilters(); diff --git a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp index 2b993e9..430148a 100644 --- a/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/gaussian-blur-view/gaussian-blur-view-impl.cpp @@ -427,13 +427,13 @@ void GaussianBlurView::AllocateResources() mRenderFullSizeCamera.SetPosition(0.0f, 0.0f, mTargetSize.height * cameraPosConstraintScale); // create offscreen buffer of new size to render our child actors to - mRenderTargetForRenderingChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::Unused ); + mRenderTargetForRenderingChildren = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Dali::Image::UNUSED ); // Set ImageActor for performing a horizontal blur on the texture mImageActorHorizBlur.SetImage( mRenderTargetForRenderingChildren ); // Create offscreen buffer for vert blur pass - mRenderTarget1 = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat, Dali::Image::Unused ); + mRenderTarget1 = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat, Dali::Image::UNUSED ); // use the completed blur in the first buffer and composite with the original child actors render mImageActorComposite.SetImage( mRenderTarget1 ); @@ -443,7 +443,7 @@ void GaussianBlurView::AllocateResources() } // Create offscreen buffer for horiz blur pass - mRenderTarget2 = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat, Dali::Image::Unused ); + mRenderTarget2 = FrameBufferImage::New( mDownsampledWidth, mDownsampledHeight, mPixelFormat, Dali::Image::UNUSED ); // size needs to match render target mImageActorHorizBlur.SetSize(mDownsampledWidth, mDownsampledHeight); diff --git a/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp b/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp index 2bfd96a..8df457f 100644 --- a/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp +++ b/dali-toolkit/internal/controls/magnifier/magnifier-impl.cpp @@ -22,6 +22,7 @@ #include #include #include +#include using namespace Dali; @@ -279,7 +280,7 @@ void Magnifier::SetFrameVisibility(bool visible) { Actor self(Self()); - Image image = Image::New( DEFAULT_FRAME_IMAGE_PATH ); + Image image = ResourceImage::New( DEFAULT_FRAME_IMAGE_PATH ); mFrame = ImageActor::New( image ); mFrame.SetDrawMode(DrawMode::OVERLAY); mFrame.SetStyle( ImageActor::STYLE_NINE_PATCH ); diff --git a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp index 8ef5ec6..3c7e78a 100644 --- a/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp +++ b/dali-toolkit/internal/controls/navigation-frame/navigation-control-impl.cpp @@ -40,15 +40,22 @@ namespace Internal namespace // to register type { + +// Actions + +const char* const ACTION_PUSH = "push"; +const char* const ACTION_POP = "pop"; + BaseHandle Create() { return Toolkit::NavigationControl::New(); } -TypeRegistration mType( typeid(Toolkit::NavigationControl), typeid(Toolkit::Control), Create ); +TypeRegistration mType( typeid( Toolkit::NavigationControl ), typeid( Toolkit::Control ), Create ); + +TypeAction a1( mType, ACTION_PUSH, &NavigationControl::DoAction ); +TypeAction a2( mType, ACTION_POP, &NavigationControl::DoAction ); -TypeAction a1(mType, Toolkit::NavigationControl::ACTION_PUSH, &NavigationControl::DoAction); -TypeAction a2(mType, Toolkit::NavigationControl::ACTION_POP, &NavigationControl::DoAction); } NavigationControl::NavigationControl() @@ -413,38 +420,38 @@ Toolkit::NavigationControl::ItemPoppedSignalType& NavigationControl::ItemPoppedS return mItemPoppedSignal; } -bool NavigationControl::DoAction(BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes) +bool NavigationControl::DoAction( BaseObject* object, const std::string& actionName, const PropertyValueContainer& attributes ) { bool ret = false; - Dali::BaseHandle handle(object); - Toolkit::NavigationControl control = Toolkit::NavigationControl::DownCast(handle); - DALI_ASSERT_ALWAYS(control); + Dali::BaseHandle handle( object ); + Toolkit::NavigationControl control = Toolkit::NavigationControl::DownCast( handle ); + DALI_ASSERT_ALWAYS( control ); - if (Toolkit::NavigationControl::ACTION_PUSH == actionName) + if( 0 == strcmp( actionName.c_str(), ACTION_PUSH ) ) { - for (PropertyValueConstIter iter = attributes.begin(); iter != attributes.end(); ++iter) + for( PropertyValueConstIter iter = attributes.begin(); iter != attributes.end(); ++iter ) { const Property::Value& value = *iter; - DALI_ASSERT_ALWAYS(value.GetType() == Property::STRING); - std::string itemName = value.Get (); + DALI_ASSERT_ALWAYS( value.GetType() == Property::STRING ); + std::string itemName = value.Get(); - for (std::list::iterator itemsIter = GetImpl(control).mUnpushedItems.begin(); itemsIter != GetImpl(control).mUnpushedItems.end(); ++itemsIter) + for( std::list::iterator itemsIter = GetImpl( control ).mUnpushedItems.begin(); itemsIter != GetImpl( control ).mUnpushedItems.end(); ++itemsIter ) { Toolkit::Page page = *itemsIter; - if (page.GetName() == itemName) + if( page.GetName() == itemName ) { - GetImpl(control).PushItem(page); + GetImpl( control ).PushItem( page ); ret = true; break; } } } } - else if(Toolkit::NavigationControl::ACTION_POP == actionName) + else if( 0 == strcmp( actionName.c_str(), ACTION_POP ) ) { - GetImpl(control).PopItem(); + GetImpl( control ).PopItem(); ret = true; } diff --git a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp index c844d88..392f733 100644 --- a/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp +++ b/dali-toolkit/internal/controls/page-turn-view/page-turn-view-impl.cpp @@ -376,7 +376,7 @@ void PageTurnView::SetupRenderTasks() Self().Add( mPageSourceActor[i] ); mPageSourceActor[i].SetSensitive( false ); - mRenderedPage[i] = FrameBufferImage::New( mControlSize.width, mControlSize.height, Pixel::RGB8888, Image::Unused ); + mRenderedPage[i] = FrameBufferImage::New( mControlSize.width, mControlSize.height, Pixel::RGB8888, Image::UNUSED ); mOffscreenTask[i] = taskList.CreateTask(); mOffscreenTask[i].SetRefreshRate( RenderTask::REFRESH_ONCE ); mOffscreenTask[i].SetCameraActor(mCameraActor); diff --git a/dali-toolkit/internal/controls/popup/popup-impl.cpp b/dali-toolkit/internal/controls/popup/popup-impl.cpp index 83ea7eb..0cd53c9 100755 --- a/dali-toolkit/internal/controls/popup/popup-impl.cpp +++ b/dali-toolkit/internal/controls/popup/popup-impl.cpp @@ -27,6 +27,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -52,8 +53,15 @@ const float POPUP_BUTTON_BG_HEIGHT = 96.f; ///< Height of But const Vector3 DEFAULT_DIALOG_SIZE = Vector3(POPUP_TITLE_WIDTH/POPUP_WIDTH, 0.5f, 0.0f); const Vector3 DEFAULT_BOTTOM_SIZE = Vector3(1.0f, 0.2f, 0.0f); -const char* const PROPERTY_TITLE = "title"; -const char* const PROPERTY_STATE = "state"; +// Signals + +const char* const SIGNAL_TOUCHED_OUTSIDE = "touched-outside"; +const char* const SIGNAL_HIDDEN = "hidden"; + +// Properties + +const char* const PROPERTY_TITLE = "title"; +const char* const PROPERTY_STATE = "state"; /** * The background size should be at least as big as the Dialog. @@ -108,10 +116,10 @@ BaseHandle Create() return Toolkit::Popup::New(); } -TypeRegistration typeRegistration( typeid(Toolkit::Popup), typeid(Toolkit::Control), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::Popup ), typeid( Toolkit::Control ), Create ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::Popup::SIGNAL_TOUCHED_OUTSIDE, &Popup::DoConnectSignal ); -SignalConnectorType signalConnector2( typeRegistration, Toolkit::Popup::SIGNAL_HIDDEN, &Popup::DoConnectSignal ); +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_TOUCHED_OUTSIDE, &Popup::DoConnectSignal ); +SignalConnectorType signalConnector2( typeRegistration, SIGNAL_HIDDEN, &Popup::DoConnectSignal ); } @@ -340,7 +348,7 @@ void Popup::ShowTail(const Vector3& position) if(image != "") { - Image tail = Image::New( image ); + Image tail = ResourceImage::New( image ); mTailImage = ImageActor::New(tail); const Vector3 anchorPoint = AnchorPoint::FRONT_BOTTOM_RIGHT - position; @@ -369,12 +377,12 @@ PopupStylePtr Popup::GetStyle() const void Popup::SetDefaultBackgroundImage() { - Image bg = Image::New( mPopupStyle->backgroundImage ); + Image bg = ResourceImage::New( mPopupStyle->backgroundImage ); ImageActor bgImage = ImageActor::New( bg ); bgImage.SetStyle( ImageActor::STYLE_NINE_PATCH ); bgImage.SetNinePatchBorder( mPopupStyle->backgroundScale9Border ); - Image buttonBg = Image::New( mPopupStyle->buttonAreaImage ); + Image buttonBg = ResourceImage::New( mPopupStyle->buttonAreaImage ); ImageActor buttonBgImage = ImageActor::New( buttonBg ); buttonBgImage.SetStyle( ImageActor::STYLE_NINE_PATCH ); buttonBgImage.SetNinePatchBorder( mPopupStyle->buttonArea9PatchBorder ); @@ -550,13 +558,13 @@ bool Popup::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tra Dali::BaseHandle handle( object ); bool connected( true ); - Toolkit::Popup popup = Toolkit::Popup::DownCast(handle); + Toolkit::Popup popup = Toolkit::Popup::DownCast( handle ); - if( Dali::Toolkit::Popup::SIGNAL_TOUCHED_OUTSIDE == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_TOUCHED_OUTSIDE ) ) { popup.OutsideTouchedSignal().Connect( tracker, functor ); } - else if( Dali::Toolkit::Popup::SIGNAL_HIDDEN == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_HIDDEN ) ) { popup.HiddenSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp index 02267f5..8c8923a 100755 --- a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp +++ b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.cpp @@ -21,6 +21,7 @@ // EXTERNAL INCLUDES #include #include +#include // INTERNAL INCLUDES #include @@ -120,7 +121,9 @@ BaseHandle Create() return Toolkit::ScrollBar::New(); } -TypeRegistration typeRegistration( typeid(Toolkit::ScrollBar), typeid(Toolkit::ScrollComponent), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::ScrollBar ), typeid( Toolkit::ScrollComponent ), Create ); + +const char* const SCROLL_POSITION_NOTIFIED_SIGNAL_NAME = "scroll-position-notified"; PropertyRegistration property1( typeRegistration, "indicator-height-policy", Toolkit::ScrollBar::PROPERTY_INDICATOR_HEIGHT_POLICY, Property::STRING, &ScrollBar::SetProperty, &ScrollBar::GetProperty ); PropertyRegistration property2( typeRegistration, "indicator-fixed-height", Toolkit::ScrollBar::PROPERTY_INDICATOR_FIXED_HEIGHT, Property::FLOAT, &ScrollBar::SetProperty, &ScrollBar::GetProperty ); @@ -148,7 +151,7 @@ void ScrollBar::OnInitialize() { Actor self = Self(); - Image indicatorImage = Image::New( DEFAULT_INDICATOR_IMAGE_PATH ); + Image indicatorImage = ResourceImage::New( DEFAULT_INDICATOR_IMAGE_PATH ); mIndicator = ImageActor::New( indicatorImage ); mIndicator.SetNinePatchBorder( DEFAULT_INDICATOR_NINE_PATCH_BORDER ); mIndicator.SetStyle( ImageActor::STYLE_NINE_PATCH ); @@ -437,6 +440,26 @@ void ScrollBar::OnIndicatorHeightPolicyPropertySet( Property::Value propertyValu } } +bool ScrollBar::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) +{ + Dali::BaseHandle handle( object ); + + bool connected( true ); + Toolkit::ScrollBar scrollBar = Toolkit::ScrollBar::DownCast( handle ); + + if( 0 == strcmp( signalName.c_str(), SCROLL_POSITION_NOTIFIED_SIGNAL_NAME ) ) + { + scrollBar.ScrollPositionNotifiedSignal().Connect( tracker, functor ); + } + else + { + // signalName does not match any signal + connected = false; + } + + return connected; +} + void ScrollBar::SetProperty( BaseObject* object, Property::Index index, const Property::Value& value ) { Toolkit::ScrollBar scrollBar = Toolkit::ScrollBar::DownCast( Dali::BaseHandle( object ) ); diff --git a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h index 989ffa4..1d717c2 100755 --- a/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h +++ b/dali-toolkit/internal/controls/scroll-bar/scroll-bar-impl.h @@ -156,6 +156,17 @@ public: return mScrollPositionNotifiedSignal; } + /** + * Connects a callback function with the object's signals. + * @param[in] object The object providing the signal. + * @param[in] tracker Used to disconnect the signal. + * @param[in] signalName The signal to connect to. + * @param[in] functor A newly allocated FunctorDelegate. + * @return True if the signal was connected. + * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor. + */ + static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ); + // Properties /** diff --git a/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.cpp b/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.cpp index 72dccbe..bc12931 100755 --- a/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.cpp +++ b/dali-toolkit/internal/controls/scroll-component/scroll-bar-internal-impl.cpp @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include // INTERNAL INCLUDES #include @@ -367,7 +368,7 @@ ScrollBarInternal::ScrollBarInternal(Toolkit::Scrollable& container, bool vertic mAxisMask(vertical ? Vector3::YAXIS : Vector3::XAXIS), mDragMode(false) { - Image sliderImage = Image::New( BAR_TAB_IMAGE_PATH ); + Image sliderImage = ResourceImage::New( BAR_TAB_IMAGE_PATH ); mSlider = ImageActor::New( sliderImage ); mSlider.SetParentOrigin( ParentOrigin::TOP_LEFT ); diff --git a/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.cpp b/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.cpp index 4f3d731..cf0d74e 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.cpp @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include #include namespace Dali @@ -31,6 +32,21 @@ namespace Toolkit namespace Internal { +namespace +{ + +// Signals + +const char* const DOMAIN_CHANGED_SIGNAL_NAME = "domain-changed"; +const char* const SCROLL_POSITION_CHANGED_SIGNAL_NAME = "scroll-position-changed"; + +TypeRegistration typeRegistration( typeid( Toolkit::ScrollConnector ), typeid( Dali::BaseHandle ), NULL ); + +SignalConnectorType signalConnector1( typeRegistration, DOMAIN_CHANGED_SIGNAL_NAME , &ScrollConnector::DoConnectSignal ); +SignalConnectorType signalConnector2( typeRegistration, SCROLL_POSITION_CHANGED_SIGNAL_NAME , &ScrollConnector::DoConnectSignal ); + +} + const Property::Index ScrollConnector::SCROLL_POSITION = Dali::PROPERTY_CUSTOM_START_INDEX; const Property::Index ScrollConnector::OVERSHOOT = Dali::PROPERTY_CUSTOM_START_INDEX + 1; @@ -54,6 +70,30 @@ void ScrollConnector::SetScrollPosition( float position ) mScrollPositionChangedSignal.Emit( position ); } +bool ScrollConnector::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) +{ + Dali::BaseHandle handle( object ); + + bool connected( true ); + Toolkit::ScrollConnector scrollConnector = Toolkit::ScrollConnector::DownCast( handle ); + + if( 0 == strcmp( signalName.c_str(), DOMAIN_CHANGED_SIGNAL_NAME ) ) + { + scrollConnector.DomainChangedSignal().Connect( tracker, functor ); + } + else if( 0 == strcmp( signalName.c_str(), SCROLL_POSITION_CHANGED_SIGNAL_NAME ) ) + { + scrollConnector.ScrollPositionChangedSignal().Connect( tracker, functor ); + } + else + { + // signalName does not match any signal + connected = false; + } + + return connected; +} + ScrollConnector::ScrollConnector() : mMinLimit( 0.0f ), mMaxLimit( 0.0f ), diff --git a/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h b/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h index f9a201e..8cd176f 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h +++ b/dali-toolkit/internal/controls/scrollable/scroll-connector-impl.h @@ -120,6 +120,17 @@ public: return mScrollPositionObject; } + /** + * Connects a callback function with the object's signals. + * @param[in] object The object providing the signal. + * @param[in] tracker Used to disconnect the signal. + * @param[in] signalName The signal to connect to. + * @param[in] functor A newly allocated FunctorDelegate. + * @return True if the signal was connected. + * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor. + */ + static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ); + private: /** diff --git a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp index c6cc755..4f49d70 100644 --- a/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-impl.cpp @@ -52,6 +52,10 @@ using namespace Dali; namespace { +// Signals + +const char* const SIGNAL_SNAP_STARTED = "snap-started"; + const int DEFAULT_REFRESH_INTERVAL_MILLISECONDS = 50; ///< Refresh rate TODO: Animation should have an update signal (and see item-view-impl) const Vector2 DEFAULT_MIN_FLICK_DISTANCE(30.0f, 30.0f); ///< minimum distance for pan before flick allowed const float DEFAULT_MIN_FLICK_SPEED_THRESHOLD(500.0f); ///< Minimum pan speed required for flick in pixels/s @@ -522,9 +526,9 @@ BaseHandle Create() return Toolkit::ScrollView::New(); } -TypeRegistration typeRegistration( typeid(Toolkit::ScrollView), typeid(Toolkit::Scrollable), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::ScrollView ), typeid( Toolkit::Scrollable ), Create ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::ScrollView::SIGNAL_SNAP_STARTED, &ScrollView::DoConnectSignal ); +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_SNAP_STARTED, &ScrollView::DoConnectSignal ); } @@ -1843,7 +1847,7 @@ bool ScrollView::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface bool connected( true ); Toolkit::ScrollView view = Toolkit::ScrollView::DownCast( handle ); - if( Toolkit::ScrollView::SIGNAL_SNAP_STARTED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_SNAP_STARTED ) ) { view.SnapStartedSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp index 36e713f..64fa2b9 100644 --- a/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp +++ b/dali-toolkit/internal/controls/scrollable/scrollable-impl.cpp @@ -46,18 +46,25 @@ namespace const Vector4 DEFAULT_OVERSHOOT_COLOUR(0.0f, 0.64f, 0.85f, 0.25f); const float DEFAULT_OVERSHOOT_ANIMATION_SPEED(120.0f); // 120 pixels per second +// Signals + +const char* const SIGNAL_SCROLL_STARTED = "scroll-started"; +const char* const SIGNAL_SCROLL_COMPLETED = "scroll-completed"; +const char* const SIGNAL_SCROLL_UPDATED = "scroll-updated"; +const char* const SIGNAL_SCROLL_CLAMPED = "scroll-clamped"; + BaseHandle Create() { // empty handle as we cannot create Scrollable (but type registered for scroll signal) return BaseHandle(); } -TypeRegistration mType( typeid(Toolkit::Scrollable), typeid(Toolkit::Control), Create ); +TypeRegistration mType( typeid( Toolkit::Scrollable ), typeid( Toolkit::Control ), Create ); -SignalConnectorType s1(mType, Toolkit::Scrollable::SIGNAL_SCROLL_STARTED, &Scrollable::DoConnectSignal); -SignalConnectorType s2(mType, Toolkit::Scrollable::SIGNAL_SCROLL_COMPLETED, &Scrollable::DoConnectSignal); -SignalConnectorType s3(mType, Toolkit::Scrollable::SIGNAL_SCROLL_UPDATED, &Scrollable::DoConnectSignal); -SignalConnectorType s4(mType, Toolkit::Scrollable::SIGNAL_SCROLL_CLAMPED, &Scrollable::DoConnectSignal); +SignalConnectorType s1( mType, SIGNAL_SCROLL_STARTED, &Scrollable::DoConnectSignal ); +SignalConnectorType s2( mType, SIGNAL_SCROLL_COMPLETED, &Scrollable::DoConnectSignal ); +SignalConnectorType s3( mType, SIGNAL_SCROLL_UPDATED, &Scrollable::DoConnectSignal ); +SignalConnectorType s4( mType, SIGNAL_SCROLL_CLAMPED, &Scrollable::DoConnectSignal ); PropertyRegistration property1( mType, "overshoot-effect-color", @@ -216,19 +223,19 @@ bool Scrollable::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface bool connected( true ); Toolkit::Scrollable scrollable = Toolkit::Scrollable::DownCast( handle ); - if( Toolkit::Scrollable::SIGNAL_SCROLL_STARTED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_SCROLL_STARTED ) ) { scrollable.ScrollStartedSignal().Connect( tracker, functor ); } - else if( Toolkit::Scrollable::SIGNAL_SCROLL_UPDATED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_SCROLL_UPDATED ) ) { scrollable.ScrollUpdatedSignal().Connect( tracker, functor ); } - else if( Toolkit::Scrollable::SIGNAL_SCROLL_COMPLETED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_SCROLL_COMPLETED ) ) { scrollable.ScrollCompletedSignal().Connect( tracker, functor ); } - else if( Toolkit::Scrollable::SIGNAL_SCROLL_CLAMPED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_SCROLL_CLAMPED ) ) { scrollable.ScrollClampedSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp b/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp index 098e9ae..d47d9bf 100644 --- a/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp +++ b/dali-toolkit/internal/controls/shadow-view/shadow-view-impl.cpp @@ -180,9 +180,9 @@ void ShadowView::SetShadowPlane(Actor shadowPlane) ConstrainCamera(); - mShadowPlane.ApplyConstraint( Constraint::New( Actor::SIZE, Source( mShadowPlaneBg, Actor::SIZE ), EqualToConstraint() ) ); + mShadowPlane.SetSizeMode( SIZE_EQUAL_TO_PARENT ); - mBlurRootActor.ApplyConstraint( Constraint::New( Actor::SIZE, Source( mShadowPlane, Actor::SIZE ), EqualToConstraint() ) ); + mBlurRootActor.SetSizeMode( SIZE_EQUAL_TO_PARENT ); } void ShadowView::SetPointLight(Actor pointLight) @@ -237,7 +237,7 @@ void ShadowView::OnInitialize() { // root actor to parent all user added actors. Used as source actor for shadow render task. mChildrenRoot.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); - mChildrenRoot.ApplyConstraint(Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() )); + mChildrenRoot.SetSizeMode( SIZE_EQUAL_TO_PARENT ); Vector2 stageSize = Stage::GetCurrent().GetSize(); mCameraActor = CameraActor::New(stageSize); diff --git a/dali-toolkit/internal/controls/slider/slider-impl.cpp b/dali-toolkit/internal/controls/slider/slider-impl.cpp index 76db7ca..c44c9af 100755 --- a/dali-toolkit/internal/controls/slider/slider-impl.cpp +++ b/dali-toolkit/internal/controls/slider/slider-impl.cpp @@ -24,6 +24,7 @@ // EXTERNAL INCLUDES #include +#include #include @@ -115,15 +116,20 @@ const bool DEFAULT_SHOW_VALUE = true; const bool DEFAULT_ENABLED = true; const bool DEFAULT_SNAP_TO_MARKS = false; +// Signals + +const char* const SIGNAL_VALUE_CHANGED = "value-changed"; +const char* const SIGNAL_MARK = "mark"; + BaseHandle Create() { return Dali::Toolkit::Slider::New(); } -TypeRegistration typeRegistration( typeid(Dali::Toolkit::Slider), typeid(Dali::Toolkit::Control), Create ); +TypeRegistration typeRegistration( typeid( Dali::Toolkit::Slider ), typeid( Dali::Toolkit::Control ), Create ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::Slider::SIGNAL_VALUE_CHANGED, &Toolkit::Internal::Slider::DoConnectSignal ); -SignalConnectorType signalConnector2( typeRegistration, Toolkit::Slider::SIGNAL_MARK, &Toolkit::Internal::Slider::DoConnectSignal ); +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_VALUE_CHANGED, &Toolkit::Internal::Slider::DoConnectSignal ); +SignalConnectorType signalConnector2( typeRegistration, SIGNAL_MARK, &Toolkit::Internal::Slider::DoConnectSignal ); PropertyRegistration property1( typeRegistration, "lower-bound", Toolkit::Slider::LOWER_BOUND_PROPERTY, Property::FLOAT, &Slider::SetProperty, &Slider::GetProperty ); PropertyRegistration property2( typeRegistration, "upper-bound", Toolkit::Slider::UPPER_BOUND_PROPERTY, Property::FLOAT, &Slider::SetProperty, &Slider::GetProperty ); @@ -439,7 +445,7 @@ void Slider::SetBackingImageName( const std::string& imageName ) { if( mBacking && imageName != String::EMPTY ) { - Image image = Image::New( imageName ); + Image image = ResourceImage::New( imageName ); mBacking.SetImage( image ); } } @@ -448,7 +454,7 @@ std::string Slider::GetBackingImageName() { if( mBacking ) { - return mBacking.GetImage().GetFilename(); + return ResourceImage::DownCast( mBacking.GetImage() ).GetUrl(); } return std::string( "" ); @@ -468,7 +474,7 @@ void Slider::SetProgressImageName( const std::string& imageName ) { if( mProgress && imageName != String::EMPTY ) { - Image image = Image::New( imageName ); + Image image = ResourceImage::New( imageName ); mProgress.SetImage( image ); } } @@ -477,7 +483,7 @@ std::string Slider::GetProgressImageName() { if( mProgress ) { - return mProgress.GetImage().GetFilename(); + return ResourceImage::DownCast( mProgress.GetImage()).GetUrl(); } return std::string( "" ); @@ -497,7 +503,7 @@ void Slider::CreatePopupImage( const std::string& imageName ) { if( mPopup && imageName != String::EMPTY ) { - Image image = Image::New( imageName ); + Image image = ResourceImage::New( imageName ); mPopup.SetImage( image ); } } @@ -516,7 +522,7 @@ void Slider::CreatePopupArrowImage( const std::string& imageName ) { if( mPopupArrow && imageName != String::EMPTY ) { - Image image = Image::New( imageName ); + Image image = ResourceImage::New( imageName ); mPopupArrow.SetImage( image ); } } @@ -575,7 +581,7 @@ void Slider::SetHandleImageName( const std::string& imageName ) { if( mHandle && imageName != String::EMPTY ) { - Image image = Image::New( imageName ); + Image image = ResourceImage::New( imageName ); mHandle.SetImage( image ); } } @@ -584,7 +590,7 @@ std::string Slider::GetHandleImageName() { if( mHandle ) { - return mHandle.GetImage().GetFilename(); + return ResourceImage::DownCast( mHandle.GetImage() ).GetUrl(); } return std::string( "" ); @@ -1018,8 +1024,7 @@ float Slider::GetMarkTolerance() const return mMarkTolerance; } -// static class method to support script connecting signals - +// Static class method to support script connecting signals bool Slider::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) { Dali::BaseHandle handle( object ); @@ -1027,11 +1032,11 @@ bool Slider::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tr bool connected = true; Toolkit::Slider slider = Toolkit::Slider::DownCast( handle ); - if( signalName == Dali::Toolkit::Slider::SIGNAL_VALUE_CHANGED ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_VALUE_CHANGED ) ) { slider.ValueChangedSignal().Connect( tracker, functor ); } - else if( signalName == Dali::Toolkit::Slider::SIGNAL_MARK ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_MARK ) ) { slider.MarkSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp index 3b2443b..aa27cb5 100644 --- a/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp +++ b/dali-toolkit/internal/controls/super-blur-view/super-blur-view-impl.cpp @@ -266,7 +266,7 @@ void SuperBlurView::OnControlSizeSet( const Vector3& targetSize ) { float exponent = static_cast(i+1); mBlurredImage[i] = FrameBufferImage::New( mTargetSize.width/std::pow(2.f,exponent) , mTargetSize.height/std::pow(2.f,exponent), - GAUSSIAN_BLUR_RENDER_TARGET_PIXEL_FORMAT, Dali::Image::Never ); + GAUSSIAN_BLUR_RENDER_TARGET_PIXEL_FORMAT, Dali::Image::NEVER ); } } } diff --git a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp index 76eab51..30c66f3 100644 --- a/dali-toolkit/internal/controls/table-view/table-view-impl.cpp +++ b/dali-toolkit/internal/controls/table-view/table-view-impl.cpp @@ -1090,7 +1090,7 @@ void TableView::SetHeightOrWidthProperty(TableView& tableViewImpl, { if( item.HasKey( "policy" ) && item.HasKey( "value" ) ) { - Toolkit::TableView::LayoutPolicy policy = Scripting::GetEnumeration< Toolkit::TableView::LayoutPolicy >( item.GetValue("policy").Get(), LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ); + Toolkit::TableView::LayoutPolicy policy = Scripting::GetEnumeration< Toolkit::TableView::LayoutPolicy >( item.GetValue("policy").Get().c_str(), LAYOUT_POLICY_STRING_TABLE, LAYOUT_POLICY_STRING_TABLE_COUNT ); if( policy == Toolkit::TableView::Fixed ) { (tableViewImpl.*funcFixed)( rowIndex, item.GetValue("value").Get() ); diff --git a/dali-toolkit/internal/controls/text-input/text-input-decorator-impl.cpp b/dali-toolkit/internal/controls/text-input/text-input-decorator-impl.cpp index 9f83898..77813e8 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-decorator-impl.cpp +++ b/dali-toolkit/internal/controls/text-input/text-input-decorator-impl.cpp @@ -24,6 +24,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -493,7 +494,7 @@ ImageActor Decorator::CreateCursor( Image cursorImage, const Vector4& border, co } else { - cursor = ImageActor::New( Image::New( DEFAULT_CURSOR ) ); + cursor = ImageActor::New( ResourceImage::New( DEFAULT_CURSOR ) ); } cursor.SetStyle(ImageActor::STYLE_NINE_PATCH); @@ -506,7 +507,7 @@ ImageActor Decorator::CreateCursor( Image cursorImage, const Vector4& border, co void Decorator::CreateCursors( Actor targetParent ) { - Image mCursorImage = Image::New( DEFAULT_CURSOR ); + Image mCursorImage = ResourceImage::New( DEFAULT_CURSOR ); mCursor = CreateCursor (mCursorImage, DEFAULT_CURSOR_IMAGE_9_BORDER , "mainCursor"); mCursorRTL = CreateCursor ( mCursorImage, DEFAULT_CURSOR_IMAGE_9_BORDER, "rtlCursor"); targetParent.Add( mCursor ); diff --git a/dali-toolkit/internal/controls/text-input/text-input-handles-impl.cpp b/dali-toolkit/internal/controls/text-input/text-input-handles-impl.cpp index c4d831b..aa5ca7d 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-handles-impl.cpp +++ b/dali-toolkit/internal/controls/text-input/text-input-handles-impl.cpp @@ -24,6 +24,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -61,7 +62,8 @@ Actor CreateGrabArea( const std::string& name, const Vector3& relativeScale ) Actor handleGrabArea = Actor::New(); // Area that Grab handle responds to, larger than actual handle so easier to move handleGrabArea.SetName( name ); - handleGrabArea.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), RelativeToConstraint( relativeScale ) ) ); // grab area to be larger than text actor + handleGrabArea.SetSizeMode( SIZE_RELATIVE_TO_PARENT ); + handleGrabArea.SetSizeModeFactor( relativeScale ); handleGrabArea.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); return handleGrabArea; @@ -112,8 +114,8 @@ void TextInputHandles::CreateSelectionHandles() { DALI_LOG_INFO(gLogFilter, Debug::Verbose, "TextInputHandles: CreateSelectionHandles\n" ); - mSelectionHandleOneImage = Image::New( DEFAULT_SELECTION_HANDLE_ONE ); - mSelectionHandleOneImagePressed = Image::New( DEFAULT_SELECTION_HANDLE_ONE_PRESSED ); + mSelectionHandleOneImage = ResourceImage::New( DEFAULT_SELECTION_HANDLE_ONE ); + mSelectionHandleOneImagePressed = ResourceImage::New( DEFAULT_SELECTION_HANDLE_ONE_PRESSED ); mSelectionHandleOne = CreateHandle( AnchorPoint::TOP_RIGHT, mSelectionHandleOneImage, "SelectionHandleOne" ); mIsSelectionHandleOneFlipped = false; @@ -123,8 +125,8 @@ void TextInputHandles::CreateSelectionHandles() // mTapDetector.Attach( mHandleOneGrabArea ); - mSelectionHandleTwoImage = Image::New( DEFAULT_SELECTION_HANDLE_TWO ); - mSelectionHandleTwoImagePressed = Image::New( DEFAULT_SELECTION_HANDLE_TWO_PRESSED ); + mSelectionHandleTwoImage = ResourceImage::New( DEFAULT_SELECTION_HANDLE_TWO ); + mSelectionHandleTwoImagePressed = ResourceImage::New( DEFAULT_SELECTION_HANDLE_TWO_PRESSED ); mSelectionHandleTwo = CreateHandle( AnchorPoint::TOP_LEFT, mSelectionHandleTwoImage, "SelectionHandleTwo" ); mIsSelectionHandleTwoFlipped = false; @@ -245,7 +247,7 @@ void TextInputHandles::CreateGrabHandle() { if ( !mGrabHandleImage ) { - mGrabHandleImage = Image::New( DEFAULT_GRAB_HANDLE ); + mGrabHandleImage = ResourceImage::New( DEFAULT_GRAB_HANDLE ); } mGrabHandle = CreateHandle( AnchorPoint::TOP_CENTER, mGrabHandleImage, "GrabHandle" ); diff --git a/dali-toolkit/internal/controls/text-input/text-input-impl.cpp b/dali-toolkit/internal/controls/text-input/text-input-impl.cpp index e891f5b..84f8fc2 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-impl.cpp +++ b/dali-toolkit/internal/controls/text-input/text-input-impl.cpp @@ -30,6 +30,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -197,19 +198,28 @@ namespace Internal namespace { +// Signals + +const char* const SIGNAL_START_INPUT = "start-input"; +const char* const SIGNAL_END_INPUT = "end-input"; +const char* const SIGNAL_STYLE_CHANGED = "style-changed"; +const char* const SIGNAL_MAX_INPUT_CHARACTERS_REACHED = "max-input-characters-reached"; +const char* const SIGNAL_TOOLBAR_DISPLAYED = "toolbar-displayed"; +const char* const SIGNAL_TEXT_EXCEED_BOUNDARIES = "text-exceed-boundaries"; + BaseHandle Create() { return Toolkit::TextInput::New(); } -TypeRegistration typeRegistration( typeid(Toolkit::TextInput), typeid(Toolkit::Control), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::TextInput ), typeid( Toolkit::Control ), Create ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::TextInput::SIGNAL_START_INPUT, &TextInput::DoConnectSignal ); -SignalConnectorType signalConnector2( typeRegistration, Toolkit::TextInput::SIGNAL_END_INPUT, &TextInput::DoConnectSignal ); -SignalConnectorType signalConnector3( typeRegistration, Toolkit::TextInput::SIGNAL_STYLE_CHANGED, &TextInput::DoConnectSignal ); -SignalConnectorType signalConnector4( typeRegistration, Toolkit::TextInput::SIGNAL_MAX_INPUT_CHARACTERS_REACHED, &TextInput::DoConnectSignal ); -SignalConnectorType signalConnector5( typeRegistration, Toolkit::TextInput::SIGNAL_TOOLBAR_DISPLAYED, &TextInput::DoConnectSignal ); -SignalConnectorType signalConnector6( typeRegistration, Toolkit::TextInput::SIGNAL_TEXT_EXCEED_BOUNDARIES, &TextInput::DoConnectSignal ); +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_START_INPUT, &TextInput::DoConnectSignal ); +SignalConnectorType signalConnector2( typeRegistration, SIGNAL_END_INPUT, &TextInput::DoConnectSignal ); +SignalConnectorType signalConnector3( typeRegistration, SIGNAL_STYLE_CHANGED, &TextInput::DoConnectSignal ); +SignalConnectorType signalConnector4( typeRegistration, SIGNAL_MAX_INPUT_CHARACTERS_REACHED, &TextInput::DoConnectSignal ); +SignalConnectorType signalConnector5( typeRegistration, SIGNAL_TOOLBAR_DISPLAYED, &TextInput::DoConnectSignal ); +SignalConnectorType signalConnector6( typeRegistration, SIGNAL_TEXT_EXCEED_BOUNDARIES, &TextInput::DoConnectSignal ); } @@ -578,25 +588,29 @@ bool TextInput::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* Dali::BaseHandle handle( object ); bool connected( true ); - Toolkit::TextInput textInput = Toolkit::TextInput::DownCast(handle); + Toolkit::TextInput textInput = Toolkit::TextInput::DownCast( handle ); - if( Toolkit::TextInput::SIGNAL_START_INPUT == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_START_INPUT ) ) { textInput.InputStartedSignal().Connect( tracker, functor ); } - else if( Toolkit::TextInput::SIGNAL_END_INPUT == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_END_INPUT ) ) { textInput.InputFinishedSignal().Connect( tracker, functor ); } - else if( Toolkit::TextInput::SIGNAL_STYLE_CHANGED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_STYLE_CHANGED ) ) { textInput.StyleChangedSignal().Connect( tracker, functor ); } - else if( Toolkit::TextInput::SIGNAL_MAX_INPUT_CHARACTERS_REACHED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_MAX_INPUT_CHARACTERS_REACHED ) ) { textInput.MaxInputCharactersReachedSignal().Connect( tracker, functor ); } - else if( Toolkit::TextInput::SIGNAL_TEXT_EXCEED_BOUNDARIES == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_TOOLBAR_DISPLAYED ) ) + { + textInput.CutAndPasteToolBarDisplayedSignal().Connect( tracker, functor ); + } + else if( 0 == strcmp( signalName.c_str(), SIGNAL_TEXT_EXCEED_BOUNDARIES ) ) { textInput.InputTextExceedBoundariesSignal().Connect( tracker, functor ); } @@ -3021,7 +3035,7 @@ void TextInput::CreateGrabHandle( Dali::Image image ) { if ( !image ) { - mGrabHandleImage = Image::New(DEFAULT_GRAB_HANDLE); + mGrabHandleImage = ResourceImage::New(DEFAULT_GRAB_HANDLE); } else { @@ -3047,7 +3061,8 @@ void TextInput::CreateGrabArea( Actor& parent ) mGrabArea = Actor::New(); // Area that Grab handle responds to, larger than actual handle so easier to move mGrabArea.SetName( "GrabArea" ); mGrabArea.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); - mGrabArea.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), RelativeToConstraint( DEFAULT_GRAB_HANDLE_RELATIVE_SIZE ) ) ); // grab area to be larger than text actor + mGrabArea.SetSizeMode( SIZE_RELATIVE_TO_PARENT ); + mGrabArea.SetSizeModeFactor( DEFAULT_GRAB_HANDLE_RELATIVE_SIZE ); mGrabArea.TouchedSignal().Connect(this,&TextInput::OnPressDown); mTapDetector.Attach( mGrabArea ); mPanGestureDetector.Attach( mGrabArea ); @@ -3270,8 +3285,8 @@ void TextInput::CreateSelectionHandles( std::size_t start, std::size_t end, Dali if ( !mSelectionHandleOne ) { // create normal and pressed images - mSelectionHandleOneImage = Image::New( DEFAULT_SELECTION_HANDLE_ONE ); - mSelectionHandleOneImagePressed = Image::New( DEFAULT_SELECTION_HANDLE_ONE_PRESSED ); + mSelectionHandleOneImage = ResourceImage::New( DEFAULT_SELECTION_HANDLE_ONE ); + mSelectionHandleOneImagePressed = ResourceImage::New( DEFAULT_SELECTION_HANDLE_ONE_PRESSED ); mSelectionHandleOne = ImageActor::New( mSelectionHandleOneImage ); mSelectionHandleOne.SetName("SelectionHandleOne"); @@ -3283,7 +3298,8 @@ void TextInput::CreateSelectionHandles( std::size_t start, std::size_t end, Dali mHandleOneGrabArea = Actor::New(); // Area that Grab handle responds to, larger than actual handle so easier to move mHandleOneGrabArea.SetName("SelectionHandleOneGrabArea"); - mHandleOneGrabArea.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), RelativeToConstraint( DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ) ) ); // grab area to be larger than text actor + mHandleOneGrabArea.SetSizeMode( SIZE_RELATIVE_TO_PARENT ); + mHandleOneGrabArea.SetSizeModeFactor( DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ); mHandleOneGrabArea.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); mTapDetector.Attach( mHandleOneGrabArea ); @@ -3298,8 +3314,8 @@ void TextInput::CreateSelectionHandles( std::size_t start, std::size_t end, Dali if ( !mSelectionHandleTwo ) { // create normal and pressed images - mSelectionHandleTwoImage = Image::New( DEFAULT_SELECTION_HANDLE_TWO ); - mSelectionHandleTwoImagePressed = Image::New( DEFAULT_SELECTION_HANDLE_TWO_PRESSED ); + mSelectionHandleTwoImage = ResourceImage::New( DEFAULT_SELECTION_HANDLE_TWO ); + mSelectionHandleTwoImagePressed = ResourceImage::New( DEFAULT_SELECTION_HANDLE_TWO_PRESSED ); mSelectionHandleTwo = ImageActor::New( mSelectionHandleTwoImage ); mSelectionHandleTwo.SetName("SelectionHandleTwo"); @@ -3310,7 +3326,8 @@ void TextInput::CreateSelectionHandles( std::size_t start, std::size_t end, Dali mHandleTwoGrabArea = Actor::New(); // Area that Grab handle responds to, larger than actual handle so easier to move mHandleTwoGrabArea.SetName("SelectionHandleTwoGrabArea"); - mHandleTwoGrabArea.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), RelativeToConstraint( DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ) ) ); // grab area to be larger than text actor + mHandleTwoGrabArea.SetSizeMode( SIZE_RELATIVE_TO_PARENT ); + mHandleTwoGrabArea.SetSizeModeFactor( DEFAULT_SELECTION_HANDLE_RELATIVE_SIZE ); mHandleTwoGrabArea.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION ); mTapDetector.Attach( mHandleTwoGrabArea ); diff --git a/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp b/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp index a133275..25480d0 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp +++ b/dali-toolkit/internal/controls/text-input/text-input-popup-impl.cpp @@ -18,6 +18,7 @@ // EXTERNAL INCLUDES #include #include +#include #include // INTERNAL INCLUDES @@ -100,9 +101,16 @@ namespace Toolkit namespace Internal { -const char* const TextInputPopup::SIGNAL_PRESSED = "pressed"; -const char* const TextInputPopup::SIGNAL_HIDE_FINISHED = "hide-finished"; -const char* const TextInputPopup::SIGNAL_SHOW_FINISHED = "show-finished"; +namespace +{ + +// Signals + +const char* const SIGNAL_PRESSED = "pressed"; +const char* const SIGNAL_HIDE_FINISHED = "hide-finished"; +const char* const SIGNAL_SHOW_FINISHED = "show-finished"; + +} const char* const TextInputPopup::OPTION_SELECT_WORD = "option-select_word"; // "Select Word" popup option. const char* const TextInputPopup::OPTION_SELECT_ALL("option-select_all"); // "Select All" popup option. @@ -274,28 +282,28 @@ void TextInputPopup::CreateBackground() // Create background-panel if not already created (required if we have at least one option) if ( !mBackground ) { - Image bgImg = Image::New( POPUP_BACKGROUND ); + Image bgImg = ResourceImage::New( POPUP_BACKGROUND ); mBackground = ImageActor::New( bgImg ); mBackground.SetAnchorPoint( AnchorPoint::CENTER ); mBackground.SetParentOrigin( ParentOrigin::CENTER ); mBackground.SetName( "text-input-popup-background" ); mBackground.SetColor( mBackgroundColor ); - Image bgEffectImg = Image::New( POPUP_BACKGROUND_EFFECT ); + Image bgEffectImg = ResourceImage::New( POPUP_BACKGROUND_EFFECT ); mBackgroundEffect = ImageActor::New( bgEffectImg ); mBackgroundEffect.SetAnchorPoint( AnchorPoint::CENTER ); mBackgroundEffect.SetParentOrigin( ParentOrigin::CENTER ); mBackgroundEffect.SetName( "text-input-popup-background-effect" ); - mBackgroundEffect.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) ); + mBackgroundEffect.SetSizeMode( SIZE_EQUAL_TO_PARENT ); mBackgroundEffect.SetZ( 1.0f ); mBackground.Add( mBackgroundEffect ); - Image bgLine = Image::New( POPUP_BACKGROUND_LINE ); + Image bgLine = ResourceImage::New( POPUP_BACKGROUND_LINE ); mBackgroundLine = ImageActor::New( bgLine ); mBackgroundLine.SetAnchorPoint( AnchorPoint::CENTER); mBackgroundLine.SetParentOrigin( ParentOrigin::CENTER ); mBackgroundLine.SetName( "text-input-popup-background-effect" ); - mBackgroundLine.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) ); + mBackgroundLine.SetSizeMode( SIZE_EQUAL_TO_PARENT ); mBackgroundLine.SetColor( mLineColor ); mBackgroundLine.SetZ( 0.1f ); mBackgroundEffect.Add( mBackgroundLine ); @@ -308,7 +316,7 @@ void TextInputPopup::CreateTail() { if ( !mTail ) { - Image tail = Image::New( POPUP_TAIL_BOTTOM ); + Image tail = ResourceImage::New( POPUP_TAIL_BOTTOM ); mTail = ImageActor::New( tail ); mTail.SetParentOrigin( ParentOrigin::BOTTOM_CENTER ); mTail.SetAnchorPoint( AnchorPoint::TOP_CENTER ); @@ -316,20 +324,20 @@ void TextInputPopup::CreateTail() mTail.SetPosition( 0.0f, POPUP_TAIL_Y_OFFSET - POPUP_BORDER.w, 1.2f ); mTail.SetColor( mBackgroundColor ); - Image tailEffect = Image::New( POPUP_TAIL_BOTTOM_EFFECT ); + Image tailEffect = ResourceImage::New( POPUP_TAIL_BOTTOM_EFFECT ); mTailEffect = ImageActor::New( tailEffect ); mTailEffect.SetParentOrigin( ParentOrigin::CENTER ); mTailEffect.SetAnchorPoint( AnchorPoint::CENTER ); mTailEffect.SetName( "text-input-popup-tail-effect" ); - mTailEffect.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) ); + mTailEffect.SetSizeMode( SIZE_EQUAL_TO_PARENT ); mTailEffect.SetZ( 0.1f ); mTail.Add( mTailEffect ); - Image tailLine = Image::New( POPUP_TAIL_BOTTOM_LINE ); + Image tailLine = ResourceImage::New( POPUP_TAIL_BOTTOM_LINE ); mTailLine = ImageActor::New( tailLine ); mTailLine.SetParentOrigin( ParentOrigin::CENTER ); mTailLine.SetAnchorPoint( AnchorPoint::CENTER ); - mTailLine.ApplyConstraint( Constraint::New( Actor::SIZE, ParentSource( Actor::SIZE ), EqualToConstraint() ) ); + mTailLine.SetSizeMode( SIZE_EQUAL_TO_PARENT ); mTailLine.SetName( "text-input-popup-tail-line" ); mTailLine.SetColor( mLineColor ); mTailLine.SetZ( 0.1f ); @@ -389,37 +397,37 @@ void TextInputPopup::CreateOrderedListOfOptions() { case ButtonsCut: { - Image cutIcon = Image::New( OPTION_ICON_CUT ); + Image cutIcon = ResourceImage::New( OPTION_ICON_CUT ); currentButton = CreateRequiredButton( ButtonsCut, mCutOptionPriority, OPTION_CUT, GET_LOCALE_TEXT("IDS_COM_BODY_CUT"), cutIcon, false ); break; } case ButtonsCopy: { - Image copyIcon = Image::New( OPTION_ICON_COPY ); + Image copyIcon = ResourceImage::New( OPTION_ICON_COPY ); currentButton = CreateRequiredButton( ButtonsCopy, mCopyOptionPriority, OPTION_COPY, GET_LOCALE_TEXT("IDS_COM_BODY_COPY"), copyIcon, false ); break; } case ButtonsPaste: { - Image pasteIcon = Image::New( OPTION_ICON_PASTE ); + Image pasteIcon = ResourceImage::New( OPTION_ICON_PASTE ); currentButton = CreateRequiredButton( ButtonsPaste, mPasteOptionPriority, OPTION_PASTE, GET_LOCALE_TEXT("IDS_COM_BODY_PASTE"), pasteIcon, false ); break; } case ButtonsSelect: { - Image selectIcon = Image::New( OPTION_ICON_SELECT ); + Image selectIcon = ResourceImage::New( OPTION_ICON_SELECT ); currentButton = CreateRequiredButton( ButtonsSelect, mSelectOptionPriority, OPTION_SELECT_WORD, GET_LOCALE_TEXT("IDS_COM_SK_SELECT"), selectIcon, false ); break; } case ButtonsSelectAll: { - Image selectAllIcon = Image::New( OPTION_ICON_SELECT_ALL ); + Image selectAllIcon = ResourceImage::New( OPTION_ICON_SELECT_ALL ); currentButton = CreateRequiredButton( ButtonsSelectAll, mSelectAllOptionPriority, OPTION_SELECT_ALL, GET_LOCALE_TEXT("IDS_COM_BODY_SELECT_ALL"), selectAllIcon, false ); break; } case ButtonsClipboard: { - Image clipboardIcon = Image::New( OPTION_ICON_CLIPBOARD ); + Image clipboardIcon = ResourceImage::New( OPTION_ICON_CLIPBOARD ); currentButton = CreateRequiredButton( ButtonsClipboard, mClipboardOptionPriority, OPTION_CLIPBOARD, GET_LOCALE_TEXT("IDS_COM_BODY_CLIPBOARD"), clipboardIcon, false ); break; } @@ -854,9 +862,9 @@ void TextInputPopup::SetTailPosition( const Vector3& position, bool yAxisFlip ) if ( yAxisFlip ) { - Image tail = Image::New( POPUP_TAIL_TOP ); - Image tailEffect = Image::New( POPUP_TAIL_TOP_EFFECT ); - Image tailLine = Image::New( POPUP_TAIL_TOP_LINE ); + Image tail = ResourceImage::New( POPUP_TAIL_TOP ); + Image tailEffect = ResourceImage::New( POPUP_TAIL_TOP_EFFECT ); + Image tailLine = ResourceImage::New( POPUP_TAIL_TOP_LINE ); mTail.SetImage( tail ); mTailEffect.SetImage( tailEffect ); @@ -894,12 +902,12 @@ TextInputPopup::PressedSignalType& TextInputPopup::PressedSignal() return mPressedSignal; } -TextInputPopup::HideFinishedSignalType& TextInputPopup::HideFinishedSignal() +TextInputPopup::VisibilityChangeFinishedSignalType& TextInputPopup::HideFinishedSignal() { return mHideFinishedSignal; } -TextInputPopup::ShowFinishedSignalType& TextInputPopup::ShowFinishedSignal() +TextInputPopup::VisibilityChangeFinishedSignalType& TextInputPopup::ShowFinishedSignal() { return mShowFinishedSignal; } diff --git a/dali-toolkit/internal/controls/text-input/text-input-popup-impl.h b/dali-toolkit/internal/controls/text-input/text-input-popup-impl.h index c7f0fc2..2f9a91d 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-popup-impl.h +++ b/dali-toolkit/internal/controls/text-input/text-input-popup-impl.h @@ -79,19 +79,11 @@ public: static const char* const OPTION_PASTE; static const char* const OPTION_CLIPBOARD; - // Signal names - static const char* const SIGNAL_PRESSED; - static const char* const SIGNAL_HIDE_FINISHED; - static const char* const SIGNAL_SHOW_FINISHED; - // Popup Button Pressed typedef Signal< bool( Toolkit::Button ) > PressedSignalType; - // Popup Hide Finished - typedef Signal< void( TextInputPopup& ) > HideFinishedSignalType; - - // Popup Show Finished - typedef Signal< void( TextInputPopup& ) > ShowFinishedSignalType; + // Popup Hide / Show Finished + typedef Signal< void( TextInputPopup& ) > VisibilityChangeFinishedSignalType; /** * Signal emitted when the button is touched. @@ -102,13 +94,13 @@ public: * Signal emitted when popup is completely hidden * @note Only occurs after a Show() call with animation enabled. */ - HideFinishedSignalType& HideFinishedSignal(); + VisibilityChangeFinishedSignalType& HideFinishedSignal(); /** * Signal emitted when popup is completely shown * @note Only occurs after a Hide() call with animation enabled. */ - ShowFinishedSignalType& ShowFinishedSignal(); + VisibilityChangeFinishedSignalType& ShowFinishedSignal(); public: @@ -463,8 +455,8 @@ private: std::size_t mClipboardOptionPriority; // Position of Clipboard button PressedSignalType mPressedSignal; ///< Signal emitted when a button within the popup is pressed. - HideFinishedSignalType mHideFinishedSignal; ///< Signal emitted when popup is completely hidden - ShowFinishedSignalType mShowFinishedSignal; ///< Signal emitted when popup is completely shown + VisibilityChangeFinishedSignalType mHideFinishedSignal; ///< Signal emitted when popup is completely hidden + VisibilityChangeFinishedSignalType mShowFinishedSignal; ///< Signal emitted when popup is completely shown }; diff --git a/dali-toolkit/internal/controls/text-input/text-input-popup-new-impl.h b/dali-toolkit/internal/controls/text-input/text-input-popup-new-impl.h index 29c79ea..92f6bad 100644 --- a/dali-toolkit/internal/controls/text-input/text-input-popup-new-impl.h +++ b/dali-toolkit/internal/controls/text-input/text-input-popup-new-impl.h @@ -52,19 +52,11 @@ public: StateShown }; - // Signal names - static const char* const SIGNAL_PRESSED; - static const char* const SIGNAL_HIDE_FINISHED; - static const char* const SIGNAL_SHOW_FINISHED; - // Popup Button Pressed typedef Signal< bool( Toolkit::Button ) > PopUpPressedSignal; // Popup Hide Finished - typedef Signal< void( TextInputPopupNew& ) > PopUpHideFinishedSignal; - - // Popup Show Finished - typedef Signal< void( TextInputPopupNew& ) > PopUpShowFinishedSignal; + typedef Signal< void( TextInputPopupNew& ) > PopUpVisibilityChangeFinishedSignal; /** * Signal emitted when the button is touched. @@ -75,13 +67,13 @@ public: * Signal emitted when popup is completely hidden * @note Only occurs after a Show() call with animation enabled. */ - PopUpHideFinishedSignal& HideFinishedSignal() {return mHideFinishedSignal;} + PopUpVisibilityChangeFinishedSignal& HideFinishedSignal() { return mHideFinishedSignal; } /** * Signal emitted when popup is completely shown * @note Only occurs after a Hide() call with animation enabled. */ - PopUpShowFinishedSignal& ShowFinishedSignal() {return mShowFinishedSignal;} + PopUpVisibilityChangeFinishedSignal& ShowFinishedSignal() { return mShowFinishedSignal; } public: @@ -261,9 +253,9 @@ private: ActorContainer mDividerContainer; // List of dividers added to popup. Animation mAnimation; // Popup Hide/Show animation. - PopUpPressedSignal mPressedSignal; // Signal emitted when a button within the popup is pressed. - PopUpHideFinishedSignal mHideFinishedSignal; // Signal emitted when popup is completely hidden - PopUpShowFinishedSignal mShowFinishedSignal; // Signal emitted when popup is completely shown + PopUpPressedSignal mPressedSignal; // Signal emitted when a button within the popup is pressed. + PopUpVisibilityChangeFinishedSignal mHideFinishedSignal; // Signal emitted when popup is completely hidden + PopUpVisibilityChangeFinishedSignal mShowFinishedSignal; // Signal emitted when popup is completely shown }; diff --git a/dali-toolkit/internal/controls/text-view/text-view-impl.cpp b/dali-toolkit/internal/controls/text-view/text-view-impl.cpp index 01566d6..76d4539 100644 --- a/dali-toolkit/internal/controls/text-view/text-view-impl.cpp +++ b/dali-toolkit/internal/controls/text-view/text-view-impl.cpp @@ -55,6 +55,10 @@ namespace Internal namespace { +// Signals + +const char* const SIGNAL_TEXT_SCROLLED = "scrolled"; + const char* MULTILINE_POLICY_NAME[] = {"SplitByNewLineChar", "SplitByWord", "SplitByChar"}; const char* EXCEED_POLICY_NAME[] = {"Original", "Truncate", "Fade", "Split","ShrinkToFit","EllipsizeEnd"}; const char* LINE_JUSTIFICATION_NAME[] = {"Left","Center","Right","Justified"}; @@ -68,9 +72,9 @@ BaseHandle Create() return Toolkit::TextView::New(); } -TypeRegistration typeRegistration( typeid(Toolkit::TextView), typeid(Toolkit::Control), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::TextView ), typeid( Toolkit::Control ), Create ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::TextView::SIGNAL_TEXT_SCROLLED , &TextView::DoConnectSignal ); +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_TEXT_SCROLLED , &TextView::DoConnectSignal ); PropertyRegistration property1( typeRegistration, "markup-enabled", Toolkit::TextView::PROPERTY_MARKUP_ENABLED, Property::BOOLEAN, &TextView::SetProperty, &TextView::GetProperty ); PropertyRegistration property2( typeRegistration, "text", Toolkit::TextView::PROPERTY_TEXT, Property::STRING, &TextView::SetProperty, &TextView::GetProperty ); @@ -910,9 +914,9 @@ bool TextView::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* Dali::BaseHandle handle( object ); bool connected( true ); - Toolkit::TextView textView = Toolkit::TextView::DownCast(handle); + Toolkit::TextView textView = Toolkit::TextView::DownCast( handle ); - if( Dali::Toolkit::TextView::SIGNAL_TEXT_SCROLLED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_TEXT_SCROLLED ) ) { textView.ScrolledSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/controls/view/view-impl.cpp b/dali-toolkit/internal/controls/view/view-impl.cpp index 6c374c0..9e4eb86 100644 --- a/dali-toolkit/internal/controls/view/view-impl.cpp +++ b/dali-toolkit/internal/controls/view/view-impl.cpp @@ -37,14 +37,18 @@ namespace Internal namespace // to register type { +// Signals + +const char* const SIGNAL_ORIENTATION_ANIMATION_START = "orientation-animation-start"; + BaseHandle Create() { return Toolkit::View::New(); } -TypeRegistration typeRegistration( typeid(Toolkit::View), typeid(Toolkit::Control), Create ); +TypeRegistration typeRegistration( typeid( Toolkit::View ), typeid( Toolkit::Control ), Create ); -SignalConnectorType signalConnector1( typeRegistration, Toolkit::View::SIGNAL_ORIENTATION_ANIMATION_START , &View::DoConnectSignal ); +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_ORIENTATION_ANIMATION_START , &View::DoConnectSignal ); } @@ -251,7 +255,7 @@ bool View::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* trac bool connected( true ); Toolkit::View view = Toolkit::View::DownCast(handle); - if( Toolkit::View::SIGNAL_ORIENTATION_ANIMATION_START == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_ORIENTATION_ANIMATION_START ) ) { view.OrientationAnimationStartedSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/filters/blur-two-pass-filter.cpp b/dali-toolkit/internal/filters/blur-two-pass-filter.cpp index 5ab09a1..5dd5437 100644 --- a/dali-toolkit/internal/filters/blur-two-pass-filter.cpp +++ b/dali-toolkit/internal/filters/blur-two-pass-filter.cpp @@ -146,7 +146,7 @@ void BlurTwoPassFilter::Enable() mActorForInput.ScaleBy( Vector3(1.0f, -1.0f, 1.0f) ); // create internal offscreen for result of horizontal pass - mImageForHorz = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::Unused ); + mImageForHorz = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED ); // create an actor to render mImageForHorz for vertical blur pass mActorForHorz = ImageActor::New( mImageForHorz ); @@ -155,7 +155,7 @@ void BlurTwoPassFilter::Enable() mActorForHorz.ScaleBy( Vector3(1.0f, -1.0f, 1.0f) ); // create internal offscreen for result of the two pass blurred image - mBlurredImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::Unused ); + mBlurredImage = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED); // create an actor to blend the blurred image and the input image with the given blur strength mActorForBlending = ImageActor::New( mBlurredImage ); diff --git a/dali-toolkit/internal/filters/emboss-filter.cpp b/dali-toolkit/internal/filters/emboss-filter.cpp index dee4a2e..8f444ac 100644 --- a/dali-toolkit/internal/filters/emboss-filter.cpp +++ b/dali-toolkit/internal/filters/emboss-filter.cpp @@ -125,8 +125,8 @@ void EmbossFilter::Enable() mCameraActor = CameraActor::New(); mCameraActor.SetParentOrigin(ParentOrigin::CENTER); - mImageForEmboss1 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::Unused ); - mImageForEmboss2 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::Unused ); + mImageForEmboss1 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED ); + mImageForEmboss2 = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED ); // create actor to render input with applied emboss effect mActorForInput1 = ImageActor::New( mInputImage ); diff --git a/dali-toolkit/internal/filters/spread-filter.cpp b/dali-toolkit/internal/filters/spread-filter.cpp index 3d911b9..3f3eaa6 100644 --- a/dali-toolkit/internal/filters/spread-filter.cpp +++ b/dali-toolkit/internal/filters/spread-filter.cpp @@ -100,7 +100,7 @@ void SpreadFilter::Enable() mActorForInput.ScaleBy( Vector3(1.0f, -1.0f, 1.0f) ); // create internal offscreen for result of horizontal pass - mImageForHorz = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::Unused ); + mImageForHorz = FrameBufferImage::New( mTargetSize.width, mTargetSize.height, mPixelFormat, Image::UNUSED ); // create an actor to render mImageForHorz for vertical blur pass mActorForHorz = ImageActor::New( mImageForHorz ); diff --git a/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp index 986c475..4173e59 100644 --- a/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/focus-manager-impl.cpp @@ -25,6 +25,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -43,12 +44,18 @@ namespace Internal namespace // unnamed namespace { +// Signals + +const char* const SIGNAL_FOCUS_CHANGED = "focus-changed"; +const char* const SIGNAL_FOCUS_OVERSHOT = "focus-overshot"; +const char* const SIGNAL_FOCUSED_ACTOR_ACTIVATED = "focused-actor-activated"; + #if defined(DEBUG_ENABLED) Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_FOCUS_MANAGER"); #endif -const char * const ACTOR_FOCUSABLE("focusable"); -const char * const IS_FOCUS_GROUP("is-focus-group"); +const char* const ACTOR_FOCUSABLE("focusable"); +const char* const IS_FOCUS_GROUP("is-focus-group"); const char* FOCUS_BORDER_IMAGE_PATH = DALI_IMAGE_DIR "B16-8_TTS_focus.png"; const Vector4 FOCUS_BORDER_IMAGE_BORDER = Vector4(7.0f, 7.0f, 7.0f, 7.0f); @@ -658,7 +665,7 @@ void FocusManager::SetFocusable(Actor actor, bool focusable) void FocusManager::CreateDefaultFocusIndicatorActor() { // Create a focus indicator actor shared by all the focusable actors - Image borderImage = Image::New(FOCUS_BORDER_IMAGE_PATH); + Image borderImage = ResourceImage::New(FOCUS_BORDER_IMAGE_PATH); ImageActor focusIndicator = ImageActor::New(borderImage); focusIndicator.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION_PLUS_LOCAL_POSITION ); @@ -667,10 +674,7 @@ void FocusManager::CreateDefaultFocusIndicatorActor() focusIndicator.SetPosition(Vector3(0.0f, 0.0f, 1.0f)); // Apply size constraint to the focus indicator - Constraint constraint = Constraint::New(Actor::SIZE, - ParentSource(Actor::SIZE), - EqualToConstraint()); - focusIndicator.ApplyConstraint(constraint); + focusIndicator.SetSizeMode( SIZE_EQUAL_TO_PARENT ); SetFocusIndicatorActor(focusIndicator); } @@ -971,17 +975,17 @@ bool FocusManager::DoConnectSignal( BaseObject* object, ConnectionTrackerInterfa Dali::BaseHandle handle( object ); bool connected( true ); - FocusManager* manager = dynamic_cast(object); + FocusManager* manager = dynamic_cast( object ); - if( Dali::Toolkit::FocusManager::SIGNAL_FOCUS_CHANGED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_CHANGED ) ) { manager->FocusChangedSignal().Connect( tracker, functor ); } - else if( Dali::Toolkit::FocusManager::SIGNAL_FOCUS_OVERSHOT == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_OVERSHOT ) ) { manager->FocusOvershotSignal().Connect( tracker, functor ); } - else if( Dali::Toolkit::FocusManager::SIGNAL_FOCUSED_ACTOR_ACTIVATED== signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUSED_ACTOR_ACTIVATED ) ) { manager->FocusedActorActivatedSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp index 93e5feb..05208e3 100644 --- a/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyboard-focus-manager-impl.cpp @@ -26,6 +26,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -46,6 +47,13 @@ namespace Internal namespace // unnamed namespace { +// Signals + +const char* const SIGNAL_PRE_FOCUS_CHANGE = "keyboard-pre-focus-change"; +const char* const SIGNAL_FOCUS_CHANGED = "keyboard-focus-changed"; +const char* const SIGNAL_FOCUS_GROUP_CHANGED = "keyboard-focus-group-changed"; +const char* const SIGNAL_FOCUSED_ACTOR_ACTIVATED = "keyboard-focused-actor-activated"; + #if defined(DEBUG_ENABLED) Debug::Filter* gLogFilter = Debug::Filter::New(Debug::NoLogging, false, "LOG_KEYBOARD_FOCUS_MANAGER"); #endif @@ -72,8 +80,14 @@ BaseHandle Create() return handle; } + TypeRegistration KEYBOARD_FOCUS_MANAGER_TYPE( typeid(Dali::Toolkit::KeyboardFocusManager), typeid(Dali::BaseHandle), Create, true /* Create instance at startup */ ); +SignalConnectorType signalConnector1( KEYBOARD_FOCUS_MANAGER_TYPE, SIGNAL_PRE_FOCUS_CHANGE , &KeyboardFocusManager::DoConnectSignal ); +SignalConnectorType signalConnector2( KEYBOARD_FOCUS_MANAGER_TYPE, SIGNAL_FOCUS_CHANGED , &KeyboardFocusManager::DoConnectSignal ); +SignalConnectorType signalConnector3( KEYBOARD_FOCUS_MANAGER_TYPE, SIGNAL_FOCUS_GROUP_CHANGED , &KeyboardFocusManager::DoConnectSignal ); +SignalConnectorType signalConnector4( KEYBOARD_FOCUS_MANAGER_TYPE, SIGNAL_FOCUSED_ACTOR_ACTIVATED , &KeyboardFocusManager::DoConnectSignal ); + } // unnamed namespace Toolkit::KeyboardFocusManager KeyboardFocusManager::Get() @@ -458,7 +472,7 @@ Actor KeyboardFocusManager::GetFocusIndicatorActor() void KeyboardFocusManager::CreateDefaultFocusIndicatorActor() { // Create a focus indicator actor shared by all the keyboard focusable actors - Image borderImage = Image::New(FOCUS_BORDER_IMAGE_PATH); + Image borderImage = ResourceImage::New(FOCUS_BORDER_IMAGE_PATH); ImageActor focusIndicator = ImageActor::New(borderImage); focusIndicator.SetPositionInheritanceMode( Dali::USE_PARENT_POSITION_PLUS_LOCAL_POSITION ); @@ -467,10 +481,7 @@ void KeyboardFocusManager::CreateDefaultFocusIndicatorActor() focusIndicator.SetPosition(Vector3(0.0f, 0.0f, 1.0f)); // Apply size constraint to the focus indicator - Constraint constraint = Constraint::New(Actor::SIZE, - ParentSource(Actor::SIZE), - EqualToConstraint()); - focusIndicator.ApplyConstraint(constraint); + focusIndicator.SetSizeMode( SIZE_EQUAL_TO_PARENT ); SetFocusIndicatorActor(focusIndicator); } @@ -720,21 +731,21 @@ bool KeyboardFocusManager::DoConnectSignal( BaseObject* object, ConnectionTracke Dali::BaseHandle handle( object ); bool connected( true ); - KeyboardFocusManager* manager = dynamic_cast(object); + KeyboardFocusManager* manager = dynamic_cast( object ); - if( Dali::Toolkit::KeyboardFocusManager::SIGNAL_PRE_FOCUS_CHANGE == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_PRE_FOCUS_CHANGE ) ) { manager->PreFocusChangeSignal().Connect( tracker, functor ); } - if( Dali::Toolkit::KeyboardFocusManager::SIGNAL_FOCUS_CHANGED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_CHANGED ) ) { manager->FocusChangedSignal().Connect( tracker, functor ); } - if( Dali::Toolkit::KeyboardFocusManager::SIGNAL_FOCUS_GROUP_CHANGED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUS_GROUP_CHANGED ) ) { manager->FocusGroupChangedSignal().Connect( tracker, functor ); } - else if( Dali::Toolkit::KeyboardFocusManager::SIGNAL_FOCUSED_ACTOR_ACTIVATED== signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_FOCUSED_ACTOR_ACTIVATED ) ) { manager->FocusedActorActivatedSignal().Connect( tracker, functor ); } diff --git a/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp b/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp index dc8cefa..5d7d4be 100644 --- a/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp +++ b/dali-toolkit/internal/focus-manager/keyinput-focus-manager-impl.cpp @@ -35,6 +35,16 @@ namespace Toolkit namespace Internal { +namespace +{ + +// Signals + +const char* const SIGNAL_KEY_INPUT_FOCUS_CHANGED = "key-input-focus-changed"; +const char* const SIGNAL_UNHANDLED_KEY_EVENT = "unhandled-key-event"; + +} + KeyInputFocusManager::KeyInputFocusManager() : mSlotDelegate( this ) { @@ -220,12 +230,16 @@ bool KeyInputFocusManager::DoConnectSignal( BaseObject* object, ConnectionTracke Dali::BaseHandle handle( object ); bool connected( true ); - KeyInputFocusManager* manager = dynamic_cast(object); + KeyInputFocusManager* manager = dynamic_cast( object ); - if( Dali::Toolkit::KeyInputFocusManager::SIGNAL_KEY_INPUT_FOCUS_CHANGED == signalName ) + if( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_INPUT_FOCUS_CHANGED ) ) { manager->KeyInputFocusChangedSignal().Connect( tracker, functor ); } + else if( 0 == strcmp( signalName.c_str(), SIGNAL_UNHANDLED_KEY_EVENT ) ) + { + manager->UnhandledKeyEventSignal().Connect( tracker, functor ); + } else { // signalName does not match any signal diff --git a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp index 42c121d..1d35050 100644 --- a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp +++ b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.cpp @@ -21,6 +21,7 @@ // EXTERNAL INCLUDES #include #include +#include #include namespace Dali @@ -32,6 +33,19 @@ namespace Toolkit namespace Internal { +namespace +{ + +// Signals + +const char* const SIGNAL_TRANSITION_COMPLETED = "transition-completed"; + +TypeRegistration typeRegistration( typeid( Toolkit::CubeTransitionEffect ), typeid( Dali::BaseHandle ), NULL ); + +SignalConnectorType signalConnector1( typeRegistration, SIGNAL_TRANSITION_COMPLETED , &CubeTransitionEffect::DoConnectSignal ); + +} + const Vector4 CubeTransitionEffect::FULL_BRIGHTNESS( 1.0f, 1.0f, 1.0f, 1.0f ); const Vector4 CubeTransitionEffect::HALF_BRIGHTNESS( 0.5f, 0.5f, 0.5f, 1.0f ); @@ -179,19 +193,21 @@ void CubeTransitionEffect::SetTargetImage( ImageActor imageActor ) void CubeTransitionEffect::SetImage( ImageActor imageActor ) { mCurrentImage = imageActor; - mIsImageLoading = true; Image image = imageActor.GetImage(); + ResourceImage resourceImage = ResourceImage::DownCast( image ); mBufferIndex = mBufferIndex^1; //must make sure the image is already loaded before using its attributes - if( image.GetLoadingState() == ResourceLoadingSucceeded ) + if( resourceImage && resourceImage.GetLoadingState() != ResourceLoadingSucceeded ) { - OnImageLoaded( image ); + mIsImageLoading = true; + resourceImage.LoadingFinishedSignal().Connect( this, &CubeTransitionEffect::OnImageLoaded ); } else { - image.LoadingFinishedSignal().Connect( this, &CubeTransitionEffect::OnImageLoaded ); + mIsImageLoading = false; + PrepareTiles( image ); } } @@ -299,12 +315,21 @@ void CubeTransitionEffect::StopTransition() } } -void CubeTransitionEffect::OnImageLoaded(Image image) +void CubeTransitionEffect::OnImageLoaded(ResourceImage image) +{ + mIsImageLoading = false; + PrepareTiles( image ); +} + +/** + * Set sub-image to each tile. + * @param[in] image The image content of the imageActor for transition + */ +void CubeTransitionEffect::PrepareTiles( Image image ) { // Fit the image to view area, while keeping the aspect; FitKeepAspectRatio(imageSize, viewAreaSize) - ImageAttributes attributes( image.GetAttributes() ); - float scale = std::min( mViewAreaSize.width / attributes.GetWidth(), mViewAreaSize.height / attributes.GetHeight() ); - Vector2 imageSize(attributes.GetWidth()*scale, attributes.GetHeight()*scale); + float scale = std::min( mViewAreaSize.width / image.GetWidth(), mViewAreaSize.height / image.GetHeight() ); + Vector2 imageSize(image.GetWidth()*scale, image.GetHeight()*scale); mFullImageCreator.SetEffectImage(image); mFullImageCreator.SetRegionSize(mViewAreaSize, imageSize); @@ -325,9 +350,9 @@ void CubeTransitionEffect::OnImageLoaded(Image image) mTiles[mContainerIndex][idx].SetPixelArea( pixelArea ); } } - mIsImageLoading = false; } + void CubeTransitionEffect::OnTransitionFinished(Animation& source) { mRoot.SetVisible(false); @@ -345,6 +370,26 @@ Toolkit::CubeTransitionEffect::TransitionCompletedSignalType& CubeTransitionEffe return mTransitionCompletedSignal; } +bool CubeTransitionEffect::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ) +{ + Dali::BaseHandle handle( object ); + + bool connected( true ); + Toolkit::CubeTransitionEffect cubeTransitionEffect = Toolkit::CubeTransitionEffect::DownCast( handle ); + + if( 0 == strcmp( signalName.c_str(), SIGNAL_TRANSITION_COMPLETED ) ) + { + cubeTransitionEffect.TransitionCompletedSignal().Connect( tracker, functor ); + } + else + { + // signalName does not match any signal + connected = false; + } + + return connected; +} + } // namespace Internal } // namespace Toolkit diff --git a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.h b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.h index 8e7b983..57fd205 100644 --- a/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.h +++ b/dali-toolkit/internal/transition-effects/cube-transition-effect-impl.h @@ -25,6 +25,7 @@ #include #include #include +#include // INTERNAL INCLUDES #include @@ -209,6 +210,17 @@ public: //Signal */ Toolkit::CubeTransitionEffect::TransitionCompletedSignalType& TransitionCompletedSignal(); + /** + * Connects a callback function with the object's signals. + * @param[in] object The object providing the signal. + * @param[in] tracker Used to disconnect the signal. + * @param[in] signalName The signal to connect to. + * @param[in] functor A newly allocated FunctorDelegate. + * @return True if the signal was connected. + * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor. + */ + static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor ); + protected: /** @@ -249,7 +261,13 @@ private: * Set image and pixelArea to tiles * @param[in] image The image content of the imageActor for transition */ - void OnImageLoaded(Image image); + void OnImageLoaded(ResourceImage image); + + /** + * Set sub-image to each tile. + * @param[in] image The image content of the imageActor for transition + */ + void PrepareTiles( Image image ); /** * Callback function of transition animation finished diff --git a/dali-toolkit/public-api/controls/buttons/button.cpp b/dali-toolkit/public-api/controls/buttons/button.cpp index 89aefc5..ab953bf 100644 --- a/dali-toolkit/public-api/controls/buttons/button.cpp +++ b/dali-toolkit/public-api/controls/buttons/button.cpp @@ -29,9 +29,6 @@ namespace Dali namespace Toolkit { -const char* const Button::SIGNAL_CLICKED = "clicked"; -const char* const Button::SIGNAL_STATE_CHANGED = "state-changed"; - Button::Button() {} @@ -68,6 +65,56 @@ bool Button::IsDisabled() const return Dali::Toolkit::GetImplementation( *this ).IsDisabled(); } +void Button::SetAutoRepeating( bool autoRepeating ) +{ + Dali::Toolkit::GetImplementation( *this ).SetAutoRepeating( autoRepeating ); +} + +bool Button::IsAutoRepeating() const +{ + return Dali::Toolkit::GetImplementation( *this ).IsAutoRepeating(); +} + +void Button::SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ) +{ + Dali::Toolkit::GetImplementation( *this ).SetInitialAutoRepeatingDelay( initialAutoRepeatingDelay ); +} + +float Button::GetInitialAutoRepeatingDelay() const +{ + return Dali::Toolkit::GetImplementation( *this ).GetInitialAutoRepeatingDelay(); +} + +void Button::SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ) +{ + Dali::Toolkit::GetImplementation( *this ).SetNextAutoRepeatingDelay( nextAutoRepeatingDelay ); +} + +float Button::GetNextAutoRepeatingDelay() const +{ + return Dali::Toolkit::GetImplementation( *this ).GetNextAutoRepeatingDelay(); +} + +void Button::SetTogglableButton( bool togglable ) +{ + Dali::Toolkit::GetImplementation( *this ).SetTogglableButton( togglable ); +} + +bool Button::IsTogglableButton() const +{ + return Dali::Toolkit::GetImplementation( *this ).IsTogglableButton(); +} + +void Button::SetSelected( bool selected ) +{ + Dali::Toolkit::GetImplementation( *this ).SetSelected( selected ); +} + +bool Button::IsSelected() const +{ + return Dali::Toolkit::GetImplementation( *this ).IsSelected(); +} + void Button::SetAnimationTime( float animationTime ) { Dali::Toolkit::GetImplementation( *this ).SetAnimationTime( animationTime ); @@ -78,12 +125,37 @@ float Button::GetAnimationTime() const return Dali::Toolkit::GetImplementation( *this ).GetAnimationTime(); } -Button::ClickedSignalType& Button::ClickedSignal() +void Button::SetLabel( const std::string& label ) +{ + Dali::Toolkit::GetImplementation( *this ).SetLabel( label ); +} + +void Button::SetLabel( Actor label ) +{ + Dali::Toolkit::GetImplementation( *this ).SetLabel( label ); +} + +Actor Button::GetLabel() const +{ + return Dali::Toolkit::GetImplementation( *this ).GetLabel(); +} + +Button::ButtonSignalType& Button::PressedSignal() +{ + return Dali::Toolkit::GetImplementation( *this ).PressedSignal(); +} + +Button::ButtonSignalType& Button::ReleasedSignal() +{ + return Dali::Toolkit::GetImplementation( *this ).ReleasedSignal(); +} + +Button::ButtonSignalType& Button::ClickedSignal() { return Dali::Toolkit::GetImplementation( *this ).ClickedSignal(); } -Button::StateChangedSignalType& Button::StateChangedSignal() +Button::ButtonSignalType& Button::StateChangedSignal() { return Dali::Toolkit::GetImplementation( *this ).StateChangedSignal(); } diff --git a/dali-toolkit/public-api/controls/buttons/button.h b/dali-toolkit/public-api/controls/buttons/button.h index e693a11..0a2780a 100644 --- a/dali-toolkit/public-api/controls/buttons/button.h +++ b/dali-toolkit/public-api/controls/buttons/button.h @@ -41,23 +41,32 @@ class Button; * point doesn't leave the boundary of the button. * * When the \e disabled property is set to \e true, no signal is emitted. + * + * Signals + * | %Signal Name | Method | + * |-------------------|-----------------------------| + * | pressed | @ref PressedSignal() | + * | released | @ref ReleasedSignal() | + * | clicked | @ref ClickedSignal() | + * | state-changed | @ref StateChangedSignal() | + * + * Actions + * | %Action Name | %Button method called | + * |-------------------|-----------------------------| + * | button-click | %DoClickAction() | */ class DALI_IMPORT_API Button : public Control { public: - // Signal Names - static const char* const SIGNAL_CLICKED; ///< name "clicked" - static const char* const SIGNAL_STATE_CHANGED; ///< name "state-changed" - // Properties static const Property::Index PROPERTY_DISABLED; ///< name "disabled", @see SetDisabled(), type BOOLEAN static const Property::Index PROPERTY_AUTO_REPEATING; ///< name "auto-repeating", @see SetAutoRepeating(), type BOOLEAN static const Property::Index PROPERTY_INITIAL_AUTO_REPEATING_DELAY; ///< name "initial-auto-repeating-delay", @see SetInitialAutoRepeatingDelay(), type FLOAT static const Property::Index PROPERTY_NEXT_AUTO_REPEATING_DELAY; ///< name "next-auto-repeating-delay", @see SetNextAutoRepeatingDelay(), type FLOAT - static const Property::Index PROPERTY_TOGGLABLE; ///< name "togglable", @see SetToggleButton(), type BOOLEAN - static const Property::Index PROPERTY_TOGGLED; ///< name "toggled", @see SetToggled(), type BOOLEAN - static const Property::Index PROPERTY_NORMAL_STATE_ACTOR; ///< name "button-state-actor", @see SetButtonImage(), type MAP + static const Property::Index PROPERTY_TOGGLABLE; ///< name "togglable", @see SetTogglableButton(), type BOOLEAN + static const Property::Index PROPERTY_SELECTED; ///< name "selected", @see SetSelected(), type BOOLEAN + static const Property::Index PROPERTY_NORMAL_STATE_ACTOR; ///< name "normal-state-actor", @see SetButtonImage(), type MAP static const Property::Index PROPERTY_SELECTED_STATE_ACTOR; ///< name "selected-state-actor", @see SetSelectedImage(), type MAP static const Property::Index PROPERTY_DISABLED_STATE_ACTOR; ///< name "disabled-state-actor", @see SetDisabledImage(), type MAP static const Property::Index PROPERTY_LABEL_ACTOR; ///< name "label-actor", @see SetLabel(), type MAP @@ -115,6 +124,81 @@ public: bool IsDisabled() const; /** + * @brief Sets the \e autorepeating property. + * + * If the \e autorepeating property is set to \e true, then the \e togglable property is set to false + * but no signal is emitted. + * + * @param[in] autoRepeating \e autorepeating property. + */ + void SetAutoRepeating( bool autoRepeating ); + + /** + * @return \e true if the \e autorepeating property is set. + */ + bool IsAutoRepeating() const; + + /** + * @brief Sets the initial autorepeating delay. + * + * By default this value is set to 0.15 seconds. + * + * @pre initialAutoRepeatingDelay must be greater than zero. + * @param[in] initialAutoRepeatingDelay in seconds. + */ + void SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ); + + /** + * @return the initial autorepeating delay in seconds. + */ + float GetInitialAutoRepeatingDelay() const; + + /** + * @brief Sets the next autorepeating delay. + * + * By default this value is set to 0.05 seconds. + * + * @pre nextAutoRepeatingDelay must be greater than zero. + * @param[in] nextAutoRepeatingDelay in seconds. + */ + void SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ); + + /** + * @return the next autorepeating delay in seconds. + */ + float GetNextAutoRepeatingDelay() const; + + /** + * @brief Sets the \e togglable property. + * + * If the \e togglable property is set to \e true, then the \e autorepeating property is set to false. + * + * @param[in] togglable property. + */ + void SetTogglableButton( bool togglable ); + + /** + * @return \e true if the \e togglable property is set. + */ + bool IsTogglableButton() const; + + /** + * Sets the button as selected or unselected. + * + * \e togglable property must be set to \e true. + * + * Emits a Button::StateChangedSignal() signal. + * + * @param[in] selected property. + */ + void SetSelected( bool selected ); + + /** + * @return \e true if the \e selected property is set and the button is togglable. + */ + bool IsSelected() const; + + /** * @brief Sets the animation time. * * @param [in] animationTime The animation time in seconds. @@ -128,27 +212,76 @@ public: */ float GetAnimationTime() const; + /** + * @brief Sets the button label. + * + * @param[in] label The button label. + */ + void SetLabel( const std::string& label ); + + /** + * @copydoc SetLabel( const std::string& label ) + */ + void SetLabel( Actor label ); + + /** + * @brief Gets the label. + * + * @return An actor with the label. + */ + Actor GetLabel() const; + public: //Signals /** - * @brief Button Clicked signal type + * @brief Button signal type */ - typedef Signal< bool ( Button ) > ClickedSignalType; + typedef Signal< bool ( Button ) > ButtonSignalType; /** - * @brief Button state changed signal type + * @brief This signal is emitted when the button is touched. + * + * A callback of the following type may be connected: + * @code + * bool YourCallbackName( Button button ); + * @endcode + * @return The signal to connect to. */ - typedef Signal< bool ( Button, bool ) > StateChangedSignalType; + ButtonSignalType& PressedSignal(); /** - * @brief Signal emitted when the button is touched and the touch point doesn't leave the boundary of the button. + * @brief This signal is emitted when the button is touched and the touch point leaves the boundary of the button. + * + * A callback of the following type may be connected: + * @code + * bool YourCallbackName( Button button ); + * @endcode + * @return The signal to connect to. */ - ClickedSignalType& ClickedSignal(); + ButtonSignalType& ReleasedSignal(); /** - * @brief Signal emitted when the button's state is changed. + * @brief This signal is emitted when the button is touched and the touch point doesn't leave the boundary of the button. + * + * A callback of the following type may be connected: + * @code + * bool YourCallbackName( Button button ); + * @endcode + * @return The signal to connect to. + */ + ButtonSignalType& ClickedSignal(); + + /** + * @brief This signal is emitted when the button's state is changed. + * The application can get the state by calling IsSelected(). + * + * A callback of the following type may be connected: + * @code + * bool YourCallbackName( Button button ); + * @endcode + * @return The signal to connect to. */ - StateChangedSignalType& StateChangedSignal(); + ButtonSignalType& StateChangedSignal(); public: // Not intended for application developers diff --git a/dali-toolkit/public-api/controls/buttons/check-box-button.cpp b/dali-toolkit/public-api/controls/buttons/check-box-button.cpp index e6b2a5e..b288451 100644 --- a/dali-toolkit/public-api/controls/buttons/check-box-button.cpp +++ b/dali-toolkit/public-api/controls/buttons/check-box-button.cpp @@ -29,8 +29,6 @@ namespace Dali namespace Toolkit { -const char* const CheckBoxButton::ACTION_CHECK_BOX_BUTTON_CLICK = "check-box-button-click"; - CheckBoxButton::CheckBoxButton() : Button() { @@ -64,16 +62,6 @@ CheckBoxButton CheckBoxButton::DownCast( BaseHandle handle ) return Control::DownCast(handle); } -void CheckBoxButton::SetChecked( bool checked ) -{ - Dali::Toolkit::GetImplementation( *this ).SetChecked( checked ); -} - -bool CheckBoxButton::IsChecked() const -{ - return Dali::Toolkit::GetImplementation( *this ).IsChecked(); -} - void CheckBoxButton::SetBackgroundImage( Image image ) { Dali::Toolkit::GetImplementation( *this ).SetBackgroundImage( image ); @@ -89,20 +77,20 @@ Actor CheckBoxButton::GetBackgroundImage() const return Dali::Toolkit::GetImplementation( *this ).GetBackgroundImage(); } -void CheckBoxButton::SetCheckedImage( Image image ) +void CheckBoxButton::SetSelectedImage( Image image ) { - Dali::Toolkit::GetImplementation( *this ).SetCheckedImage( image ); + Dali::Toolkit::GetImplementation( *this ).SetSelectedImage( image ); } -void CheckBoxButton::SetCheckedImage( Actor image ) +void CheckBoxButton::SetSelectedImage( Actor image ) { - Dali::Toolkit::GetImplementation( *this ).SetCheckedImage( image ); + Dali::Toolkit::GetImplementation( *this ).SetSelectedImage( image ); } -Actor CheckBoxButton::GetCheckedImage() const +Actor CheckBoxButton::GetSelectedImage() const { - return Dali::Toolkit::GetImplementation( *this ).GetCheckedImage(); + return Dali::Toolkit::GetImplementation( *this ).GetSelectedImage(); } void CheckBoxButton::SetDisabledBackgroundImage( Image image ) @@ -120,19 +108,19 @@ Actor CheckBoxButton::GetDisabledBackgroundImage() const return Dali::Toolkit::GetImplementation( *this ).GetDisabledBackgroundImage(); } -void CheckBoxButton::SetDisabledCheckedImage( Image image ) +void CheckBoxButton::SetDisabledSelectedImage( Image image ) { - Dali::Toolkit::GetImplementation( *this ).SetDisabledCheckedImage( image ); + Dali::Toolkit::GetImplementation( *this ).SetDisabledSelectedImage( image ); } -void CheckBoxButton::SetDisabledCheckedImage( Actor image ) +void CheckBoxButton::SetDisabledSelectedImage( Actor image ) { - Dali::Toolkit::GetImplementation( *this ).SetDisabledCheckedImage( image ); + Dali::Toolkit::GetImplementation( *this ).SetDisabledSelectedImage( image ); } -Actor CheckBoxButton::GetDisabledCheckedImage() const +Actor CheckBoxButton::GetDisabledSelectedImage() const { - return Dali::Toolkit::GetImplementation( *this ).GetDisabledCheckedImage(); + return Dali::Toolkit::GetImplementation( *this ).GetDisabledSelectedImage(); } CheckBoxButton::CheckBoxButton( Internal::CheckBoxButton& implementation ) diff --git a/dali-toolkit/public-api/controls/buttons/check-box-button.h b/dali-toolkit/public-api/controls/buttons/check-box-button.h index e321ce4..2e905d6 100644 --- a/dali-toolkit/public-api/controls/buttons/check-box-button.h +++ b/dali-toolkit/public-api/controls/buttons/check-box-button.h @@ -37,15 +37,15 @@ class CheckBoxButton; /** * CheckBoxButton provides a check box button which user can check or uncheck. * - * By default a CheckBoxButton emits a Button::ClickedSignal() signal when the button changes its state to checked or unchecked. + * By default a CheckBoxButton emits a Button::ClickedSignal() signal when the button changes its state to selected or unselected. * * The button's appearance could be modified by setting images or actors with CheckBoxButton::SetBackgroundImage, - * CheckBoxButton::SetCheckedImage, CheckBoxButton::SetDisabledBackgroundImage and CheckBoxButton::SetDisabledCheckedImage. + * CheckBoxButton::SetSelectedImage, CheckBoxButton::SetDisabledBackgroundImage and CheckBoxButton::SetDisabledSelectedImage. * - * When the button is not disabled, if it's not checked it only shows the \e background image. The \e checked image is shown over the - * \e background image when the box is checked (\e background image is not replaced by \e checked image). + * When the button is not disabled, if it's not selected it only shows the \e background image. The \e selected image is shown over the + * \e background image when the box is selected (\e background image is not replaced by \e selected image). * - * When the button is disabled, \e background image and \e checked image are replaced by \e disabled images. + * When the button is disabled, \e background image and \e selected image are replaced by \e disabled images. * * CheckBoxButton doesn't have a text. However, a Dali::Toolkit::TableView with a Dali::TextActor or a Dali::Toolkit::TextView * and a CheckBoxButton could be used instead. @@ -53,10 +53,6 @@ class CheckBoxButton; class DALI_IMPORT_API CheckBoxButton : public Button { public: - //Action Names - static const char* const ACTION_CHECK_BOX_BUTTON_CLICK; - -public: /** * Create an uninitialized CheckBoxButton; this can be initialized with CheckBoxButton::New() @@ -96,21 +92,6 @@ public: static CheckBoxButton DownCast( BaseHandle handle ); /** - * Sets the button as checked or unchecked. - * - * Emits a Button::ClickedSignal() signal if the checkbox is not disabled and the new state, - * given in the \e checked param, is different than the previous one. - * - * @param[in] checked state. - */ - void SetChecked( bool checked ); - - /** - * @return \e true if the button is checked. - */ - bool IsChecked() const; - - /** * Sets the background image. * * @param[in] image The background image. @@ -129,22 +110,22 @@ public: Actor GetBackgroundImage() const; /** - * Sets the checked image. + * Sets the selected image. * - * @param[in] image The checked image. + * @param[in] image The selected image. */ - void SetCheckedImage( Image image ); + void SetSelectedImage( Image image ); /** - * @copydoc SetCheckedImage( Image image ) + * @copydoc SetSelectedImage( Image image ) */ - void SetCheckedImage( Actor image ); + void SetSelectedImage( Actor image ); /** - * Gets the checked image. - * @return An actor with the checked image. + * Gets the selected image. + * @return An actor with the selected image. */ - Actor GetCheckedImage() const; + Actor GetSelectedImage() const; /** * Sets the disabled background image. @@ -165,22 +146,22 @@ public: Actor GetDisabledBackgroundImage() const; /** - * Sets the disabled checked image. + * Sets the disabled selected image. * - * @param[in] image The disabled checked image. + * @param[in] image The disabled selected image. */ - void SetDisabledCheckedImage( Image image ); + void SetDisabledSelectedImage( Image image ); /** - * @copydoc SetDisabledCheckedImage( Image image ) + * @copydoc SetDisabledSelectedImage( Image image ) */ - void SetDisabledCheckedImage( Actor image ); + void SetDisabledSelectedImage( Actor image ); /** - * Gets the disabled checked image. - * @return An actor with the disabled checked image. + * Gets the disabled selected image. + * @return An actor with the disabled selected image. */ - Actor GetDisabledCheckedImage() const; + Actor GetDisabledSelectedImage() const; public: // Not intended for application developers diff --git a/dali-toolkit/public-api/controls/buttons/push-button.cpp b/dali-toolkit/public-api/controls/buttons/push-button.cpp index 7133c03..b3d4dd2 100644 --- a/dali-toolkit/public-api/controls/buttons/push-button.cpp +++ b/dali-toolkit/public-api/controls/buttons/push-button.cpp @@ -29,11 +29,6 @@ namespace Dali namespace Toolkit { -const char* const PushButton::SIGNAL_PRESSED = "pressed"; -const char* const PushButton::SIGNAL_RELEASED = "released"; - -const char* const PushButton::ACTION_PUSH_BUTTON_CLICK = "push-button-click"; - PushButton::PushButton() : Button() { @@ -78,56 +73,6 @@ PushButton PushButton::DownCast( BaseHandle handle ) return Control::DownCast(handle); } -void PushButton::SetAutoRepeating( bool autoRepeating ) -{ - Dali::Toolkit::GetImplementation( *this ).SetAutoRepeating( autoRepeating ); -} - -bool PushButton::IsAutoRepeating() const -{ - return Dali::Toolkit::GetImplementation( *this ).IsAutoRepeating(); -} - -void PushButton::SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ) -{ - Dali::Toolkit::GetImplementation( *this ).SetInitialAutoRepeatingDelay( initialAutoRepeatingDelay ); -} - -float PushButton::GetInitialAutoRepeatingDelay() const -{ - return Dali::Toolkit::GetImplementation( *this ).GetInitialAutoRepeatingDelay(); -} - -void PushButton::SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ) -{ - Dali::Toolkit::GetImplementation( *this ).SetNextAutoRepeatingDelay( nextAutoRepeatingDelay ); -} - -float PushButton::GetNextAutoRepeatingDelay() const -{ - return Dali::Toolkit::GetImplementation( *this ).GetNextAutoRepeatingDelay(); -} - -void PushButton::SetToggleButton( bool toggle ) -{ - Dali::Toolkit::GetImplementation( *this ).SetToggleButton( toggle ); -} - -bool PushButton::IsToggleButton() const -{ - return Dali::Toolkit::GetImplementation( *this ).IsToggleButton(); -} - -void PushButton::SetToggled( bool toggle ) -{ - Dali::Toolkit::GetImplementation( *this ).SetToggled( toggle ); -} - -bool PushButton::IsToggled() const -{ - return Dali::Toolkit::GetImplementation( *this ).IsToggled(); -} - void PushButton::SetButtonImage( Image image ) { Dali::Toolkit::GetImplementation( *this ).SetButtonImage( image ); @@ -203,31 +148,6 @@ Actor PushButton::GetDisabledImage() const return Dali::Toolkit::GetImplementation( *this ).GetDisabledImage(); } -void PushButton::SetLabel( const std::string& label ) -{ - Dali::Toolkit::GetImplementation( *this ).SetLabel( label ); -} - -void PushButton::SetLabel( Actor label ) -{ - Dali::Toolkit::GetImplementation( *this ).SetLabel( label ); -} - -Actor PushButton::GetLabel() const -{ - return Dali::Toolkit::GetImplementation( *this ).GetLabel(); -} - -PushButton::PressedSignalType& PushButton::PressedSignal() -{ - return Dali::Toolkit::GetImplementation( *this ).PressedSignal(); -} - -PushButton::ReleasedSignalType& PushButton::ReleasedSignal() -{ - return Dali::Toolkit::GetImplementation( *this ).ReleasedSignal(); -} - } // namespace Toolkit } // namespace Dali diff --git a/dali-toolkit/public-api/controls/buttons/push-button.h b/dali-toolkit/public-api/controls/buttons/push-button.h index 09c480c..dfc3409 100644 --- a/dali-toolkit/public-api/controls/buttons/push-button.h +++ b/dali-toolkit/public-api/controls/buttons/push-button.h @@ -39,27 +39,27 @@ class PushButton; /** * @brief A PushButton changes its appearance when is pressed and returns to its original when is released. * - * By default a PushButton emits a PushButton::PressedSignal() signal when the button is pressed, a Button::ClickedSignal() signal when it's clicked - * and a PushButton::ReleasedSignal() signal when it's released or having pressed it, the touch point leaves the boundary of the button. + * By default a PushButton emits a Button::PressedSignal() signal when the button is pressed, a Button::ClickedSignal() signal when it's clicked + * and a Button::ReleasedSignal() signal when it's released or having pressed it, the touch point leaves the boundary of the button. * * PushButton provides the following properties which modify signals emitted: *
    *
  • \e autorepeating * - * When \e autorepeating is set to \e true, a PushButton::PressedSignal(), PushButton::ReleasedSignal() and Button::ClickedSignal() signals are emitted at regular + * When \e autorepeating is set to \e true, a Button::PressedSignal(), Button::ReleasedSignal() and Button::ClickedSignal() signals are emitted at regular * intervals while the button is touched. * * The intervals could be modified with the PushButton::SetInitialAutoRepeatingDelay and PushButton::SetNextAutoRepeatingDelay methods. * - * A \e toggle button can't be \e autorepeating. If the \e autorepeating property is set to \e true, then the \e toggled property is set to + * A \e togglable button can't be \e autorepeating. If the \e autorepeating property is set to \e true, then the \e togglable property is set to * false but no signal is emitted. * - *
  • \e toggle + *
  • \e togglable * - * When \e toggle is set to \e true, a Button::StateChangedSignal() signal is emitted, with the toggle state, every time the button is touched instead - * of emit PushButton::PressedSignal(), Button::ClickedSignal() and PushButton::ReleasedSignal() signals. + * When \e togglable is set to \e true, a Button::StateChangedSignal() signal is emitted, with the selected state, every time the button is touched instead + * of emit Button::PressedSignal(), Button::ClickedSignal() and Button::ReleasedSignal() signals. * - * An \e autorepeating button can't be \e toggle. If the \e toggled property is set to \e true, then the \e autorepeating property is set to false. + * An \e autorepeating button can't be \e togglable. If the \e togglable property is set to \e true, then the \e autorepeating property is set to false. *
* * The button's appearance could be modified by setting images or actors with PushButton::SetButtonImage, PushButton::SetBackgroundImage, @@ -79,15 +79,6 @@ class DALI_IMPORT_API PushButton : public Button { public: - //Signal Names - static const char* const SIGNAL_PRESSED; ///< name "pressed" - static const char* const SIGNAL_RELEASED; ///< name "released" - - //Action Names - static const char* const ACTION_PUSH_BUTTON_CLICK; ///< name "push-button-click" - -public: - /** * @brief Create an uninitialized PushButton; this can be initialized with PushButton::New(). * @@ -131,81 +122,6 @@ public: static PushButton DownCast( BaseHandle handle ); /** - * @brief Sets the \e autorepeating property. - * - * If the \e autorepeating property is set to \e true, then the \e toggled property is set to false - * but no signal is emitted. - * - * @param[in] autoRepeating \e autorepeating property. - */ - void SetAutoRepeating( bool autoRepeating ); - - /** - * @return \e true if the \e autorepeating property is set. - */ - bool IsAutoRepeating() const; - - /** - * @brief Sets the initial autorepeating delay. - * - * By default this value is set to 0.15 seconds. - * - * @pre initialAutoRepeatingDelay must be greater than zero. - * @param[in] initialAutoRepeatingDelay in seconds. - */ - void SetInitialAutoRepeatingDelay( float initialAutoRepeatingDelay ); - - /** - * @return the initial autorepeating delay in seconds. - */ - float GetInitialAutoRepeatingDelay() const; - - /** - * @brief Sets the next autorepeating delay. - * - * By default this value is set to 0.05 seconds. - * - * @pre nextAutoRepeatingDelay must be greater than zero. - * @param[in] nextAutoRepeatingDelay in seconds. - */ - void SetNextAutoRepeatingDelay( float nextAutoRepeatingDelay ); - - /** - * @return the next autorepeating delay in seconds. - */ - float GetNextAutoRepeatingDelay() const; - - /** - * @brief Sets the \e toggled property. - * - * If the \e toggled property is set to \e true, then the \e autorepeating property is set to false. - * - * @param[in] toggle property. - */ - void SetToggleButton( bool toggle ); - - /** - * @return \e true if the \e toggled property is set. - */ - bool IsToggleButton() const; - - /** - * @brief Sets the button as toggled or not toggled. - * - * \e toggled property must be set to \e true. - * - * Emits a Button::StateChangedSignal() signal. - * - * @param[in] toggle state. - */ - void SetToggled( bool toggle ); - - /** - * @return \e true if the \e toggled property is set and the button is toggled. - */ - bool IsToggled() const; - - /** * @brief Sets the button image. * * @param[in] image The button image. @@ -300,43 +216,6 @@ public: */ Actor GetDisabledImage() const; - /** - * @brief Sets the button label. - * - * @param[in] label The button label. - */ - void SetLabel( const std::string& label ); - - /** - * @copydoc SetLabel( const std::string& label ) - */ - void SetLabel( Actor label ); - - /** - * @brief Gets the label. - * - * @return An actor with the label. - */ - Actor GetLabel() const; - -public: //Signals - - /// @brief PushButton Pressed signal type. - typedef Signal< bool ( Button ) > PressedSignalType; - - /// @brief PushButton Released signal type. - typedef Signal< bool ( Button ) > ReleasedSignalType; - - /** - * @brief Signal emitted when the button is touched. - */ - PressedSignalType& PressedSignal(); - - /** - * @brief Signal emitted when the button is touched and the touch point leaves the boundary of the button. - */ - ReleasedSignalType& ReleasedSignal(); - public: // Not intended for application developers /** diff --git a/dali-toolkit/public-api/controls/buttons/radio-button.cpp b/dali-toolkit/public-api/controls/buttons/radio-button.cpp index e58f1c5..c698225 100644 --- a/dali-toolkit/public-api/controls/buttons/radio-button.cpp +++ b/dali-toolkit/public-api/controls/buttons/radio-button.cpp @@ -34,17 +34,17 @@ RadioButton::RadioButton() { } -RadioButton::RadioButton(Internal::RadioButton& implementation) - : Button(implementation) +RadioButton::RadioButton( Internal::RadioButton& implementation ) + : Button( implementation ) { } -RadioButton::RadioButton(const RadioButton& radioButton) - : Button(radioButton) +RadioButton::RadioButton( const RadioButton& radioButton ) + : Button( radioButton ) { } -RadioButton& RadioButton::operator=(const RadioButton& radioButton ) +RadioButton& RadioButton::operator=( const RadioButton& radioButton ) { if( &radioButton != this ) { @@ -53,8 +53,8 @@ RadioButton& RadioButton::operator=(const RadioButton& radioButton ) return *this; } -RadioButton::RadioButton(Dali::Internal::CustomActor* internal) - : Button(internal) +RadioButton::RadioButton( Dali::Internal::CustomActor* internal ) + : Button( internal ) { VerifyCustomActorPointer( internal ); } @@ -68,55 +68,25 @@ RadioButton RadioButton::New() return Internal::RadioButton::New(); } -RadioButton RadioButton::New(const std::string& label) +RadioButton RadioButton::New( const std::string& label ) { RadioButton radioButton = Internal::RadioButton::New(); - radioButton.SetLabel(label); + radioButton.SetLabel( label ); return radioButton; } -RadioButton RadioButton::New(Actor label) +RadioButton RadioButton::New( Actor label ) { RadioButton radioButton = Internal::RadioButton::New(); - radioButton.SetLabel(label); + radioButton.SetLabel( label ); return radioButton; } -RadioButton RadioButton::DownCast(BaseHandle handle) +RadioButton RadioButton::DownCast( BaseHandle handle ) { return Control::DownCast( handle ); } -void RadioButton::SetLabel(const std::string& label) -{ - Dali::Toolkit::GetImplementation(*this).SetLabel(label); -} - -void RadioButton::SetLabel(Actor label) -{ - Dali::Toolkit::GetImplementation(*this).SetLabel(label); -} - -Actor RadioButton::GetLabel() const -{ - return Dali::Toolkit::GetImplementation(*this).GetLabel(); -} - -void RadioButton::SetSelected(bool selected) -{ - Dali::Toolkit::GetImplementation(*this).SetSelected(selected); -} - -bool RadioButton::IsSelected()const -{ - return Dali::Toolkit::GetImplementation(*this).IsSelected(); -} - -void RadioButton::ToggleState() -{ - Dali::Toolkit::GetImplementation(*this).ToggleState(); -} - } // namespace Toolkit } // namespace Dali diff --git a/dali-toolkit/public-api/controls/buttons/radio-button.h b/dali-toolkit/public-api/controls/buttons/radio-button.h index 5f461b6..f8dbf59 100644 --- a/dali-toolkit/public-api/controls/buttons/radio-button.h +++ b/dali-toolkit/public-api/controls/buttons/radio-button.h @@ -41,9 +41,9 @@ class RadioButton; * * Radio buttons are designed to select one of many option at the same time. * - * Every button have its own \e label and \e state, which can be modified by RadioButton::SetLabel and RadioButton::SetSelected. + * Every button have its own \e label and \e state, which can be modified by RadioButton::SetLabel and Button::SetSelected. * - * RadioButton can change its current state using RadioButton::ToggleState. + * RadioButton can change its current state using Button::SetSelected. * * RadioButtons can be grouped. * Two or more RadioButtons are in one group when they have this same parent. @@ -51,7 +51,7 @@ class RadioButton; * So when RadioButton is set to \e selected, other RadioButtons in its group are set to \e unselected. * When \e selected RadioButton is set to \e unselected no other RadioButtons in his group is set to \e selected. * - * A Button::ClickedSignal() is emitted when the RadioButton change its state to \e selected or \e unselected. + * A Button::StateChangedSignal() is emitted when the RadioButton change its state to \e selected or \e unselected. */ class DALI_IMPORT_API RadioButton: public Button { @@ -66,12 +66,12 @@ class DALI_IMPORT_API RadioButton: public Button /** * @brief Copy constructor. */ - RadioButton(const RadioButton& radioButton); + RadioButton( const RadioButton& radioButton ); /** * @brief Assignment operator. */ - RadioButton& operator=(const RadioButton& radioButton); + RadioButton& operator=( const RadioButton& radioButton ); /** * @brief Destructor @@ -94,7 +94,7 @@ class DALI_IMPORT_API RadioButton: public Button * * @return A handle to a newly allocated Dali resource. */ - static RadioButton New(const std::string& label); + static RadioButton New( const std::string& label ); /** * @brief Create an initialized RadioButton with existing Actor. @@ -103,7 +103,7 @@ class DALI_IMPORT_API RadioButton: public Button * * @return A handle to a newly allocated Dali resource. */ - static RadioButton New(Actor label); + static RadioButton New( Actor label ); /** * @brief Downcast an Object handle to RadioButton. @@ -114,47 +114,7 @@ class DALI_IMPORT_API RadioButton: public Button * @param[in] handle Handle to an object * @return handle to a RadioButton or an uninitialized handle */ - static RadioButton DownCast(BaseHandle handle); - - /** - * @brief Sets the button label. - * - * @param[in] label The button label. - */ - void SetLabel(const std::string& label); - - /** - * @brief Sets the button label using existing Actor. - * - * @param[in] label An Actor with the label. - */ - void SetLabel(Actor label); - - /** - * @brief Gets the label. - * - * @return An Actor with the label. - */ - Actor GetLabel() const; - - /** - * @brief Sets the button as selected or unselected. - * - * @param[in] selected property - */ - void SetSelected(bool selected); - - /** - * @return true if button is selected, false if button is unselected. - */ - bool IsSelected()const; - - /** - * @brief Change button state. - * - * If button is selected unselect it. If button is unselected select it. - */ - void ToggleState(); + static RadioButton DownCast( BaseHandle handle ); public: // Not intended for application developers @@ -163,15 +123,14 @@ class DALI_IMPORT_API RadioButton: public Button * * @param[in] implementation The Control implementation. */ - DALI_INTERNAL RadioButton(Internal::RadioButton& implementation); + DALI_INTERNAL RadioButton( Internal::RadioButton& implementation ); /** * @brief Allows the creation of this Control from an Internal::CustomActor pointer. * * @param[in] internal A pointer to the internal CustomActor. */ - DALI_INTERNAL RadioButton(Dali::Internal::CustomActor* internal); - + DALI_INTERNAL RadioButton( Dali::Internal::CustomActor* internal ); }; } // namespace Toolkit diff --git a/dali-toolkit/public-api/controls/cluster/cluster.cpp b/dali-toolkit/public-api/controls/cluster/cluster.cpp index 742ad51..aab2765 100644 --- a/dali-toolkit/public-api/controls/cluster/cluster.cpp +++ b/dali-toolkit/public-api/controls/cluster/cluster.cpp @@ -35,10 +35,6 @@ namespace Toolkit const std::string Cluster::CLUSTER_ACTOR_DEPTH( "cluster-actor-depth" ); -const char* const Cluster::ACTION_EXPAND = "expand"; -const char* const Cluster::ACTION_COLLAPSE = "collapse"; -const char* const Cluster::ACTION_TRANSFORM = "transform"; - Cluster::Cluster() { } diff --git a/dali-toolkit/public-api/controls/cluster/cluster.h b/dali-toolkit/public-api/controls/cluster/cluster.h index 6e7033c..f8c845a 100644 --- a/dali-toolkit/public-api/controls/cluster/cluster.h +++ b/dali-toolkit/public-api/controls/cluster/cluster.h @@ -35,7 +35,14 @@ class Cluster; class ClusterStyle; /** - * Cluster is a container of grouped actors positioned in different cluster styles. + * @brief Cluster is a container of grouped actors positioned in different cluster styles. + * + * Actions + * | %Action Name | Method | + * |---------------------------|---------------------------| + * | expand | DoExpandAction() | + * | collapse | DoCollapseAction() | + * | transform | DoTransformAction() | */ class DALI_IMPORT_API Cluster : public Control { @@ -45,11 +52,6 @@ public: static const std::string CLUSTER_ACTOR_DEPTH; ///< Property, name "cluster-actor-depth", type FLOAT - //Action Names - static const char* const ACTION_EXPAND; - static const char* const ACTION_COLLAPSE; - static const char* const ACTION_TRANSFORM; - public: /** diff --git a/dali-toolkit/public-api/controls/control-impl.cpp b/dali-toolkit/public-api/controls/control-impl.cpp index e6ba7db..f686766 100644 --- a/dali-toolkit/public-api/controls/control-impl.cpp +++ b/dali-toolkit/public-api/controls/control-impl.cpp @@ -53,6 +53,18 @@ const Property::Index Control::PROPERTY_KEY_INPUT_FOCUS = Internal::Contro namespace { +// Signals + +const char* const SIGNAL_KEY_EVENT = "key-event"; +const char* const SIGNAL_TAPPED = "tapped"; +const char* const SIGNAL_PANNED = "panned"; +const char* const SIGNAL_PINCHED = "pinched"; +const char* const SIGNAL_LONG_PRESSED = "long-pressed"; + +// Actions + +const char* const ACTION_CONTROL_ACTIVATED = "control-activated"; + const Scripting::StringEnum< Control::SizePolicy > SIZE_POLICY_STRING_TABLE[] = { { "FIXED", Control::Fixed }, @@ -80,13 +92,13 @@ TypeRegistration CONTROL_TYPE( typeid(Control), typeid(CustomActor), Create ); // Property Registration after Internal::Control::Impl definition below -TypeAction ACTION_TYPE_1( CONTROL_TYPE, Toolkit::Control::ACTION_CONTROL_ACTIVATED, &Internal::Control::DoAction ); +TypeAction ACTION_TYPE_1( CONTROL_TYPE, ACTION_CONTROL_ACTIVATED, &Internal::Control::DoAction ); -SignalConnectorType SIGNAL_CONNECTOR_1( CONTROL_TYPE, Toolkit::Control::SIGNAL_KEY_EVENT, &Internal::Control::DoConnectSignal ); -SignalConnectorType SIGNAL_CONNECTOR_2( CONTROL_TYPE, Toolkit::Control::SIGNAL_TAPPED, &Internal::Control::DoConnectSignal ); -SignalConnectorType SIGNAL_CONNECTOR_3( CONTROL_TYPE, Toolkit::Control::SIGNAL_PANNED, &Internal::Control::DoConnectSignal ); -SignalConnectorType SIGNAL_CONNECTOR_4( CONTROL_TYPE, Toolkit::Control::SIGNAL_PINCHED, &Internal::Control::DoConnectSignal ); -SignalConnectorType SIGNAL_CONNECTOR_5( CONTROL_TYPE, Toolkit::Control::SIGNAL_LONG_PRESSED, &Internal::Control::DoConnectSignal ); +SignalConnectorType SIGNAL_CONNECTOR_1( CONTROL_TYPE, SIGNAL_KEY_EVENT, &Internal::Control::DoConnectSignal ); +SignalConnectorType SIGNAL_CONNECTOR_2( CONTROL_TYPE, SIGNAL_TAPPED, &Internal::Control::DoConnectSignal ); +SignalConnectorType SIGNAL_CONNECTOR_3( CONTROL_TYPE, SIGNAL_PANNED, &Internal::Control::DoConnectSignal ); +SignalConnectorType SIGNAL_CONNECTOR_4( CONTROL_TYPE, SIGNAL_PINCHED, &Internal::Control::DoConnectSignal ); +SignalConnectorType SIGNAL_CONNECTOR_5( CONTROL_TYPE, SIGNAL_LONG_PRESSED, &Internal::Control::DoConnectSignal ); /** * Structure which holds information about the background of a control @@ -352,13 +364,13 @@ public: case Toolkit::Control::PROPERTY_WIDTH_POLICY: { - controlImpl.mImpl->mWidthPolicy = Scripting::GetEnumeration< Toolkit::Control::SizePolicy >( value.Get< std::string >(), SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ); + controlImpl.mImpl->mWidthPolicy = Scripting::GetEnumeration< Toolkit::Control::SizePolicy >( value.Get< std::string >().c_str(), SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ); break; } case Toolkit::Control::PROPERTY_HEIGHT_POLICY: { - controlImpl.mImpl->mHeightPolicy = Scripting::GetEnumeration< Toolkit::Control::SizePolicy >( value.Get< std::string >(), SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ); + controlImpl.mImpl->mHeightPolicy = Scripting::GetEnumeration< Toolkit::Control::SizePolicy >( value.Get< std::string >().c_str(), SIZE_POLICY_STRING_TABLE, SIZE_POLICY_STRING_TABLE_COUNT ); break; } @@ -1001,7 +1013,7 @@ bool Control::DoAction(BaseObject* object, const std::string& actionName, const { bool ret = false; - if( object && (actionName == Toolkit::Control::ACTION_CONTROL_ACTIVATED) ) + if( object && ( 0 == strcmp( actionName.c_str(), ACTION_CONTROL_ACTIVATED ) ) ) { Toolkit::Control control = Toolkit::Control::DownCast( BaseHandle( object ) ); if( control ) @@ -1019,32 +1031,32 @@ bool Control::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* t Dali::BaseHandle handle( object ); bool connected( false ); - Toolkit::Control control = Toolkit::Control::DownCast(handle); + Toolkit::Control control = Toolkit::Control::DownCast( handle ); if ( control ) { Control& controlImpl( control.GetImplementation() ); connected = true; - if ( Toolkit::Control::SIGNAL_KEY_EVENT == signalName ) + if ( 0 == strcmp( signalName.c_str(), SIGNAL_KEY_EVENT ) ) { controlImpl.KeyEventSignal().Connect( tracker, functor ); } - else if( Toolkit::Control::SIGNAL_TAPPED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_TAPPED ) ) { controlImpl.EnableGestureDetection( Gesture::Tap ); controlImpl.GetTapGestureDetector().DetectedSignal().Connect( tracker, functor ); } - else if( Toolkit::Control::SIGNAL_PANNED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_PANNED ) ) { controlImpl.EnableGestureDetection( Gesture::Pan ); controlImpl.GetPanGestureDetector().DetectedSignal().Connect( tracker, functor ); } - else if( Toolkit::Control::SIGNAL_PINCHED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_PINCHED ) ) { controlImpl.EnableGestureDetection( Gesture::Pinch ); controlImpl.GetPinchGestureDetector().DetectedSignal().Connect( tracker, functor ); } - else if( Toolkit::Control::SIGNAL_LONG_PRESSED == signalName ) + else if( 0 == strcmp( signalName.c_str(), SIGNAL_LONG_PRESSED ) ) { controlImpl.EnableGestureDetection( Gesture::LongPress ); controlImpl.GetLongPressGestureDetector().DetectedSignal().Connect( tracker, functor ); diff --git a/dali-toolkit/public-api/controls/control.cpp b/dali-toolkit/public-api/controls/control.cpp index 77cb876..6f75dfc 100644 --- a/dali-toolkit/public-api/controls/control.cpp +++ b/dali-toolkit/public-api/controls/control.cpp @@ -24,14 +24,6 @@ namespace Dali namespace Toolkit { -const char* const Control::ACTION_CONTROL_ACTIVATED = "control-activated"; - -const char* const Control::SIGNAL_KEY_EVENT = "key-event"; -const char* const Control::SIGNAL_TAPPED = "tapped"; -const char* const Control::SIGNAL_PANNED = "panned"; -const char* const Control::SIGNAL_PINCHED = "pinched"; -const char* const Control::SIGNAL_LONG_PRESSED = "long-pressed"; - Control Control::New() { return Internal::Control::New(); diff --git a/dali-toolkit/public-api/controls/control.h b/dali-toolkit/public-api/controls/control.h index 1911030..01c1c75 100644 --- a/dali-toolkit/public-api/controls/control.h +++ b/dali-toolkit/public-api/controls/control.h @@ -46,6 +46,20 @@ class Control; * * The implementation of the control must be supplied; see Internal::Control for more details. * @see Internal::Control + * + * Signals + * | %Signal Name | Method | + * |-------------------|-----------------------------------------------------| + * | key-event | @ref KeyEventSignal() | + * | tapped | @ref GetTapGestureDetector().DetectedSignal() | + * | panned | @ref GetPanGestureDetector().DetectedSignal() | + * | pinched | @ref GetPinchGestureDetector().DetectedSignal() | + * | long-pressed | @ref GetLongPressGestureDetector().DetectedSignal() | + * + * Actions + * | %Action Name | %Control method called | + * |-------------------|-----------------------------------------------------| + * | control-activated | %OnActivated() | */ class DALI_IMPORT_API Control : public CustomActor { @@ -62,20 +76,6 @@ public: static const Property::Index PROPERTY_KEY_INPUT_FOCUS; ///< name "key-input-focus", @see SetKeyInputFocus, type BOOLEAN /** @} */ - /// @name Signals - /** @{ */ - static const char* const SIGNAL_KEY_EVENT; ///< name "key-event" - static const char* const SIGNAL_TAPPED; ///< name "tapped" - static const char* const SIGNAL_PANNED; ///< name "panned" - static const char* const SIGNAL_PINCHED; ///< name "pinched" - static const char* const SIGNAL_LONG_PRESSED; ///< name "long-pressed" - /** @} */ - - /// @name Actions - /** @{ */ - static const char* const ACTION_CONTROL_ACTIVATED; ///< name "control-activated" - /** @} */ - /** * @brief Describes how a control could be resized. */ diff --git a/dali-toolkit/public-api/controls/default-controls/check-button-factory.cpp b/dali-toolkit/public-api/controls/default-controls/check-button-factory.cpp index cff908b..326d7c9 100644 --- a/dali-toolkit/public-api/controls/default-controls/check-button-factory.cpp +++ b/dali-toolkit/public-api/controls/default-controls/check-button-factory.cpp @@ -19,6 +19,7 @@ // EXTERNAL INCLUDES #include +#include // INTERNAL INCLUDES #include @@ -44,7 +45,7 @@ Alignment CreateAlignedImage( Actor image ) Alignment CreateAlignedImage( const std::string& imagePath ) { - Image image = Image::New( imagePath ); + Image image = ResourceImage::New( imagePath ); return CreateAlignedImage( ImageActor::New( image ) ); } @@ -52,7 +53,7 @@ Alignment CreateAlignedImage( const std::string& imagePath ) } // namespace -CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& checkedImagePath, const std::string& disabledBackgroundImagePath, const std::string& disabledCheckedImagePath ) +CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& selectedImagePath, const std::string& disabledBackgroundImagePath, const std::string& disabledSelectedImagePath ) { CheckBoxButton button = Toolkit::CheckBoxButton::New(); @@ -61,9 +62,9 @@ CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, con button.SetBackgroundImage( CreateAlignedImage( backgroundImagePath ) ); } - if( !checkedImagePath.empty() ) + if( !selectedImagePath.empty() ) { - button.SetCheckedImage( CreateAlignedImage( checkedImagePath ) ); + button.SetSelectedImage( CreateAlignedImage( selectedImagePath ) ); } if( !disabledBackgroundImagePath.empty() ) @@ -71,15 +72,15 @@ CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, con button.SetDisabledBackgroundImage( CreateAlignedImage( disabledBackgroundImagePath ) ); } - if( !disabledCheckedImagePath.empty() ) + if( !disabledSelectedImagePath.empty() ) { - button.SetDisabledCheckedImage( CreateAlignedImage( disabledCheckedImagePath ) ); + button.SetDisabledSelectedImage( CreateAlignedImage( disabledSelectedImagePath ) ); } return button; } -CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor checkedImageActor, Actor disabledBackgroundImageActor, Actor disabledCheckedImagActor ) +CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor selectedImageActor, Actor disabledBackgroundImageActor, Actor disabledSelectedImagActor ) { CheckBoxButton button = Toolkit::CheckBoxButton::New(); @@ -88,9 +89,9 @@ CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor checkedIm button.SetBackgroundImage( CreateAlignedImage( backgroundImageActor ) ); } - if( checkedImageActor ) + if( selectedImageActor ) { - button.SetCheckedImage( CreateAlignedImage( checkedImageActor ) ); + button.SetSelectedImage( CreateAlignedImage( selectedImageActor ) ); } if( disabledBackgroundImageActor ) @@ -98,15 +99,15 @@ CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor checkedIm button.SetDisabledBackgroundImage( CreateAlignedImage( disabledBackgroundImageActor ) ); } - if( disabledCheckedImagActor ) + if( disabledSelectedImagActor ) { - button.SetDisabledCheckedImage( CreateAlignedImage( disabledCheckedImagActor ) ); + button.SetDisabledSelectedImage( CreateAlignedImage( disabledSelectedImagActor ) ); } return button; } -CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& checkedImagePath ) +CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& selectedImagePath ) { CheckBoxButton button = Toolkit::CheckBoxButton::New(); @@ -115,15 +116,15 @@ CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, con button.SetBackgroundImage( CreateAlignedImage( backgroundImagePath ) ); } - if( !checkedImagePath.empty() ) + if( !selectedImagePath.empty() ) { - button.SetCheckedImage( CreateAlignedImage( checkedImagePath ) ); + button.SetSelectedImage( CreateAlignedImage( selectedImagePath ) ); } return button; } -CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor checkedImageActor ) +CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor selectedImageActor ) { CheckBoxButton button = Toolkit::CheckBoxButton::New(); @@ -132,9 +133,9 @@ CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor checkedIm button.SetBackgroundImage( CreateAlignedImage( backgroundImageActor ) ); } - if( checkedImageActor ) + if( selectedImageActor ) { - button.SetCheckedImage( CreateAlignedImage( checkedImageActor ) ); + button.SetSelectedImage( CreateAlignedImage( selectedImageActor ) ); } return button; diff --git a/dali-toolkit/public-api/controls/default-controls/check-button-factory.h b/dali-toolkit/public-api/controls/default-controls/check-button-factory.h index 8fe5cdb..3ca9a94 100644 --- a/dali-toolkit/public-api/controls/default-controls/check-button-factory.h +++ b/dali-toolkit/public-api/controls/default-controls/check-button-factory.h @@ -34,11 +34,11 @@ namespace Toolkit * @note If an image path is empty, this image is not set to the button. * * @param[in] backgroundImagePath Image path to be shown as button background. - * @param[in] checkedImagePath Image path to be shown as checked button. + * @param[in] selectedImagePath Image path to be shown as selected button. * @param[in] disabledBackgroundImagePath Image path to be shown as button isabled background. - * @param[in] disabledCheckedImagePath Image path to be shown as disabled checked button. + * @param[in] disabledSelectedImagePath Image path to be shown as disabled selected button. */ -DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& checkedImagePath, const std::string& disabledBackgroundImagePath, const std::string& disabledCheckedImagePath ); +DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& selectedImagePath, const std::string& disabledBackgroundImagePath, const std::string& disabledSelectedImagePath ); /** * Creates a check box button with the given images. @@ -47,31 +47,31 @@ DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( const std::string& backgrou * @note If an image is an empty handle, this image is not set to the button. * * @param[in] backgroundImageActor Image to be shown as button background. - * @param[in] checkedImageActor Image to be shown as checked button. + * @param[in] selectedImageActor Image to be shown as selected button. * @param[in] disabledBackgroundImageActor Image to be shown as button disabled background. - * @param[in] disabledCheckedImagActor Image to be shown as disabled checked button. + * @param[in] disabledSelectedImagActor Image to be shown as disabled selected button. */ -DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor checkedImageActor, Actor disabledBackgroundImageActor, Actor disabledCheckedImagActor ); +DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor selectedImageActor, Actor disabledBackgroundImageActor, Actor disabledSelectedImagActor ); /** - * Creates a check box button with the given background and checked images. - * Background and checked images will be shrunk to fit the button size keeping their aspect ratio. - * @note Background and checked images won't be scaled to fill the whole button size. + * Creates a check box button with the given background and selected images. + * Background and selected images will be shrunk to fit the button size keeping their aspect ratio. + * @note Background and selected images won't be scaled to fill the whole button size. * * @param[in] backgroundImagePath Image path to be shown as button background. - * @param[in] checkedImagePath Image path to be shown as checked button. + * @param[in] selectedImagePath Image path to be shown as selected button. */ -DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& checkedImagePath ); +DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( const std::string& backgroundImagePath, const std::string& selectedImagePath ); /** - * Creates a check box button with the given background and checked images. - * Background and checked images will be shrunk to fit the button size keeping their aspect ratio. - * @note Background and checked images won't be scaled to fill the whole button size. + * Creates a check box button with the given background and selected images. + * Background and selected images will be shrunk to fit the button size keeping their aspect ratio. + * @note Background and selected images won't be scaled to fill the whole button size. * * @param[in] backgroundImageActor Image to be shown as button background. - * @param[in] checkedImageActor Image to be shown as checked button. + * @param[in] selectedImageActor Image to be shown as selected button. */ -DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor checkedImageActor ); +DALI_IMPORT_API CheckBoxButton CreateCheckBoxButton( Actor backgroundImageActor, Actor selectedImageActor ); } // namespace Toolkit diff --git a/dali-toolkit/public-api/controls/default-controls/push-button-factory.cpp b/dali-toolkit/public-api/controls/default-controls/push-button-factory.cpp index 43bde47..bba811b 100644 --- a/dali-toolkit/public-api/controls/default-controls/push-button-factory.cpp +++ b/dali-toolkit/public-api/controls/default-controls/push-button-factory.cpp @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include // INTERNAL INCLUDES #include @@ -45,7 +46,7 @@ Alignment CreateAlignedImage( Actor image ) Alignment CreateAlignedImage( const std::string& imagePath ) { - Image image = Image::New( imagePath ); + Image image = ResourceImage::New( imagePath ); return CreateAlignedImage( ImageActor::New( image ) ); } diff --git a/dali-toolkit/public-api/controls/navigation-frame/navigation-control.cpp b/dali-toolkit/public-api/controls/navigation-frame/navigation-control.cpp index 821737d..a1d8513 100644 --- a/dali-toolkit/public-api/controls/navigation-frame/navigation-control.cpp +++ b/dali-toolkit/public-api/controls/navigation-frame/navigation-control.cpp @@ -29,9 +29,6 @@ namespace Dali namespace Toolkit { -const char* const NavigationControl::ACTION_PUSH = "push"; -const char* const NavigationControl::ACTION_POP = "pop"; - NavigationControl::NavigationControl() { } diff --git a/dali-toolkit/public-api/controls/navigation-frame/navigation-control.h b/dali-toolkit/public-api/controls/navigation-frame/navigation-control.h index 7ebaf8d..ffc7a44 100644 --- a/dali-toolkit/public-api/controls/navigation-frame/navigation-control.h +++ b/dali-toolkit/public-api/controls/navigation-frame/navigation-control.h @@ -73,17 +73,17 @@ class NavigationControl; * | +-+ +-----+ +-----+ +-+ | * | +-+ +-----+ +-----+ +-+ | tool bar * +----------------------------------------+ + * + * Actions + * | %Action Name | %NavigationControl method called | + * |-------------------|----------------------------------| + * | push | %PushItem() | + * | pop | %PopItem() | */ - class DALI_IMPORT_API NavigationControl : public Control { public: - //Action Names - static const char* const ACTION_PUSH; - static const char* const ACTION_POP; - -public: /** * Create a NavigationControl handle; this can be initialize with NavigationControl::New(). diff --git a/dali-toolkit/public-api/controls/popup/popup.cpp b/dali-toolkit/public-api/controls/popup/popup.cpp index d3a8187..1e375231 100644 --- a/dali-toolkit/public-api/controls/popup/popup.cpp +++ b/dali-toolkit/public-api/controls/popup/popup.cpp @@ -31,9 +31,6 @@ namespace Toolkit // Popup /////////////////////////////////////////////////////////////////////////////////////////////////// -const char* const Popup::SIGNAL_TOUCHED_OUTSIDE = "touched-outside"; -const char* const Popup::SIGNAL_HIDDEN = "hidden"; - Popup::Popup() { } diff --git a/dali-toolkit/public-api/controls/popup/popup.h b/dali-toolkit/public-api/controls/popup/popup.h index 0c876a2..040cb08 100644 --- a/dali-toolkit/public-api/controls/popup/popup.h +++ b/dali-toolkit/public-api/controls/popup/popup.h @@ -62,16 +62,18 @@ class Button; * * A popup can use various custom transition effects, e.g. * Alpha fade, Scaling transition, position/rotation, shader effects. + * + * Signals + * | %Signal Name | Method | + * |-------------------|------------------------------| + * | touched-outside | @ref OutsideTouchedSignal() | + * | hidden | @ref HiddenSignal() | */ class DALI_IMPORT_API Popup : public Control { public: - //Signal Names - static const char* const SIGNAL_TOUCHED_OUTSIDE; ///< name "touched-outside" - static const char* const SIGNAL_HIDDEN; ///< name "hidden" - /** * @brief Current popup state. */ diff --git a/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.cpp b/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.cpp index 367e7e4..8683c02 100755 --- a/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.cpp +++ b/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.cpp @@ -24,8 +24,6 @@ namespace Dali namespace Toolkit { -const char* const ScrollBar::SCROLL_POSITION_NOTIFIED_SIGNAL_NAME = "scroll-position-notified"; - ScrollBar::ScrollBar() { } diff --git a/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h b/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h index 734bd7c..f246c93 100755 --- a/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h +++ b/dali-toolkit/public-api/controls/scroll-bar/scroll-bar.h @@ -43,13 +43,17 @@ class ScrollBar; /** * ScrollBar is a UI component that can be added to the scrollable controls * indicating the current scroll position of the scrollable content. + * + * Signals + * | %Signal Name | Method | + * |--------------------------|-------------------------------------| + * | scroll-position-notified | @ref ScrollPositionNotifiedSignal() | */ class DALI_IMPORT_API ScrollBar : public ScrollComponent { public: // Signals - static const char* const SCROLL_POSITION_NOTIFIED_SIGNAL_NAME; ///< "scroll-position-notified" signal name typedef Signal< void ( float ) > ScrollPositionNotifiedSignalType; // Properties diff --git a/dali-toolkit/public-api/controls/scrollable/scroll-connector.cpp b/dali-toolkit/public-api/controls/scrollable/scroll-connector.cpp index c89dfab..8650774 100644 --- a/dali-toolkit/public-api/controls/scrollable/scroll-connector.cpp +++ b/dali-toolkit/public-api/controls/scrollable/scroll-connector.cpp @@ -32,9 +32,6 @@ const char* const ScrollConnector::OVERSHOOT_PROPERTY_NAME = "overshoot"; const Property::Index ScrollConnector::SCROLL_POSITION = Internal::ScrollConnector::SCROLL_POSITION; const Property::Index ScrollConnector::OVERSHOOT = Internal::ScrollConnector::OVERSHOOT; -const char* const ScrollConnector::DOMAIN_CHANGED_SIGNAL_NAME = "domain-changed"; -const char* const ScrollConnector::SCROLL_POSITION_CHANGED_SIGNAL_NAME = "scroll-position-changed"; - ScrollConnector ScrollConnector::New() { return ScrollConnector( Internal::ScrollConnector::New() ); diff --git a/dali-toolkit/public-api/controls/scrollable/scroll-connector.h b/dali-toolkit/public-api/controls/scrollable/scroll-connector.h index 578756c..8cd78b7 100644 --- a/dali-toolkit/public-api/controls/scrollable/scroll-connector.h +++ b/dali-toolkit/public-api/controls/scrollable/scroll-connector.h @@ -50,6 +50,12 @@ class ScrollConnector; * The overshoot property is intended for implementing 'end of list' style indicators. This property is expected to be in the range * -1 to 1, where -1 shows an attempt the scroll beyond the minimum limit, and 1 shows an attempt the scroll beyond the maximum limit. * Zero indicates normal scrolling i.e. when overshoot indicators should be hidden. + * + * Signals + * | %Signal Name | Method | + * |-------------------------|------------------------------------| + * | domain-changed | @ref DomainChangedSignal() | + * | scroll-position-changed | @ref ScrollPositionChangedSignal() | */ class DALI_IMPORT_API ScrollConnector : public BaseHandle { @@ -62,10 +68,7 @@ public: static const Property::Index OVERSHOOT; ///< The index of the "overshoot" property // Signals - static const char* const DOMAIN_CHANGED_SIGNAL_NAME; ///< "domain-changed" signal name typedef Signal< void ( float min, float max, float size ) > DomainChangedSignalType; - - static const char* const SCROLL_POSITION_CHANGED_SIGNAL_NAME; ///< "scroll-position-changed" signal name typedef Signal< void ( float position ) > ScrollPositionChangedSignalType; /** diff --git a/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp b/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp index 4bf5e2a..e474d3b 100644 --- a/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp +++ b/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.cpp @@ -307,8 +307,6 @@ const float ScrollView::DEFAULT_FRICTION_COEFFICIENT(1.0f); const float ScrollView::DEFAULT_FLICK_SPEED_COEFFICIENT(1.0f); const float ScrollView::DEFAULT_MAX_FLICK_SPEED(3.0f); -const char* const ScrollView::SIGNAL_SNAP_STARTED = "snap-started"; - ScrollView::ScrollView() { } diff --git a/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h b/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h index b357900..1dcfb85 100644 --- a/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h +++ b/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view.h @@ -376,6 +376,11 @@ class ScrollView; /** * @brief ScrollView contains actors that can be scrolled manually (via touch) * or automatically. + * + * Signals + * | %Signal Name | Method | + * |-------------------|----------------------------| + * | snap-started | @ref SnapStartedSignal() | */ class DALI_IMPORT_API ScrollView : public Scrollable { @@ -409,9 +414,6 @@ public: static const float DEFAULT_FLICK_SPEED_COEFFICIENT; ///< Default Flick speed coefficient (multiples input touch velocity) static const float DEFAULT_MAX_FLICK_SPEED; ///< Default Maximum flick speed. (in stage diagonals per second) - //Signal Names - static const char* const SIGNAL_SNAP_STARTED; ///< Name "snap-started" - /// Direction of transitions enum EDirectionFlag { diff --git a/dali-toolkit/public-api/controls/scrollable/scrollable.cpp b/dali-toolkit/public-api/controls/scrollable/scrollable.cpp index 0c7ec06..21f9615 100644 --- a/dali-toolkit/public-api/controls/scrollable/scrollable.cpp +++ b/dali-toolkit/public-api/controls/scrollable/scrollable.cpp @@ -31,11 +31,6 @@ const std::string Scrollable::SCROLL_POSITION_MIN_PROPERTY_NAME( "scroll-positio const std::string Scrollable::SCROLL_POSITION_MAX_PROPERTY_NAME( "scroll-position-max" ); const std::string Scrollable::SCROLL_DIRECTION_PROPERTY_NAME( "scroll-direction" ); -const char* const Scrollable::SIGNAL_SCROLL_STARTED = "scroll-started"; -const char* const Scrollable::SIGNAL_SCROLL_COMPLETED = "scroll-completed"; -const char* const Scrollable::SIGNAL_SCROLL_UPDATED = "scroll-updated"; -const char* const Scrollable::SIGNAL_SCROLL_CLAMPED = "scroll-clamped"; - Scrollable::Scrollable() { } diff --git a/dali-toolkit/public-api/controls/scrollable/scrollable.h b/dali-toolkit/public-api/controls/scrollable/scrollable.h index 907f7a1..0e34526 100644 --- a/dali-toolkit/public-api/controls/scrollable/scrollable.h +++ b/dali-toolkit/public-api/controls/scrollable/scrollable.h @@ -66,6 +66,14 @@ struct ClampState3 * (via touch) or automatically. * * Scrollables such as ScrollView and ItemView can be derived from this class. + * + * Signals + * | %Signal Name | Method | + * |-------------------|------------------------------| + * | scroll-started | @ref ScrollStartedSignal() | + * | scroll-completed | @ref ScrollUpdatedSignal() | + * | scroll-updated | @ref ScrollCompletedSignal() | + * | scroll-clamped | @ref ScrollClampedSignal() | */ class DALI_IMPORT_API Scrollable : public Control { @@ -104,14 +112,6 @@ public: static const Property::Index PROPERTY_OVERSHOOT_ANIMATION_SPEED; ///< Property, name "overshoot-animation-speed", @see SetOvershootAnimationSpeed(), type FLOAT /** @} */ - /// @name Signals - /** @{ */ - static const char* const SIGNAL_SCROLL_STARTED; ///< "scroll-started"; - static const char* const SIGNAL_SCROLL_COMPLETED; ///< "scroll-completed"; - static const char* const SIGNAL_SCROLL_UPDATED; ///< "scroll-updated"; - static const char* const SIGNAL_SCROLL_CLAMPED; ///< "scroll-clamped"; - /** @} */ - public: typedef Signal< void ( const Vector3& ) > ScrollStartedSignalType; ///< ScrollStarted signal type diff --git a/dali-toolkit/public-api/controls/slider/slider.cpp b/dali-toolkit/public-api/controls/slider/slider.cpp index 4e12873..f26a05e 100644 --- a/dali-toolkit/public-api/controls/slider/slider.cpp +++ b/dali-toolkit/public-api/controls/slider/slider.cpp @@ -30,10 +30,6 @@ namespace Toolkit // Slider /////////////////////////////////////////////////////////////////////////////////////////////////// -// Signals -const char* const Slider::SIGNAL_VALUE_CHANGED = "value-changed"; -const char* const Slider::SIGNAL_MARK = "mark"; - Slider::Slider() { } diff --git a/dali-toolkit/public-api/controls/slider/slider.h b/dali-toolkit/public-api/controls/slider/slider.h index 1a382bd..df0ac20 100644 --- a/dali-toolkit/public-api/controls/slider/slider.h +++ b/dali-toolkit/public-api/controls/slider/slider.h @@ -34,15 +34,17 @@ class Slider; /** * @brief Slider is a control to enable sliding an indicator between two values + * + * Signals + * | %Signal Name | Method | + * |-------------------|-----------------------------| + * | value-changed | @ref ValueChangedSignal() | + * | mark | @ref MarkSignal() | */ class DALI_IMPORT_API Slider : public Control { public: - //Signal Names - static const char* const SIGNAL_VALUE_CHANGED; - static const char* const SIGNAL_MARK; - // Properties static const Property::Index LOWER_BOUND_PROPERTY; ///< Property, name "lower-bound", type FLOAT static const Property::Index UPPER_BOUND_PROPERTY; ///< Property, name "upper-bound", type FLOAT diff --git a/dali-toolkit/public-api/controls/text-input/text-input.cpp b/dali-toolkit/public-api/controls/text-input/text-input.cpp index d888a2b..f0a43e3 100644 --- a/dali-toolkit/public-api/controls/text-input/text-input.cpp +++ b/dali-toolkit/public-api/controls/text-input/text-input.cpp @@ -35,13 +35,6 @@ namespace Dali namespace Toolkit { -const char* const TextInput::SIGNAL_START_INPUT( "start-input" ); -const char* const TextInput::SIGNAL_END_INPUT( "end-input" ); -const char* const TextInput::SIGNAL_STYLE_CHANGED( "style-changed" ); -const char* const TextInput::SIGNAL_MAX_INPUT_CHARACTERS_REACHED( "max-input-characters-reached" ); -const char* const TextInput::SIGNAL_TOOLBAR_DISPLAYED = "toolbar-displayed"; -const char* const TextInput::SIGNAL_TEXT_EXCEED_BOUNDARIES = "text-exceed-boundaries"; - TextInput::TextInput() { } diff --git a/dali-toolkit/public-api/controls/text-input/text-input.h b/dali-toolkit/public-api/controls/text-input/text-input.h index f8202db..b20467f 100644 --- a/dali-toolkit/public-api/controls/text-input/text-input.h +++ b/dali-toolkit/public-api/controls/text-input/text-input.h @@ -60,17 +60,6 @@ public: static const Property::Index CLIPBOARD_BUTTON_POSITION_PRIORITY_PROPERTY; // Property, name "clipboard-button-position-priority", type unsigned int static const Property::Index POP_UP_OFFSET_FROM_TEXT_PROPERTY; // Property, name "popup-offset-from-text", type VECTOR4 static const Property::Index CURSOR_COLOR_PROPERTY; // Property, name "cursor-color", type VECTOR4 - - /** @} */ - - /// @name Signals - /** @{ */ - static const char* const SIGNAL_START_INPUT; ///< name "start-input" - static const char* const SIGNAL_END_INPUT; ///< name "end-input" - static const char* const SIGNAL_STYLE_CHANGED; ///< name "style-changed" - static const char* const SIGNAL_MAX_INPUT_CHARACTERS_REACHED; ///< name "max-input-characters-reached" - static const char* const SIGNAL_TOOLBAR_DISPLAYED; ///< name "toolbar-displayed" - static const char* const SIGNAL_TEXT_EXCEED_BOUNDARIES; ///< name "text-exceed-boundaries" /** @} */ public: diff --git a/dali-toolkit/public-api/controls/text-view/text-view.cpp b/dali-toolkit/public-api/controls/text-view/text-view.cpp index 36d7ec3..85620de 100644 --- a/dali-toolkit/public-api/controls/text-view/text-view.cpp +++ b/dali-toolkit/public-api/controls/text-view/text-view.cpp @@ -27,9 +27,6 @@ namespace Dali namespace Toolkit { - -const char* const TextView::SIGNAL_TEXT_SCROLLED = "scrolled"; - TextView::CharacterLayoutInfo::CharacterLayoutInfo() : mSize(), mPosition(), diff --git a/dali-toolkit/public-api/controls/text-view/text-view.h b/dali-toolkit/public-api/controls/text-view/text-view.h index 34dbe35..46c1118 100644 --- a/dali-toolkit/public-api/controls/text-view/text-view.h +++ b/dali-toolkit/public-api/controls/text-view/text-view.h @@ -42,14 +42,16 @@ class TextView; * It provides support for multi-line wrapping, multi-language font detection, text alignment, scrolling and styling. * * See the \link text-view Text View \endlink page of the Programming Guide for more details and examples. + * + * Signals + * | %Signal Name | Method | + * |-------------------|---------------------------| + * | scrolled | @ref ScrolledSignal() | */ class DALI_IMPORT_API TextView : public Control { public: - // Signal Names - static const char* const SIGNAL_TEXT_SCROLLED; ///< Signal emitted when the scroll position changes. @see ScrolledSignal() - // Properties static const Property::Index PROPERTY_MARKUP_ENABLED; ///< name "markup-enabled", @see SetMarkupProcessingEnabled(), type BOOLEAN static const Property::Index PROPERTY_TEXT; ///< name "text", @see SetText(), type STRING diff --git a/dali-toolkit/public-api/controls/view/view.cpp b/dali-toolkit/public-api/controls/view/view.cpp index 4f3ce8b..277e975 100644 --- a/dali-toolkit/public-api/controls/view/view.cpp +++ b/dali-toolkit/public-api/controls/view/view.cpp @@ -31,8 +31,6 @@ namespace Dali namespace Toolkit { -const char* const View::SIGNAL_ORIENTATION_ANIMATION_START = "orientation-animation-start"; - View::View() { } diff --git a/dali-toolkit/public-api/controls/view/view.h b/dali-toolkit/public-api/controls/view/view.h index bb31adc..5138266 100644 --- a/dali-toolkit/public-api/controls/view/view.h +++ b/dali-toolkit/public-api/controls/view/view.h @@ -72,12 +72,15 @@ class View; * contentLayer.ApplyConstraint( ParentConstraint::Size::New( ParentSize() ) ); * view.AddContentLayer( contentLayer ); * \endcode + * + * Signals + * | %Signal Name | Method | + * |-----------------------------|------------------------------------------| + * | orientation-animation-start | @ref OrientationAnimationStartedSignal() | + */ class DALI_IMPORT_API View : public Control { -public: - //Signal Names - static const char* const SIGNAL_ORIENTATION_ANIMATION_START; public: diff --git a/dali-toolkit/public-api/dali-toolkit-version.cpp b/dali-toolkit/public-api/dali-toolkit-version.cpp index 5a1a4dc..f139b8d 100644 --- a/dali-toolkit/public-api/dali-toolkit-version.cpp +++ b/dali-toolkit/public-api/dali-toolkit-version.cpp @@ -31,7 +31,7 @@ namespace Toolkit const unsigned int TOOLKIT_MAJOR_VERSION = 1; const unsigned int TOOLKIT_MINOR_VERSION = 0; -const unsigned int TOOLKIT_MICRO_VERSION = 29; +const unsigned int TOOLKIT_MICRO_VERSION = 30; const char * const TOOLKIT_BUILD_DATE = __DATE__ " " __TIME__; #ifdef DEBUG_ENABLED diff --git a/dali-toolkit/public-api/focus-manager/focus-manager.cpp b/dali-toolkit/public-api/focus-manager/focus-manager.cpp index 1bd721a..a480129 100644 --- a/dali-toolkit/public-api/focus-manager/focus-manager.cpp +++ b/dali-toolkit/public-api/focus-manager/focus-manager.cpp @@ -30,10 +30,6 @@ namespace Dali namespace Toolkit { -const char* const FocusManager::SIGNAL_FOCUS_CHANGED = "focus-changed"; -const char* const FocusManager::SIGNAL_FOCUS_OVERSHOT = "focus-overshot"; -const char* const FocusManager::SIGNAL_FOCUSED_ACTOR_ACTIVATED = "focused-actor-activated"; - FocusManager::FocusManager() { } diff --git a/dali-toolkit/public-api/focus-manager/focus-manager.h b/dali-toolkit/public-api/focus-manager/focus-manager.h index 3d15023..67a359c 100644 --- a/dali-toolkit/public-api/focus-manager/focus-manager.h +++ b/dali-toolkit/public-api/focus-manager/focus-manager.h @@ -43,15 +43,17 @@ class FocusManager; * It provides functionality of setting the * focus and moving the focus forward and backward. It also draws a highlight for the * focused actor and emits a signal when the focus is changed. + * + * Signals + * | %Signal Name | Method | + * |-------------------------|------------------------------------| + * | focus-changed | @ref FocusChangedSignal() | + * | focus-overshot | @ref FocusOvershotSignal() | + * | focused-actor-activated | @ref FocusedActorActivatedSignal() | */ - class DALI_IMPORT_API FocusManager : public BaseHandle { public: - // Signal Names - static const char* const SIGNAL_FOCUS_CHANGED; ///< name "focus-changed" - static const char* const SIGNAL_FOCUS_OVERSHOT; ///< name "focus-overshot" - static const char* const SIGNAL_FOCUSED_ACTOR_ACTIVATED; ///< name "focused-actor-activated" /** * @brief Accessibility needs four information which will be read by screen-reader. diff --git a/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.cpp b/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.cpp index b47228d..45d0fbf 100644 --- a/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.cpp +++ b/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.cpp @@ -31,11 +31,6 @@ namespace Dali namespace Toolkit { -const char* const KeyboardFocusManager::SIGNAL_PRE_FOCUS_CHANGE = "keyboard-pre-focus-change"; -const char* const KeyboardFocusManager::SIGNAL_FOCUS_CHANGED = "keyboard-focus-changed"; -const char* const KeyboardFocusManager::SIGNAL_FOCUS_GROUP_CHANGED = "keyboard-focus-group-changed"; -const char* const KeyboardFocusManager::SIGNAL_FOCUSED_ACTOR_ACTIVATED = "keyboard-focused-actor-activated"; - KeyboardFocusManager::KeyboardFocusManager() { } diff --git a/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h b/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h index 3822fc6..a1e51f5 100644 --- a/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h +++ b/dali-toolkit/public-api/focus-manager/keyboard-focus-manager.h @@ -40,15 +40,17 @@ class KeyboardFocusManager; * in four directions (i.e. Left, Right, Up and Down). It also draws a * highlight for the focused actor and emits a signal when the focus * is changed. + * + * Signals + * | %Signal Name | Method | + * |----------------------------------|------------------------------------| + * | keyboard-pre-focus-change | @ref PreFocusChangeSignal() | + * | keyboard-focus-changed | @ref FocusChangedSignal() | + * | keyboard-focus-group-changed | @ref FocusGroupChangedSignal() | + * | keyboard-focused-actor-activated | @ref FocusedActorActivatedSignal() | */ class DALI_IMPORT_API KeyboardFocusManager : public BaseHandle { -public: - //Signal Names - static const char* const SIGNAL_PRE_FOCUS_CHANGE; ///< name "keyboard-pre-focus-change" - static const char* const SIGNAL_FOCUS_CHANGED; ///< name "keyboard-focus-changed" - static const char* const SIGNAL_FOCUS_GROUP_CHANGED; ///< name "keyboard-focus-group-changed" - static const char* const SIGNAL_FOCUSED_ACTOR_ACTIVATED; ///< name "keyboard-focused-actor-activated" public: diff --git a/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.cpp b/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.cpp index 91b79e8..ca6a3d0 100644 --- a/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.cpp +++ b/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.cpp @@ -30,9 +30,6 @@ namespace Dali namespace Toolkit { -const char* const KeyInputFocusManager::SIGNAL_KEY_INPUT_FOCUS_CHANGED = "key-input-focus-changed"; -const char* const KeyInputFocusManager::SIGNAL_UNHANDLED_KEY_EVENT = "unhandled-key-event"; - KeyInputFocusManager::KeyInputFocusManager() { } diff --git a/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.h b/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.h index 85fa87c..07c8aa4 100644 --- a/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.h +++ b/dali-toolkit/public-api/focus-manager/keyinput-focus-manager.h @@ -39,13 +39,16 @@ class KeyInputFocusManager; * all the keyboard events first. And if the conrol doesn't consume the event it is passed to * the next control in the stack. If none of the controls in the stack consume the key event then * UnhandledKeyEventSignal() is emitted. + * + * Signals + * | %Signal Name | Method | + * |-------------------------|-----------------------------------| + * | key-input-focus-changed | @ref KeyInputFocusChangedSignal() | + * | unhandled-key-event | @ref UnhandledKeyEventSignal() | */ class DALI_IMPORT_API KeyInputFocusManager : public BaseHandle { public: - // Signal Names - static const char* const SIGNAL_KEY_INPUT_FOCUS_CHANGED; - static const char* const SIGNAL_UNHANDLED_KEY_EVENT; // KeyInputFocusChanged typedef Signal< void (Control, Control) > KeyInputFocusChangedSignalType; diff --git a/dali-toolkit/public-api/shader-effects/bubble-effect/bubble-effect.cpp b/dali-toolkit/public-api/shader-effects/bubble-effect/bubble-effect.cpp index d335d37..9752e3b 100644 --- a/dali-toolkit/public-api/shader-effects/bubble-effect/bubble-effect.cpp +++ b/dali-toolkit/public-api/shader-effects/bubble-effect/bubble-effect.cpp @@ -52,7 +52,7 @@ BubbleEffect::~BubbleEffect() { } -BubbleEffect BubbleEffect::New( unsigned int numberOfBubble, const std::string& shapeImagePath) +BubbleEffect BubbleEffect::New( unsigned int numberOfBubble) { std::ostringstream vertexShaderStringStream; vertexShaderStringStream << "#define NUMBER_OF_BUBBLE "<< numberOfBubble << "\n"; @@ -60,8 +60,6 @@ BubbleEffect BubbleEffect::New( unsigned int numberOfBubble, const std::string& " precision mediump float;\n" // the gravity applied to the y direction " uniform float uGravity; \n" - // Width of the texture in pixels - " uniform float uShapeWidth; \n" // xy: the emit position of the bubble; zw: the destinationof the bubble. // The bubble is moving from (xy) to (zw plus the y drop influenced by gravity). " uniform vec4 uStartAndEndPos[NUMBER_OF_BUBBLE];\n" @@ -118,9 +116,7 @@ BubbleEffect BubbleEffect::New( unsigned int numberOfBubble, const std::string& " gl_Position = uMvpMatrix * position;\n" "\n" // Add multiple bubble shapes in the effect - " mediump float texCoordX = floor( mod(startAndEnd.z, uShapeWidth) );\n " - " mediump float texCoordY = floor( mod(startAndEnd.w, uShapeWidth) );\n " - " vTexCoord = vec2( (texCoordX + aTexCoord.x)/ uShapeWidth,(texCoordY + aTexCoord.y)/ uShapeWidth );\n" + " vTexCoord = aTexCoord;\n" " vPercentage = percentage;\n" // Use the emit position color for the bubble " vEffectTexCoord = startAndEnd.xy * uInvertedMovementArea;\n" @@ -157,10 +153,6 @@ BubbleEffect BubbleEffect::New( unsigned int numberOfBubble, const std::string& handle.SetUniform( "uMagnification", 1.f ); handle.SetUniform( "uDynamicScale", 1.f ); - //Get pixel width of the shape - float width = Image::GetImageSize(shapeImagePath).width; - handle.SetUniform( "uShapeWidth", (width/EACH_WIDTH_PER_SHAPE) ); - Vector4 zeroVector; for( unsigned int i=0; i +#include namespace Dali { @@ -83,7 +84,7 @@ static void DoApply( ImageActor actor, const std::string& maskImage, const Vecto GeometryType( GEOMETRY_TYPE_IMAGE ), ShaderEffect::GeometryHints( ShaderEffect::HINT_BLENDING ) ); - maskEffect.SetEffectImage( Image::New( maskImage ) ); + maskEffect.SetEffectImage( ResourceImage::New( maskImage ) ); maskEffect.SetUniform( "uImageSize", Vector2(0,0) /*Constrained to actor size*/ ); maskEffect.ApplyConstraint( Constraint::New( maskEffect.GetPropertyIndex("uImageSize"), @@ -101,7 +102,7 @@ static void DoApply( ImageActor actor, const std::string& maskImage, const Vecto void Apply( ImageActor actor, const std::string& maskImage ) { - Vector2 maskSize = Image::GetImageSize( maskImage ); + Vector2 maskSize = ResourceImage::GetImageSize( maskImage ); const float leftRight = (maskSize.width - 1.0f) * 0.5f; const float topBottom = (maskSize.height - 1.0f) * 0.5f; @@ -111,7 +112,7 @@ void Apply( ImageActor actor, const std::string& maskImage ) void Apply( ImageActor actor, const std::string& maskImage, const Vector4& maskBorder ) { - Vector2 maskSize = Image::GetImageSize( maskImage ); + Vector2 maskSize = ResourceImage::GetImageSize( maskImage ); DoApply( actor, maskImage, maskSize, maskBorder ); } diff --git a/dali-toolkit/public-api/transition-effects/cube-transition-effect.cpp b/dali-toolkit/public-api/transition-effects/cube-transition-effect.cpp index 363cf58..aec216f 100644 --- a/dali-toolkit/public-api/transition-effects/cube-transition-effect.cpp +++ b/dali-toolkit/public-api/transition-effects/cube-transition-effect.cpp @@ -27,8 +27,6 @@ namespace Dali namespace Toolkit { -const char* const CubeTransitionEffect::SIGNAL_TRANSITION_COMPLETED = "transition-completed"; - CubeTransitionEffect::CubeTransitionEffect() { } @@ -42,6 +40,11 @@ CubeTransitionEffect::CubeTransitionEffect(Internal::CubeTransitionEffect* impl) { } +CubeTransitionEffect CubeTransitionEffect::DownCast( BaseHandle handle ) +{ + return CubeTransitionEffect( dynamic_cast< Dali::Toolkit::Internal::CubeTransitionEffect* >( handle.GetObjectPtr() ) ); +} + void CubeTransitionEffect::SetTransitionDuration( float duration ) { GetImpl(*this).SetTransitionDuration( duration ); diff --git a/dali-toolkit/public-api/transition-effects/cube-transition-effect.h b/dali-toolkit/public-api/transition-effects/cube-transition-effect.h index e57f4bd..e640296 100644 --- a/dali-toolkit/public-api/transition-effects/cube-transition-effect.h +++ b/dali-toolkit/public-api/transition-effects/cube-transition-effect.h @@ -73,6 +73,11 @@ class CubeTransitionEffect; * cubeEffect.StartTransition( ); * * @endcode + * + * Signals + * | %Signal Name | Method | + * |----------------------|----------------------------------| + * | transition-completed | @ref TransitionCompletedSignal() | */ class DALI_IMPORT_API CubeTransitionEffect : public BaseHandle { @@ -90,6 +95,17 @@ public: ~CubeTransitionEffect(); /** + * @brief Downcast an Object handle to a CubeTransitionEffect handle. + * + * If handle points to a CubeTransitionEffect object the downcast produces + * a valid handle. If not the returned handle is left uninitialized. + * + * @param[in] handle A handle to an object + * @return A handle to a CubeTransitionEffect object or an uninitialized handle + */ + static CubeTransitionEffect DownCast( BaseHandle handle ); + + /** * Set the duration of transition animation * @param[in] duration The duration of transition animation */ @@ -174,9 +190,6 @@ public: public: //Signal - //signal name - static const char* const SIGNAL_TRANSITION_COMPLETED; - //Transition animation completed signal typedef Signal< void ( CubeTransitionEffect, ImageActor ) > TransitionCompletedSignalType; diff --git a/packaging/dali-toolkit.spec b/packaging/dali-toolkit.spec index ee0e474..225e80d 100644 --- a/packaging/dali-toolkit.spec +++ b/packaging/dali-toolkit.spec @@ -1,6 +1,6 @@ Name: dali-toolkit Summary: The OpenGLES Canvas Core Library Toolkit -Version: 1.0.29 +Version: 1.0.30 Release: 1 Group: System/Libraries License: Apache-2.0