#include <dali-toolkit/internal/text/multi-language-support.h>
#include <dali-toolkit/internal/text/segmentation.h>
#include <dali-toolkit/internal/text/shaper.h>
+#include <dali-toolkit/internal/text/text-control-interface.h>
#include <dali-toolkit/internal/text/text-run-container.h>
namespace
mPlaceholderTextColor( 0.8f, 0.8f, 0.8f, 0.8f ),
mEventQueue(),
mInputStyleChangedQueue(),
+ mPreviousState( INACTIVE ),
mState( INACTIVE ),
mPrimaryCursorPosition( 0u ),
mLeftSelectionPosition( 0u ),
mGrabHandleEnabled( true ),
mGrabHandlePopupEnabled( true ),
mSelectionEnabled( true ),
+ mUpdateCursorHookPosition( false ),
mUpdateCursorPosition( false ),
mUpdateGrabHandlePosition( false ),
mUpdateLeftSelectionPosition( false ),
{
ChangeState ( EventData::EDITING_WITH_POPUP );
mEventData->mDecoratorUpdated = true;
+ mEventData->mUpdateInputStyle = true;
}
}
ChangeState( EventData::EDITING );
}
-void Controller::Impl::GetTextFromClipboard( unsigned int itemIndex, std::string& retrievedString )
+void Controller::Impl::RequestGetTextFromClipboard()
{
if ( mClipboard )
{
- retrievedString = mClipboard.GetItem( itemIndex );
+ mClipboard.RequestItem();
}
}
mEventData->mDecorator->SetHighlightActive( false );
mEventData->mDecorator->SetPopupActive( false );
mEventData->mDecoratorUpdated = true;
- HideClipboard();
break;
}
case EventData::INTERRUPTED:
mEventData->mDecorator->SetHighlightActive( false );
mEventData->mDecorator->SetPopupActive( false );
mEventData->mDecoratorUpdated = true;
- HideClipboard();
break;
}
case EventData::SELECTING:
mEventData->mDecorator->SetPopupActive( false );
}
mEventData->mDecoratorUpdated = true;
- HideClipboard();
break;
}
case EventData::EDITING_WITH_POPUP:
SetPopupButtons();
mEventData->mDecorator->SetPopupActive( true );
}
- HideClipboard();
mEventData->mDecoratorUpdated = true;
break;
}
mEventData->mDecorator->SetPopupActive( false );
}
mEventData->mDecoratorUpdated = true;
- HideClipboard();
break;
}
case EventData::SELECTION_HANDLE_PANNING:
SetPopupButtons();
mEventData->mDecorator->SetPopupActive( true );
}
- HideClipboard();
mEventData->mDecoratorUpdated = true;
break;
}
void Controller::Impl::ClampVerticalScroll( const Vector2& layoutSize )
{
+ if( LayoutEngine::SINGLE_LINE_BOX == mLayoutEngine.GetLayout() )
+ {
+ // Nothing to do if the text is single line.
+ return;
+ }
+
// Clamp between -space & 0.
if( layoutSize.height > mVisualModel->mControlSize.height )
{
void Controller::Impl::RequestRelayout()
{
- mControlInterface.RequestTextRelayout();
+ if( NULL != mControlInterface )
+ {
+ mControlInterface->RequestTextRelayout();
+ }
}
} // namespace Text