X-Git-Url: http://review.tizen.org/git/?p=platform%2Fcore%2Fuifw%2Fdali-toolkit.git;a=blobdiff_plain;f=automated-tests%2Fsrc%2Fdali-toolkit%2Fdali-toolkit-test-utils%2Fdummy-control.h;h=0b257a1e6473af2feaa1bdeaefc1a4ab459f3cdc;hp=95b412622bcd7532bdfe3ac398a5a79e1f96f5a2;hb=ca99959003c0445d5afb437e2be26361dff51623;hpb=475209602f0a7ad74883059a818cbbe41be263e1 diff --git a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h index 95b4126..0b257a1 100644 --- a/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h +++ b/automated-tests/src/dali-toolkit/dali-toolkit-test-utils/dummy-control.h @@ -1,8 +1,8 @@ -#ifndef __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__ -#define __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__ +#ifndef DALI_TOOLKIT_TEST_DUMMY_CONTROL_H +#define DALI_TOOLKIT_TEST_DUMMY_CONTROL_H /* - * Copyright (c) 2014 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. @@ -21,6 +21,9 @@ // INTERNAL INCLUDES #include +// EXTERNAL INCLUDES +#include + namespace Dali { @@ -28,13 +31,36 @@ namespace Toolkit { class DummyControlImpl; -class ControlRenderer; +class TransitionData; + +namespace Visual +{ +class Base; +} + /** * Control does not have a New method so use this dummy class for the handle. */ class DummyControl : public Control { public: + enum PropertyRange + { + PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1, ///< @SINCE_1_0.0 + PROPERTY_END_INDEX = PROPERTY_START_INDEX + 1000 ///< Reserve property index + }; + + struct Property + { + enum Type + { + TEST_VISUAL = PROPERTY_START_INDEX, + TEST_VISUAL2, + FOREGROUND_VISUAL, + FOCUS_VISUAL, + LABEL_VISUAL + }; + }; DummyControl(); DummyControl(const DummyControl& control); @@ -57,15 +83,15 @@ public: // Not intended for application developers * Cannot create an instance of Internal::Control, so use this dummy class for the implementation. * This class does not override any of Internal::Control's behaviour. */ -class DummyControlImpl : public Internal::Control +class DummyControlImpl : public Toolkit::Internal::Control { public: static DummyControl New(); public: - inline void EnableGestureDetection(Gesture::Type type) { Internal::Control::EnableGestureDetection(type); } - inline void DisableGestureDetection(Gesture::Type type) { Internal::Control::DisableGestureDetection(type); } + inline void EnableGestureDetection(GestureType::Value type) { Internal::Control::EnableGestureDetection(type); } + inline void DisableGestureDetection(GestureType::Value type) { Internal::Control::DisableGestureDetection(type); } inline PinchGestureDetector GetPinchGestureDetector() const { return Internal::Control::GetPinchGestureDetector(); } inline PanGestureDetector GetPanGestureDetector() const { return Internal::Control::GetPanGestureDetector(); } inline TapGestureDetector GetTapGestureDetector() const { return Internal::Control::GetTapGestureDetector(); } @@ -75,10 +101,15 @@ public: void RegisterVisual( Property::Index index, Toolkit::Visual::Base visual, bool enabled ); void UnregisterVisual( Property::Index index ); void EnableVisual( Property::Index index, bool enabled ); - bool IsVisualEnabled( Property::Index indepx ); - + bool IsVisualEnabled( Property::Index index ); + int GetVisualCount(); Toolkit::Visual::Base GetVisual( Property::Index index ); Animation CreateTransition( const Toolkit::TransitionData& transition ); + void DoAction( Dali::Property::Index index, Dali::Property::Index action, const Dali::Property::Value attributes ); + + static void SetProperty( BaseObject* object, Dali::Property::Index index, const Dali::Property::Value& value ); + + static Property::Value GetProperty( BaseObject* object, Dali::Property::Index propertyIndex ); // Used to test signal connections void CustomSlot1( Actor actor ); @@ -94,27 +125,35 @@ protected: virtual ~DummyControlImpl(); }; +namespace Impl +{ + /** * Cannot create an instance of Internal::Control, so use this dummy class for the implementation. * This class DOES override Internal::Control's behaviour. */ -class DummyControlImplOverride : public DummyControlImpl +class DummyControl : public Toolkit::DummyControlImpl { public: - static DummyControl New(); + typedef std::function RelayoutCallbackFunc; + + static Toolkit::DummyControl New(); + + void SetLayout( Property::Index visualIndex, Property::Map& map ); + + void SetRelayoutCallback( RelayoutCallbackFunc callback ); private: - DummyControlImplOverride(); + DummyControl(); - virtual ~DummyControlImplOverride(); + virtual ~DummyControl(); private: // From Internal::Control virtual void OnInitialize(); virtual bool OnAccessibilityActivated(); - virtual bool OnAccessibilityTouch( const TouchEvent& touchEvent ); virtual bool OnAccessibilityValueChange( bool isIncrease ); virtual void OnStyleChange( Toolkit::StyleManager styleManager, StyleChange::Type change ); @@ -122,28 +161,28 @@ private: // From Internal::Control virtual void OnPan(const PanGesture& pan); virtual void OnTap(const TapGesture& tap); virtual void OnLongPress(const LongPressGesture& longPress); + virtual Vector3 GetNaturalSize(); + virtual bool OnKeyEvent(const KeyEvent& event); private: // From CustomActorImpl - virtual void OnStageConnection( int depth ); - virtual void OnStageDisconnection(); + virtual void OnSceneConnection( int depth ); + virtual void OnSceneDisconnection(); virtual void OnChildAdd(Actor& child); virtual void OnChildRemove(Actor& child); virtual void OnSizeSet(const Vector3& targetSize); virtual void OnSizeAnimation(Animation& animation, const Vector3& targetSize); - virtual bool OnTouchEvent(const TouchEvent& event); - virtual bool OnHoverEvent(const HoverEvent& event); - virtual bool OnWheelEvent(const WheelEvent& event); - virtual bool OnKeyEvent(const KeyEvent& event); virtual void OnKeyInputFocusGained(); virtual void OnKeyInputFocusLost(); virtual void OnRelayout( const Vector2& size, RelayoutContainer& container ); + DALI_INTERNAL DummyControl( const DummyControl& ); + DALI_INTERNAL DummyControl& operator=( const DummyControl& ); + public: bool initializeCalled; bool activatedCalled; - bool onAccTouchedCalled; bool onAccValueChangeCalled; bool themeChangeCalled; bool fontChangeCalled; @@ -157,16 +196,23 @@ public: bool childRemoveCalled; bool sizeSetCalled; bool sizeAnimationCalled; - bool touchEventCalled; bool hoverEventCalled; bool wheelEventCalled; bool keyEventCalled; bool keyInputFocusGained; bool keyInputFocusLost; + static int constructorCount; + static int destructorCount; + + Property::Map mLayouts; + RelayoutCallbackFunc mRelayoutCallback; + }; +} // namespace Impl + } // namespace Toolkit } // namespace Dali -#endif // __DALI_TOOLKIT_TEST_DUMMY_CONTROL_H__ +#endif // DALI_TOOLKIT_TEST_DUMMY_CONTROL_H