-#ifndef __DALI_TOOLKIT_INTERNAL_POPUP_H__
-#define __DALI_TOOLKIT_INTERNAL_POPUP_H__
+#ifndef DALI_TOOLKIT_INTERNAL_POPUP_H
+#define DALI_TOOLKIT_INTERNAL_POPUP_H
/*
- * Copyright (c) 2015 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.
*/
// EXTERNAL INCLUDES
-#include <dali/public-api/actors/image-actor.h>
#include <dali/public-api/actors/layer.h>
#include <dali/public-api/adaptor-framework/timer.h>
#include <dali/public-api/animation/animation.h>
// INTERNAL INCLUDES
#include <dali-toolkit/public-api/controls/control-impl.h>
-#include <dali-toolkit/public-api/controls/table-view/table-view.h>
+#include <dali-toolkit/devel-api/controls/table-view/table-view.h>
#include <dali-toolkit/devel-api/controls/popup/popup.h>
namespace Dali
*/
void SetExitAnimationData( const Property::Map& map );
+ /**
+ * @briefs Updates the popup background's position and size.
+ */
+ void UpdateBackgroundPositionAndSize();
+
public: // Signals
/**
/**
* Signal occurs when the dimmed backing for the Popup is touched.
* @param[in] actor The Actor Touched
- * @param[in] event The Touch Event.
+ * @param[in] touch The Touch Data.
* @return Whether to consume event or not.
*/
- bool OnBackingTouched(Actor actor, const TouchEvent& event);
+ bool OnBackingTouched(Actor actor, const TouchEvent& touch);
/**
* Signal occurs when a mouse wheel event occurs on the dimmed backing.
/**
* Signal occurs when the dialog has been touched.
* @param[in] actor The Actor Touched
- * @param[in] event The Touch Event.
+ * @param[in] touch The Touch Data.
* @return Whether to consume event or not.
*/
- bool OnDialogTouched(Actor actor, const TouchEvent& event);
+ bool OnDialogTouched( Actor actor, const TouchEvent& touch );
/**
* @copydoc Toolkit::Control::OnInitialize()
*/
- virtual void OnInitialize();
+ void OnInitialize() override;
/**
* Called whenever the popup layout is re-set up.
/**
* Called when the popup is directly or indirectly parented to the stage.
*/
- virtual void OnControlStageConnection();
+ void OnSceneConnection( int depth ) override;
/**
* From Control; called after a child has been added to the owning actor.
* @param[in] child The child which has been added.
*/
- virtual void OnControlChildAdd( Actor& child );
+ void OnChildAdd( Actor& child ) override;
/**
* @copydoc Control::OnRelayOut()
*/
- virtual void OnRelayout( const Vector2& size, RelayoutContainer& container );
+ void OnRelayout( const Vector2& size, RelayoutContainer& container ) override;
/**
* @copydoc Control::OnSetResizePolicy()
*/
- virtual void OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension );
+ void OnSetResizePolicy( ResizePolicy::Type policy, Dimension::Type dimension ) override;
/**
* @copydoc Control::GetNaturalSize()
*/
- virtual Vector3 GetNaturalSize();
+ Vector3 GetNaturalSize() override;
/**
* @copydoc Control::GetHeightForWidth()
*/
- virtual float GetHeightForWidth( float width );
+ float GetHeightForWidth( float width ) override;
/**
* @copydoc Control::GetWidthForHeight()
*/
- virtual float GetWidthForHeight( float height );
+ float GetWidthForHeight( float height ) override;
/**
* @copydoc Control::OnKeyEvent()
*/
- virtual bool OnKeyEvent( const KeyEvent& event );
+ bool OnKeyEvent( const KeyEvent& event ) override;
/**
* @copydoc Control::GetNextKeyboardFocusableActor()
private:
+ /**
+ * Recursively add any focusable actors or layout containers to the provided vector.
+ * Include the top level actor if it is a layout container.
+ *
+ * @param[in] parent The actor to start from
+ * @param[in/out] focusableActors The vector to add focusable actors to
+ */
+ void AddFocusableChildren( Actor parent, std::vector< Actor >& focusableActors );
+
+ /**
+ * Recursively add any focusable actors or layout containers to the provided vector.
+ *
+ * @param[in] parent The actor to start from
+ * @param[in/out] focusableActors The vector to add focusable actors to
+ */
+ void AddFocusableChildrenRecursive( Actor parent, std::vector< Actor >& focusableActors );
+
+ /**
+ * Sets up the touch signals connections as required.
+ * @note This must be called after all the members have been created.
+ */
+ void SetupTouch();
+
+private:
+
// Undefined.
Popup(const Popup&);
bool mBackingEnabled; ///< True if a dimmed backing will be used.
Vector4 mBackingColor; ///< The color of the backing.
Actor mPopupBackgroundImage; ///< Stores the background image.
- Vector4 mBackgroundOuterBorder; ///< Background external border margin size
+ Rect<int> mBackgroundBorder; ///< Background border.
float mMargin; ///< Internal margin for popup contents.
std::string mTailUpImage; ///< Image used for the tail for the up direction.
std::string mTailDownImage; ///< Image used for the tail for the down direction.
} // namespace Dali
-#endif // __DALI_TOOLKIT_INTERNAL_POPUP_H__
+#endif // DALI_TOOLKIT_INTERNAL_POPUP_H