fix for p130925 - 00132
[platform/framework/native/uifw.git] / src / ui / inc / FUiCtrl_OptionMenu.h
index 8132629..0cd85e0 100644 (file)
 
 #include <FBaseString.h>
 #include <FGrpColor.h>
+#include <FUiAnimIVisualElementAnimationStatusEventListener.h>
 #include "FUi_Window.h"
 #include "FUiCtrl_OptionMenuPresenter.h"
 #include "FUiCtrl_ActionEvent.h"
 #include "FUiCtrl_IActionEventListener.h"
-
+#include "FUiCtrl_IFrameEventListener.h"
 #include "FUiCtrl_ScrollPanel.h"
 
 namespace Tizen { namespace Ui {
@@ -70,6 +71,8 @@ class _OSP_EXPORT_ _OptionMenu
        , virtual public _IUiEventListener
        , virtual public _IUiEventPreviewer
        , public _IAccessibilityListener
+       , virtual public _IFrameEventListener
+       , public Tizen::Ui::Animations::IVisualElementAnimationStatusEventListener
 {
        DECLARE_CLASS_BEGIN(_OptionMenu, _Control);
        DECLARE_PROPERTY("color", GetPropertyColor, SetPropertyColor);
@@ -112,6 +115,9 @@ public:
        static _OptionMenu* CreateOptionMenuN(void);
 
 public:
+        void OnVisualElementAnimationFinished(const Tizen::Ui::Animations::VisualElementAnimation& animation, const Tizen::Base::String& keyName, Tizen::Ui::Animations::VisualElement& target, bool completedNormally);
+        void OnVisualElementAnimationRepeated(const Tizen::Ui::Animations::VisualElementAnimation& animation, const Tizen::Base::String& keyName, Tizen::Ui::Animations::VisualElement& target, long currentRepeatCount){};
+        void OnVisualElementAnimationStarted(const Tizen::Ui::Animations::VisualElementAnimation& animation, const Tizen::Base::String& keyName, Tizen::Ui::Animations::VisualElement& target){};
        result Install(void);
        result Initialize(void);
        result AddItem(const Tizen::Base::String& text, int actionId, const Tizen::Graphics::Bitmap* pNormalBitmap, const Tizen::Graphics::Bitmap* pPressedBitmap, const Tizen::Graphics::Bitmap* pHighlightedBitmap);
@@ -159,14 +165,21 @@ public:
        const Tizen::Graphics::Bitmap* GetBackgroundNormalBitmap(void) const;
        const Tizen::Graphics::Bitmap* GetBackgroundEffectBitmap(void) const;
        _ControlOrientation GetLayout(void) const;
+       _ControlRotation GetRotation(void) const;
 
        virtual result OnAttachedToMainTree(void);
        virtual result OnDetachingFromMainTree(void);
+       virtual void OnFrameActivated(const Tizen::Ui::Controls::_Frame& source);
+       virtual void OnFrameDeactivated(const Tizen::Ui::Controls::_Frame& source);
+       virtual void OnFrameMinimized(const Tizen::Ui::Controls::_Frame& source);
+       virtual void OnFrameRestored(const Tizen::Ui::Controls::_Frame& source);
        virtual void OnDraw(void);
 
        virtual _UiTouchEventDelivery OnPreviewTouchPressed(const _Control& source, const _TouchInfo& touchinfo);
        virtual _UiTouchEventDelivery OnPreviewTouchMoved(const _Control& source, const _TouchInfo& touchinfo);
        virtual _UiTouchEventDelivery OnPreviewTouchReleased(const _Control& source, const _TouchInfo& touchinfo);
+       void CloseAnimation(int actionID);
+       void OpenAnimation();
 
        virtual bool OnTouchPressed(const _Control& source, const _TouchInfo& touchinfo);
        virtual bool OnTouchReleased(const _Control& source, const _TouchInfo& touchinfo);
@@ -178,7 +191,7 @@ public:
        virtual void OnFontChanged(Tizen::Graphics::Font* pFont);
        virtual void OnFontInfoRequested(unsigned long& style, float& size);
 
-       virtual void OnChangeLayout(_ControlOrientation orientation);
+       virtual void OnChangeLayout(_ControlRotation rotation);
        virtual void OnOwnerChanged(_Control* pOldOwner);
        void OnActivated(void);
        void OnDeactivated(void);
@@ -228,6 +241,12 @@ private:
        bool __isMaxVisibleCountSet;
        bool __isFocused;
        int __currentFocusedIndex;
+       int __selectedActionID;
+
+       static const int ANIMATION_DURATION = 333;
+
+       Tizen::Ui::Animations::IVisualElementAnimationTimingFunction* __pBoundsTimingFunction;
+       Tizen::Ui::Animations::IVisualElementAnimationTimingFunction* __pOpacityTimingFunction;
 
        // attribute for position fo the window
        Tizen::Graphics::FloatRectangle __windowRect;   // OptionMenu window in the whole screen area
@@ -241,6 +260,7 @@ private:
        Tizen::Graphics::Bitmap* __pBackgroundNormalBitmap;
        Tizen::Graphics::Bitmap* __pBackgroundEffectBitmap;
        enum _ControlOrientation __layout;
+       enum _ControlRotation __rotation;
 
        Tizen::Graphics::Color __backgroundColor;
        Tizen::Graphics::Color __textColor[OPTION_MENU_ITEM_STATUS_COUNT];
@@ -251,6 +271,7 @@ private:
 
        _ScrollPanel* __pScrollPanel;
        _ContextMenu* __pSubMenu;
+       Tizen::Ui::Controls::_Frame* __pCurrentFrame;
        int __subMenuIndex;
 
 }; // _OptionMenu