X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Finternal%2Fcontrols%2Fcontrol%2Fcontrol-data-impl.h;h=634e7f605ec566b4f18d4d59bb3ac7049984f3f2;hp=31815f650ab4ff87563574c80efe35ad894493c8;hb=1b032e3f72c144d2da593a1c20d15041a3de00a3;hpb=16634ab902b66b0ba2f3f39af8ff6ed25b5f7115 diff --git a/dali-toolkit/internal/controls/control/control-data-impl.h b/dali-toolkit/internal/controls/control/control-data-impl.h index 31815f6..634e7f6 100755 --- a/dali-toolkit/internal/controls/control/control-data-impl.h +++ b/dali-toolkit/internal/controls/control/control-data-impl.h @@ -24,10 +24,10 @@ #include // INTERNAL INCLUDES -#include +#include #include #include -#include +#include #include #include #include @@ -65,7 +65,7 @@ typedef Dali::OwnerContainer< RegisteredVisual* > RegisteredVisualContainer; /** * @brief Holds the Implementation for the internal control class */ -class Control::Impl : public ConnectionTracker, public Visual::ResourceObserver +class Control::Impl : public ConnectionTracker, public Visual::EventObserver { public: @@ -124,9 +124,17 @@ public: /** * @brief Called when a resource is ready. * @param[in] object The visual whose resources are ready - * @note Overriding method in Visual::ResourceObserver. + * @note Overriding method in Visual::EventObserver. */ - virtual void ResourceReady( Visual::Base& object ); + virtual void ResourceReady( Visual::Base& object ) override; + + /** + * @brief Called when an event occurs. + * @param[in] object The visual whose events occur + * @param[in] signalId The signal to emit. See Visual to find supported signals + * @note Overriding method in Visual::EventObserver. + */ + virtual void NotifyVisualEvent( Visual::Base& object, Property::Index signalId ) override; /** * @copydoc Dali::Toolkit::DevelControl::RegisterVisual() @@ -329,13 +337,36 @@ public: * * @return A pointer to the layout, or NULL. */ - Toolkit::Internal::LayoutBasePtr GetLayout() const; + Toolkit::Internal::LayoutItemPtr GetLayout() const; /** * @brief Set the layout on this control. * @param[in] layout Pointer to the layout */ - void SetLayout( Toolkit::Internal::LayoutBase& layout ); + void SetLayout( Toolkit::Internal::LayoutItem& layout ); + + /** + * @brief Remove the layout from this control + * + * @note This does not remove any children from this control, nor does it strip + * layouts from them but it does remove them from the layout hierarchy. + */ + void RemoveLayout(); + + /** + * @copydoc DevelControl::SetLayoutingRequired + */ + void SetLayoutingRequired( bool layoutingRequired ); + + /** + * @copydoc DevelControl::IsLayoutingRequired() + */ + bool IsLayoutingRequired(); + + /** + * @copydoc DevelControl::VisualEventSignal() + */ + DevelControl::VisualEventSignalType& VisualEventSignal(); private: @@ -383,7 +414,7 @@ public: std::string mSubStateName; // Layout - Toolkit::Internal::LayoutBasePtr mLayout; + Toolkit::Internal::LayoutItemPtr mLayout; int mLeftFocusableActorId; ///< Actor ID of Left focusable control. int mRightFocusableActorId; ///< Actor ID of Right focusable control. @@ -400,6 +431,7 @@ public: Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusGainedSignal; Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusLostSignal; Toolkit::Control::ResourceReadySignalType mResourceReadySignal; + DevelControl::VisualEventSignalType mVisualEventSignal; // Gesture Detection PinchGestureDetector mPinchGestureDetector; @@ -415,6 +447,7 @@ public: ControlBehaviour mFlags : CONTROL_BEHAVIOUR_FLAG_COUNT; ///< Flags passed in from constructor. bool mIsKeyboardNavigationSupported :1; ///< Stores whether keyboard navigation is supported by the control. bool mIsKeyboardFocusGroup :1; ///< Stores whether the control is a focus group. + bool mIsLayoutingRequired :1; ///< Stores whether the control needs to be Layout RegisteredVisualContainer mRemoveVisuals; ///< List of visuals that are being replaced by another visual once ready