Fix for klockwork minor issues.
[platform/framework/native/uifw.git] / inc / FUiCtrlScrollPanel.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 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        FUiCtrlScrollPanel.h
20  * @brief       This is the header file for the %ScrollPanel class.
21  *
22  * This header file contains the declarations of the %ScrollPanel class.
23  */
24
25 #ifndef _FUI_CTRL_SCROLL_PANEL_H_
26 #define _FUI_CTRL_SCROLL_PANEL_H_
27
28 #include <FBaseString.h>
29 #include <FBaseTypes.h>
30 #include <FUiCtrlForm.h>
31 #include <FUiCtrlInputTypes.h>
32 #include <FUiCtrlPanel.h>
33 #include <FUiCtrlIScrollEventListener.h>
34 #include <FUiCtrlIScrollEventListenerF.h>
35 #include <FUiCtrlScrollPanelTypes.h>
36
37 namespace Tizen { namespace Ui { namespace Controls
38 {
39 /**
40  * @class       ScrollPanel
41  * @brief       This class implements a scrollable container class.
42  *
43  * @since       2.0
44  *
45  * The %ScrollPanel class is a Panel with automatic scroll bars.
46  *
47  * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/ui/implementing_panels.htm">Panels</a>.
48  *
49  * The following example demonstrates how to use the %ScrollPanel class.
50  *
51  * @code
52 // Sample code for ScrollPanelSample.h
53 #include <FUi.h>
54
55 class ScrollPanelSample
56         : public Tizen::Ui::Controls::Form
57 {
58 public:
59         ScrollPanelSample(void)
60         : __pScrollPanel(null){}
61
62         bool Initialize(void);
63         virtual result OnInitializing(void);
64
65 private:
66         Tizen::Ui::Controls::ScrollPanel* __pScrollPanel;
67 };
68  *      @endcode
69  *
70  *      @code
71 // Sample code for ScrollPanelSample.cpp
72 #include <FGraphics.h>
73
74 #include "ScrollPanelSample.h"
75
76 using namespace Tizen::Graphics;
77 using namespace Tizen::Ui::Controls;
78
79 bool
80 ScrollPanelSample::Initialize(void)
81 {
82         Construct(FORM_STYLE_NORMAL);
83         return true;
84 }
85
86 result
87 ScrollPanelSample::OnInitializing(void)
88 {
89         result r = E_SUCCESS;
90
91         // Creates an instance of ScrollPanel
92         __pScrollPanel = new ScrollPanel();
93         __pScrollPanel->Construct(Rectangle(100, 250, 400, 300));
94         __pScrollPanel->SetBackgroundColor(Color::GetColor(COLOR_ID_YELLOW));
95
96         // Creates an instance of Button and an instance of EditField
97         Button* pButton = new Button();
98         pButton->Construct(Rectangle(0, 80, 200, 150), L"Button");
99
100         EditField* pEdit = new EditField();
101         pEdit->Construct(Rectangle(0, 250, 200, 150));
102         pEdit->SetText(L"Edit");
103
104         // Adds the button and the edit field to the ScrollPanel
105         __pScrollPanel->AddControl(pButton);
106         __pScrollPanel->AddControl(pEdit);
107
108         // Adds the ScrollPanel to the form
109         AddControl(__pScrollPanel);
110
111         return r;
112 }
113  * @endcode
114  */
115
116 class _OSP_EXPORT_ ScrollPanel
117         : public Panel
118 {
119
120 // Lifecycle
121 public:
122         /**
123          * The object is not fully constructed after this constructor is called.  @n
124          * For full construction, the %Construct() method must be called right after calling this constructor.
125          *
126          * @since               2.0
127          *
128          */
129         ScrollPanel(void);
130
131
132         /**
133          * This destructor overrides Tizen::Base::Object::~Object().
134          *
135          * @since               2.0
136          *
137          */
138         virtual ~ScrollPanel(void);
139
140
141         /**
142          * Initializes this instance of %ScrollPanel with the specified rectangular region.
143          *
144          * @since               2.0
145          *
146          * @return              An error code
147          * @param[in]   rect                    The location and size of the %ScrollPanel control
148          * @exception   E_SUCCESS               The method is successful.
149          * @exception   E_INVALID_ARG           The given width or height is less than 0.
150          * @exception   E_SYSTEM                A system error has occurred.
151          * @remarks             By default, the scroll direction is vertical and the scroll area is resized automatically.
152          * @see                 Tizen::Ui::Container
153          */
154         result Construct(const Tizen::Graphics::Rectangle& rect);
155
156
157         /**
158          * Initializes this instance of %ScrollPanel with the specified rectangular region.
159          *
160          * @since               2.1
161          *
162          * @return              An error code
163          * @param[in]   rect                    The location and size of the %ScrollPanel control
164          * @exception   E_SUCCESS               The method is successful.
165          * @exception   E_INVALID_ARG           The given width or height is less than 0.
166          * @exception   E_SYSTEM                A system error has occurred.
167          * @remarks             By default, the scroll direction is vertical and the scroll area is resized automatically.
168          * @see                 Tizen::Ui::Container
169          */
170         result Construct(const Tizen::Graphics::FloatRectangle& rect);
171
172
173         /**
174          * Initializes this instance of %ScrollPanel and child controls with the specified resource ID @n
175          * This method first attempts to find the resource file in the folder that corresponds to the current screen resolution. @n
176          * If it fails to find the resource file, it searches in other folders in the following order when CoordinateSystem is Logical in the application manifest file
177          * the density folder that corresponds to the current screen size category  "res/screen-size-normal/" folder.
178          *
179          * @since 2.0
180          *
181          * @return           An error code
182          * @param[in]  resourceId              The resource ID describing the %ScrollPanel control
183          * @exception  E_SUCCESS               The method is successful.
184          * @exception  E_FILE_NOT_FOUND        The specified file cannot be found.
185          * @exception  E_INVALID_FORMAT        The specified XML format is invalid.
186          * @exception  E_OPERATION_FAILED      The operation has failed.
187          * @remarks     If SetBounds(), SetSize(), SetPosition() methods are called before the control is added to the parent via AddControl(), then the new value is applied
188          *                      to both orientations because the current orientation is not known. After AddControl() is called, then the values are applied only to the current orientation.
189          */
190         result Construct(const Tizen::Base::String& resourceId);
191
192
193         /**
194          * Initializes this instance of %ScrollPanel with the specified rectangular region.
195          *
196          * @since 2.0
197          *
198          * @return              An error code
199          * @param[in]   rect                            The location and size of the %ScrollPanel control
200          * @param[in]   scrollDirection                         The scroll direction of %ScrollPanel
201          * @param[in]   autoResizingEnable                              Whether to resize the client area automatically
202          * @exception   E_SUCCESS               The method is successful.
203          * @exception   E_INVALID_ARG           The given width or height is less than 0.
204          * @see                 Tizen::Ui::Container
205          */
206         result Construct(const Tizen::Graphics::Rectangle& rect, ScrollPanelScrollDirection scrollDirection, bool autoResizingEnable);
207
208
209         /**
210          * Initializes this instance of %ScrollPanel with the specified rectangular region.
211          *
212          * @since 2.1
213          *
214          * @return              An error code
215          * @param[in]   rect                            The location and size of the %ScrollPanel control
216          * @param[in]   scrollDirection                         The scroll direction of %ScrollPanel
217          * @param[in]   autoResizingEnable                              Whether to resize the client area automatically
218          * @exception   E_SUCCESS               The method is successful.
219          * @exception   E_INVALID_ARG           The given width or height is less than 0.
220          * @see                 Tizen::Ui::Container
221          */
222         result Construct(const Tizen::Graphics::FloatRectangle& rect, ScrollPanelScrollDirection scrollDirection, bool autoResizingEnable);
223
224
225         /**
226          * Initializes this instance of %ScrollPanel with the specified layout and rectangular region.
227          *
228          * @since               2.0
229          *
230          * @return              An error code
231          * @param[in]   layout                          The layout for both the portrait and landscape mode
232          * @param[in]   rect                            The location and size of the %ScrollPanel control
233          * @exception   E_SUCCESS               The method is successful.
234          * @exception   E_INVALID_ARG           @c layout is already bound to another container, or the given width or the height is less than 0.
235          * @exception   E_SYSTEM                A system error has occurred.
236          * @remarks             By default, the scroll direction is vertical and the scroll area is resized automatically.
237          * @see                 Tizen::Ui::Container
238          */
239         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::Rectangle& rect);
240
241
242         /**
243          * Initializes this instance of %ScrollPanel with the specified layout and rectangular region.
244          *
245          * @since               2.1
246          *
247          * @return              An error code
248          * @param[in]   layout                          The layout for both the portrait and landscape mode
249          * @param[in]   rect                            The location and size of the %ScrollPanel control
250          * @exception   E_SUCCESS               The method is successful.
251          * @exception   E_INVALID_ARG           @c layout is already bound to another container, or the given width or the height is less than 0.
252          * @exception   E_SYSTEM                A system error has occurred.
253          * @remarks             By default, the scroll direction is vertical and the scroll area is resized automatically.
254          * @see                 Tizen::Ui::Container
255          */
256         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::FloatRectangle& rect);
257
258
259         /**
260          * Initializes this instance of %ScrollPanel with the specified layout and rectangular region.
261          *
262          * @since 2.0
263          *
264          * @return              An error code
265          * @param[in]   layout                          The layout for both the portrait and landscape mode
266          * @param[in]   rect                            The location and size of the %ScrollPanel control
267          * @param[in]   scrollDirection                         The scroll direction of %ScrollPanel
268          * @param[in]   autoResizingEnable                              Whether to resize the client area automatically
269          * @exception   E_SUCCESS               The method is successful.
270          * @exception   E_INVALID_ARG           @c layout is already bound to another container, or the given width or height is less than 0.
271          * @see                 Tizen::Ui::Container
272          */
273         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::Rectangle& rect, ScrollPanelScrollDirection scrollDirection, bool autoResizingEnable);
274
275
276         /**
277          * Initializes this instance of %ScrollPanel with the specified layout and rectangular region.
278          *
279          * @since 2.1
280          *
281          * @return              An error code
282          * @param[in]   layout                          The layout for both the portrait and landscape mode
283          * @param[in]   rect                            The location and size of the %ScrollPanel control
284          * @param[in]   scrollDirection                         The scroll direction of %ScrollPanel
285          * @param[in]   autoResizingEnable                              Whether to resize the client area automatically
286          * @exception   E_SUCCESS               The method is successful.
287          * @exception   E_INVALID_ARG           @c layout is already bound to another container, or the given width or height is less than 0.
288          * @see                 Tizen::Ui::Container
289          */
290         result Construct(const Tizen::Ui::Layout& layout, const Tizen::Graphics::FloatRectangle& rect, ScrollPanelScrollDirection scrollDirection, bool autoResizingEnable);
291
292
293         /**
294          * Initializes this instance of %ScrollPanel with the specified layouts and rectangular region.
295          *
296          * @since               2.0
297          *
298          * @return              An error code
299          * @param[in]   portraitLayout          The layout for the portrait mode
300          * @param[in]   landscapeLayout         The layout for the landscape mode
301          * @param[in]   rect                            The location and size of the %ScrollPanel control
302          * @exception   E_SUCCESS               The method is successful.
303          * @exception   E_INVALID_ARG           @c portraitLayout or @c landscapeLayout is already bound to another container, or the given width or
304          *                                                                      height is less than @c 0.
305          * @exception   E_SYSTEM                A system error has occurred.
306          * @remarks             By default, the scroll direction is vertical and the scroll area is resized automatically.
307          * @see                 Tizen::Ui::Container
308          */
309         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::Rectangle& rect);
310
311
312         /**
313          * Initializes this instance of %ScrollPanel with the specified layouts and rectangular region.
314          *
315          * @since               2.1
316          *
317          * @return              An error code
318          * @param[in]   portraitLayout          The layout for the portrait mode
319          * @param[in]   landscapeLayout         The layout for the landscape mode
320          * @param[in]   rect                            The location and size of the %ScrollPanel control
321          * @exception   E_SUCCESS               The method is successful.
322          * @exception   E_INVALID_ARG           @c portraitLayout or @c landscapeLayout is already bound to another container, or the given width or
323          *                                                                      height is less than @c 0.
324          * @exception   E_SYSTEM                A system error has occurred.
325          * @remarks             By default, the scroll direction is vertical and the scroll area is resized automatically.
326          * @see                 Tizen::Ui::Container
327          */
328         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::FloatRectangle& rect);
329
330
331         /**
332          * Initializes this instance of %ScrollPanel with the specified layouts and rectangular region.
333          *
334          * @since 2.0
335          *
336          * @return              An error code
337          * @param[in]   portraitLayout          The layout for the portrait mode
338          * @param[in]   landscapeLayout         The layout for the landscape mode
339          * @param[in]   rect                            The location and size of the %ScrollPanel control
340          * @param[in]   scrollDirection                         The scroll direction of %ScrollPanel
341          * @param[in]   autoResizingEnable                              Whether to resize the client area automatically
342          * @exception   E_SUCCESS               The method is successful.
343          * @exception   E_INVALID_ARG           @c portraitLayout or @c landscapeLayout is already bound to another container, or the given width or
344          *                                                                      height is less than @c 0.
345          * @see                 Tizen::Ui::Container
346          */
347         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::Rectangle& rect, ScrollPanelScrollDirection scrollDirection, bool autoResizingEnable);
348
349
350         /**
351          * Initializes this instance of %ScrollPanel with the specified layouts and rectangular region.
352          *
353          * @since 2.1
354          *
355          * @return              An error code
356          * @param[in]   portraitLayout          The layout for the portrait mode
357          * @param[in]   landscapeLayout         The layout for the landscape mode
358          * @param[in]   rect                            The location and size of the %ScrollPanel control
359          * @param[in]   scrollDirection                         The scroll direction of %ScrollPanel
360          * @param[in]   autoResizingEnable                              Whether to resize the client area automatically
361          * @exception   E_SUCCESS               The method is successful.
362          * @exception   E_INVALID_ARG           @c portraitLayout or @c landscapeLayout is already bound to another container, or
363          *                                                                      the given width or height is less than 0.
364          * @see                 Tizen::Ui::Container
365          */
366         result Construct(const Tizen::Ui::Layout& portraitLayout, const Tizen::Ui::Layout& landscapeLayout, const Tizen::Graphics::FloatRectangle& rect, ScrollPanelScrollDirection scrollDirection, bool autoResizingEnable);
367
368
369         /**
370          * Adds a listener instance that listens to the state changes of a scroll event. @n
371          * The added listener can listen to the events on the given event dispatcher's context when they are fired.
372          *
373          * @since               2.0
374          *
375          * @param[in]   listener The listener to add
376          * @exception   E_SUCCESS       The method is successful.
377          * @exception   E_OUT_OF_MEMORY The memory is insufficient.
378          * @see                         Tizen::Ui::Controls::IScrollEventListener
379          * @see                         RemoveScrollEventListener()
380          */
381         void AddScrollEventListener(IScrollEventListener& listener);
382
383
384         /**
385          * Adds a listener instance that listens to the state changes of a scroll event. @n
386          * The added listener can listen to the events on the given event dispatcher's context when they are fired.
387          *
388          * @since               2.1
389          *
390          * @param[in]   listener The listener to add
391          * @exception   E_SUCCESS       The method is successful.
392          * @exception   E_OUT_OF_MEMORY The memory is insufficient.
393          * @see                         Tizen::Ui::Controls::IScrollEventListenerF
394          * @see                         RemoveScrollEventListener()
395          */
396         void AddScrollEventListener(IScrollEventListenerF& listener);
397
398
399         /**
400          * Removes a listener instance that listens to the state changes of a scroll event. @n
401          * The removed listener cannot listen to the events when they are fired.
402          *
403          * @since               2.0
404          *
405          * @param[in]   listener   The listener to remove
406          * @see                 Tizen::Ui::Controls::IScrollEventListener
407          * @see                 AddScrollEventListener()
408          */
409         void RemoveScrollEventListener(IScrollEventListener& listener);
410
411
412         /**
413          * Removes a listener instance that listens to the state changes of a scroll event. @n
414          * The removed listener cannot listen to the events when they are fired.
415          *
416          * @since               2.1
417          *
418          * @param[in]   listener   The listener to remove
419          * @see                 Tizen::Ui::Controls::IScrollEventListenerF
420          * @see                 AddScrollEventListener()
421          */
422         void RemoveScrollEventListener(IScrollEventListenerF& listener);
423
424
425         /**
426          * Gets the scroll position.
427          *
428          * @since               2.0
429          *
430          * @return              The scroll position
431          */
432         int GetScrollPosition(void) const;
433
434
435         /**
436          * Gets the scroll position.
437          *
438          * @since               2.1
439          *
440          * @return              The scroll position
441          */
442         float GetScrollPositionF(void) const;
443
444
445         /**
446          * @if OSPDEPREC
447          * Sets the scroll position.
448          *
449          * @brief <i> [Deprecated]  </i>
450          * @deprecated  This method is deprecated. Instead of using this method, use the SetScrollPosition(int, bool), which supports animated scroll.
451          * @since               2.0
452          *
453          * @param[in]   position                The scroll position
454          * @endif
455          */
456         void SetScrollPosition(int position);
457
458
459         /**
460          * Sets the scroll position.
461          *
462          * @since 2.0
463          *
464          * @param[in]   position                The scroll position in pixel
465          * @param[in]   withAnimation           @c true to scroll the %ScrollPanel smoothly. @n
466          *                                                                                                      else @c false.
467          *
468          */
469         void SetScrollPosition(int position, bool withAnimation);
470
471
472         /**
473          * Sets the scroll position.
474          *
475          * @since 2.1
476          *
477          * @param[in]   position                The scroll position in pixel
478          * @param[in]   withAnimation           @c true to scroll the %ScrollPanel smoothly. @n
479          *                                                                                                      else @c false.
480          *
481          */
482         void SetScrollPosition(float position, bool withAnimation);
483
484
485         /**
486          * Scrolls to the bottom of %ScrollPanel.
487          *
488          * @since               2.0
489          */
490         void ScrollToBottom(void) const;
491
492
493         /**
494          * Scrolls to the top of %ScrollPanel.
495          *
496          * @since               2.0
497          */
498         void ScrollToTop(void) const;
499
500
501         /**
502          * Closes the overlay Window for supporting the overlay keypad.
503          *
504          * @since               2.0
505          *
506          * @exception   E_SUCCESS               The method is successful.
507          * @exception   E_SYSTEM                A system error has occurred.
508          */
509         result CloseOverlayWindow(void);
510
511
512         /**
513          * Gets the bounds of the client area.
514          *
515          * @since               2.0
516          *
517          * @return              The bounds of the client area
518          *
519          */
520         Tizen::Graphics::Rectangle GetClientAreaBounds(void) const;
521
522
523         /**
524          * Gets the bounds of the client area.
525          *
526          * @since               2.1
527          *
528          * @return              The bounds of the client area
529          *
530          */
531         Tizen::Graphics::FloatRectangle GetClientAreaBoundsF(void) const;
532
533
534         /**
535          * Sets the width of the client area.
536          *
537          * @since 2.0
538          *
539          * @return                   An error code
540          * @param[in]     width                        The width of the client area to set
541          * @exception     E_SUCCESS                   The method is successful.
542          * @exception     E_INVALID_ARG             @c width is less than the width of %ScrollPanel
543          * @exception     E_INVALID_OPERATION    The width of the client area cannot be set when auto resizing of the client area is on,
544          *                                                                      or the scroll direction is vertical.
545          *
546          */
547         result SetClientAreaWidth(int width);
548
549
550         /**
551          * Sets the width of the client area.
552          *
553          * @since 2.1
554          *
555          * @return                   An error code
556          * @param[in]     width                        The width of the client area to set
557          * @exception     E_SUCCESS                   The method is successful.
558          * @exception     E_INVALID_ARG             @c width is less than the width of %ScrollPanel
559          * @exception     E_INVALID_OPERATION    The width of the client area cannot be set when auto resizing of the client area is on,
560          *                                                                      or the scroll direction is vertical.
561          *
562          */
563         result SetClientAreaWidth(float width);
564
565
566         /**
567          * Sets the height of the client area.
568          *
569          * @since 2.0
570          *
571          * @return                   An error code
572          * @param[in]     height                        The height of the client area to set
573          * @exception     E_SUCCESS                   The method is successful.
574          * @exception     E_INVALID_ARG             @c height is less than the height of %ScrollPanel
575          * @exception     E_INVALID_OPERATION    The height of the client area cannot be set when auto resizing of the client area is on,
576          *                                                                      or the scroll direction is horizontal.
577          *
578          */
579         result SetClientAreaHeight(int height);
580
581
582         /**
583          * Sets the height of the client area.
584          *
585          * @since 2.1
586          *
587          * @return                   An error code
588          * @param[in]     height                        The height of the client area to set
589          * @exception     E_SUCCESS                   The method is successful.
590          * @exception     E_INVALID_ARG             @c height is less than the height of %ScrollPanel
591          * @exception     E_INVALID_OPERATION    The height of the client area cannot be set when auto resizing of the client area is on,
592          *                                                                      or the scroll direction is horizontal.
593          *
594          */
595         result SetClientAreaHeight(float height);
596
597
598         /**
599          * Gets the scroll direction of the %ScrollPanel.
600          *
601          * @since 2.0
602          *
603          * @return        Direction of %ScrollPanel
604          *
605          */
606         ScrollPanelScrollDirection GetScrollDirection(void) const;
607
608
609         /**
610          * Gets how the scroll area the %ScrollPanel is resized.
611          *
612          * @since 2.0
613          *
614          * @return        Whether to resize the client area automatically
615          *
616          */
617         bool IsScrollAreaAutoResizingEnabled(void) const;
618
619
620         /**
621          * Enables or disables scrolling by page, where page size is determined by the size of the %ScrollPanel.
622          *
623          * @since 2.0
624          *
625          * @param[in]     enable                Set to @c true to enable page scroll.
626          *
627          */
628         void SetPageScrollEnabled(bool enable);
629
630
631         /**
632          * Checks whether scrolling by page feature is enabled.
633          *
634          * @since 2.0
635          *
636          * @return              @c true if the page scroll is enabled. @n
637          *                                              else @c false.
638          *
639          */
640         bool IsPageScrollEnabled(void) const;
641
642
643         /**
644          * Sets the visibility of scroll bar.
645          *
646          * @since 2.0
647          *
648          * @param[in]   visible         Set to @c true to show scroll bar. @n
649          *                                                                              else @c false.
650          *
651          */
652         void SetScrollBarVisible(bool visible);
653
654
655         /**
656          * Gets the visibility of scroll bar.
657          *
658          * @since 2.0
659          *
660          */
661         bool IsScrollBarVisible(void) const;
662
663
664         /**
665          * Sets the scroll input handling mode.
666          *
667          * @since 2.0
668          *
669          * @param[in] mode  The scroll input handling mode
670          *  @see         GetScrollInputMode()
671          */
672         void SetScrollInputMode(ScrollInputMode mode);
673
674
675         /**
676          * Gets the scroll input handling mode.
677          *
678          * @since 2.0
679          *
680          * @return     The scroll input handling mode
681          * @see         SetScrollInputMode()
682          */
683         ScrollInputMode GetScrollInputMode(void) const;
684
685
686 protected:
687
688         friend class _ScrollPanelImpl;
689
690         // Reserved virtual methods for later extension
691
692         // The following methods are reserved and may change its name at any time without prior notice.
693         virtual void ScrollPanel_Reserved1(void) {}
694
695         virtual void ScrollPanel_Reserved2(void) {}
696
697         virtual void ScrollPanel_Reserved3(void) {}
698
699 private:
700         // The implementation of this copy constructor is intentionally blank and declared as private to prohibit copying of objects.
701         ScrollPanel(const ScrollPanel& rhs);
702
703         // The implementation of this copy assignment operator is intentionally blank and declared as private to prohibit copying of objects.
704         ScrollPanel& operator =(const ScrollPanel& rhs);
705
706 }; // ScrollPanel
707
708 }}} // Tizen::Ui::Controls
709
710 #endif // _FUI_CTRL_SCROLL_PANEL_H_