neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::flow_layout Class Reference

#include <flow_layout.hpp>

Inheritance diagram for neogfx::flow_layout:
neogfx::layout neogfx::layout_item< object< i_layout > > neogfx::anchorable< Base >

Public Member Functions

i_spacer & add_spacer () override
 
i_spacer & add_spacer_at (layout_item_index aPosition) override
 
neogfx::size_policy size_policy () const override
 
size minimum_size (optional_size const &aAvailableSpace=optional_size{}) const override
 
size maximum_size (optional_size const &aAvailableSpace=optional_size{}) const override
 
neogfx::alignment alignment () const override
 
void layout_items (const point &aPosition, const size &aSize) override
 
- Public Member Functions inherited from neogfx::layout
 layout (optional_alignment const &aAlignment={})
 
 layout (i_widget &aOwner, optional_alignment const &aAlignment={})
 
 layout (i_layout &aParent, optional_alignment const &aAlignment={})
 
 layout (const layout &)=delete
 
 ~layout ()
 
bool has_parent_layout () const final
 
const i_layoutparent_layout () const final
 
i_layoutparent_layout () final
 
void set_parent_layout (i_layout *aParentLayout) final
 
bool has_parent_widget () const final
 
const i_widgetparent_widget () const final
 
i_widgetparent_widget () final
 
void set_parent_widget (i_widget *aParentWidget) final
 
i_layout_itemadd (i_layout_item &aItem) override
 
i_layout_itemadd_at (layout_item_index aPosition, i_layout_item &aItem) override
 
i_layout_itemadd (i_ref_ptr< i_layout_item > const &aItem) override
 
i_layout_itemadd_at (layout_item_index aPosition, i_ref_ptr< i_layout_item > const &aItem) override
 
void remove_at (layout_item_index aIndex) override
 
bool remove (i_layout_item &aItem) override
 
void remove_all () override
 
void move_all_to (i_layout &aDestination) override
 
layout_item_index count () const override
 
layout_item_index index_of (const i_layout_item &aItem) const override
 
optional_layout_item_index find (const i_layout_item &aItem) const override
 
bool is_widget_at (layout_item_index aIndex) const override
 
const i_layout_itemitem_at (layout_item_index aIndex) const override
 
i_layout_itemitem_at (layout_item_index aIndex) override
 
const i_widgetget_widget_at (layout_item_index aIndex) const override
 
i_widgetget_widget_at (layout_item_index aIndex) override
 
const i_layoutget_layout_at (layout_item_index aIndex) const override
 
i_layoutget_layout_at (layout_item_index aIndex) override
 
neogfx::margin margin () const override
 
neogfx::padding padding () const override
 
layout_direction direction () const override
 
bool has_spacing () const override
 
size spacing () const override
 
void set_spacing (optional_size const &aSpacing, bool aUpdateLayout=true) override
 
bool always_use_spacing () const override
 
void set_always_use_spacing (bool aAlwaysUseSpacing) override
 
bool has_alignment () const override
 
neogfx::alignment alignment () const override
 
void set_alignment (optional_alignment const &aAlignment, bool aUpdateLayout=true) override
 
neogfx::autoscale autoscale () const override
 
void set_autoscale (neogfx::autoscale aAutoscale, bool aUpdateLayout=true) override
 
visibility_constraint child_visibility () const override
 
bool ignore_child_visibility () const override
 
void set_ignore_child_visibility (bool aIgnoreChildVisibility) override
 
void enable (bool aEnable) override
 
bool enabled () const override
 
bool invalidated () const override
 
void invalidate (bool aDeferLayout=true) override
 
void validate () override
 
void set_extents (const size &aExtents) override
 
neogfx::size_policy size_policy () const override
 
bool device_metrics_available () const override
 
const i_device_metricsdevice_metrics () const override
 
void layout_as (const point &aPosition, const size &aSize) override
 
void fix_weightings (bool aRecalculate=true) override
 
bool visible () const override
 
virtual const i_widgetget_widget_at (layout_item_index aIndex) const=0
 
virtual i_widgetget_widget_at (layout_item_index aIndex)=0
 
template<typename WidgetT >
const WidgetT & get_widget_at (layout_item_index aIndex) const
 
template<typename WidgetT >
WidgetT & get_widget_at (layout_item_index aIndex)
 
virtual void enable (bool aEnable)=0
 
void enable ()
 
virtual i_layout_itemadd (i_layout_item &aItem)=0
 
virtual i_layout_itemadd (i_ref_ptr< i_layout_item > const &aItem)=0
 
template<typename ItemType >
ItemType & add ()
 
template<typename ItemType >
ItemType & add (i_ref_ptr< ItemType > const &aItem)
 
template<typename ItemType >
ItemType & add (ref_ptr< ItemType > const &aItem)
 
virtual i_layout_itemadd_at (layout_item_index aPosition, i_layout_item &aItem)=0
 
virtual i_layout_itemadd_at (layout_item_index aPosition, i_ref_ptr< i_layout_item > const &aItem)=0
 
template<typename ItemType >
ItemType & add_at (layout_item_index aPosition, i_ref_ptr< ItemType > const &aItem)
 
template<typename ItemType >
ItemType & add_at (layout_item_index aPosition, ref_ptr< ItemType > const &aItem)
 
- Public Member Functions inherited from neogfx::layout_item< object< i_layout > >
 layout_item ()
 
 ~layout_item ()
 
const i_stringid () const final
 
void set_id (const i_string &aId) final
 
bool is_cache () const final
 
bool is_layout () const final
 
const i_layoutas_layout () const final
 
i_layoutas_layout () final
 
bool is_spacer () const final
 
const i_spacer & as_spacer () const final
 
i_spacer & as_spacer () final
 
bool is_widget () const override
 
const i_widgetas_widget () const override
 
i_widgetas_widget () override
 
bool has_parent_layout_item () const final
 
const i_layout_itemparent_layout_item () const final
 
i_layout_itemparent_layout_item () final
 
bool has_layout_manager () const final
 
const i_widgetlayout_manager () const final
 
i_widgetlayout_manager () final
 
void update_layout (bool aDeferLayout=true, bool aAncestors=false) final
 
point origin () const final
 
void reset_origin () const final
 
point position () const final
 
size extents () const final
 
bool has_size_policy () const noexcept override
 
neogfx::size_policy size_policy () const override
 
void set_size_policy (const optional_size_policy &aSizePolicy, bool aUpdateLayout=true) override
 
bool has_weight () const noexcept override
 
size weight () const override
 
void set_weight (optional_size const &aWeight, bool aUpdateLayout=true) override
 
bool has_ideal_size () const noexcept override
 
bool is_ideal_size_constrained () const noexcept override
 
size ideal_size (optional_size const &aAvailableSpace={}) const override
 
void set_ideal_size (optional_size const &aIdealSize, bool aUpdateLayout=true) override
 
bool has_minimum_size () const noexcept override
 
bool is_minimum_size_constrained () const noexcept override
 
size minimum_size (optional_size const &aAvailableSpace={}) const override
 
void set_minimum_size (optional_size const &aMinimumSize, bool aUpdateLayout=true) override
 
bool has_maximum_size () const noexcept override
 
bool is_maximum_size_constrained () const noexcept override
 
size maximum_size (optional_size const &aAvailableSpace={}) const override
 
void set_maximum_size (optional_size const &aMaximumSize, bool aUpdateLayout=true) override
 
bool has_fixed_size () const noexcept override
 
size fixed_size (optional_size const &aAvailableSpace={}) const override
 
void set_fixed_size (optional_size const &aFixedSize, bool aUpdateLayout=true)
 
bool has_transformation () const noexcept override
 
mat33 const & transformation (bool aCombineAncestorTransformations=false) const override
 
void set_transformation (optional_mat33 const &aTransformation, bool aUpdateLayout=true) override
 
bool has_margin () const noexcept override
 
neogfx::margin margin () const override
 
void set_margin (optional_margin const &aMargin, bool aUpdateLayout=true) override
 
bool has_border () const noexcept override
 
neogfx::border border () const override
 
void set_border (optional_border const &aBorder, bool aUpdateLayout=true) override
 
bool has_padding () const noexcept override
 
neogfx::padding padding () const override
 
void set_padding (optional_padding const &aPadding, bool aUpdateLayout=true) override
 
void invalidate_combined_transformation () override
 
void fix_weightings (bool aRecalculate=true) override
 
i_anchor & anchor_to (i_anchorable &aRhs, i_string const &aLhsAnchor, anchor_constraint_function aLhsFunction, i_string const &aRhsAnchor, anchor_constraint_function aRhsFunction) override
 
- Public Member Functions inherited from neogfx::anchorable< Base >
 ~anchorable ()
 
