Guiliani  Version 2.5 revision 7293 (documentation build 13)
GUIScrollView.h
1/*
2* Copyright (C) TES Electronic Solutions GmbH,
3* All Rights Reserved.
4* Contact: info@guiliani.de
5*
6* This file is part of the Guiliani HMI framework
7* for the development of graphical user interfaces on embedded systems.
8*/
9
10#ifndef __GUISCROLLVIEW__H_
11#define __GUISCROLLVIEW__H_
12
13#include "GUICompositeObject.h"
14class CGUIScrollBar;
15
17// @guiliani_doxygen toplevel_control Scroll View
28// @endguiliani_doxygen
66{
67public:
70 {
74 };
75
85 CGUICompositeObject* const pkParent,
86 const eC_Value& vX,
87 const eC_Value& vY,
88 const eC_Value& vWidth,
89 const eC_Value& vHeight,
90 const ObjectHandle_t &eID = NO_HANDLE);
91
98 CGUICompositeObject* const pkParent,
99 const CGUIRect &kRect,
100 const ObjectHandle_t &eID = NO_HANDLE);
101
106
112
116 virtual void SetVerticalScrollbarPolicy(const ScrollBarPolicy ePolicy)
117 {
119 }
120
125 {
127 }
128
135 {
136 return m_pkVerScrollBar;
137 }
138
143 {
144 return m_pkHorScrollBar;
145 }
146
151 virtual eC_Bool AddObject(CGUIObject* pkObject);
152
154
157 virtual void RemoveObject(CGUIObject* pkObject);
158
163 virtual void SetWidth(const eC_Value& vWidth);
164
169 virtual void SetHeight(const eC_Value& vHeight);
170
173 virtual void AdjustScrollBars();
174
179
183 virtual void ScrollToObject(CGUIObject* pkObject);
184
187 virtual void GetFocus()
188 {
191 }
192
195 virtual void SetScrollingInertia(const eC_Value vInertia);
196
201 virtual void SetScrollingViewport(const eC_Value vX, const eC_Value vY);
202
207 virtual void DoAnimate(const eC_Value& vTimes = eC_FromInt(1));
208
213
218
220 virtual void SaveScrollPosition();
221
225 virtual void RestoreScrollPosition();
226
227 virtual eC_Bool DoScrollUp(
228 const eC_Value& vAbsX,
229 const eC_Value& vAbsY);
230
231 virtual eC_Bool DoScrollDown(
232 const eC_Value& vAbsX,
233 const eC_Value& vAbsY);
234
235 virtual eC_Bool DoScrollLeft(
236 const eC_Value& vAbsX,
237 const eC_Value& vAbsY);
238
239 virtual eC_Bool DoScrollRight(
240 const eC_Value& vAbsX,
241 const eC_Value& vAbsY);
242
246 virtual void SetVerticalScrollBarAtRight(const eC_Bool bIsAtRight);
247
251 virtual void SetHorizontalScrollBarAtBottom(const eC_Bool bIsAtBottom);
252
254 virtual eC_Bool IsVerticalScrollBarAtRight() const;
255
257 virtual eC_Bool IsHorizontalScrollBarAtBottom() const;
258
264 void SetAutoAdjustScrollViewLayout(const eC_Bool bAutoAdjustScrollViewLayout)
265 {
266 m_bAutoAdjustScrollViewLayout = bAutoAdjustScrollViewLayout;
267 }
268
273 void SetAutoAdjustContainerSize(const eC_Bool bAutoAdjustContainerSize)
274 {
275 m_bAutoAdjustContainerSize = bAutoAdjustContainerSize;
276 }
277
280
283
284#ifdef GUILIANI_STREAM_GUI
290
291 virtual void ReadFromStream();
292#endif
293
294#ifdef GUILIANI_WRITE_GUI
295 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
296#endif
297
298protected:
300 void Init();
301
306 virtual void AdjustClipperSize();
307
309 virtual void AdjustContainerSize();
310
311protected:
316
320
325
328
331
334
337
340
343
346
349
352
356
359};
360#endif
ObjectHandle_t
List of object resource ids.
Definition: GUIObjectHandleResource.h:55
virtual void GetFocus()
This is the Guiliani base class for all composite objects.
Definition: GUICompositeObject.h:70
This is the Guiliani base class all controls are derived from.
Definition: GUIObject.h:79
Helper class to supply a platform independent rectangle implementation.
Definition: GUIRect.h:63
The ScrollBar allows navigating controls which are larger than their actual visual representation.
Definition: GUIScrollBar.h:49
Container object which can be scrolled if required.
Definition: GUIScrollView.h:66
virtual void SetVerticalScrollBarAtRight(const eC_Bool bIsAtRight)
virtual void SetHorizontalScrollbarPolicy(const ScrollBarPolicy ePolicy)
Definition: GUIScrollView.h:124
void Init()
General initialization.
ScrollBarPolicy m_eHorizontalScrollBarPolicy
Scrollbar policy defining whether a horizontal scrollbar is visible or not.
Definition: GUIScrollView.h:330
virtual void RemoveObject(CGUIObject *pkObject)
Removes an object from the scrolled container.
ScrollBarPolicy m_eVerticalScrollBarPolicy
Scrollbar policy defining whether a vertical scrollbar is visible or not.
Definition: GUIScrollView.h:327
virtual CGUICompositeObject * GetClipper() const
virtual void DoAnimate(const eC_Value &vTimes=eC_FromInt(1))
virtual void SetVerticalScrollbarPolicy(const ScrollBarPolicy ePolicy)
Definition: GUIScrollView.h:116
eC_Value m_vScrollingInertia
Inertia value for soft scrolling. Legal values are positive and greater than 1.
Definition: GUIScrollView.h:333
CGUIScrollBar * m_pkHorScrollBar
Definition: GUIScrollView.h:319
eC_Int m_iHorScrollPos
Stored position of the horizontal scroll bar.
Definition: GUIScrollView.h:342
void SetAutoAdjustContainerSize(const eC_Bool bAutoAdjustContainerSize)
Definition: GUIScrollView.h:273
virtual void AdjustScrollBars()
virtual eC_Bool DoScrollDown(const eC_Value &vAbsX, const eC_Value &vAbsY)
ScrollBarPolicy
Scrollbar policies. These specify under which circumstances a scrollbar is visible.
Definition: GUIScrollView.h:70
@ ALWAYS_VISIBLE
Scrollbar will always be visible.
Definition: GUIScrollView.h:72
@ NEVER_VISIBLE
Scrollbar will never be visible.
Definition: GUIScrollView.h:73
@ AUTOMATIC
Scrollbar will automatically be displayed as required (default)
Definition: GUIScrollView.h:71
virtual void AdjustClipperSize()
virtual eC_Bool DoScrollUp(const eC_Value &vAbsX, const eC_Value &vAbsY)
virtual eC_Bool AddObject(CGUIObject *pkObject)
virtual void ScrollToObject(CGUIObject *pkObject)
virtual void SetScrollingViewport(const eC_Value vX, const eC_Value vY)
virtual void AdjustContainerSize()
virtual void SetScrollingInertia(const eC_Value vInertia)
virtual void ScrollToFocussedObject()
virtual CGUICompositeObject * GetContainer() const
CGUIScrollView(CGUICompositeObject *const pkParent, const eC_Value &vX, const eC_Value &vY, const eC_Value &vWidth, const eC_Value &vHeight, const ObjectHandle_t &eID=NO_HANDLE)
virtual void SetHeight(const eC_Value &vHeight)
virtual void GetFocus()
Definition: GUIScrollView.h:187
virtual void SetWidth(const eC_Value &vWidth)
virtual eC_Bool IsVerticalScrollBarAtRight() const
eC_Bool m_bAutoAdjustScrollViewLayout
Definition: GUIScrollView.h:355
void SetAutoAdjustScrollViewLayout(const eC_Bool bAutoAdjustScrollViewLayout)
Definition: GUIScrollView.h:264
virtual eC_Bool DoScrollLeft(const eC_Value &vAbsX, const eC_Value &vAbsY)
CGUIScrollBar * m_pkVerScrollBar
Definition: GUIScrollView.h:324
virtual void RestoreScrollPosition()
eC_Bool m_bAutoAdjustContainerSize
Definition: GUIScrollView.h:358
virtual eC_Bool DoScrollRight(const eC_Value &vAbsX, const eC_Value &vAbsY)
eC_Bool m_bIsHorizontalScrollBarAtBottom
Position of horizontal scrollbar (true=bottom, false=top)
Definition: GUIScrollView.h:351
CGUIScrollView & operator=(const CGUIScrollView &rkSource)
eC_Value m_vViewportXBorder
Horizontal (in X direction) gap between visible area and the area outside of which scrolling will occ...
Definition: GUIScrollView.h:336
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
eC_Int m_iVerScrollPos
Stored position of the vertical scroll bar.
Definition: GUIScrollView.h:345
CGUICompositeObject * m_pkClipper
Definition: GUIScrollView.h:315
eC_Value m_vViewportYBorder
Vertical (in Y direction) gap between visible area and the area outside of which scrolling will occur...
Definition: GUIScrollView.h:339
CGUIScrollBar * GetVerticalScrollbar()
Definition: GUIScrollView.h:134
CGUIScrollView(const CGUIScrollView &rkSource)
eC_Bool m_bIsVerticalScrollBarAtRight
Position of vertical scrollbar (true=right, false=left)
Definition: GUIScrollView.h:348
virtual void StopScrollingAnimation()
Called when the scrolling animation is over. Overriding methods should call the base class implementa...
virtual void ReadFromStream()
CGUIScrollBar * GetHorizontalScrollbar()
Definition: GUIScrollView.h:142
virtual void SetHorizontalScrollBarAtBottom(const eC_Bool bIsAtBottom)
virtual eC_Bool IsHorizontalScrollBarAtBottom() const
CGUIScrollView(CGUICompositeObject *const pkParent, const CGUIRect &kRect, const ObjectHandle_t &eID=NO_HANDLE)
virtual void SaveScrollPosition()
Stores the scroll positions (values of both scroll bars)
virtual void StartScrollingAnimation()
Called when the Scrollview wishes to start scrolling. Overriding methods should call the base class i...