Nana C++ Library. Reference for users.
What we need to use nana
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Pages
nana::place::implement::division Class Referenceabstract
Inheritance diagram for nana::place::implement::division:
nana::place::implement::div_arrange nana::place::implement::div_dock nana::place::implement::div_dockpane nana::place::implement::div_grid nana::place::implement::div_splitter nana::place::implement::div_switchable

Classes

struct  run_data
 

Public Types

enum  kind {
  kind::arrange, kind::vertical_arrange, kind::grid, kind::splitter,
  kind::dock, kind::dockpane, kind::switchable
}
 
using token = place_parts::tokenizer::token
 

Public Member Functions

 division (kind k, std::string &&n) noexcept
 
virtual ~division ()
 
std::pair< double, double > calc_weight_floor ()
 
void set_visible (bool vsb)
 
void set_display (bool dsp)
 
bool is_back (const division *div) const noexcept
 
bool is_fixed () const
 
bool is_percent () const
 
nana::rectangle margin_area () const
 
divisionprevious () const noexcept
 
double _m_extend_with_margin (std::size_t edge, double &extended)
 
virtual void collocate (window)=0
 

Static Public Member Functions

static unsigned calc_number (const place_parts::number_t &number, unsigned area_px, double adjustable_px, double &precise_px)
 
static double limit_px (const division *div, double px, unsigned area_px) noexcept
 
static void _m_visible_for_child (division *div, bool vsb) noexcept
 

Public Attributes

kind kind_of_division
 
bool display { true }
 
bool visible { true }
 
fit_policy fit { fit_policy::none }
 
repeated_array fit_parameters
 
::nana::direction dir {::nana::direction::west}
 
std::string name
 
std::vector< std::unique_ptr
< division > > 
children
 
::nana::rectangle field_area
 
number_t weight
 
token weigth_type =token::weight
 
number_t min_px
 
number_t max_px
 
place_parts::margin margin
 
place_parts::repeated_array gap
 
field_gatherfield { nullptr }
 
divisiondiv_next { nullptr }
 
divisiondiv_owner { nullptr }
 
struct
nana::place::implement::division::run_data 
run_
 

Member Typedef Documentation

Member Enumeration Documentation

Enumerator
arrange 
vertical_arrange 
grid 
splitter 
dock 
dockpane 
switchable 

Constructor & Destructor Documentation

nana::place::implement::division::division ( kind  k,
std::string &&  n 
)
inlinenoexcept
virtual nana::place::implement::division::~division ( )
inlinevirtual

Member Function Documentation

double nana::place::implement::division::_m_extend_with_margin ( std::size_t  edge,
double &  extended 
)
inline
static void nana::place::implement::division::_m_visible_for_child ( division div,
bool  vsb 
)
inlinestaticnoexcept
static unsigned nana::place::implement::division::calc_number ( const place_parts::number_t number,
unsigned  area_px,
double  adjustable_px,
double &  precise_px 
)
inlinestatic
std::pair<double, double> nana::place::implement::division::calc_weight_floor ( )
inline
virtual void nana::place::implement::division::collocate ( window  )
pure virtual
bool nana::place::implement::division::is_back ( const division div) const
inlinenoexcept
bool nana::place::implement::division::is_fixed ( ) const
inline
bool nana::place::implement::division::is_percent ( ) const
inline
static double nana::place::implement::division::limit_px ( const division div,
double  px,
unsigned  area_px 
)
inlinestaticnoexcept
nana::rectangle nana::place::implement::division::margin_area ( ) const
inline
division* nana::place::implement::division::previous ( ) const
inlinenoexcept
void nana::place::implement::division::set_display ( bool  dsp)
inline
void nana::place::implement::division::set_visible ( bool  vsb)
inline

Member Data Documentation

std::vector<std::unique_ptr<division> > nana::place::implement::division::children
::nana::direction nana::place::implement::division::dir {::nana::direction::west}
bool nana::place::implement::division::display { true }
division* nana::place::implement::division::div_next { nullptr }
division* nana::place::implement::division::div_owner { nullptr }
field_gather* nana::place::implement::division::field { nullptr }
::nana::rectangle nana::place::implement::division::field_area
fit_policy nana::place::implement::division::fit { fit_policy::none }
repeated_array nana::place::implement::division::fit_parameters
place_parts::repeated_array nana::place::implement::division::gap
kind nana::place::implement::division::kind_of_division
place_parts::margin nana::place::implement::division::margin
number_t nana::place::implement::division::max_px
number_t nana::place::implement::division::min_px
std::string nana::place::implement::division::name
struct nana::place::implement::division::run_data nana::place::implement::division::run_
bool nana::place::implement::division::visible { true }
number_t nana::place::implement::division::weight
token nana::place::implement::division::weigth_type =token::weight