sptk2 logo
SPTK Home Page
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
sptk::CScroll Class Reference

Scroll area widget. More...

#include <CScroll.h>

Inheritance diagram for sptk::CScroll:
sptk::CLayoutManager sptk::CLayoutClient sptk::CTreeControl

Public Member Functions

 CScroll (const char *label=0, int layoutSize=10, CLayoutAlign layoutAlign=CLayoutAlign::TOP)
 Constructor in SPTK style. More...
 
void resize (int x, int y, int w, int h) override
 Resizes the group and inside widgets. More...
 
void draw () override
 Custom draw() method.
 
bool preferredSize (int &w, int &h) override
 Computes the optimal group size. More...
 
void clear () override
 Removes all the child widgets. More...
 
virtual void position (int X, int Y)
 Sets the position of the scrolled area.
 
int xposition () const
 Returns the x-position of the scrolled area.
 
int yposition () const
 Returns the y-position of the scrolled area.
 
int handle (int) override
 Custom handle method.
 
String className () const override
 Returns widget class name (internal SPTK RTTI). More...
 
- Public Member Functions inherited from sptk::CLayoutManager
 CLayoutManager (Fl_Group *group, int layoutSize, CLayoutAlign ca)
 
 ~CLayoutManager () override=default
 
virtual void clear ()
 Removes all the children. More...
 
int layoutSpacing () const
 
void layoutSpacing (int ls)
 
void layoutGrowMode (CLayoutGrowMode gm=CLayoutGrowMode::LGM_AUTO_GROW)
 
CLayoutGrowMode layoutGrowMode () const
 
void relayout ()
 
void frame (CFrame *frame, bool drawBackground=true)
 Defines frame. More...
 
const CFrameframe () const
 Returnes the current frame.
 
uint32_t frameWidth () const
 Returns frame width.
 
virtual void loadLayout (const xdoc::SNode &node, CLayoutXMLmode xmlMode)
 Loads group controls data from XML node. More...
 
virtual void saveLayout (const xdoc::SNode &node, CLayoutXMLmode xmlMode) const
 Saves group controls data into XML node. More...
 
void nameIndex (CWidgetNamesMap &index, bool recursive, bool clean=true) const
 Builds an index of internal widget names. More...
 
bool noXml () const
 Returns flag of blocking XML processing. More...
 
void noXml (bool noXml)
 Sets flag of blocking XML processing. More...
 
- Public Member Functions inherited from sptk::CLayoutClient
 CLayoutClient (Fl_Widget *widget, int layoutSize, CLayoutAlign ca)
 
virtual ~CLayoutClient ()
 
CLayoutAlign layoutAlign () const
 
void layoutAlign (CLayoutAlign al)
 
int layoutSize () const
 
void layoutSize (int ls)
 
virtual void label (const String &l)
 
virtual const Stringlabel () const
 
void name (const char *aname)
 
void name (const String &aname)
 
const Stringname () const
 
virtual bool preferredSize (int &w, int &h)
 
virtual bool computeSize (int &w, int &h)
 
virtual String className () const
 
Fl_Widget * widget () const
 
virtual void load (const xdoc::SNode &node, CLayoutXMLmode xmlMode)
 
virtual void load (const std::shared_ptr< xdoc::Node > &node)
 
virtual void save (const std::shared_ptr< xdoc::Node > &node, CLayoutXMLmode xmlMode) const
 

Static Public Member Functions

static CLayoutClientcreator (const xdoc::SNode &node)
 Creates a widget based on the XML node information. More...
 
- Static Public Member Functions inherited from sptk::CLayoutManager
static void registerControl (std::string typeName, createControlCallback creator) noexcept
 Register control type for loading layouts. More...
 
static const std::map< std::string, Fl_Boxtype > & boxTypeNames ()
 Returns a read-only map of box type names and corresponding constants.
 

Public Attributes

CScrollBar scrollbar
 
CScrollBar hscrollbar
 

Additional Inherited Members

- Protected Member Functions inherited from sptk::CLayoutManager
bool autoLayout (int x, int y, int &w, int &h, bool resizeWidgets) const
 
virtual void paintBackground ()
 
- Protected Member Functions inherited from sptk::CLayoutClient
int lastPreferredH () const
 
int lastPreferredW () const
 
void lastPreferredH (int height)
 
void lastPreferredW (int width)
 
- Protected Attributes inherited from sptk::CLayoutManager
int m_layoutSpacing
 
CLayoutGrowMode m_layoutGrowMode
 
Fl_Group * m_group
 
CFramem_frame
 
bool m_frameDrawBackground
 
bool m_noXml
 
- Protected Attributes inherited from sptk::CLayoutClient
Fl_Widget * m_widget
 
String m_name
 
String m_label
 
CLayoutAlign m_layoutAlign
 
- Static Protected Attributes inherited from sptk::CLayoutManager
static std::map< std::string, Fl_Boxtype > m_boxTypeNames
 
static createControlCallbackMap controlCreator
 

Detailed Description

Scroll area widget.

Extended version of FLTK Fl_Group that can be a layout manager and layout client at the same time.

Constructor & Destructor Documentation

◆ CScroll()

sptk::CScroll::CScroll ( const char *  label = 0,
int  layoutSize = 10,
CLayoutAlign  layoutAlign = CLayoutAlign::TOP 
)

Constructor in SPTK style.

Parameters
labelconst char *, label
layoutSizeint, widget align in layout
layoutAlignCLayoutAlign, widget align in layout

Member Function Documentation

◆ className()

String sptk::CScroll::className ( ) const
inlineoverridevirtual

Returns widget class name (internal SPTK RTTI).

Reimplemented from sptk::CLayoutClient.

Reimplemented in sptk::CTreeControl.

◆ clear()

void sptk::CScroll::clear ( )
overridevirtual

Removes all the child widgets.

Reimplemented from sptk::CLayoutManager.

Reimplemented in sptk::CTreeControl.

◆ creator()

static CLayoutClient * sptk::CScroll::creator ( const xdoc::SNode &  node)
static

Creates a widget based on the XML node information.

Parameters
nodexml::Node*, an XML node with widget information

◆ preferredSize()

bool sptk::CScroll::preferredSize ( int &  w,
int &  h 
)
overridevirtual

Computes the optimal group size.

Parameters
wint&, input - width offered by the program, output - width required by widget
hint&, input - height offered by the program, output - height required by widget
Returns
true if the size is stable (doesn't depend on input sizes)

Reimplemented from sptk::CLayoutClient.

◆ resize()

void sptk::CScroll::resize ( int  x,
int  y,
int  w,
int  h 
)
override

Resizes the group and inside widgets.

Parameters
xint, x-position
yint, y-position
wint, width
hint, height

Member Data Documentation

◆ hscrollbar

CScrollBar sptk::CScroll::hscrollbar

Horizontal scrollbar

◆ scrollbar

CScrollBar sptk::CScroll::scrollbar

Vertical scrollbar


The documentation for this class was generated from the following file:

Fri Oct 14 2022 09:58:39: SPTK 5.4.1