libwtk-sdl2  0.0.1
Public Member Functions | List of all members
notebook Struct Reference
Inheritance diagram for notebook:
Inheritance graph
[legend]
Collaboration diagram for notebook:
Collaboration graph
[legend]

Public Member Functions

 notebook (std::vector< widget_ptr > pages)
 
void on_child_dirty (widget *w) override
 
std::vector< widget * > get_visible_children () override
 
std::vector< widget const * > get_visible_children () const override
 
void on_draw (draw_context &dc, selection_context const &sc) const override
 
void on_mouse_up_event (mouse_up_event const &e) override
 
void on_mouse_down_event (mouse_down_event const &e) override
 
void on_box_allocated () override
 
widgetfind_selectable (navigation_type nt, point center) override
 
widgetnavigate_selectable (navigation_type nt, point center) override
 
widgetnavigate_selectable_from_children (navigation_type nt, widget *w, point center) override
 
std::vector< widget * > get_children () override
 
size_hint get_size_hint (int width, int height) const override
 
Notebook Interface
std::size_t get_page () const
 
void set_page (std::size_t index)
 
- Public Member Functions inherited from widget
 widget (widget const &)=delete
 
widgetoperator= (widget const &)=delete
 
SDL_Rect const & get_box () const
 
context_info const & get_context_info () const
 
void set_context_info (context_info const &ci)
 
void set_parent (widget *parent)
 
virtual std::vector< widget const * > get_children () const
 
void clear_dirty ()
 
void mark_dirty ()
 
void mark_child_dirty (widget *child)
 
void draw (draw_context &dc, selection_context const &sc) const
 
void draw_dirty (draw_context &dc, selection_context const &sc) const
 
virtual void on_mouse_move_event (mouse_move_event const &e)
 
virtual void on_key_event (key_event const &e)
 
virtual void on_activate ()
 
void apply_layout (SDL_Rect box)
 
virtual bool can_use_intermediate_size () const
 
virtual void on_select ()
 
virtual void on_unselect ()
 

Additional Inherited Members

- Protected Member Functions inherited from widget
std::optional< swipe_infoget_swipe_info_with_context_info (mouse_up_event const &e)
 
widgetnavigate_selectable_parent (navigation_type nt, point center)
 
- Protected Attributes inherited from widget
widget_parent
 

Member Function Documentation

◆ find_selectable()

widget* notebook::find_selectable ( navigation_type  nt,
point  center 
)
overridevirtual

Should return the first selectable widget according to the navigation type. If a widget is selectable it should return itself. Containers should return the first selectable child widget. Otherwise nullptr is returned.

The point may serve as a hint to provide a more accurate selection.

Reimplemented from widget.

◆ get_children()

std::vector<widget *> notebook::get_children ( )
overridevirtual

Return child widgets in Z-order. Should be implemented by containers.

Reimplemented from widget.

◆ get_size_hint()

size_hint notebook::get_size_hint ( int  width,
int  height 
) const
overridevirtual

Computes the widgets preferred minimal and natural size. When given a specific width or height the widget might use that to give a more accurate size.

Implements widget.

◆ get_visible_children()

std::vector<widget *> notebook::get_visible_children ( )
overridevirtual

Return the visible children in Z-order. The default implementation assumes that all children are visible. Once an invisible widget gets visible again the parent is responsible to mark itself at least as dirty_type::CHILD_DIRTY and to propagate the change with notify_parent_child_dirty().

Reimplemented from widget.

◆ navigate_selectable()

widget* notebook::navigate_selectable ( navigation_type  nt,
point  center 
)
overridevirtual

Perform a navigation request from this widget as source.

A widget that is not selectable doesn't have to implement this. Containers on the other hand should implement this to enable navigation of their children.

The point may serve as a hint to provide a more accurate selection.

Reimplemented from widget.

◆ navigate_selectable_from_children()

widget* notebook::navigate_selectable_from_children ( navigation_type  nt,
widget w,
point  center 
)
overridevirtual

When a child widget has exhausted its selectable widgets it may ask its parent for the next widget according to the navigation. The coordinates of the widget are provided to get a more accurate result for some navigation types (i.e. 2-dimensional). The widget passed has to be the direct child, otherwise the parent is not able to find it.

Only containers should implement this.

Reimplemented from widget.

◆ on_box_allocated()

void notebook::on_box_allocated ( )
overridevirtual

Refresh layout with existing box. This should not be called if the widget does not have a box already. Otherwise no space is allocated.

Reimplemented from widget.

◆ on_child_dirty()

void notebook::on_child_dirty ( widget child)
overridevirtual

This is called when a child is marked as dirty. The widget may then decide what to do.

You might use mark_dirty() to mark this widget dirty or mark_child_dirty(widget * child) to only propagate the change upwards (this is the default implementation).

Reimplemented from widget.

◆ on_draw()

void notebook::on_draw ( draw_context dc,
selection_context const &  sc 
) const
overridevirtual

Draw the widget. No children should be drawn here.

Implements widget.


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