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;
111 ScrollablePane(
const String& type,
const String& name);
114 ~ScrollablePane(
void);
128 const ScrolledContainer* getContentPane(
void)
const;
138 bool isVertScrollbarAlwaysShown(
void)
const;
153 void setShowVertScrollbar(
bool setting);
163 bool isHorzScrollbarAlwaysShown(
void)
const;
178 void setShowHorzScrollbar(
bool setting);
189 bool isContentPaneAutoSized(
void)
const;
203 void setContentPaneAutoSized(
bool setting);
213 const Rectf& getContentPaneArea(
void)
const;
230 void setContentPaneArea(
const Rectf& area);
241 float getHorizontalStepSize(
void)
const;
255 void setHorizontalStepSize(
float step);
266 float getHorizontalOverlapSize(
void)
const;
280 void setHorizontalOverlapSize(
float overlap);
290 float getHorizontalScrollPosition(
void)
const;
303 void setHorizontalScrollPosition(
float position);
314 float getVerticalStepSize(
void)
const;
328 void setVerticalStepSize(
float step);
339 float getVerticalOverlapSize(
void)
const;
353 void setVerticalOverlapSize(
float overlap);
363 float getVerticalScrollPosition(
void)
const;
376 void setVerticalScrollPosition(
float position);
386 Rectf getViewableArea(
void)
const;
399 Scrollbar* getVertScrollbar()
const;
412 Scrollbar* getHorzScrollbar()
const;
415 void initialiseComponents(
void);
425 void configureScrollbars(
void);
435 bool isVertScrollbarNeeded(
void)
const;
445 bool isHorzScrollbarNeeded(
void)
const;
452 void updateContainerPosition(
void);
465 ScrolledContainer* getScrolledContainer()
const;
468 virtual bool validateWindowRenderer(
const WindowRenderer* renderer)
const;
484 virtual void onContentPaneChanged(WindowEventArgs& e);
497 virtual void onVertScrollbarModeChanged(WindowEventArgs& e);
510 virtual void onHorzScrollbarModeChanged(WindowEventArgs& e);
523 virtual void onAutoSizeSettingChanged(WindowEventArgs& e);
536 virtual void onContentPaneScrolled(WindowEventArgs& e);
546 bool handleScrollChange(
const EventArgs& e);
553 bool handleContentAreaChange(
const EventArgs& e);
560 bool handleAutoSizePaneChanged(
const EventArgs& e);
563 void addChild_impl(Element* element);
564 void removeChild_impl(Element* element);
566 void onSized(ElementEventArgs& e);
567 void onMouseWheel(MouseEventArgs& e);
570 NamedElement* getChildByNamePath_impl(
const String& name_path)
const;
573 bool d_forceVertScroll;
575 bool d_forceHorzScroll;
592 void addScrollablePaneProperties(
void);
597 #if defined(_MSC_VER) 598 # pragma warning(pop) 601 #endif // end of guard _CEGUIScrollablePane_h_ Main namespace for Crazy Eddie's GUI Library.
Definition: cegui/include/CEGUI/Affector.h:42
RefCounted< BoundSlot > Connection
Connection object. This is a thin 'smart pointer' wrapper around the actual BoundSlot that represents...
Definition: cegui/include/CEGUI/Event.h:68