27 #ifndef _CEGUIScrollablePane_h_
28 #define _CEGUIScrollablePane_h_
31 #include "../Window.h"
34 # pragma warning(push)
35 # pragma warning(disable : 4251)
42 class CEGUIEXPORT ScrollablePaneWindowRenderer :
public WindowRenderer
46 ScrollablePaneWindowRenderer(
const String& name);
56 virtual Rectf getViewableArea(
void)
const = 0;
67 class CEGUIEXPORT ScrollablePane :
public Window
71 static const String WidgetTypeName;
73 static const String EventNamespace;
79 static const String EventContentPaneChanged;
85 static const String EventVertScrollbarModeChanged;
91 static const String EventHorzScrollbarModeChanged;
97 static const String EventAutoSizeSettingChanged;
102 static const String EventContentPaneScrolled;
104 static const String VertScrollbarName;
106 static const String HorzScrollbarName;
108 static const String ScrolledContainerName;
116 virtual int writeChildWindowsXML(
XMLSerializer& xml_stream)
const;
140 bool isVertScrollbarAlwaysShown(
void)
const;
155 void setShowVertScrollbar(
bool setting);
165 bool isHorzScrollbarAlwaysShown(
void)
const;
180 void setShowHorzScrollbar(
bool setting);
191 bool isContentPaneAutoSized(
void)
const;
205 void setContentPaneAutoSized(
bool setting);
215 const Rectf& getContentPaneArea(
void)
const;
232 void setContentPaneArea(
const Rectf& area);
243 float getHorizontalStepSize(
void)
const;
257 void setHorizontalStepSize(
float step);
268 float getHorizontalOverlapSize(
void)
const;
282 void setHorizontalOverlapSize(
float overlap);
292 float getHorizontalScrollPosition(
void)
const;
305 void setHorizontalScrollPosition(
float position);
316 float getVerticalStepSize(
void)
const;
330 void setVerticalStepSize(
float step);
341 float getVerticalOverlapSize(
void)
const;
355 void setVerticalOverlapSize(
float overlap);
365 float getVerticalScrollPosition(
void)
const;
378 void setVerticalScrollPosition(
float position);
388 Rectf getViewableArea(
void)
const;
417 void initialiseComponents(
void);
427 void configureScrollbars(
void);
437 bool isVertScrollbarNeeded(
void)
const;
447 bool isHorzScrollbarNeeded(
void)
const;
454 void updateContainerPosition(
void);
470 virtual bool validateWindowRenderer(
const WindowRenderer* renderer)
const;
548 bool handleScrollChange(
const EventArgs& e);
555 bool handleContentAreaChange(
const EventArgs& e);
562 bool handleAutoSizePaneChanged(
const EventArgs& e);
565 void addChild_impl(
Element* element);
566 void removeChild_impl(
Element* element);
575 bool d_forceVertScroll;
577 bool d_forceHorzScroll;
594 void addScrollablePaneProperties(
void);
599 #if defined(_MSC_VER)
600 # pragma warning(pop)
603 #endif // end of guard _CEGUIScrollablePane_h_