2 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
18 * @file GlSettingMainForm.h
19 * @brief This is the header file for SettingMainForm class.
22 #ifndef _GL_SETTING_MAIN_FORM_H_
23 #define _GL_SETTING_MAIN_FORM_H_
30 enum SettingListItemType
41 SETTING_SLIDESHOW_INTERVAL_TITLE = 0, //1
42 SETTING_INTERVAL_2, //2
43 SETTING_INTERVAL_3, //3
44 SETTING_INTERVAL_5, //4
45 SETTING_INTERVAL_10, //5
46 SETTING_INTERVAL_20, //6
49 SETTING_TRANSITION_EFFECT_TITLE, //9
50 SETTING_TRANSITION_SLIDE, //10
51 SETTING_TRANSITION_DISSOLVE, //11
52 SETTING_TRANSITION_ZOOM, //12
56 class SettingPresentationModel;
59 : public Tizen::Ui::Controls::Form
60 , public Tizen::Ui::IActionEventListener
61 , public Tizen::Ui::Controls::IGroupedListViewItemEventListener
62 , public Tizen::Ui::Controls::IGroupedListViewItemProvider
63 , public Tizen::Ui::Controls::IFormBackEventListener
64 , public Tizen::Ui::Scenes::ISceneEventListener
67 SettingMainForm(void);
68 virtual ~SettingMainForm(void);
69 result Initialize(void);
71 virtual result OnInitializing(void);
72 virtual result OnTerminating(void);
74 virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
76 //IGroupedListViewItemProvider
77 Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);
79 Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);
81 bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);
83 bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
85 int GetGroupCount(void);
87 int GetItemCount(int groupIndex);
89 //IGroupedListViewItemEventListener
90 void OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus status);
92 void OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus status);
94 void OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex, int itemIndex, Tizen::Ui::Controls::SweepDirection direction);
96 virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
98 virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
99 const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
100 virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
101 const Tizen::Ui::Scenes::SceneId& nextSceneId);
103 class SettingItemInfo
107 * @brief The Default Constructor
109 SettingItemInfo(void);
112 * @brief The Default Destructor
114 virtual ~SettingItemInfo(void){};
117 int childCount; //only for ITEM_TYPE_DROPDOWN type items
118 bool isOpen; //true for opened and false for closed
119 bool isSelected; //only for ITEM_TYPE_RADIO && ITEM_TYPE_TOGGLE type of items
120 SettingListItemType itemType;
121 Tizen::Base::String titleText;
122 Tizen::Base::String subText;
125 int* pGroupItemCount;
126 SettingItemInfo settingInfo[SETTING_MAX];
130 * @brief Initializes this instance of settings default values.
132 void InitializeSettingValues(void);
135 Tizen::Ui::Controls::GroupedListView* __pList;
136 SettingPresentationModel* __pPresentationModel;
140 #endif /* _GL_SETTING_MAIN_FORM_H_ */