- // Raise state changed signal
- Toolkit::RadioButton handle( GetOwner() );
- StateChangedSignal().Emit( handle );
+void RadioButton::OnSelected( bool selected )
+{
+ Actor& buttonImage = GetButtonImage();
+ Actor& selectedImage = GetSelectedImage();
+ Actor& label = GetLabel();
+
+ if( selected )
+ {
+ Actor parent = Self().GetParent();
+ if( parent )
+ {
+ for( unsigned int i = 0; i < parent.GetChildCount(); ++i )
+ {
+ Dali::Toolkit::RadioButton rbChild = Dali::Toolkit::RadioButton::DownCast(parent.GetChildAt(i));
+
+ if( rbChild )
+ {
+ rbChild.SetSelected(false);
+ }
+ }
+ }
+
+ buttonImage.GetParent().Remove( buttonImage );
+ Self().Add( selectedImage );
+
+ if( label )
+ {
+ label.GetParent().Remove( label );
+ selectedImage.Add( label );
+ }
+ }
+ else
+ {
+ selectedImage.GetParent().Remove( selectedImage );
+ Self().Add( buttonImage );