X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Ftext%2Ftext-controller.h;h=8a780a926c6adfdcff31c05cdf3eeed151691548;hp=4edd28117830a6cf7db2343daf16dfe4f47941cd;hb=511ab5d892c68a8bbbc3846e85fc5ec8f7323470;hpb=09f35f81061ca470e79ac674024b9e587ff44e7f diff --git a/dali-toolkit/internal/text/text-controller.h b/dali-toolkit/internal/text/text-controller.h index 4edd281..8a780a9 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 @@ -110,6 +112,14 @@ public: static ControllerPtr New( ControlInterface& controlInterface ); /** + * @brief Called to enable text input. + * + * @note Selectable or editable controls should call this once after Controller::New(). + * @param[in] decorator Used to create cursor, selection handle decorations etc. + */ + void EnableTextInput( DecoratorPtr decorator ); + + /** * @brief Replaces any text previously set. * * @note This will be converted into UTF-32 when stored in the text model. @@ -311,14 +321,6 @@ public: float GetUnderlineHeight() const; /** - * @brief Called to enable text input. - * - * @note Only selectable or editable controls should calls this. - * @param[in] decorator Used to create cursor, selection handle decorations etc. - */ - void EnableTextInput( DecoratorPtr decorator ); - - /** * @brief Called to enable/disable cursor blink. * * @note Only editable controls should calls this. @@ -405,6 +407,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. @@ -474,6 +508,15 @@ public: */ virtual void HandleEvent( HandleType handle, HandleState state, float x, float y ); + /** + * @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 ); + protected: /** @@ -484,6 +527,21 @@ protected: private: /** + * @brief Helper to clear font-specific data. + */ + void ShowPlaceholderText(); + + /** + * @brief Helper to clear all the model data except for LogicalModel::mText. + */ + void ClearModelData(); + + /** + * @brief Helper to clear font-specific data (only). + */ + void ClearFontData(); + + /** * @brief Private constructor. */ Controller( ControlInterface& controlInterface );