DALI_PROPERTY_REGISTRATION( TextField, "font-style", STRING, FONT_STYLE )
DALI_PROPERTY_REGISTRATION( TextField, "point-size", FLOAT, POINT_SIZE )
DALI_PROPERTY_REGISTRATION( TextField, "exceed-policy", INTEGER, EXCEED_POLICY )
-DALI_PROPERTY_REGISTRATION( TextField, "cursor-image", STRING, CURSOR_IMAGE )
DALI_PROPERTY_REGISTRATION( TextField, "primary-cursor-color", VECTOR4, PRIMARY_CURSOR_COLOR )
DALI_PROPERTY_REGISTRATION( TextField, "secondary-cursor-color", VECTOR4, SECONDARY_CURSOR_COLOR )
DALI_PROPERTY_REGISTRATION( TextField, "enable-cursor-blink", BOOLEAN, ENABLE_CURSOR_BLINK )
impl.mExceedPolicy = value.Get< int >();
break;
}
- case Toolkit::TextField::Property::CURSOR_IMAGE:
- {
- ResourceImage image = ResourceImage::New( value.Get< std::string >() );
-
- if( impl.mDecorator )
- {
- impl.mDecorator->SetCursorImage( image );
- }
- break;
- }
case Toolkit::TextField::Property::PRIMARY_CURSOR_COLOR:
{
if( impl.mDecorator )
value = impl.mExceedPolicy;
break;
}
- case Toolkit::TextField::Property::CURSOR_IMAGE:
- {
- if( impl.mDecorator )
- {
- ResourceImage image = ResourceImage::DownCast( impl.mDecorator->GetCursorImage() );
- if( image )
- {
- value = image.GetUrl();
- }
- }
- break;
- }
case Toolkit::TextField::Property::PRIMARY_CURSOR_COLOR:
{
if( impl.mDecorator )
}
break;
}
- case Toolkit::TextField::Property::GRAB_HANDLE_IMAGE:
- {
- if( impl.mDecorator )
- {
- ResourceImage image = ResourceImage::DownCast( impl.mDecorator->GetCursorImage() );
- if( image )
- {
- value = image.GetUrl();
- }
- }
- break;
- }
case Toolkit::TextField::Property::DECORATION_BOUNDING_BOX:
{
if( impl.mDecorator )
// Forward input events to controller
EnableGestureDetection(Gesture::Tap);
GetTapGestureDetector().SetMaximumTapsRequired( 2 );
+ EnableGestureDetection(Gesture::Pan);
// Set BoundingBox to stage size if not already set.
if ( mDecorator->GetBoundingBox().IsEmpty() )
{
if( mDecorator )
{
- mDecorator->Relayout( size );
+ mDecorator->Relayout( size, mController->GetScrollPosition() );
}
if( !mRenderer )
if( mRenderableActor )
{
+ const Vector2& scrollPosition = mController->GetScrollPosition();
+ mRenderableActor.SetPosition( scrollPosition.x, scrollPosition.y );
+
// Make sure the actor is parented correctly with/without clipping
if( mClipper )
{
mController->TapEvent( gesture.numberOfTaps, gesture.localPoint.x, gesture.localPoint.y );
}
+void TextField::OnPan( const PanGesture& gesture )
+{
+ mController->PanEvent( gesture.state, gesture.displacement );
+}
+
bool TextField::OnKeyEvent( const KeyEvent& event )
{
if( Dali::DALI_KEY_ESCAPE == event.keyCode )
return mController->KeyEvent( event );
}
-ImfManager::ImfCallbackData TextField::OnImfEvent( Dali::ImfManager& imfManager, const ImfManager::ImfEventData& imfEvent )
+ImfManager::ImfCallbackData TextField::OnImfEvent( Dali::ImfManager& imfManager, const ImfManager::ImfEventData& imfEvent )
{
switch ( imfEvent.eventName )
{
- case ImfManager::PREEDIT:
- {
- // TODO
- break;
- }
case ImfManager::COMMIT:
{
- // TODO
+ KeyEvent event( "", imfEvent.predictiveString, 0, 0, 0, KeyEvent::Down );
+ mController->KeyEvent( event );
break;
}
+ case ImfManager::PREEDIT: // fall through
case ImfManager::DELETESURROUNDING:
- {
- // TODO
- break;
- }
case ImfManager::GETSURROUNDING:
- {
- // TODO
- break;
- }
case ImfManager::VOID:
{
// do nothing