X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.h;h=842869914e6b7db4331d55e98933f9b14b90eef9;hb=f348038a5e190e62e11c027ecfe45ee909619997;hp=63ec1c30b92b1fbb5b97093e8774b3322761520d;hpb=2d2ecb83398d1c811911b8a734fb844a16616636;p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git diff --git a/dali-toolkit/internal/text/text-controller.h b/dali-toolkit/internal/text/text-controller.h index 63ec1c3..8428699 100644 --- a/dali-toolkit/internal/text/text-controller.h +++ b/dali-toolkit/internal/text/text-controller.h @@ -20,6 +20,7 @@ // EXTERNAL INCLUDES #include +#include #include #include #include @@ -31,6 +32,7 @@ // INTERNAL INCLUDES #include #include +#include #include #include @@ -65,9 +67,9 @@ enum PlaceholderType * It provides a view of the text that can be used by rendering back-ends. * * For selectable/editable UI controls, the controller handles input events from the UI control - * and decorations (grab handles etc) via an observer interface. + * and decorations (grab handles etc) via an interface. */ -class Controller : public RefObject, public Decorator::Observer +class Controller : public RefObject, public Decorator::ControllerInterface { public: @@ -377,6 +379,18 @@ public: void ResetText(); /** + * @brief Used to reset the cursor position after setting a new text. + * + * @param[in] cursorIndex Where to place the cursor. + */ + void ResetCursorPosition( CharacterIndex cursorIndex ); + + /** + * @brief Used to reset the scroll position after setting a new text. + */ + void ResetScrollPosition(); + + /** * @brief Used to process an event queued from SetText() */ void TextReplacedEvent(); @@ -405,6 +419,38 @@ public: Size& layoutSize ); /** + * @brief Whether to enable the multi-line layout. + * + * @param[in] enable \e true enables the multi-line (by default) + */ + void SetMultiLineEnabled( bool enable ); + + /** + * @return Whether the multi-line layout is enabled. + */ + bool IsMultiLineEnabled() const; + + /** + * @copydoc Dali::Toolkit::Text::LayoutEngine::SetHorizontalAlignment() + */ + void SetHorizontalAlignment( LayoutEngine::HorizontalAlignment alignment ); + + /** + * @copydoc Dali::Toolkit::Text::LayoutEngine::GetHorizontalAlignment() + */ + LayoutEngine::HorizontalAlignment GetHorizontalAlignment() const; + + /** + * @copydoc Dali::Toolkit::Text::LayoutEngine::SetVerticalAlignment() + */ + void SetVerticalAlignment( LayoutEngine::VerticalAlignment alignment ); + + /** + * @copydoc Dali::Toolkit::Text::LayoutEngine::GetVerticalAlignment() + */ + LayoutEngine::VerticalAlignment GetVerticalAlignment() const; + + /** * @brief Calulates the alignment of the whole text inside the bounding box. * * @param[in] size The size of the bounding box. @@ -470,9 +516,28 @@ public: void PanEvent( Gesture::State state, const Vector2& displacement ); /** - * @copydoc Dali::Toolkit::Text::Decorator::Observer::HandleEvent() + * @brief Event received from IMF manager + * + * @param[in] imfManager The IMF manager. + * @param[in] imfEvent The event received. + * @return A data struture indicating if update is needed, cursor position and current text. + */ + ImfManager::ImfCallbackData OnImfEvent( ImfManager& imfManager, const ImfManager::ImfEventData& imfEvent ); + + /** + * @copydoc Dali::Toolkit::Text::Decorator::ControllerInterface::GetTargetSize() + */ + virtual void GetTargetSize( Vector2& targetSize ); + + /** + * @copydoc Dali::Toolkit::Text::Decorator::ControllerInterface::AddDecoration() + */ + virtual void AddDecoration( Actor& actor ); + + /** + * @copydoc Dali::Toolkit::Text::Decorator::ControllerInterface::DecorationEvent() */ - virtual void HandleEvent( HandleType handle, HandleState state, float x, float y ); + virtual void DecorationEvent( HandleType handle, HandleState state, float x, float y ); protected: