|
template<typename... Widgets> |
| Layout (std::unique_ptr< Widgets >... children) |
|
| Layout (Parameters parameters) |
|
auto | get_children () |
| Return a View of all children.
|
|
auto | get_children () const |
| Return a const View of all children.
|
|
template<typename Widget_t > |
auto | insert_child (std::unique_ptr< Widget_t > w, std::size_t index) -> Widget_t & |
| Inserts w at index , sending child added event to *this. More...
|
|
template<typename Widget_t > |
auto | append_child (std::unique_ptr< Widget_t > w) -> Widget_t & |
| Move w to the end of the child container. Forwards to insert_child() More...
|
|
template<typename Widget_t = Child_t, typename... Args> |
auto | make_child (Args &&... args) -> Widget_t & |
| Create a Widget and append it to the child container. More...
|
|
template<typename Widget_t = Child_t> |
auto | make_child (typename Widget_t::Parameters p) -> Widget_t & |
| Helper so Parameters type does not have to be specified at call site.
|
|
auto | remove_child (Child_t const *child) -> std::unique_ptr< Widget > |
| Removes and returns the child pointed to by child . More...
|
|
template<typename UnaryPredicate , typename = enable_if_invocable<UnaryPredicate>> |
auto | remove_child_if (UnaryPredicate &&predicate) -> std::unique_ptr< Widget > |
| Removes and returns the first child where predicate(child) returns true. More...
|
|
auto | remove_child_at (std::size_t index) -> std::unique_ptr< Widget > |
| Removes and returns the child at index in the child container. More...
|
|
auto | remove_and_delete_child (Child_t const *child) -> bool |
| Removes the child with given pointer and sends a Delete_event to it. More...
|
|
template<typename UnaryPredicate , typename = enable_if_invocable<UnaryPredicate>> |
auto | remove_and_delete_child_if (UnaryPredicate &&predicate) -> bool |
| Erase first element that satisfies pred . More...
|
|
auto | remove_and_delete_child_at (std::size_t index) -> bool |
| Removes the child at index and sends a Delete_event to it. More...
|
|
void | delete_all_children () |
| Removes all children and sends Delete_events to each.
|
|
void | swap_children (std::size_t index_a, std::size_t index_b) |
| Swap two child widgets, no index range check.
|
|
template<typename UnaryPredicate > |
auto | find_child_if (UnaryPredicate &&predicate) const -> Child_t const * |
| Find first child satisfying predicate . More...
|
|
template<typename UnaryPredicate > |
auto | find_child_if (UnaryPredicate &&predicate) -> Child_t * |
| Find first child satisfying predicate . More...
|
|
auto | find_child_by_name (std::string const &name) -> Child_t * |
| Find a child widget by name, returns nullptr if not found.
|
|
auto | find_child_by_name (std::string const &name) const -> Child_t const * |
| Find a child widget by name, returns nullptr if not found.
|
|
auto | find_child_position (Widget const *w) const -> std::size_t |
| Finds the index of the given child pointer in the child container. More...
|
|
auto | contains_child (Widget const *w) const -> bool |
| Returns true if w is a child of *this.
|
|
auto | contains_descendant (Widget const *descendant) const -> bool |
| Returns true if descendant is a child or some other child's child etc. More...
|
|
void | update () final override |
| Post a paint event to this Widget.
|
|
| Widget (std::string name="", Focus_policy focus_policy_=Focus_policy::None, Size_policy width_policy_=Size_policy{}, Size_policy height_policy_=Size_policy{}, Brush brush_=Brush{}, Glyph wallpaper=U' ', bool brush_paints_wallpaper=true, Cursor cursor=Cursor{}) |
| Create an empty Widget.
|
|
| Widget (Parameters p) |
| Create an empty Widget.
|
|
| Widget (Widget const &)=delete |
|
| Widget (Widget &&)=delete |
|
Widget & | operator= (Widget const &)=delete |
|
Widget & | operator= (Widget &&)=delete |
|
void | set_name (std::string name) |
| Set the identifying name of the Widget.
|
|
auto | name () const -> std::string const & |
| Return the name of the Widget.
|
|
auto | unique_id () const -> std::uint16_t |
| Return the ID number unique to this Widget.
|
|
void | set_wallpaper (Glyph g) |
| Used to fill in empty space that is not filled in by paint_event().
|
|
auto | get_wallpaper () const -> Glyph |
| Return the currently in use wallpaper or std::nullopt if none.
|
|
void | enable (bool enable=true) |
| Enable this Widget and send an Enable_event to itself. More...
|
|
void | disable (bool disable=true) |
| Disable this Widget and send a Disable_event to itself. More...
|
|
auto | is_enabled () const -> bool |
| Check whether the Widget is enabled.
|
|
auto | parent () const -> Widget * |
| Return the Widget's parent pointer. More...
|
|
auto | top_left () const -> Point |
| Return the global top left corner of this widget.
|
|
auto | area () const -> Area |
| Return the area the widget occupies.
|
|
void | install_event_filter (Widget &filter) |
| Install another Widget as an Event filter. More...
|
|
void | remove_event_filter (Widget &filter) |
| Remove a Widget from the Event filter list. More...
|
|
auto | get_event_filters () const -> std::set< Widget * > const & |
| Return the list of Event filter Widgets.
|
|
void | enable_animation (std::chrono::milliseconds interval) |
| Enable animation on this Widget. More...
|
|
void | enable_animation (FPS fps) |
| Enable animation with a frames-per-second value.
|
|
void | disable_animation () |
| Turn off animation, no more Timer_events will be sent to this Widget. More...
|
|
auto | is_animated () const -> bool |
| Return true if this Widget has animation enabled.
|
|
auto | get_children () |
| Get a range containing Widget& to each child.
|
|
auto | get_children () const |
| Get a const range containing Widget& to each child.
|
|
auto | get_descendants () const -> std::vector< Widget * > |
| Return container of all descendants of self_.
|
|
void | paint_wallpaper_with_brush (bool paints=true) |
| Set if the brush is applied to the wallpaper Glyph.
|
|
auto | paints_wallpaper_with_brush () const -> bool |
| If true, the brush will apply to the wallpaper Glyph.
|
|
auto | generate_wallpaper () const -> Glyph |
| Return the wallpaper Glyph. More...
|
|
auto | get_child_offset () const -> std::size_t |
| Return the index of the first child displayed by this Widget.
|
|
auto | child_count () const -> std::size_t |
| Return the number of children held by this Widget.
|
|
virtual auto | enable_event () -> bool |
| Handles Enable_event objects.
|
|
virtual auto | disable_event () -> bool |
| Handles Disable_event objects.
|
|
virtual auto | child_added_event (Widget &child) -> bool |
| Handles Child_added_event objects.
|
|
virtual auto | child_removed_event (Widget &child) -> bool |
| Handles Child_removed_event objects.
|
|
virtual auto | child_polished_event (Widget &child) -> bool |
| Handles Child_polished_event objects.
|
|
virtual auto | move_event (Point new_position, Point old_position) -> bool |
| Handles Move_event objects.
|
|
virtual auto | resize_event (Area new_size, Area old_size) -> bool |
| Handles Resize_event objects.
|
|
virtual auto | mouse_press_event (Mouse const &m) -> bool |
| Handles Mouse_press_event objects.
|
|
virtual auto | mouse_release_event (Mouse const &m) -> bool |
| Handles Mouse_release_event objects.
|
|
virtual auto | mouse_wheel_event (Mouse const &m) -> bool |
| Handles Mouse_wheel_event objects.
|
|
virtual auto | mouse_move_event (Mouse const &m) -> bool |
| Handles Mouse_move_event objects.
|
|
virtual auto | key_press_event (Key k) -> bool |
| Handles Key_press_event objects.
|
|
virtual auto | key_release_event (Key k) -> bool |
| Handles Key_release_event objects. More...
|
|
virtual auto | focus_in_event () -> bool |
| Handles Focus_in_event objects.
|
|
virtual auto | focus_out_event () -> bool |
| Handles Focus_out_event objects.
|
|
virtual auto | delete_event () -> bool |
| Handles Delete_event objects.
|
|
virtual auto | paint_event (Painter &p) -> bool |
| Handles Paint_event objects.
|
|
virtual auto | timer_event () -> bool |
| Handles Timer_event objects.
|
|
virtual auto | enable_event_filter (Widget &receiver) -> bool |
| Handles Enable_event objects filtered from other Widgets.
|
|
virtual auto | disable_event_filter (Widget &receiver) -> bool |
| Handles Disable_event objects filtered from other Widgets.
|
|
virtual auto | child_added_event_filter (Widget &receiver, Widget &child) -> bool |
| Handles Child_added_event objects filtered from other Widgets.
|
|
virtual auto | child_removed_event_filter (Widget &receiver, Widget &child) -> bool |
| Handles Child_removed_event objects filtered from other Widgets.
|
|
virtual auto | child_polished_event_filter (Widget &receiver, Widget &child) -> bool |
| Handles Child_polished_event objects filtered from other Widgets.
|
|
virtual auto | move_event_filter (Widget &receiver, Point new_position, Point old_position) -> bool |
| Handles Move_event objects filtered from other Widgets.
|
|
virtual auto | resize_event_filter (Widget &receiver, Area new_size, Area old_size) -> bool |
| Handles Resize_event objects filtered from other Widgets.
|
|
virtual auto | mouse_press_event_filter (Widget &receiver, Mouse const &m) -> bool |
| Handles Mouse_press_event objects filtered from other Widgets.
|
|
virtual auto | mouse_release_event_filter (Widget &receiver, Mouse const &m) -> bool |
| Handles Mouse_release_event objects filtered from other Widgets.
|
|
virtual auto | mouse_wheel_event_filter (Widget &receiver, Mouse const &m) -> bool |
| Handles Mouse_wheel_event objects filtered from other Widgets.
|
|
virtual auto | mouse_move_event_filter (Widget &receiver, Mouse const &m) -> bool |
| Handles Mouse_move_event objects filtered from other Widgets.
|
|
virtual auto | key_press_event_filter (Widget &receiver, Key k) -> bool |
| Handles Key_press_event objects filtered from other Widgets.
|
|
virtual auto | key_release_event_filter (Widget &receiver, Key k) -> bool |
| Handles Key_release_event objects filtered from other Widgets.
|
|
virtual auto | focus_in_event_filter (Widget &receiver) -> bool |
| Handles Focus_in_event objects filtered from other Widgets.
|
|
virtual auto | focus_out_event_filter (Widget &receiver) -> bool |
| Handles Focus_out_event objects filtered from other Widgets.
|
|
virtual auto | delete_event_filter (Widget &receiver) -> bool |
| Handles Delete_event objects filtered from other Widgets.
|
|
virtual auto | paint_event_filter (Widget &receiver, Painter &p) -> bool |
| Handles Paint_event objects filtered from other Widgets.
|
|
virtual auto | timer_event_filter (Widget &receiver) -> bool |
| Handles Timer_event objects filtered from other Widgets.
|
|
void | set_top_left (Point p) |
| Should only be used by Move_event send() function.
|
|
void | set_area (Area a) |
| Should only be used by Resize_event send() function.
|
|
void | set_parent (Widget *parent) |
| Should only be used by Layout.
|
|
template<typename Child = Widget>
class ox::layout::Layout< Child >
Provided as a uniform interface for arranging child Widgets.
Layout is limited to holding Child objects, which much be Widget or some derived type.