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=f6a3288dc7261edad7dd1fca46f3aeaa5fffe262;hp=eceaa31960b147119685a3a74a2e7cd1562ca800;hb=ed40c470e7713deb2a976212b49c771514b99302;hpb=eaebf2e8aa5903e4acbb37ae46050e009863146c diff --git a/dali-toolkit/internal/controls/control/control-data-impl.h b/dali-toolkit/internal/controls/control/control-data-impl.h index eceaa31..f6a3288 100644 --- a/dali-toolkit/internal/controls/control/control-data-impl.h +++ b/dali-toolkit/internal/controls/control/control-data-impl.h @@ -41,20 +41,21 @@ namespace Toolkit namespace Internal { -/** + /** * Struct used to store Visual within the control, index is a unique key for each visual. */ - struct RegisteredVisual - { - Property::Index index; - Toolkit::Visual::Base visual; - bool enabled; - - RegisteredVisual( Property::Index aIndex, Toolkit::Visual::Base &aVisual, bool aEnabled) - : index(aIndex), visual(aVisual), enabled(aEnabled) - { - } - }; +struct RegisteredVisual +{ + Property::Index index; + Toolkit::Visual::Base visual; + bool enabled : 1; + bool pending : 1; + + RegisteredVisual( Property::Index aIndex, Toolkit::Visual::Base &aVisual, bool aEnabled, bool aPendingReplacement ) + : index(aIndex), visual(aVisual), enabled(aEnabled), pending( aPendingReplacement ) + { + } +}; typedef Dali::OwnerContainer< RegisteredVisual* > RegisteredVisualContainer; @@ -178,6 +179,11 @@ public: void StartObservingVisual( Toolkit::Visual::Base& visual); /** + * @copydoc Dali::Toolkit::DevelControl::GetVisualResourceStatus() + */ + Toolkit::Visual::ResourceStatus GetVisualResourceStatus( Property::Index index ) const; + + /** * @copydoc Dali::Toolkit::DevelControl::CreateTransition() */ Dali::Animation CreateTransition( const Toolkit::TransitionData& transitionData ); @@ -259,6 +265,35 @@ public: */ bool IsResourceReady() const; + /** + * @copydoc CustomActorImpl::OnStageDisconnection() + */ + void OnStageDisconnection(); + + /** + * @brief Sets the margin. + * @param[in] margin Margin is a collections of extent ( start, end, top, bottom ) + */ + void SetMargin( Extents margin ); + + /** + * @brief Returns the value of margin + * @return The value of margin + */ + Extents GetMargin() const; + + /** + * @brief Sets the padding. + * @param[in] padding Padding is a collections of extent ( start, end, top, bottom ). + */ + void SetPadding( Extents padding ); + + /** + * @brief Returns the value of padding + * @return The value of padding + */ + Extents GetPadding() const; + private: /** @@ -288,10 +323,13 @@ private: /** * @brief Adds the visual to the list of registered visuals. * @param[in] index The Property index of the visual, used to reference visual - * @param[in] visual The visual to register + * @param[in,out] visual The visual to register, which can be altered in this function * @param[in] enabled false if derived class wants to control when visual is set on stage * @param[in] depthIndexValueSet Set to true if the depthIndex has actually been set manually * @param[in] depthIndex The visual's depth-index is set to this + * + * @note Registering a visual with an index that already has a registered visual will replace it. The replacement will + * occur once the replacement visual is ready (loaded). */ void RegisterVisual( Property::Index index, Toolkit::Visual::Base& visual, VisualState::Type enabled, DepthIndexValue::Type depthIndexValueSet, int depthIndex = 0 ); @@ -310,11 +348,12 @@ public: std::string mStyleName; Vector4 mBackgroundColor; ///< The color of the background visual Vector3* mStartingPinchScale; ///< The scale when a pinch gesture starts, TODO: consider removing this + Extents mMargin; ///< The margin values + Extents mPadding; ///< The padding values Toolkit::Control::KeyEventSignalType mKeyEventSignal; Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusGainedSignal; Toolkit::Control::KeyInputFocusSignalType mKeyInputFocusLostSignal; - - Toolkit::DevelControl::ResourceReadySignalType mResourceReadySignal; + Toolkit::Control::ResourceReadySignalType mResourceReadySignal; // Gesture Detection PinchGestureDetector mPinchGestureDetector; @@ -329,6 +368,8 @@ public: bool mIsKeyboardNavigationSupported :1; ///< Stores whether keyboard navigation is supported by the control. bool mIsKeyboardFocusGroup :1; ///< Stores whether the control is a focus group. + RegisteredVisualContainer mRemoveVisuals; ///< List of visuals that are being replaced by another visual once ready + // Properties - these need to be members of Internal::Control::Impl as they access private methods/data of Internal::Control and Internal::Control::Impl. static const PropertyRegistration PROPERTY_1; static const PropertyRegistration PROPERTY_2; @@ -342,6 +383,8 @@ public: static const PropertyRegistration PROPERTY_10; static const PropertyRegistration PROPERTY_11; static const PropertyRegistration PROPERTY_12; + static const PropertyRegistration PROPERTY_13; + static const PropertyRegistration PROPERTY_14; };