#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 {
, 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);
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);
int GetSubItemCount(int mainIndex) const;
int GetSubItemIndexFromActionId(int actionId) const;
int GetSubItemActionIdAt(int mainIndex, int subIndex) const;
- result ShowSubMenu(int mainIndex, _OptionMenuItem& item, Tizen::Graphics::FloatPoint touchPosition);
+ result ShowSubMenu(int mainIndex, _OptionMenuItem& item);
bool IsSubMenuShown(void) const;
result DestroySubMenu(void);
result InsertItem(int index, const Tizen::Base::String& text, int actionId, const Tizen::Graphics::Bitmap* pNormalBitmap,
void RemoveAllItems(void);
int GetItemCount(void) const;
result SetShowItemCount(int count);
- int GetShowItemCount(void) const;
- int GetShowItemMaxCount(void) const;
+ int GetMaximumVisibleItemsCount(void) const;
int GetItemIndexAt(int actionId) const;
int GetItemActionIdAt(int index) const;
result SetWindowRect(const Tizen::Graphics::FloatRectangle& rect);
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);
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);
+ void OnActivated(void);
+ void OnDeactivated(void);
virtual bool OnAccessibilityFocusMovedNext(const _AccessibilityContainer& control, const _AccessibilityElement& element);
virtual bool OnAccessibilityFocusMovedPrevious(const _AccessibilityContainer& control, const _AccessibilityElement& element);
_ScrollPanel* GetScrollPanel(void);
- // virtual bool OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo);
+ virtual bool OnKeyPressed(const _Control& source, const _KeyInfo& keyInfo);
virtual bool OnKeyReleased(const _Control& source, const _KeyInfo& keyInfo);
- // virtual bool OnFocusGained(const _Control& source);
- // virtual bool OnFocusLost(const _Control& source);
- // virtual void OnDrawFocus(void);
- // void OnFocusModeStateChanged(void);
- // bool IsChildControlFocusManage(void) const;
+ virtual bool OnFocusGained(const _Control& source);
+ virtual bool OnFocusLost(const _Control& source);
+ virtual void OnDrawFocus(void);
+ virtual void OnFocusModeStateChanged(void);
protected:
result SetPresenter(const _OptionMenuPresenter& OptionMenuPresenter);
private:
_OptionMenuPresenter* __pOptionMenuPresenter;
int __showItemCount;
- int __showItemMaxCount;
bool __isAttachedToMainTree;
- bool __ownerInputEnableState;
+ 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
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];
_ScrollPanel* __pScrollPanel;
_ContextMenu* __pSubMenu;
+ Tizen::Ui::Controls::_Frame* __pCurrentFrame;
int __subMenuIndex;
}; // _OptionMenu