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-impl.h;h=5363c2512dac9057d92b34cf171901f809f5fc7a;hp=966eca0f888aaccfc25d344998e0eab6b7772bc4;hb=9945b2a54e066f5d95b218ddf74c1599f8bff868;hpb=7dc926f34a990b06a39dec7bc467803fe0773600 diff --git a/dali-toolkit/public-api/controls/control-impl.h b/dali-toolkit/public-api/controls/control-impl.h index 966eca0..5363c25 100644 --- a/dali-toolkit/public-api/controls/control-impl.h +++ b/dali-toolkit/public-api/controls/control-impl.h @@ -2,7 +2,7 @@ #define __DALI_TOOLKIT_CONTROL_IMPL_H__ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2015 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,7 +20,6 @@ // EXTERNAL INCLUDES #include -#include #include #include #include @@ -58,6 +57,8 @@ class DALI_IMPORT_API Control : public CustomActorImpl, public ConnectionTracker { public: + class Extension; ///< Forward declare future extension interface + // Creation & Destruction /** @@ -86,24 +87,10 @@ public: virtual float GetWidthForHeight( float height ); /** - * @copydoc Toolkit::Control::GetNaturalSize() + * @copydoc Toolkit::CustomActorImpl::GetNaturalSize() */ virtual Vector3 GetNaturalSize(); - /** - * @brief Retrieves the current Control's size. - * - * @return The control's size. - */ - const Vector3& GetControlSize() const; - - /** - * @brief Retrieves the Control's size set by the Application / Control. - * - * @return The control's size. - */ - const Vector3& GetSizeSet() const; - // Key Input /** @@ -209,7 +196,7 @@ public: /** * @brief Sets whether this control supports two dimensional * keyboard navigation (i.e. whether it knows how to handle the - * keyboardn focus movement between its child actors). + * keyboard focus movement between its child actors). * * The control doesn't support it by default. * @param[in] isSupported Whether this control supports two dimensional keyboard navigation. @@ -296,6 +283,15 @@ public: */ virtual void OnKeyboardFocusChangeCommitted(Actor commitedFocusableActor); + /** + * @brief Emits KeyInputFocusGained signal if true else emits KeyInputFocusLost signal + * + * Should be called last by the control after it acts on the Input Focus change. + * + * @param[in] focusGained True if gained, False if lost + */ + void EmitKeyInputFocusSignal( bool focusGained ); + // Actions & Signals /** @@ -325,6 +321,16 @@ public: Toolkit::Control::KeyEventSignalType& KeyEventSignal(); /** + * @copydoc Dali::Toolkit::Control::KeyInputFocusGainedSignal() + */ + Toolkit::Control::KeyInputFocusSignalType& KeyInputFocusGainedSignal(); + + /** + * @copydoc Dali::Toolkit::Control::KeyInputFocusLostSignal() + */ + Toolkit::Control::KeyInputFocusSignalType& KeyInputFocusLostSignal(); + + /** * @brief Called by the KeyInputFocusManager to emit key event signals. * * @param[in] event The key event. @@ -587,51 +593,22 @@ private: virtual void OnStageConnection(); /** - * @brief Calls OnControlStageDisconnection() to notify derived classed. - * - * @see Dali::CustomActorImpl::OnStageDisconnection() + * @copydoc Dali::CustomActorImpl::OnStageDisconnection() */ virtual void OnStageDisconnection(); /** - * @brief Sends a request to relayout this control. - * - * The control will be relaid out after the - * Dali::Stage::SignalMessageQueueFlushed() signal is emitted. It - * calls OnControlChildAdd() to notify derived classes. - * - * @note This method shouldn't be overridden by derived classes. - * - * @param[in] child The added actor. - * - * @see Dali::CustomActorImpl::OnChildAdd(Actor&) + * @copydoc Dali::CustomActorImpl::OnChildAdd(Actor&) */ virtual void OnChildAdd(Actor& child); /** - * @brief Sends a request to relayout this control. - * - * The control will be relaid out after the - * Dali::Stage::SignalMessageQueueFlushed() signal is emitted. It - * calls OnControlChildRemove() to notify derived classes. - * - * @note This method shouldn't be overridden by derived classes. - * - * @param[in] child The removed actor. - * - * @see Dali::CustomActorImpl::OnChildRemove(Actor&) + * @copydoc Dali::CustomActorImpl::OnChildRemove(Actor&) */ virtual void OnChildRemove(Actor& child); /** - * @brief It stores the size set by size negotiation and relayout. - * - * It also keeps a backup of the size set through the Actor's API used in the size negotiation. - * It calls the OnControlSizeSet() to notify derived classes. - * - * @param[in] targetSize The new size. - * - * @see Dali::CustomActorImpl::OnSizeSet(const Vector3&) + * @copydoc Dali::CustomActorImpl::OnSizeSet(const Vector3&) */ virtual void OnSizeSet(const Vector3& targetSize); @@ -647,6 +624,16 @@ private: */ virtual void SignalDisconnected( SlotObserver* slotObserver, CallbackBase* callback ); + /** + * Retrieve the extension for this control + * + * @return The extension if available, NULL otherwise + */ + virtual Extension* GetExtension() + { + return NULL; + } + private: // Undefined