Merge "Remove unnecessary method from control-impl" into tizen
authorAdeel Kazmi <adeel.kazmi@samsung.com>
Thu, 28 Aug 2014 17:41:54 +0000 (10:41 -0700)
committerGerrit Code Review <gerrit@review.vlan103.tizen.org>
Thu, 28 Aug 2014 17:41:54 +0000 (10:41 -0700)
15 files changed:
base/dali-toolkit/internal/builder/builder-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-twist-effect-impl.cpp
base/dali-toolkit/internal/controls/scrollable/scroll-view/scroll-view-twist-effect-impl.h
base/dali-toolkit/internal/controls/text-input/text-input-impl.cpp
base/dali-toolkit/public-api/controls/control-impl.cpp
base/dali-toolkit/public-api/controls/control-impl.h
base/dali-toolkit/public-api/controls/control.cpp
base/dali-toolkit/public-api/controls/control.h
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-twist-effect.cpp
base/dali-toolkit/public-api/controls/scrollable/scroll-view/scroll-view-twist-effect.h
base/dali-toolkit/public-api/controls/text-input/text-input.h
build/tizen/docs/dali.doxy.in
docs/DaliLayout.xml
optional/dali-toolkit/public-api/dali-toolkit-version.cpp
packaging/dali-toolkit.spec

index 544c428..06e95e6 100644 (file)
@@ -507,9 +507,7 @@ BaseHandle Builder::DoCreate( const TreeNode& root, const TreeNode& node,
         }
       }
 
-      ApplyProperties( root, node, handle, replacements );
-
-      if( actor)
+      if( actor )
       {
         // add children of all the styles
         if( OptionalChild actors = IsChild( node, KEYNAME_ACTORS ) )
@@ -529,7 +527,10 @@ BaseHandle Builder::DoCreate( const TreeNode& root, const TreeNode& node,
           parent.Add( actor );
         }
       }
-
+      else
+      {
+        ApplyProperties( root, node, handle, replacements );
+      }
     }
     else
     {
index 1a3b893..c93d264 100755 (executable)
@@ -541,9 +541,19 @@ void ScrollViewTwistEffect::Apply(Actor child)
   }
 }
 
