Apply reviewed doxygen
[framework/osp/web.git] / inc / FWebCtrlPageNavigationList.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Apache License, Version 2.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
8 //
9 //     http://www.apache.org/licenses/LICENSE-2.0
10 //
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.
16 //
17
18 /**
19  * @file                FWebCtrlPageNavigationList.h
20  * @brief               This is the header file for the %PageNavigationList class.
21  *
22  * This header file contains the declarations of the %PageNavigationList class.
23  */
24 #ifndef _FWEB_CTRL_PAGE_NAVIGATION_LIST_H_
25 #define _FWEB_CTRL_PAGE_NAVIGATION_LIST_H_
26
27 #include <FBaseObject.h>
28 #include <FBaseColIList.h>
29
30
31 namespace Tizen { namespace Web { namespace Controls
32 {
33 class _PageNavigationListImpl;
34 }}} // Tizen::Web::Controls
35
36 namespace Tizen { namespace Web
37 {
38 class HistoryItem;
39 }} // Tizen::Web
40
41 namespace Tizen { namespace Web { namespace Controls
42 {
43
44 /**
45  * @class               PageNavigationList
46  * @brief               This class contains the back and forward list for a %Web control.
47  *
48  * @since               2.0
49  *
50  * The %PageNavigationList class provides the back and forward list for a %Web control.
51  * @n
52  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/web/controls_namespace.htm">Web Controls Guide</a>.
53  */
54 class _OSP_EXPORT_ PageNavigationList
55         : public Tizen::Base::Object
56 {
57 public:
58         /**
59          * This destructor overrides Tizen::Base::Object::~Object().
60          *
61          * @since               2.0
62          */
63         virtual ~PageNavigationList(void);
64
65         /**
66          * Gets the current history item.
67          *
68          * @since               2.0
69          *
70          * @return              The current history item, @n
71          *                              else @c null if no history item exists
72          */
73         const Tizen::Web::HistoryItem* GetCurrentItem(void) const;
74
75         /**
76          * Gets the index of the current history item.
77          *
78          * @since               2.0
79          *
80          * @return              The index of the currently viewed page in the web page navigation list, @n
81          *                              else @c -1 if no history item exists
82          */
83         int GetCurrentIndex(void) const;
84
85         /**
86          * Gets the history item that the specified @c index points to.
87          *
88          * @since               2.0
89          *
90          * @return              A pointer to the history item at the specified @c index
91          * @param[in]   index                           The index of the element @n
92          *                                                                      The value of the index must be greater than or equal to @c 0.
93          * @exception   E_OUT_OF_RANGE          The specified @c index is out of the valid range.
94          * @remarks             The specific error code can be accessed using the GetLastResult() method.
95          */
96         const Tizen::Web::HistoryItem* GetItemAt(int index) const;
97
98         /**
99          * Gets the total number of history items.
100          *
101          * @since               2.0
102          *
103          * @return              The total number of items
104          */
105         int GetItemCount(void) const;
106
107 private:
108         //
109         // This constructor is intentionally declared as private so that only the platform can create an instance.
110         //
111         // @remarks             This constructor is hidden.
112         //
113         PageNavigationList(void);
114
115         //
116         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
117         //
118         // @param[in]   item                    The instance of the %PageNavigationList class to copy from
119         // @remarks             This constructor is hidden.
120         //
121         PageNavigationList(const PageNavigationList& item);
122
123         //
124         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
125         //
126         // @param[in]   item                    The instance of the %PageNavigationList class to assign from
127         // @remarks             This operator is hidden.
128         //
129         PageNavigationList& operator =(const PageNavigationList& item);
130
131 private:
132         _PageNavigationListImpl* __pPageNavigationListImpl;
133
134         friend class _PageNavigationListImpl;
135
136         friend class _WebImpl;
137 }; // PageNavigationList
138
139 }}} // Tizen::Web::Controls
140 #endif // _FWEB_CTRL_PAGE_NAVIGATION_LIST_H_