neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neogfx::layout_item< Base > Class Template Reference

#include <layout_item.hpp>

Inheritance diagram for neogfx::layout_item< Base >:
neogfx::anchorable< reference_counted< Base > > neolib::reference_counted< Base, DeallocateOnRelease > neogfx::widget< i_button > neogfx::widget< i_image_widget > neogfx::widget< i_title_bar > neogfx::widget< i_push_button > neogfx::widget< i_radio_button > neogfx::widget< i_status_bar > neogfx::widget< i_terminal > neogfx::widget< i_text_widget > neogfx::widget< i_window > neogfx::widget< neogfx::i_window > neogfx::widget< Interface >

Public Member Functions

 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< reference_counted< 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
 
- Public Member Functions inherited from neolib::reference_counted< Base, DeallocateOnRelease >
 reference_counted () noexcept
 
 reference_counted (const reference_counted &aOther) noexcept
 
 ~reference_counted ()
 
reference_countedoperator= (const reference_counted &)
 
void add_ref () const noexcept override
 
void release () const override
 
int32_t use_count () const noexcept override
 
const base_type * release_and_take_ownership () const override
 
base_type * release_and_take_ownership () override
 
void pin () const noexcept override
 
void unpin () const override
 
i_ref_control_blockcontrol_block () override
 

Public Attributes

