libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / libaurum / inc / UiSelector.h
1 #ifndef UI_SELECTOR_H
2 #define UI_SELECTOR_H
3 #include "config.h"
4
5 #include <string>
6 #include <vector>
7 #include <memory>
8 /**
9  * @brief UiSelector class
10  * @since_tizen 5.5
11  */
12 class UiSelector {
13 public:
14     /**
15      * @brief TBD
16      * @since_tizen 5.5
17      */
18     UiSelector();
19     /**
20      * @brief TBD
21      * @since_tizen 5.5
22      */
23     UiSelector(UiSelector &selector);
24
25     // UiSelector(const UiSelector &src);
26     //        UiSelector &operator= (const UiSelector& src);
27
28 public:
29     /**
30      * @brief TBD
31      * @since_tizen 5.5
32      */
33     UiSelector *id(std::string text);
34
35     /**
36      * @brief TBD
37      * @since_tizen 5.5
38      */
39     UiSelector *text(std::string text);
40
41     /**
42      * @brief TBD
43      * @since_tizen 5.5
44      */
45     UiSelector *pkg(std::string text);
46
47     /**
48      * @brief TBD
49      * @since_tizen 5.5
50      */
51     UiSelector *type(std::string text);
52
53     /**
54      * @brief TBD
55      * @since_tizen 5.5
56      */
57     UiSelector *style(std::string text);
58
59     /**
60      * @brief TBD
61      * @since_tizen 5.5
62      */
63     UiSelector *depth(int depth);
64
65     /**
66      * @brief TBD
67      * @since_tizen 5.5
68      */
69     UiSelector *depth(int minDepth, int maxDepth);
70
71     /**
72      * @brief TBD
73      * @since_tizen 5.5
74      */
75     UiSelector *minDepth(int depth);
76
77     /**
78      * @brief TBD
79      * @since_tizen 5.5
80      */
81     UiSelector *maxDepth(int depth);
82
83     /**
84      * @brief TBD
85      * @since_tizen 5.5
86      */
87     UiSelector *isChecked(bool cond);
88
89     /**
90      * @brief TBD
91      * @since_tizen 5.5
92      */
93     UiSelector *isCheckable(bool cond);
94
95     /**
96      * @brief TBD
97      * @since_tizen 5.5
98      */
99     UiSelector *isClickable(bool cond);
100
101     /**
102      * @brief TBD
103      * @since_tizen 5.5
104      */
105     UiSelector *isEnabled(bool cond);
106
107     /**
108      * @brief TBD
109      * @since_tizen 5.5
110      */
111     UiSelector *isFocused(bool cond);
112
113     /**
114      * @brief TBD
115      * @since_tizen 5.5
116      */
117     UiSelector *isFocusable(bool cond);
118
119     /**
120      * @brief TBD
121      * @since_tizen 5.5
122      */
123     UiSelector *isScrollable(bool cond);
124
125     /**
126      * @brief TBD
127      * @since_tizen 5.5
128      */
129     UiSelector *isSelected(bool cond);
130
131     /**
132      * @brief TBD
133      * @since_tizen 5.5
134      */
135     UiSelector *isShowing(bool cond);
136
137     /**
138      * @brief TBD
139      * @since_tizen 5.5
140      */
141     UiSelector *isActive(bool cond);
142
143     /**
144      * @brief TBD
145      * @since_tizen 5.5
146      */
147     UiSelector *res(std::string text);
148
149     /**
150      * @brief TBD
151      * @since_tizen 5.5
152      */
153     UiSelector *desc(std::string text);
154
155     /**
156      * @brief TBD
157      * @since_tizen 5.5
158      */
159     UiSelector *hasChild(std::shared_ptr<UiSelector> child);
160
161 public:
162     /**
163      * @brief TBD
164      * @since_tizen 5.5
165      */
166     std::unique_ptr<std::string> mId;
167
168     /**
169      * @brief TBD
170      * @since_tizen 5.5
171      */
172     std::unique_ptr<std::string> mText;
173
174     /**
175      * @brief TBD
176      * @since_tizen 5.5
177      */
178     std::unique_ptr<std::string> mPkg;
179
180     /**
181      * @brief TBD
182      * @since_tizen 5.5
183      */
184     std::unique_ptr<std::string> mType;
185
186     /**
187      * @brief TBD
188      * @since_tizen 5.5
189      */
190     std::unique_ptr<std::string> mStyle;
191
192     /**
193      * @brief TBD
194      * @since_tizen 5.5
195      */
196     std::unique_ptr<int> mMinDepth;
197
198     /**
199      * @brief TBD
200      * @since_tizen 5.5
201      */
202     std::unique_ptr<int> mMaxDepth;
203
204     /**
205      * @brief TBD
206      * @since_tizen 5.5
207      */
208     std::unique_ptr<bool> mIschecked;
209
210     /**
211      * @brief TBD
212      * @since_tizen 5.5
213      */
214     std::unique_ptr<bool> mIscheckable;
215
216     /**
217      * @brief TBD
218      * @since_tizen 5.5
219      */
220     std::unique_ptr<bool> mIsclickable;
221
222     /**
223      * @brief TBD
224      * @since_tizen 5.5
225      */
226     std::unique_ptr<bool> mIsenabled;
227
228     /**
229      * @brief TBD
230      * @since_tizen 5.5
231      */
232     std::unique_ptr<bool> mIsfocused;
233
234     /**
235      * @brief TBD
236      * @since_tizen 5.5
237      */
238     std::unique_ptr<bool> mIsfocusable;
239
240     /**
241      * @brief TBD
242      * @since_tizen 5.5
243      */
244     std::unique_ptr<bool> mIsscrollable;
245
246     /**
247      * @brief TBD
248      * @since_tizen 5.5
249      */
250     std::unique_ptr<bool> mIsselected;
251
252     /**
253      * @brief TBD
254      * @since_tizen 5.5
255      */
256     std::unique_ptr<bool> mIsshowing;
257
258     /**
259      * @brief TBD
260      * @since_tizen 5.5
261      */
262     std::unique_ptr<bool> mIsactive;
263
264     /**
265      * @brief TBD
266      * @since_tizen 5.5
267      */
268     std::unique_ptr<std::string> mRes;
269
270     /**
271      * @brief TBD
272      * @since_tizen 5.5
273      */
274     std::vector<std::shared_ptr<UiSelector>> mChild;
275 };
276
277 #endif