i_anchor & anchor_to (i_anchorable &aRhs, const i_string &aLhsAnchor, anchor_constraint_function aLhsFunction, const i_string &aRhsAnchor, anchor_constraint_function aRhsFunction) override
 
const anchor_map_typeanchors () const override
 
anchor_map_typeanchors () override
 

Protected Member Functions

template<typename AxisPolicy >
size do_minimum_size (optional_size const &aAvailableSpace) const
 
template<typename AxisPolicy >
size do_maximum_size (optional_size const &aAvailableSpace) const
 
template<typename AxisPolicy >
void do_layout_items (const point &aPosition, const size &aSize)
 
- Protected Member Functions inherited from neogfx::layout
void layout_item_enabled (i_layout_item &aItem) override
 
void layout_item_disabled (i_layout_item &aItem) override
 
item_list::const_iterator cbegin () const
 
item_list::const_iterator cend () const
 
item_list::const_iterator begin () const
 
item_list::const_iterator end () const
 
item_list::iterator begin ()
 
item_list::iterator end ()
 
item_list::const_reverse_iterator rbegin () const
 
item_list::const_reverse_iterator rend () const
 
item_list::reverse_iterator rbegin ()
 
item_list::reverse_iterator rend ()
 
item_list::const_iterator find_item (const i_layout_item &aItem) const
 
item_list::iterator find_item (i_layout_item &aItem)
 
const item_listitems () const
 
item_listitems ()
 
virtual void remove (item_list::iterator aItem)
 
uint32_t spacer_count () const
 
uint32_t items_visible (item_type_e aItemType=static_cast< item_type_e >(ItemTypeWidget|ItemTypeLayout)) const
 
template<typename AxisPolicy >
size do_minimum_size (optional_size const &aAvailableSpace) const
 
template<typename AxisPolicy >
size do_maximum_size (optional_size const &aAvailableSpace) const
 
template<typename AxisPolicy >
void do_layout_items (const point &aPosition, const size &aSize)
 
- Protected Member Functions inherited from neogfx::layout_item< object< i_layout > >
void set_position (const point &aPosition) override
 
void set_extents (const size &aExtents) override
 
point unconstrained_origin () const override
 
point unconstrained_position () const override
 
void layout_item_enabled (i_layout_item &aItem) override
 
void layout_item_disabled (i_layout_item &aItem) override
 

Additional Inherited Members

- Public Types inherited from neogfx::layout
typedef i_layout abstract_type
 
- Public Types inherited from neogfx::anchorable< Base >
typedef neolib::map< string, i_anchor * > anchor_map_type
 
- Public Attributes inherited from neogfx::layout_item< object< i_layout > >
define_property(property_category::soft_geometry, point, Position, position) define_property(property_category cache< pointiOrigin
 
cache< mat33iCombinedTransformation
 
- Protected Types inherited from neogfx::layout
enum  item_type_e { ItemTypeNone = 0x00 , ItemTypeWidget = 0x01 , ItemTypeLayout = 0x02 , ItemTypeSpacer = 0x04 }
 
typedef ref_ptr< i_layout_item_cacheitem
 
typedef std::list< itemitem_list
 

Detailed Description

Definition at line 34 of file flow_layout.hpp.

Member Function Documentation

◆ add_spacer()

i_spacer & neogfx::flow_layout::add_spacer ( )
override

◆ add_spacer_at()

i_spacer & neogfx::flow_layout::add_spacer_at ( layout_item_index  aPosition)
override

◆ alignment()

neogfx::alignment neogfx::flow_layout::alignment ( ) const
override

◆ do_layout_items()

template<typename AxisPolicy >
void neogfx::flow_layout::do_layout_items ( const point aPosition,
const size aSize 
)
protected

◆ do_maximum_size()

template<typename AxisPolicy >
size neogfx::flow_layout::do_maximum_size ( optional_size const &  aAvailableSpace) const
protected

◆ do_minimum_size()

template<typename AxisPolicy >
size neogfx::flow_layout::do_minimum_size ( optional_size const &  aAvailableSpace) const
protected

◆ layout_items()

void neogfx::flow_layout::layout_items ( const point aPosition,
const size aSize 
)
override

◆ maximum_size()

size neogfx::flow_layout::maximum_size ( optional_size const &  aAvailableSpace = optional_size{}) const
override

◆ minimum_size()

size neogfx::flow_layout::minimum_size ( optional_size const &  aAvailableSpace = optional_size{}) const
override

◆ size_policy()

neogfx::size_policy neogfx::flow_layout::size_policy ( ) const
override

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