define_property(property_category::soft_geometry, point, Position, position) define_property(property_category cache< pointiOrigin
 
cache< mat33iCombinedTransformation
 

Protected Member Functions

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::anchorable< reference_counted< Base > >
typedef neolib::map< string, i_anchor * > anchor_map_type
 

Detailed Description

template<typename Base>
class neogfx::layout_item< Base >

Definition at line 31 of file layout_item.hpp.

Constructor & Destructor Documentation

◆ layout_item()

template<typename Base >
neogfx::layout_item< Base >::layout_item ( )
inline

Definition at line 45 of file layout_item.hpp.

◆ ~layout_item()

template<typename Base >
neogfx::layout_item< Base >::~layout_item ( )
inline

Definition at line 48 of file layout_item.hpp.

Member Function Documentation

◆ anchor_to()

template<typename Base >
i_anchor & neogfx::layout_item< Base >::anchor_to ( i_anchorable aRhs,
i_string const &  aLhsAnchor,
anchor_constraint_function  aLhsFunction,
i_string const &  aRhsAnchor,
anchor_constraint_function  aRhsFunction 
)
inlineoverride

Definition at line 641 of file layout_item.hpp.

◆ as_layout() [1/2]

template<typename Base >
const i_layout & neogfx::layout_item< Base >::as_layout ( ) const
inlinefinal

Definition at line 72 of file layout_item.hpp.

◆ as_layout() [2/2]

template<typename Base >
i_layout & neogfx::layout_item< Base >::as_layout ( )
inlinefinal

Definition at line 79 of file layout_item.hpp.

◆ as_spacer() [1/2]

template<typename Base >
const i_spacer & neogfx::layout_item< Base >::as_spacer ( ) const
inlinefinal

Definition at line 90 of file layout_item.hpp.

◆ as_spacer() [2/2]

template<typename Base >
i_spacer & neogfx::layout_item< Base >::as_spacer ( )
inlinefinal

Definition at line 97 of file layout_item.hpp.

◆ as_widget() [1/2]

template<typename Base >
const i_widget & neogfx::layout_item< Base >::as_widget ( ) const
inlineoverride

Definition at line 108 of file layout_item.hpp.

◆ as_widget() [2/2]

template<typename Base >
i_widget & neogfx::layout_item< Base >::as_widget ( )
inlineoverride

Definition at line 115 of file layout_item.hpp.

◆ border()

template<typename Base >
neogfx::border neogfx::layout_item< Base >::border ( ) const
inlineoverride

Definition at line 511 of file layout_item.hpp.

◆ extents()

template<typename Base >
size neogfx::layout_item< Base >::extents ( ) const
inlinefinal

Definition at line 244 of file layout_item.hpp.

◆ fix_weightings()

template<typename Base >
void neogfx::layout_item< Base >::fix_weightings ( bool  aRecalculate = true)
inlineoverride

Definition at line 597 of file layout_item.hpp.

◆ fixed_size()

template<typename Base >
size neogfx::layout_item< Base >::fixed_size ( optional_size const &  aAvailableSpace = {}) const
inlineoverride

Definition at line 432 of file layout_item.hpp.

◆ has_border()

template<typename Base >
bool neogfx::layout_item< Base >::has_border ( ) const
inlineoverridenoexcept

Definition at line 507 of file layout_item.hpp.

◆ has_fixed_size()

template<typename Base >
bool neogfx::layout_item< Base >::has_fixed_size ( ) const
inlineoverridenoexcept

Definition at line 428 of file layout_item.hpp.

◆ has_ideal_size()

template<typename Base >
bool neogfx::layout_item< Base >::has_ideal_size ( ) const
inlineoverridenoexcept

Definition at line 318 of file layout_item.hpp.

◆ has_layout_manager()

template<typename Base >
bool neogfx::layout_item< Base >::has_layout_manager ( ) const
inlinefinal

Definition at line 150 of file layout_item.hpp.

◆ has_margin()

template<typename Base >
bool neogfx::layout_item< Base >::has_margin ( ) const
inlineoverridenoexcept

Definition at line 489 of file layout_item.hpp.

◆ has_maximum_size()

template<typename Base >
bool neogfx::layout_item< Base >::has_maximum_size ( ) const
inlineoverridenoexcept

Definition at line 395 of file layout_item.hpp.

◆ has_minimum_size()

template<typename Base >
bool neogfx::layout_item< Base >::has_minimum_size ( ) const
inlineoverridenoexcept

Definition at line 358 of file layout_item.hpp.

◆ has_padding()

template<typename Base >
bool neogfx::layout_item< Base >::has_padding ( ) const
inlineoverridenoexcept

Definition at line 525 of file layout_item.hpp.

◆ has_parent_layout_item()

template<typename Base >
bool neogfx::layout_item< Base >::has_parent_layout_item ( ) const
inlinefinal

Definition at line 123 of file layout_item.hpp.

◆ has_size_policy()

template<typename Base >
bool neogfx::layout_item< Base >::has_size_policy ( ) const
inlineoverridenoexcept

Definition at line 264 of file layout_item.hpp.

◆ has_transformation()

template<typename Base >
bool neogfx::layout_item< Base >::has_transformation ( ) const
inlineoverridenoexcept

Definition at line 452 of file layout_item.hpp.

◆ has_weight()

template<typename Base >
bool neogfx::layout_item< Base >::has_weight ( ) const
inlineoverridenoexcept

Definition at line 295 of file layout_item.hpp.

◆ id()

template<typename Base >
const i_string & neogfx::layout_item< Base >::id ( ) const
inlinefinal

Definition at line 54 of file layout_item.hpp.

◆ ideal_size()

template<typename Base >
size neogfx::layout_item< Base >::ideal_size ( optional_size const &  aAvailableSpace = {}) const
inlineoverride

Definition at line 326 of file layout_item.hpp.

◆ invalidate_combined_transformation()

template<typename Base >
void neogfx::layout_item< Base >::invalidate_combined_transformation ( )
inlineoverride

Definition at line 572 of file layout_item.hpp.

◆ is_cache()

template<typename Base >
bool neogfx::layout_item< Base >::is_cache ( ) const
inlinefinal

Definition at line 63 of file layout_item.hpp.

◆ is_ideal_size_constrained()

template<typename Base >
bool neogfx::layout_item< Base >::is_ideal_size_constrained ( ) const
inlineoverridenoexcept

Definition at line 322 of file layout_item.hpp.

◆ is_layout()

template<typename Base >
bool neogfx::layout_item< Base >::is_layout ( ) const
inlinefinal

Definition at line 68 of file layout_item.hpp.

◆ is_maximum_size_constrained()

template<typename Base >
bool neogfx::layout_item< Base >::is_maximum_size_constrained ( ) const
inlineoverridenoexcept

Definition at line 399 of file layout_item.hpp.

◆ is_minimum_size_constrained()

template<typename Base >
bool neogfx::layout_item< Base >::is_minimum_size_constrained ( ) const
inlineoverridenoexcept

Definition at line 362 of file layout_item.hpp.

◆ is_spacer()

template<typename Base >
bool neogfx::layout_item< Base >::is_spacer ( ) const
inlinefinal

Definition at line 86 of file layout_item.hpp.

◆ is_widget()

template<typename Base >
bool neogfx::layout_item< Base >::is_widget ( ) const
inlineoverride

Definition at line 104 of file layout_item.hpp.

◆ layout_item_disabled()

template<typename Base >
void neogfx::layout_item< Base >::layout_item_disabled ( i_layout_item< Base > &  aItem)
inlineoverrideprotected

Definition at line 637 of file layout_item.hpp.

◆ layout_item_enabled()

template<typename Base >
void neogfx::layout_item< Base >::layout_item_enabled ( i_layout_item< Base > &  aItem)
inlineoverrideprotected

Definition at line 634 of file layout_item.hpp.

◆ layout_manager() [1/2]

template<typename Base >
const i_widget & neogfx::layout_item< Base >::layout_manager ( ) const
inlinefinal

Definition at line 166 of file layout_item.hpp.

◆ layout_manager() [2/2]

template<typename Base >
i_widget & neogfx::layout_item< Base >::layout_manager ( )
inlinefinal

Definition at line 180 of file layout_item.hpp.

◆ margin()

template<typename Base >
neogfx::margin neogfx::layout_item< Base >::margin ( ) const
inlineoverride

Definition at line 493 of file layout_item.hpp.

◆ maximum_size()

template<typename Base >
size neogfx::layout_item< Base >::maximum_size ( optional_size const &  aAvailableSpace = {}) const
inlineoverride

Definition at line 403 of file layout_item.hpp.

◆ minimum_size()

template<typename Base >
size neogfx::layout_item< Base >::minimum_size ( optional_size const &  aAvailableSpace = {}) const
inlineoverride

Definition at line 366 of file layout_item.hpp.

◆ origin()

template<typename Base >
point neogfx::layout_item< Base >::origin ( ) const
inlinefinal

Definition at line 206 of file layout_item.hpp.

◆ padding()

template<typename Base >
neogfx::padding neogfx::layout_item< Base >::padding ( ) const
inlineoverride

Definition at line 529 of file layout_item.hpp.

◆ parent_layout_item() [1/2]

template<typename Base >
const i_layout_item & neogfx::layout_item< Base >::parent_layout_item ( ) const
inlinefinal

Definition at line 134 of file layout_item.hpp.

◆ parent_layout_item() [2/2]

template<typename Base >
i_layout_item & neogfx::layout_item< Base >::parent_layout_item ( )
inlinefinal

Definition at line 145 of file layout_item.hpp.

◆ position()

template<typename Base >
point neogfx::layout_item< Base >::position ( ) const
inlinefinal

Definition at line 237 of file layout_item.hpp.

◆ reset_origin()

template<typename Base >
void neogfx::layout_item< Base >::reset_origin ( ) const
inlinefinal

Definition at line 233 of file layout_item.hpp.

◆ set_border()

template<typename Base >
void neogfx::layout_item< Base >::set_border ( optional_border const &  aBorder,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 515 of file layout_item.hpp.

◆ set_extents()

template<typename Base >
void neogfx::layout_item< Base >::set_extents ( const size aExtents)
inlineoverrideprotected

Definition at line 258 of file layout_item.hpp.

◆ set_fixed_size()

template<typename Base >
void neogfx::layout_item< Base >::set_fixed_size ( optional_size const &  aFixedSize,
bool  aUpdateLayout = true 
)
inline

Definition at line 438 of file layout_item.hpp.

◆ set_id()

template<typename Base >
void neogfx::layout_item< Base >::set_id ( const i_string aId)
inlinefinal

Definition at line 58 of file layout_item.hpp.

◆ set_ideal_size()

template<typename Base >
void neogfx::layout_item< Base >::set_ideal_size ( optional_size const &  aIdealSize,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 344 of file layout_item.hpp.

◆ set_margin()

template<typename Base >
void neogfx::layout_item< Base >::set_margin ( optional_margin const &  aMargin,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 497 of file layout_item.hpp.

◆ set_maximum_size()

template<typename Base >
void neogfx::layout_item< Base >::set_maximum_size ( optional_size const &  aMaximumSize,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 414 of file layout_item.hpp.

◆ set_minimum_size()

template<typename Base >
void neogfx::layout_item< Base >::set_minimum_size ( optional_size const &  aMinimumSize,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 381 of file layout_item.hpp.

◆ set_padding()

template<typename Base >
void neogfx::layout_item< Base >::set_padding ( optional_padding const &  aPadding,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 533 of file layout_item.hpp.

◆ set_position()

template<typename Base >
void neogfx::layout_item< Base >::set_position ( const point aPosition)
inlineoverrideprotected

Definition at line 252 of file layout_item.hpp.

◆ set_size_policy()

template<typename Base >
void neogfx::layout_item< Base >::set_size_policy ( const optional_size_policy &  aSizePolicy,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 282 of file layout_item.hpp.

◆ set_transformation()

template<typename Base >
void neogfx::layout_item< Base >::set_transformation ( optional_mat33 const &  aTransformation,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 473 of file layout_item.hpp.

◆ set_weight()

template<typename Base >
void neogfx::layout_item< Base >::set_weight ( optional_size const &  aWeight,
bool  aUpdateLayout = true 
)
inlineoverride

Definition at line 305 of file layout_item.hpp.

◆ size_policy()

template<typename Base >
neogfx::size_policy neogfx::layout_item< Base >::size_policy ( ) const
inlineoverride

Definition at line 268 of file layout_item.hpp.

◆ transformation()

template<typename Base >
mat33 const & neogfx::layout_item< Base >::transformation ( bool  aCombineAncestorTransformations = false) const
inlineoverride

Definition at line 456 of file layout_item.hpp.

◆ unconstrained_origin()

template<typename Base >
point neogfx::layout_item< Base >::unconstrained_origin ( ) const
inlineoverrideprotected

Definition at line 544 of file layout_item.hpp.

◆ unconstrained_position()

template<typename Base >
point neogfx::layout_item< Base >::unconstrained_position ( ) const
inlineoverrideprotected

Definition at line 567 of file layout_item.hpp.

◆ update_layout()

template<typename Base >
void neogfx::layout_item< Base >::update_layout ( bool  aDeferLayout = true,
bool  aAncestors = false 
)
inlinefinal

Definition at line 185 of file layout_item.hpp.

◆ weight()

template<typename Base >
size neogfx::layout_item< Base >::weight ( ) const
inlineoverride

Definition at line 299 of file layout_item.hpp.

Member Data Documentation

◆ iCombinedTransformation

template<typename Base >
cache<mat33> neogfx::layout_item< Base >::iCombinedTransformation
mutable

Definition at line 682 of file layout_item.hpp.

◆ iOrigin

template<typename Base >
define_property (property_category::soft_geometry, point, Position, position) define_property(property_category cache<point> neogfx::layout_item< Base >::iOrigin
mutable

Definition at line 681 of file layout_item.hpp.


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