libaurum: apply smart pointer wider and extract impl out
[platform/core/uifw/aurum.git] / libaurum / inc / UiScrollable.h
1 #pragma once
2 #include "UiObject.h"
3 #include <memory>
4 /**
5  * @brief UiScrollable class
6  * @since_tizen 5.5
7  */
8 class UiScrollable : public UiObject
9 {
10 public:
11     /**
12      * @brief TBD
13      * @since_tizen 5.5
14      */
15     UiScrollable(std::shared_ptr<UiSelector> selector);
16     /**
17      * @brief TBD
18      * @since_tizen 5.5
19      */
20     UiScrollable();
21
22 public:
23     /**
24      * @brief TBD
25      * @since_tizen 5.5
26      */
27     bool exists(UiObject *obj);
28
29     /**
30      * @brief TBD
31      * @since_tizen 5.5
32      */
33     bool scrollToObject(UiObject *obj);
34
35     /**
36      * @brief TBD
37      * @since_tizen 5.5
38      */
39     bool scrollForward();
40     /**
41      * @brief TBD
42      * @since_tizen 5.5
43      */
44     bool scrollForward(int steps);
45
46     /**
47      * @brief TBD
48      * @since_tizen 5.5
49      */
50     bool scrollBackward();
51     /**
52      * @brief TBD
53      * @since_tizen 5.5
54      */
55     bool scrollBackward(int steps);
56
57     /**
58      * @brief TBD
59      * @since_tizen 5.5
60      */
61     bool scrollToBegin();
62
63 private:
64     /**
65      * @brief TBD
66      */
67     std::shared_ptr<UiSelector> mSelector;
68
69     /**
70      * @brief TBD
71      */
72     int mMaxSearchSwipe;
73
74     /**
75      * @brief TBD
76      */
77     int mScrollStep;
78 };