#include <iostream>
#include <stdlib.h>
+#include <dali-toolkit/internal/controls/buttons/push-button-impl.h>
#include <dali-toolkit-test-suite-utils.h>
#include <dali-toolkit/dali-toolkit.h>
#include <dali/integration-api/events/touch-event-integ.h>
-#include <dali-toolkit/internal/controls/buttons/button-impl.h>
using namespace Dali;
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<PushButton&>( button ).IsToggled() );
+ gPushButtonSelectedState = selected && ( selected == static_cast<PushButton&>( button ).IsSelected() );
return true;
}
}
/**
- * 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.
/**
* Copy constructor.
*/
- TETButton( const Button& button );
+ TETButton( const PushButton& button );
/**
* Assignment operator.
/**
* Internal implementation
*/
-class TETButton : public Button
+class TETButton : public PushButton
{
public:
/**
/**
* @return the pressed signal.
*/
- Toolkit::TETButton::PressedSignalType& PressedSignal();
+ Toolkit::TETButton::ButtonSignalType& PressedSignal();
/**
* Callback called when an interrupt events is received.
*/
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
{
}
-TETButton::TETButton( const Button& button )
-: Button( button )
+TETButton::TETButton( const PushButton& button )
+: PushButton( button )
{
}
{
if( &button != this )
{
- Button::operator=( button );
+ PushButton::operator=( button );
}
return *this;
}
return Control::DownCast<TETButton, Internal::TETButton>(handle);
}
-TETButton::PressedSignalType& TETButton::PressedSignal()
+TETButton::ButtonSignalType& TETButton::PressedSignal()
{
TETButton button( *this );
DALI_ASSERT_ALWAYS( button );
}
TETButton::TETButton( Internal::TETButton& implementation )
-: Button( implementation )
+: PushButton( implementation )
{}
TETButton::TETButton( Dali::Internal::CustomActor* internal )
-: Button( internal )
+: PushButton( internal )
{
VerifyCustomActorPointer<Internal::TETButton>(internal);
}
{
TETButton::TETButton()
-: Button(),
+: PushButton(),
mPressedSignal()
{
}
return tetButton;
}
-Toolkit::TETButton::PressedSignalType& TETButton::PressedSignal()
+Toolkit::TETButton::ButtonSignalType& TETButton::PressedSignal()
{
return mPressedSignal;
}
{
}
- bool Callback( Button button )
+ bool Callback( PushButton button )
{
switch( mTest )
{
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
{
{
static bool gCheckBoxButtonState = false;
-bool CheckBoxButtonClicked( Button button, bool state )
+bool CheckBoxButtonClicked( Button button )
{
- gCheckBoxButtonState = state;
+ gCheckBoxButtonState = button.IsSelected();
return true;
}
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 );
// 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;
}
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 );
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 );
namespace
{
-static bool gPushButtonToggleState = false;
-bool PushButtonToggled( Button button, bool toggled )
+static bool gPushButtonSelectedState = false;
+bool PushButtonSelected( Button button )
{
- gPushButtonToggleState = toggled && ( toggled == static_cast<PushButton&>( button ).IsToggled() );
+ gPushButtonSelectedState = button.IsSelected();
return true;
}
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;
}
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 );
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 );
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 );
event.AddPoint( pointUpInside );
application.ProcessEvent( event );
- DALI_TEST_CHECK( gPushButtonToggleState );
+ DALI_TEST_CHECK( gPushButtonSelectedState );
event = Dali::Integration::TouchEvent();
event.AddPoint( pointDownInside );
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 );
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 );
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 );
event.AddPoint( pointUpInside );
application.ProcessEvent( event );
- DALI_TEST_CHECK( !gPushButtonToggleState );
+ DALI_TEST_CHECK( !gPushButtonSelectedState );
END_TEST;
}
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
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();
radioButton.SetAnchorPoint(ParentOrigin::TOP_LEFT);
radioButton.SetPosition( 0.0f, 0.0f );
- // Default active
- DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == false );
+ // Default selected
+ DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_SELECTED ) == false );
- // Setting false active
- radioButton.SetProperty( Button::PROPERTY_TOGGLED, false );
- DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == false );
+ // Setting false selected
+ radioButton.SetProperty( Button::PROPERTY_SELECTED, false );
+ DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_SELECTED ) == false );
- // Setting true active
- radioButton.SetProperty( Button::PROPERTY_TOGGLED, true );
- DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == true );
+ // Setting true selected
+ radioButton.SetProperty( Button::PROPERTY_SELECTED, true );
+ DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_SELECTED ) == true );
// Setting false again
- radioButton.SetProperty( Button::PROPERTY_TOGGLED, false );
- DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == false );
+ radioButton.SetProperty( Button::PROPERTY_SELECTED, false );
+ DALI_TEST_CHECK( radioButton.GetProperty<bool>( Button::PROPERTY_SELECTED ) == false );
// Test selecting radio buttons
RadioButton radioButton2 = RadioButton::New( "label" );
application.Render();
// Simulate touch events
- DALI_TEST_CHECK( radioButton2.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == false );
- DALI_TEST_CHECK( radioButton3.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == false );
+ DALI_TEST_CHECK( radioButton2.GetProperty<bool>( Button::PROPERTY_SELECTED ) == false );
+ DALI_TEST_CHECK( radioButton3.GetProperty<bool>( 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<bool>( Button::PROPERTY_TOGGLED ) == true );
- DALI_TEST_CHECK( radioButton3.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == false );
+ DALI_TEST_CHECK( radioButton2.GetProperty<bool>( Button::PROPERTY_SELECTED ) == true );
+ DALI_TEST_CHECK( radioButton3.GetProperty<bool>( 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<bool>( Button::PROPERTY_TOGGLED ) == true );
- DALI_TEST_CHECK( radioButton3.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == false );
+ DALI_TEST_CHECK( radioButton2.GetProperty<bool>( Button::PROPERTY_SELECTED ) == true );
+ DALI_TEST_CHECK( radioButton3.GetProperty<bool>( 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<bool>( Button::PROPERTY_TOGGLED ) == false );
- DALI_TEST_CHECK( radioButton3.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == true );
+ DALI_TEST_CHECK( radioButton2.GetProperty<bool>( Button::PROPERTY_SELECTED ) == false );
+ DALI_TEST_CHECK( radioButton3.GetProperty<bool>( 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<bool>( Button::PROPERTY_TOGGLED ) == false );
- DALI_TEST_CHECK( radioButton3.GetProperty<bool>( Button::PROPERTY_TOGGLED ) == true );
+ DALI_TEST_CHECK( radioButton2.GetProperty<bool>( Button::PROPERTY_SELECTED ) == false );
+ DALI_TEST_CHECK( radioButton3.GetProperty<bool>( Button::PROPERTY_SELECTED ) == true );
}
END_TEST;
// EXTERNAL INCLUDES
#include <dali/public-api/events/touch-event.h>
#include <dali/public-api/object/type-registry.h>
+#include <dali/public-api/actors/image-actor.h>
+#include <dali/public-api/scripting/scripting.h>
+#include <dali-toolkit/public-api/controls/text-view/text-view.h>
namespace Dali
{
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;
namespace
{
+const unsigned int INITIAL_AUTOREPEATING_DELAY( 0.15f );
+const unsigned int NEXT_AUTOREPEATING_DELAY( 0.05f );
+
BaseHandle Create()
{
// empty handle as we cannot create button (but type registered for clicked signal)
TypeRegistration typeRegistration( typeid(Toolkit::Button), typeid(Toolkit::Control), Create );
-SignalConnectorType signalConnector1( typeRegistration, Toolkit::Button::SIGNAL_CLICKED, &Button::DoConnectSignal );
-SignalConnectorType signalConnector2( typeRegistration, Toolkit::Button::SIGNAL_STATE_CHANGED, &Button::DoConnectSignal );
+SignalConnectorType signalConnector1( typeRegistration, Toolkit::Button::SIGNAL_PRESSED , &Button::DoConnectSignal );
+SignalConnectorType signalConnector2( typeRegistration, Toolkit::Button::SIGNAL_RELEASED, &Button::DoConnectSignal );
+SignalConnectorType signalConnector3( typeRegistration, Toolkit::Button::SIGNAL_CLICKED, &Button::DoConnectSignal );
+SignalConnectorType signalConnector4( typeRegistration, Toolkit::Button::SIGNAL_STATE_CHANGED, &Button::DoConnectSignal );
+
+TypeAction action1( typeRegistration, Toolkit::Button::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 );
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 )
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 );
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( Toolkit::Button::ACTION_BUTTON_CLICK == actionName )
+ {
+ 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()
{
- return 0.f;
+ 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()
+{
+ OnTouchPointLeave();
+}
+
+Toolkit::Button::ButtonSignalType& Button::PressedSignal()
+{
+ return mPressedSignal;
}
-Toolkit::Button::ClickedSignalType& Button::ClickedSignal()
+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;
}
bool connected( true );
Toolkit::Button button = Toolkit::Button::DownCast(handle);
- if( Dali::Toolkit::Button::SIGNAL_CLICKED == signalName )
+ if( Toolkit::Button::SIGNAL_PRESSED == signalName )
+ {
+ button.PressedSignal().Connect( tracker, functor );
+ }
+ else if( Toolkit::Button::SIGNAL_RELEASED == signalName )
+ {
+ button.ReleasedSignal().Connect( tracker, functor );
+ }
+ else if( Dali::Toolkit::Button::SIGNAL_CLICKED == signalName )
{
button.ClickedSignal().Connect( tracker, functor );
}
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() );
// Do nothing.
}
+void Button::SetUpTimer( float delay )
+{
+ mAutoRepeatingTimer = Dali::Timer::New( static_cast<unsigned int>( 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<bool>() );
+ switch ( index )
+ {
+ case Toolkit::Button::PROPERTY_DISABLED:
+ {
+ GetImplementation( button ).SetDisabled( value.Get<bool>() );
+ 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
*
*/
+// EXTERNAL INCLUDES
+#include <dali/public-api/adaptor-framework/timer.h>
+
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/buttons/button.h>
#include <dali-toolkit/public-api/controls/control-impl.h>
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 );
*/
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.
* 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.
* 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.
virtual void OnInitialize();
/**
+ * @copydoc Toolkit::Control::OnActivated()
+ */
+ virtual void OnActivated();
+
+ /**
* @copydoc Toolkit::Control::OnControlSizeSet( const Vector3& targetSize )
*/
virtual void OnControlSizeSet( const Vector3& targetSize );
*/
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
// 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
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.
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.
*/
* @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
CheckBoxButtonDefaultPainter::CheckBoxButtonDefaultPainter()
: CheckBoxButtonPainter(),
mDisabled( false ),
- mPaintState( UncheckedState ),
+ mPaintState( UnselectedState ),
mButton(NULL),
mAnimationTime( ANIMATION_TIME )
{
}
}
-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<Toolkit::CheckBoxButton&>( button );
SetBackgroundImage( checkBox, backgroundImage );
}
- if( checkedImage )
+ if( selectedImage )
{
- SetCheckedImage( checkBox, checkedImage );
+ SetSelectedImage( checkBox, selectedImage );
}
if( disabledBackgroundImage )
SetDisabledBackgroundImage( checkBox, disabledBackgroundImage );
}
- if( disabledCheckedImage )
+ if( disabledSelectedImage )
{
- SetDisabledCheckedImage( checkBox, disabledCheckedImage );
+ SetDisabledSelectedImage( checkBox, disabledSelectedImage );
}
SetDisabled( button, mDisabled );
{
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 );
}
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<Toolkit::CheckBoxButton&>( button );
switch( mPaintState )
{
- case UncheckedState:
+ case UnselectedState:
{
if( disabled )
{
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 )
{
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 );
StartCheckOutAnimation( checkBox );
StartCheckInAnimation();
- mPaintState = UncheckedDisabledTransition;
+ mPaintState = UnselectedDisabledTransition;
}
break;
}
- case UncheckedDisabledTransition:
+ case UnselectedDisabledTransition:
{
if( !disabled )
{
StartCheckOutAnimation( checkBox );
StartCheckInAnimation();
- mPaintState = DisabledUncheckedTransition;
+ mPaintState = DisabledUnselectedTransition;
}
break;
}
- case DisabledUncheckedTransition:
+ case DisabledUnselectedTransition:
{
if( disabled )
{
StartCheckOutAnimation( checkBox );
StartCheckInAnimation();
- mPaintState = UncheckedDisabledTransition;
+ mPaintState = UnselectedDisabledTransition;
}
break;
}
- case CheckedDisabledTransition:
+ case SelectedDisabledTransition:
{
if( !disabled )
{
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 )
{
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;
}
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<Toolkit::CheckBoxButton&>( 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<Toolkit::CheckBoxButton&>( 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<Toolkit::CheckBoxButton&>( 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<Toolkit::CheckBoxButton&>( 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<Toolkit::CheckBoxButton&>( 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:
}
}
-void CheckBoxButtonDefaultPainter::ApplyCheckedConstraint( Actor& actor, float depth )
+void CheckBoxButtonDefaultPainter::ApplySelectedConstraint( Actor& actor, float depth )
{
if( actor )
{
}
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() )
fadeOutBackgroundImage.GetParent().Remove( fadeOutBackgroundImage );
}
- fadeOutCheckedImage.Reset();
+ fadeOutSelectedImage.Reset();
fadeOutBackgroundImage.Reset();
}
}
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;
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 )
{
{
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:
{
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:
*/
~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
*
* @param[inout] checkBox The Dali::Toolkit::CheckBoxButton in which this object is registered.
*/
- void Checked( Toolkit::CheckBoxButton& checkBox );
+ void Selected( Toolkit::Button& checkBox );
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.
};
/**
* @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.
* 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.
* 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.
*/
* @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
#include "check-box-button-impl.h"
// EXTERNAL INCLUDES
-#include <algorithm>
-#include <dali/public-api/actors/image-actor.h>
#include <dali/public-api/object/type-registry.h>
// INTERNAL INCLUDES
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<CheckBoxButtonDefaultPainter*>( painter.Get() );
- }
-} // namespace
-
Dali::Toolkit::CheckBoxButton CheckBoxButton::New()
{
// Create the implementation, temporarily owned on stack
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
*/
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:
/**
// 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
*/
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
/////////////////////////////////////////////////////////////////////////////
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/buttons/push-button.h>
-#include <dali-toolkit/public-api/controls/text-view/text-view.h>
#include "push-button-impl.h"
namespace Dali
}
}
-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<Toolkit::PushButton&>( 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<Toolkit::PushButton&>( 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 )
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<Toolkit::PushButton&>( 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<Toolkit::PushButton&>( 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<Toolkit::PushButton&>( 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<Toolkit::PushButton&>( 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<Toolkit::PushButton&>( 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<Toolkit::PushButton&>( 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<Toolkit::PushButton&>( 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 )
{
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 )
}
}
-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<Toolkit::PushButton&>( 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 )
{
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 )
}
}
-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<Toolkit::PushButton&>( 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 )
}
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 )
{
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 )
{
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 )
*/
~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:
#include <algorithm>
#include <dali/public-api/actors/image-actor.h>
#include <dali/public-api/object/type-registry.h>
-#include <dali/public-api/scripting/scripting.h>
// INTERNAL INCLUDES
#include "push-button-default-painter-impl.h"
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<PushButtonDefaultPainter*>( painter.Get() );
-}
-
/**
* Find the first image actor in the actor hierarchy
*/
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.
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<unsigned int>( 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()
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 );
}
}
- ImageActor backgroundImageActor = FindImageActor( mBackgroundImage );
+ ImageActor backgroundImageActor = FindImageActor( GetBackgroundImage() );
if( backgroundImageActor && backgroundImageActor.GetStyle() != ImageActor::STYLE_NINE_PATCH )
{
Vector3 imageSize = RelayoutHelper::GetNaturalSize( backgroundImageActor );
}
// 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();
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
*/
// EXTERNAL INCLUDES
-#include <dali/public-api/adaptor-framework/timer.h>
#include <dali/public-api/common/dali-vector.h>
// INTERNAL INCLUDES
*/
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
/**
*/
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.
*/
// 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
*/
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
/////////////////////////////////////////////////////////////////////////////
#include "radio-button-impl.h"
// EXTERNAL INCLUDES
-#include <dali/public-api/actors/text-actor.h>
#include <dali/public-api/object/type-registry.h>
-#include <dali/public-api/scripting/scripting.h>
using namespace Dali;
using namespace Dali::Toolkit::Internal;
}
RadioButton::RadioButton()
- : mSelected(false)
{
mUnselectedImage = Dali::Image::New( UNSELECTED_BUTTON_IMAGE_DIR );
mSelectedImage = Dali::Image::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 )
{
}
}
-Actor RadioButton::GetLabel() const
+void RadioButton::SetSelected( bool selected )
{
- return mLabel;
-}
-
-void RadioButton::SetSelected(bool selected)
-{
- if( mSelected != selected )
+ if( IsSelected() != selected )
{
if( 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 );
}
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;
-}
/**
* 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()
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
/**
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
namespace Toolkit
{
+const char* const Button::SIGNAL_PRESSED = "pressed";
+const char* const Button::SIGNAL_RELEASED = "released";
const char* const Button::SIGNAL_CLICKED = "clicked";
const char* const Button::SIGNAL_STATE_CHANGED = "state-changed";
+const char* const Button::ACTION_BUTTON_CLICK = "button-click";
+
Button::Button()
{}
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 );
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();
}
public:
// Signal Names
+ static const char* const SIGNAL_PRESSED; ///< name "pressed"
+ static const char* const SIGNAL_RELEASED; ///< name "released"
static const char* const SIGNAL_CLICKED; ///< name "clicked"
static const char* const SIGNAL_STATE_CHANGED; ///< name "state-changed"
+ //Action Names
+ static const char* const ACTION_BUTTON_CLICK; ///< name "button-click"
+
// 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
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.
*/
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
namespace Toolkit
{
-const char* const CheckBoxButton::ACTION_CHECK_BOX_BUTTON_CLICK = "check-box-button-click";
-
CheckBoxButton::CheckBoxButton()
: Button()
{
return Control::DownCast<CheckBoxButton, Internal::CheckBoxButton>(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 );
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 )
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 )
/**
* 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.
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()
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.
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.
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
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()
{
return Control::DownCast<PushButton, Internal::PushButton>(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 );
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
/**
* @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:
* <ul>
* <li>\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.
*
- * <li>\e toggle
+ * <li>\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.
* </ul>
*
* The button's appearance could be modified by setting images or actors with PushButton::SetButtonImage, PushButton::SetBackgroundImage,
{
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().
*
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.
*/
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
/**
{
}
-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 )
{
return *this;
}
-RadioButton::RadioButton(Dali::Internal::CustomActor* internal)
- : Button(internal)
+RadioButton::RadioButton( Dali::Internal::CustomActor* internal )
+ : Button( internal )
{
VerifyCustomActorPointer<Internal::RadioButton>( internal );
}
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<RadioButton, Internal::RadioButton>( 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
*
* 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.
* 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
{
/**
* @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
*
* @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.
*
* @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.
* @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
*
* @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
} // 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();
button.SetBackgroundImage( CreateAlignedImage( backgroundImagePath ) );
}
- if( !checkedImagePath.empty() )
+ if( !selectedImagePath.empty() )
{
- button.SetCheckedImage( CreateAlignedImage( checkedImagePath ) );
+ button.SetSelectedImage( CreateAlignedImage( selectedImagePath ) );
}
if( !disabledBackgroundImagePath.empty() )
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();
button.SetBackgroundImage( CreateAlignedImage( backgroundImageActor ) );
}
- if( checkedImageActor )
+ if( selectedImageActor )
{
- button.SetCheckedImage( CreateAlignedImage( checkedImageActor ) );
+ button.SetSelectedImage( CreateAlignedImage( selectedImageActor ) );
}
if( disabledBackgroundImageActor )
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();
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();
button.SetBackgroundImage( CreateAlignedImage( backgroundImageActor ) );
}
- if( checkedImageActor )
+ if( selectedImageActor )
{
- button.SetCheckedImage( CreateAlignedImage( checkedImageActor ) );
+ button.SetSelectedImage( CreateAlignedImage( selectedImageActor ) );
}
return button;
* @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.
* @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