Guiliani  Version 2.6 revision 7293 (documentation build 12)
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 DoScroll(
228 const eC_Value& vAbsX,
229 const eC_Value& vAbsY,
230 const eC_Value& vDelta,
231 const eC_Bool& bModifierActive);
232
236 virtual void SetVerticalScrollBarAtRight(const eC_Bool bIsAtRight);
237
241 virtual void SetHorizontalScrollBarAtBottom(const eC_Bool bIsAtBottom);
242
244 virtual eC_Bool IsVerticalScrollBarAtRight() const;
245
247 virtual eC_Bool IsHorizontalScrollBarAtBottom() const;
248
254 void SetAutoAdjustScrollViewLayout(const eC_Bool bAutoAdjustScrollViewLayout)
255 {
256 m_bAutoAdjustScrollViewLayout = bAutoAdjustScrollViewLayout;
257 }
258
263 void SetAutoAdjustContainerSize(const eC_Bool bAutoAdjustContainerSize)
264 {
265 m_bAutoAdjustContainerSize = bAutoAdjustContainerSize;
266 }
267
270
273
274#ifdef GUILIANI_STREAM_GUI
280
281 virtual void ReadFromStream();
282#endif
283
284#ifdef GUILIANI_WRITE_GUI
285 virtual void WriteToStream(const eC_Bool bWriteClassID = false);
286#endif
287
288protected:
290 void Init();
291
296 virtual void AdjustClipperSize();
297
299 virtual void AdjustContainerSize();
300
301protected:
306
310
315
318
321
324
327
330
333
336
339
342
346
349};
350#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:81
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:320
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:317
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:323
CGUIScrollBar * m_pkHorScrollBar
Definition: GUIScrollView.h:309
eC_Int m_iHorScrollPos
Stored position of the horizontal scroll bar.
Definition: GUIScrollView.h:332
void SetAutoAdjustContainerSize(const eC_Bool bAutoAdjustContainerSize)
Definition: GUIScrollView.h:263
virtual void AdjustScrollBars()
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 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 DoScroll(const eC_Value &vAbsX, const eC_Value &vAbsY, const eC_Value &vDelta, const eC_Bool &bModifierActive)
virtual eC_Bool IsVerticalScrollBarAtRight() const
eC_Bool m_bAutoAdjustScrollViewLayout
Definition: GUIScrollView.h:345
void SetAutoAdjustScrollViewLayout(const eC_Bool bAutoAdjustScrollViewLayout)
Definition: GUIScrollView.h:254
CGUIScrollBar * m_pkVerScrollBar
Definition: GUIScrollView.h:314
virtual void RestoreScrollPosition()
eC_Bool m_bAutoAdjustContainerSize
Definition: GUIScrollView.h:348
eC_Bool m_bIsHorizontalScrollBarAtBottom
Position of horizontal scrollbar (true=bottom, false=top)
Definition: GUIScrollView.h:341
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:326
virtual void WriteToStream(const eC_Bool bWriteClassID=false)
eC_Int m_iVerScrollPos
Stored position of the vertical scroll bar.
Definition: GUIScrollView.h:335
CGUICompositeObject * m_pkClipper
Definition: GUIScrollView.h:305
eC_Value m_vViewportYBorder
Vertical (in Y direction) gap between visible area and the area outside of which scrolling will occur...
Definition: GUIScrollView.h:329
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:338
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...