+void ScrollViewTwistEffect::SetMaxSwingAngle(const Vector2& maxSwingAngle)
+{
+  mMaxSwingAngle = maxSwingAngle;
+}
+
+Vector2 ScrollViewTwistEffect::GetMaxSwingAngle() const
+{
+  return mMaxSwingAngle;
+}
+
 void ScrollViewTwistEffect::SetSwingDropOff(const Vector2& dropOff, const Vector2& distance, AlphaFunction function)
 {
-  if( mDropOffDistance.LengthSquared() > Math::MACHINE_EPSILON_1 && mDropOff.LengthSquared() > Math::MACHINE_EPSILON_1 )
+  if( distance.LengthSquared() > Math::MACHINE_EPSILON_1 && dropOff.LengthSquared() > Math::MACHINE_EPSILON_1 )
   {
     mFlags |= FlagDropOff;
     mDropOff = dropOff;
@@ -558,6 +568,13 @@ void ScrollViewTwistEffect::SetSwingDropOff(const Vector2& dropOff, const Vector
   mFlags = mFlags & ~FlagDefaultDropOff;
 }
 
+void ScrollViewTwistEffect::GetSwingDropOff( Vector2& dropOff, Vector2& distance, AlphaFunction& function ) const
+{
+  dropOff = mDropOff;
+  distance = mDropOffDistance;
+  function = mDropOffFunction;
+}
+
 void ScrollViewTwistEffect::OnAttach(Toolkit::ScrollView& scrollView)
 {
   // Create effect-time property if not already created.
index d98a086..5aca6a0 100644 (file)
@@ -99,13 +99,23 @@ public:
   /**
    * @copydoc Toolkit::ScrollViewEffect::SetMaxSwingAngle
    */
-  void SetMaxSwingAngle(const Vector2& maxSwingAngle) { mMaxSwingAngle = maxSwingAngle; }
+  void SetMaxSwingAngle(const Vector2& maxSwingAngle);
+
+  /**
+   * @copydoc Toolkit::ScrollViewEffect::GetMaxSwingAngle
+   */
+  Vector2 GetMaxSwingAngle() const;
 
   /**
    * @copydoc Toolkit::ScrollViewEffect::SetSwingDropOff
    */
   void SetSwingDropOff(const Vector2& dropOff, const Vector2& distance, AlphaFunction function = NULL);
 
+  /**
+   * @copydoc Toolkit::ScrollViewEffect::GetSwingDropOff
+   */
+  void GetSwingDropOff( Vector2& dropOff, Vector2& distance, AlphaFunction& function ) const;
+
 public:
 
   /**
index 7a0729c..44c5aaf 100644 (file)
@@ -1951,11 +1951,7 @@ void TextInput::ScrollTextViewToMakeCursorVisible( const Vector3& cursorPosition
     scrollOffset.x += cursorPosition.x;
   }
 
-  if( cursorPosition.y - cursorSize.height < 0.f )
-  {
-    scrollOffset.y += ( cursorPosition.y - cursorSize.height );
-  }
-  else if( cursorPosition.y > controlSize.height )
+  if( cursorPosition.y - cursorSize.height < 0.f || cursorPosition.y > controlSize.height )
   {
     scrollOffset.y += cursorPosition.y;
   }
index 7fcbf76..e45436f 100644 (file)
@@ -76,6 +76,12 @@ TypeRegistration CONTROL_TYPE( typeid(Control), typeid(CustomActor), Create );
 
 TypeAction ACTION_TYPE_1( CONTROL_TYPE, Toolkit::Control::ACTION_CONTROL_ACTIVATED, &Internal::Control::DoAction );
 
+SignalConnectorType SIGNAL_CONNECTOR_1( CONTROL_TYPE, Toolkit::Control::SIGNAL_KEY_EVENT,     &Internal::Control::DoConnectSignal );
+SignalConnectorType SIGNAL_CONNECTOR_2( CONTROL_TYPE, Toolkit::Control::SIGNAL_TAPPED,        &Internal::Control::DoConnectSignal );
+SignalConnectorType SIGNAL_CONNECTOR_3( CONTROL_TYPE, Toolkit::Control::SIGNAL_PANNED,        &Internal::Control::DoConnectSignal );
+SignalConnectorType SIGNAL_CONNECTOR_4( CONTROL_TYPE, Toolkit::Control::SIGNAL_PINCHED,       &Internal::Control::DoConnectSignal );
+SignalConnectorType SIGNAL_CONNECTOR_5( CONTROL_TYPE, Toolkit::Control::SIGNAL_LONG_PRESSED,  &Internal::Control::DoConnectSignal );
+
 /**
  * Structure which holds information about the background of a control
  */
@@ -945,6 +951,50 @@ bool Control::DoAction(BaseObject* object, const std::string& actionName, const
   return ret;
 }
 
+bool Control::DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor )
+{
+  Dali::BaseHandle handle( object );
+
+  bool connected( false );
+  Toolkit::Control control = Toolkit::Control::DownCast(handle);
+  if ( control )
+  {
+    Control& controlImpl( control.GetImplementation() );
+    connected = true;
+
+    if ( Toolkit::Control::SIGNAL_KEY_EVENT == signalName )
+    {
+      controlImpl.KeyEventSignal().Connect( tracker, functor );
+    }
+    else if( Toolkit::Control::SIGNAL_TAPPED == signalName )
+    {
+      controlImpl.EnableGestureDetection( Gesture::Tap );
+      controlImpl.GetTapGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+    else if( Toolkit::Control::SIGNAL_PANNED == signalName )
+    {
+      controlImpl.EnableGestureDetection( Gesture::Pan );
+      controlImpl.GetPanGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+    else if( Toolkit::Control::SIGNAL_PINCHED == signalName )
+    {
+      controlImpl.EnableGestureDetection( Gesture::Pinch );
+      controlImpl.GetPinchGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+    else if( Toolkit::Control::SIGNAL_LONG_PRESSED == signalName )
+    {
+      controlImpl.EnableGestureDetection( Gesture::LongPress );
+      controlImpl.GetLongPressGestureDetector().DetectedSignal().Connect( tracker, functor );
+    }
+    else
+    {
+      // signalName does not match any signal
+      connected = false;
+    }
+  }
+  return connected;
+}
+
 void Control::DoStyleChange( Toolkit::StyleManager styleManager, StyleChange change )
 {
   if( change.themeChange )
index fb2d062..fdcc05f 100644 (file)
@@ -179,6 +179,17 @@ public:
   static bool DoAction(BaseObject* object, const std::string& actionName, const std::vector<Property::Value>& attributes);
 
   /**
+   * Connects a callback function with the object's signals.
+   * @param[in] object The object providing the signal.
+   * @param[in] tracker Used to disconnect the signal.
+   * @param[in] signalName The signal to connect to.
+   * @param[in] functor A newly allocated FunctorDelegate.
+   * @return True if the signal was connected.
+   * @post If a signal was connected, ownership of functor was passed to CallbackBase. Otherwise the caller is responsible for deleting the unused functor.
+   */
+  static bool DoConnectSignal( BaseObject* object, ConnectionTrackerInterface* tracker, const std::string& signalName, FunctorDelegate* functor );
+
+  /**
    * @brief If deriving classes wish to fine tune pinch gesture
    * detection then they can access the gesture detector through this
    * API and modify the detection.
index 917a5b9..d01ad83 100644 (file)
@@ -25,7 +25,12 @@ namespace Toolkit
 {
 
 const char* const Control::ACTION_CONTROL_ACTIVATED = "control-activated";
+
 const char* const Control::SIGNAL_KEY_EVENT = "key-event";
+const char* const Control::SIGNAL_TAPPED = "tapped";
+const char* const Control::SIGNAL_PANNED = "panned";
+const char* const Control::SIGNAL_PINCHED = "pinched";
+const char* const Control::SIGNAL_LONG_PRESSED = "long-pressed";
 
 Control Control::New()
 {
index 82ab066..951c2b6 100644 (file)
@@ -58,6 +58,10 @@ public:
   /// @name Signals
   /** @{ */
   static const char* const SIGNAL_KEY_EVENT;                 ///< name "key-event"
+  static const char* const SIGNAL_TAPPED;                    ///< name "tapped"
+  static const char* const SIGNAL_PANNED;                    ///< name "panned"
+  static const char* const SIGNAL_PINCHED;                   ///< name "pinched"
+  static const char* const SIGNAL_LONG_PRESSED;              ///< name "long-pressed"
   /** @} */
 
   /// @name Actions
index 5ad2e57..0472917 100644 (file)
@@ -85,11 +85,21 @@ void ScrollViewTwistEffect::SetMaxSwingAngle(const Vector2& maxSwingAngle)
   GetImpl(*this).SetMaxSwingAngle(maxSwingAngle);
 }
 
+Vector2 ScrollViewTwistEffect::GetMaxSwingAngle() const
+{
+  return GetImpl( *this ).GetMaxSwingAngle();
+}
+
 void ScrollViewTwistEffect::SetSwingDropOff(const Vector2& dropOff, const Vector2& distance, AlphaFunction function)
 {
   GetImpl(*this).SetSwingDropOff(dropOff, distance, function);
 }
 
+void ScrollViewTwistEffect::GetSwingDropOff( Vector2& dropOff, Vector2& distance, AlphaFunction& function ) const
+{
+  GetImpl(*this).GetSwingDropOff(dropOff, distance, function);
+}
+
 } // namespace Toolkit
 
 } // namespace Dali
index 719fba2..a208fb0 100644 (file)
@@ -130,6 +130,13 @@ public:
   void SetMaxSwingAngle(const Vector2& maxSwingAngle);
 
   /**
+   * @brief Retrieve the maximum swing angle when at zero drop off.
+   *
+   * @return The maximum swing angle for x and y axes
+   */
+  Vector2 GetMaxSwingAngle() const;
+
+  /**
    * @brief Set the drop off values to affect the amount of swing
    * angle applied to an actor the further it is from the scroll
    * position.
@@ -146,6 +153,15 @@ public:
    */
   void SetSwingDropOff(const Vector2& dropOff, const Vector2& distance, AlphaFunction function = NULL);
 
+  /**
+   * @brief Get the drop off values that affect the amount of swing angle that is applied to an actor.
+   *
+   * @param[out]  dropOff   The current drop-off amount.
+   * @param[out]  distance  The current distance to apply drop-off in pixels.
+   * @param[out]  function  The current alpha function used to affect how the drop iff is applied over the distance.
+   */
+  void GetSwingDropOff( Vector2& dropOff, Vector2& distance, AlphaFunction& function ) const;
+
 protected:
 
   /**
index 6ca2403..76b7af7 100644 (file)
@@ -330,15 +330,17 @@ public:
    * the boundary height the stage height minus the title's height.
    * Restrictions - The boundary box should be set up with a fixed z position for the text-input and the default camera.
    * @param[in] boundingOriginAndSize Rect( x coordinate, y coordinate, width, height )
-   * ------------------------------------------
-   * |(x,y)                                   |
-   * |o---------------------------------------|
-   * ||                                      ||
-   * ||            Bounding Box              || boundary height
-   * ||                                      ||
-   * |----------------------------------------|
-   * ------------------------------------------
-   *               boundary width
+   *                                  @code
+   *                                  +----------------------------------------+
+   *                                  |(x,y)                                   |
+   *                                  |+--------------------------------------+|
+   *                                  ||                                      ||
+   *                                  ||            Bounding Box              || boundary height
+   *                                  ||                                      ||
+   *                                  |+--------------------------------------+|
+   *                                  +----------------------------------------+
+   *                                                boundary width
+   *                                  @endcode
    */
   void SetBoundingRectangle( const Rect<float>& boundingOriginAndSize );
 
index 8b84033..ba01ad5 100644 (file)
@@ -282,22 +282,6 @@ SUBGROUPING            = YES
 
 TYPEDEF_HIDES_STRUCT   = NO
 
-# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
-# determine which symbols to keep in memory and which to flush to disk.
-# When the cache is full, less often used symbols will be written to disk.
-# For small to medium size projects (<1000 input files) the default value is
-# probably good enough. For larger projects a too small cache size can cause
-# doxygen to be busy swapping symbols to and from disk most of the time
-# causing a significant performance penality.
-# If the system has enough physical memory increasing the cache will improve the
-# performance by keeping more symbols in memory. Note that the value works on
-# a logarithmic scale so increasing the size by one will rougly double the
-# memory usage. The cache size is given by this formula:
-# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
-# corresponding to a cache size of 2^16 = 65536 symbols
-
-SYMBOL_CACHE_SIZE      = 0
-
 #---------------------------------------------------------------------------
 # Build related configuration options
 #---------------------------------------------------------------------------
@@ -476,12 +460,6 @@ MAX_INITIALIZER_LINES  = 30
 
 SHOW_USED_FILES        = YES
 
-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = YES
-
 # Set the SHOW_FILES tag to NO to disable the generation of the Files page.
 # This will remove the Files entry from the Quick Index and from the
 # Folder Tree View (if specified). The default is YES.
@@ -835,12 +813,6 @@ HTML_FOOTER            =
 
 HTML_STYLESHEET        =
 
-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
 # documentation will contain sections that can be hidden and shown after the
 # page has loaded. For this to work a browser that supports
@@ -1391,7 +1363,7 @@ HAVE_DOT               = NO
 # DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
 # containing the font.
 
-DOT_FONTNAME           = FreeSans
+DOT_FONTNAME           =
 
 # The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
 # The default size is 10pt.
index 3d75409..beff399 100644 (file)
@@ -18,7 +18,6 @@
       <tab type="filelist" visible="yes" title="" intro=""/>
       <tab type="globals" visible="yes" title="" intro=""/>
     </tab>
-    <tab type="dirs" visible="yes" title="" intro=""/>
     <tab type="examples" visible="yes" title="" intro=""/>
     <tab type="user" visible="yes" title="Deprecated" intro="" url="deprecated.html"/>
   </navindex>
index 297aeb4..57888b0 100644 (file)
@@ -31,7 +31,7 @@ namespace Toolkit
 
 const unsigned int TOOLKIT_MAJOR_VERSION = 1;
 const unsigned int TOOLKIT_MINOR_VERSION = 0;
-const unsigned int TOOLKIT_MICRO_VERSION = 5;
+const unsigned int TOOLKIT_MICRO_VERSION = 6;
 const char * const TOOLKIT_BUILD_DATE    = __DATE__ " " __TIME__;
 
 #ifdef DEBUG_ENABLED
index f730f3d..18086e8 100644 (file)
@@ -1,6 +1,6 @@
 Name:       dali-toolkit
 Summary:    The OpenGLES Canvas Core Library Toolkit
-Version:    1.0.5
+Version:    1.0.6
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0