3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Flora License, Version 1.1 (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.
19 * @file ClkWorldClockListForm.h
20 * @brief This is the header file for WorldClockListForm class
23 #ifndef _CLK_WORLD_CLOCK_LIST_FORM_H_
24 #define _CLK_WORLD_CLOCK_LIST_FORM_H_
28 #include "ClkDaylightSavingPopUp.h"
30 class WorldClockListForm
31 : public Tizen::Ui::Controls::Form
32 , public IDstTimeEventListener
33 , public Tizen::Base::Runtime::ITimerEventListener
34 , public Tizen::Ui::Controls::IFormBackEventListener
35 , public Tizen::Ui::Controls::IFormMenuEventListener
36 , public Tizen::Ui::Controls::IListViewItemProvider
37 , public Tizen::Ui::Controls::IListViewItemEventListener
38 , public Tizen::Ui::IActionEventListener
39 , public Tizen::Ui::IOrientationEventListener
40 , public Tizen::Ui::Scenes::ISceneEventListener
41 , public Tizen::System::ISettingEventListener
45 *@brief Default destructor
47 WorldClockListForm(void);
50 *@brief Default destructor
52 virtual ~WorldClockListForm(void);
55 * @brief Initializes %WorldClockListForm.
57 * @return An error code
59 * @exception true The method is successful.
60 * @exception false An error occurred.
62 bool Initialize(void);
65 * @brief Initializes the controls of the UI for %WorldClockListForm.
67 * @return An error code
68 * @exception E_SUCCESS The method is successful.
69 * @exception E_INVALID_STATE This instance has already been constructed.
70 * @exception E_INVALID_ARG A specified input parameter is invalid.
71 * @exception E_OUT_OF_MEMORY The memory is insufficient.
72 * @exception E_SYSTEM A system error has occurred.
75 virtual result OnInitializing(void);
78 * @brief Terminates the controls of the UI for %WorldClockListForm.
80 * @return An error code
81 * @exception E_SUCCESS The method is successful.
82 * @exception E_INVALID_STATE This instance has already been constructed.
83 * @exception E_INVALID_ARG A specified input parameter is invalid.
84 * @exception E_OUT_OF_MEMORY The memory is insufficient.
85 * @exception E_SYSTEM A system error has occurred.
88 virtual result OnTerminating(void);
91 * @brief Initialises the context menu at the point for %WorldClockListForm.
93 * @return An error code
94 * @exception E_SUCCESS The method is successful.
95 * @exception E_INVALID_STATE This instance has already been constructed.
96 * @exception E_INVALID_ARG A specified input parameter is invalid.
97 * @exception E_OUT_OF_MEMORY The memory is insufficient.
98 * @exception E_SYSTEM A system error has occurred.
101 result InitContextMenu(Tizen::Graphics::Point& p);
104 //IListViewItemProvider
105 virtual Tizen::Ui::Controls::ListItemBase * CreateItem(int index, int itemWidth);
106 virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase *pItem, int itemWidth);
107 virtual int GetItemCount(void);
109 //IActionEventListener
110 virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
112 //IDstTimeEventListener
113 virtual void OnDaylightSavingPopUpItemSelected(int dstTime);
115 //IFormBackEventListener
116 virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
118 virtual void OnFormMenuRequested(Tizen::Ui::Controls::Form& source);
120 // IListViewItemEventListener
121 virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
122 virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId, bool& invokeListViewItemCallback){};
123 virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId, Tizen::Ui::Controls::ListItemStatus status){};
124 virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index, Tizen::Ui::Controls::SweepDirection direction){};
126 //ISceneEventListener
127 virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
128 virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
130 // ITimerEventListener
131 virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer);
133 virtual void OnOrientationChanged(const Tizen::Ui::Control& source, Tizen::Ui::OrientationStatus orientationStatus);
135 virtual void OnSettingChanged(Tizen::Base::String& key);
137 virtual void OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList* pArgs);
143 Tizen::Ui::Controls::ListContextItem* __pItemContext;
144 Tizen::Ui::Controls::ListContextItem* __pItemContextLandscape;
145 Tizen::Ui::Controls::ListView* __pListview;
146 Tizen::Ui::Controls::ContextMenu* __pMenu;
147 Tizen::Ui::Controls::OptionMenu* __pOptionMenu;
148 DaylightSavingPopUp* __pPopUp;
149 Tizen::Base::Runtime::Timer* __pTimer;
150 int __timerResetFlag;
151 Tizen::Base::String __timerResetKey;
155 #endif // _CLK_WORLD_CLOCK_LIST_FORM_H_