2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://floralicense.org/license/
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
18 * @file FUiCtrl_ContextMenuListPresenter.h
19 * @brief This is the header file for the _ContextMenuListPresenter class.
21 * This header file contains the declarations of the %_ContextMenuListPresenter class.
23 #ifndef _FUI_CTRL_INTERNAL_CONTEXTMENU_LIST_PRESENTER_H_
24 #define _FUI_CTRL_INTERNAL_CONTEXTMENU_LIST_PRESENTER_H_
26 #include <FGrp_TextTextObject.h>
27 #include "FUi_Control.h"
28 #include "FUiCtrl_ContextMenu.h"
29 #include "FUiCtrl_ContextMenuModel.h"
30 #include "FUiCtrl_IContextMenuPresenter.h"
32 namespace Tizen { namespace Ui { namespace Controls
36 class _ContextMenuModel;
37 class _ContextMenuItem;
40 * @class _ContextMenuListPresenter
48 class _ContextMenuListPresenter
49 : public _IContextMenuPresenter
53 _ContextMenuListPresenter(_ContextMenu* pContextMenu);
54 virtual ~_ContextMenuListPresenter(void);
58 virtual result Install(void);
59 virtual result Draw(void);
60 virtual result DrawBackground(Tizen::Graphics::Canvas* pCanvas);
61 virtual result DrawArrow(Tizen::Graphics::Canvas* pCanvas);
62 virtual result AddItem(const Base::String& text, int actionId, const Tizen::Graphics::Bitmap* normalBitmap, const Tizen::Graphics::Bitmap* pPressedBitmap, const Tizen::Graphics::Bitmap* pHighlightedBitmap);
63 virtual result InsertItem(int index, const Tizen::Base::String& text, int actionId, const Tizen::Graphics::Bitmap* normalBitmap, const Tizen::Graphics::Bitmap* pPressedBitmap, const Tizen::Graphics::Bitmap* pHighlightedBitmap);
64 virtual result SetItem(int index, const Tizen::Base::String& text, int actionId, const Tizen::Graphics::Bitmap* normalBitmap, const Tizen::Graphics::Bitmap* pPressedBitmap, const Tizen::Graphics::Bitmap* pHighlightedBitmap);
65 virtual result DeleteItem(int index);
66 virtual result DeleteItemAll(void);
67 virtual int CalculateShowItemCount(void);
68 virtual result CalculateWindowRect(void);
69 virtual result ApplyColorProperty(void);
71 virtual _UiTouchEventDelivery OnPreviewTouchPressed(const _Control& source, const _TouchInfo& touchinfo);
72 virtual _UiTouchEventDelivery OnPreviewTouchMoved(const _Control& source, const _TouchInfo& touchinfo);
73 virtual _UiTouchEventDelivery OnPreviewTouchReleased(const _Control& source, const _TouchInfo& touchinfo);
75 virtual bool OnTouchPressed(const _Control& source, const _TouchInfo& touchinfo);
76 virtual bool OnTouchMoved(const _Control& source, const _TouchInfo& touchinfo);
77 virtual bool OnTouchReleased(const _Control& source, const _TouchInfo& touchinfo);
78 virtual bool OnTouchCanceled(const _Control& source, const _TouchInfo& touchinfo);
80 virtual void OnFontChanged(Tizen::Graphics::Font* pFont);
81 virtual void OnFontInfoRequested(unsigned long& style, int& size);
83 virtual void SetAllAccessibilityElement(void);
85 virtual _ContextMenuItemInfo GetItemFromPosition(const Tizen::Graphics::Point& position);
86 virtual _ContextMenuItemInfo FindItem(int index);
87 virtual result SetTopDrawnItemIndex(int index);
88 virtual result DrawBitmap(Tizen::Graphics::Canvas& canvas, const Tizen::Graphics::Rectangle& bounds, const Tizen::Graphics::Bitmap& bitmap);
92 result CalculateRect(void);
93 void AdjustItemLayout(void);
94 void AdjustItemPosition(void);
95 Tizen::Graphics::Dimension AdjustItemLayoutStyle(void);
97 _ContextMenuItem* CreateItem(const Base::String& text, int actionId, const Tizen::Graphics::Bitmap* pNormalBitmap, const Tizen::Graphics::Bitmap* pPressedBitmap, const Tizen::Graphics::Bitmap* pHighlightedBitmap);
98 int GetItemIndexFromPosition(const Tizen::Graphics::Point& point) const;
101 _ContextMenuListPresenter(const _ContextMenuListPresenter& rhs);
102 _ContextMenuListPresenter& operator =(const _ContextMenuListPresenter& rhs);
106 _ContextMenu* __pContextMenu;
107 _ContextMenuModel* __pModel;
109 Tizen::Graphics::Font* __pFont;
110 Tizen::Graphics::Dimension __layoutSize;
122 int __screenTopMargin;
123 int __screenBottomMargin;
124 int __screenLeftMargin;
125 int __screenRightMargin;
134 int __itemBitmapWidth;
135 int __itemBitmapHeight;
139 }; // _ContextMenuListPresenter
141 }}} // Tizen::Ui: Control
143 #endif //_FUI_CTRL_INTERNAL_CONTEXTMENU_LIST_PRESENTER_H_