// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/control.h>
-#include <dali-toolkit/public-api/styling/style-manager.h>
namespace Dali DALI_IMPORT_API
{
namespace Toolkit
{
+class StyleManager;
+
namespace Internal DALI_INTERNAL
{
+class StyleChangeProcessor;
class RelayoutControllerImpl;
class KeyInputFocusManager;
}
virtual void OnInitialize() { }
/**
- * @brief Callback for when the theme changes.
+ * @brief This method should be overridden by deriving classes when
+ * they wish to be notified when the style changes.
+ *
+ * @param[in] change Information denoting what has changed.
*/
- virtual void OnThemeChange( Toolkit::StyleManager styleManager );
+ virtual void OnStyleChange(StyleChange change) { }
/**
* @brief Called whenever a pinch gesture is detected on this control.
protected: // Construction
- // Flags for the constructor
- enum ControlBehaviour
- {
- CONTROL_BEHAVIOUR_NONE = 0x0,
- REQUIRES_TOUCH_EVENTS = 0x1, ///< True if the OnTouchEvent() callback is required.
- REQUIRES_THEME_CHANGE_SIGNALS = 0x2 ///< True if this control should listen to theme change signals
- };
-
/**
- * @deprecated Use the constructor taking flags instead
* @brief Create a Control.
*
* @param[in] requiresTouchEvents True if the OnTouchEvent() callback is required.
*/
Control(bool requiresTouchEvents);
- /**
- * @brief Create a Control.
- *
- * @param[in] behaviourFlags Behavioural flags from ControlBehaviour enum
- */
- Control(ControlBehaviour behaviourFlags);
-
public:
// Size negotiation
class Impl;
Impl *mImpl;
+ friend class Internal::StyleChangeProcessor;
friend class Internal::RelayoutControllerImpl; ///< Relayout controller needs to call Relayout() which is private.
friend class Internal::KeyInputFocusManager; ///< KeyInputFocusManager needs to call which is private.
};