Merge "Revert "Move Some Devel Properties & APIs to the Public API"" into devel/master
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / text / text-controller.h
index fc75596..dc2b4c4 100755 (executable)
 #include <dali/public-api/events/gesture.h>
 
 // INTERNAL INCLUDES
+#include <dali-toolkit/public-api/text/text-enumerations.h>
 #include <dali-toolkit/devel-api/controls/text-controls/text-selection-popup-callback-interface.h>
+#include <dali-toolkit/devel-api/controls/text-controls/text-label-devel.h>
+#include <dali-toolkit/devel-api/text/text-enumerations-devel.h>
 #include <dali-toolkit/internal/text/decorator/text-decorator.h>
 #include <dali-toolkit/internal/text/layouts/layout-engine.h>
-#include <dali-toolkit/internal/text/layouts/layout-wrap-mode.h>
 #include <dali-toolkit/internal/text/hidden-text.h>
 #include <dali-toolkit/internal/text/text-model-interface.h>
 
-
 namespace Dali
 {
 
@@ -325,36 +326,36 @@ public: // Configure the text controller.
    *
    * @param[in] alignment The horizontal alignment.
    */
-  void SetHorizontalAlignment( Layout::HorizontalAlignment alignment );
+  void SetHorizontalAlignment( HorizontalAlignment::Type alignment );
 
   /**
    * @copydoc ModelInterface::GetHorizontalAlignment()
    */
-  Layout::HorizontalAlignment GetHorizontalAlignment() const;
+  HorizontalAlignment::Type GetHorizontalAlignment() const;
 
   /**
    * @brief Sets the text's vertical alignment.
    *
    * @param[in] alignment The vertical alignment.
    */
-  void SetVerticalAlignment( Layout::VerticalAlignment alignment );
+  void SetVerticalAlignment( VerticalAlignment::Type alignment );
 
   /**
    * @copydoc ModelInterface::GetVerticalAlignment()
    */
-  Layout::VerticalAlignment GetVerticalAlignment() const;
+  VerticalAlignment::Type GetVerticalAlignment() const;
 
   /**
    * @brief Sets the text's wrap mode
    * @param[in] text wrap mode The unit of wrapping
    */
-  void SetLineWrapMode( Layout::LineWrap::Mode textWarpMode );
+  void SetLineWrapMode( Text::LineWrap::Mode textWarpMode );
 
   /**
    * @brief Retrieve text wrap mode previously set.
    * @return text wrap mode
    */
-  Layout::LineWrap::Mode GetLineWrapMode() const;
+  Text::LineWrap::Mode GetLineWrapMode() const;
 
   /**
    * @brief Enable or disable the text elide.
@@ -393,6 +394,18 @@ public: // Configure the text controller.
   bool IsSelectionEnabled() const;
 
   /**
+   * @brief Enable or disable the text selection using Shift key.
+   * @param enabled Whether to enable the text selection using Shift key
+   */
+  void SetShiftSelectionEnabled( bool enabled );
+
+  /**
+   * @brief Whether the text selection using Shift key is enabled or not.
+   * @return True if the text selection using Shift key is enabled
+   */
+  bool IsShiftSelectionEnabled() const;
+
+  /**
    * @brief Sets input type to password
    *
    * @note The string is displayed hidden character
@@ -759,6 +772,20 @@ public: // Default style & Input style
   const Vector4& GetShadowColor() const;
 
   /**
+   * @brief Set the shadow blur radius.
+   *
+   * @param[in] shadowBlurRadius The shadow blur radius, 0,0 indicates no blur.
+   */
+  void SetShadowBlurRadius( const float& shadowBlurRadius );
+
+  /**
+   * @brief Retrieve the shadow blur radius.
+   *
+   * @return The shadow blur radius.
+   */
+  const float& GetShadowBlurRadius() const;
+
+  /**
    * @brief Set the underline color.
    *
    * @param[in] color color of underline.
@@ -819,14 +846,14 @@ public: // Default style & Input style
    *
    * @param[in] width The width in pixels of the outline, 0 indicates no outline
    */
-  void SetOutlineWidth( float width );
+  void SetOutlineWidth( unsigned int width );
 
   /**
    * @brief Retrieves the width of an outline
    *
    * @return The width of the outline.
    */
-  float GetOutlineWidth() const;
+  unsigned int GetOutlineWidth() const;
 
   /**
    * @brief Sets the emboss's properties string.
@@ -1141,6 +1168,12 @@ public: // Queries & retrieves.
    */
   void GetPlaceholderProperty( Property::Map& map );
 
+  /**
+   * @brief Checks text direction.
+   * @return The text direction.
+   */
+  Toolkit::DevelText::TextDirection::Type GetTextDirection();
+
 public: // Relayout.
 
   /**
@@ -1364,11 +1397,12 @@ private: // Events.
   void SelectEvent( float x, float y, bool selectAll );
 
   /**
-   * @brief Helper to KeyEvent() to handle the backspace case.
+   * @brief Helper to KeyEvent() to handle the backspace or delete key case.
    *
+   * @param[in] keyCode The keycode for the key pressed
    * @return True if a character was deleted.
    */
-  bool BackspaceKeyEvent();
+  bool DeleteEvent( int keyCode );
 
 private: // Helpers.