X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=dali-toolkit%2Fpublic-api%2Fcontrols%2Fcontrol.h;h=6ecfd8bb19f909398601ef414dc9d2eea6629080;hp=6d2f7e756b245a860ed65e03f711f6b84edda512;hb=refs%2Fchanges%2F77%2F239777%2F2;hpb=3ea0c6dd8536cc1ebd948f47f569bc8f09547e27 diff --git a/dali-toolkit/public-api/controls/control.h b/dali-toolkit/public-api/controls/control.h index 6d2f7e7..6ecfd8b 100644 --- a/dali-toolkit/public-api/controls/control.h +++ b/dali-toolkit/public-api/controls/control.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_CONTROL_H__ -#define __DALI_TOOLKIT_CONTROL_H__ +#ifndef DALI_TOOLKIT_CONTROL_H +#define DALI_TOOLKIT_CONTROL_H /* - * Copyright (c) 2017 Samsung Electronics Co., Ltd. + * Copyright (c) 2020 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -20,13 +20,15 @@ // EXTERNAL INCLUDES #include -#include +#include #include #include #include #include #include -#include + +// INTERNAL INCLUDES +#include namespace Dali { @@ -69,7 +71,7 @@ class Control; * |------------------------|----------------------------------------------------| * | accessibilityActivated | %OnAccessibilityActivated() | */ -class DALI_IMPORT_API Control : public CustomActor +class DALI_TOOLKIT_API Control : public CustomActor { public: @@ -105,27 +107,6 @@ public: STYLE_NAME = PROPERTY_START_INDEX, /** - * @DEPRECATED_1_1.3 - * @brief The background color of the control. - * - * Mutually exclusive with BACKGROUND_IMAGE & BACKGROUND. - * @details Name "backgroundColor", type Property::VECTOR4. - * @see Toolkit::Control::SetStyleName() - * @SINCE_1_0.0 - */ - BACKGROUND_COLOR, - - /** - * @DEPRECATED_1_1.3 - * @brief The background image of the control. - * - * Mutually exclusive with BACKGROUND_COLOR & BACKGROUND. - * @details Name "backgroundImage", type Property::MAP. - * @SINCE_1_0.0 - */ - BACKGROUND_IMAGE, - - /** * @brief Receives key events to the control. * @details Name "keyInputFocus", type Property::BOOLEAN. * @see Toolkit::Control::SetKeyInputFocus() @@ -136,7 +117,6 @@ public: /** * @brief The background of the control. * - * Mutually exclusive with BACKGROUND_COLOR & BACKGROUND_IMAGE. * @details Name "background", type Property::MAP or std::string for URL or Property::VECTOR4 for Color. * @SINCE_1_1.3 */ @@ -220,6 +200,14 @@ public: // Creation & Destruction Control(const Control& uiControl); /** + * @brief Move constructor. + * + * @SINCE_1_9.23 + * @param[in] rhs Handle to move + */ + Control( Control&& rhs ); + + /** * @brief Dali::Control is intended as a base class. * * This is non-virtual since derived Handle types must not contain data or virtual methods. @@ -230,7 +218,7 @@ public: // Creation & Destruction public: // operators /** - * @brief Assignment operator. + * @brief Copy assignment operator. * * Changes this handle to point to another real object. * @SINCE_1_0.0 @@ -239,6 +227,15 @@ public: // operators */ Control& operator=( const Control& handle ); + /** + * @brief Move assignment operator. + * + * @SINCE_1_9.23 + * @param[in] rhs Object to assign this to + * @return Reference to this + */ + Control& operator=( Control&& rhs ); + public: /** @@ -359,26 +356,6 @@ public: void SetBackgroundColor( const Vector4& color ); /** - * @DEPRECATED_1_1.3 - * - * @brief Retrieves the background color of the control. - * - * @SINCE_1_0.0 - * @return The background color of the control - */ - Vector4 GetBackgroundColor() const DALI_DEPRECATED_API; - - /** - * @DEPRECATED_1_2_8, use Property::BACKGROUND instead - * - * @brief Sets an image as the background of the control. - * - * @SINCE_1_0.0 - * @param[in] image The image to set as the background - */ - void SetBackgroundImage( Image image ) DALI_DEPRECATED_API; - - /** * @brief Clears the background. * @SINCE_1_0.0 */ @@ -395,6 +372,15 @@ public: */ bool IsResourceReady() const; + /** + * @brief Get the loading state of the visual resource. + * + * @SINCE_1_3_5 + * @param[in] index The Property index of the visual + * @return Return the loading status (PREPARING, READY and FAILED) of visual resource + */ + Visual::ResourceStatus GetVisualResourceStatus( const Dali::Property::Index index ); + // Signals /** @@ -450,12 +436,30 @@ public: * * Most resources are only loaded when the control is placed on stage. * + * If resources are shared between ImageViews, they are cached. + * In this case, the ResourceReady signal may be sent before there is an object to connect to. + * To protect against this, IsResourceReady() can be checked first. + * + * @code + * auto newControl = Control::New(); + * newControl.SetResource( resourceUrl ); + * if ( newControl.IsResourceReady() ) + * { + * // do something + * } + * else + * { + * newControl.ResourceReadySignal.Connect( .... ) + * } + * @endcode + * * A callback of the following type may be connected: * @code * void YourCallbackName( Control control ); * @endcode * * @SINCE_1_2.60 + * @return The signal to connect to * @note A RelayoutRequest is queued by Control before this signal is emitted */ ResourceReadySignalType& ResourceReadySignal(); @@ -542,4 +546,4 @@ public: // Templates for Deriving Classes } // namespace Dali -#endif // __DALI_TOOLKIT_CONTROL_H__ +#endif // DALI_TOOLKIT_CONTROL_H