cgv
Loading...
Searching...
No Matches
cgv::gui::layout Class Reference
Inheritance diagram for cgv::gui::layout:
cgv::base::base cgv::data::ref_counted cgv::reflect::self_reflection_tag cgv::gui::layout_inline cgv::gui::layout_table

Public Member Functions

 layout (cgv::base::group_ptr container=0)
 
void set_container (cgv::base::group_ptr container)
 
void set_spacings (const layout_spacings spacings)
 
virtual void update ()
 this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty.
 
void resize (int w, int h)
 
virtual std::string get_property_declarations ()
 return a semicolon separated list of property declarations
 
virtual bool set_void (const std::string &property, const std::string &value_type, const void *value_ptr)
 abstract interface for the setter of a dynamic property.
 
virtual bool get_void (const std::string &property, const std::string &value_type, void *value_ptr)
 abstract interface for the getter of a dynamic property.
 
- Public Member Functions inherited from cgv::base::base
virtual std::string get_type_name () const
 overload to return the type name of this object. By default the type interface is queried over get_type.
 
virtual std::string get_default_options () const
 overload to provide default options for registration
 
std::string get_name_or_type_name () const
 determine name of instance by checking cgv::base::named interface and in failure fallback to get_type_name()
 
virtual void on_register ()
 overload to handle register events that is sent after the instance has been registered
 
virtual void unregister ()
 overload to handle unregistration of instances
 
virtual bool on_exit_request ()
 overload to handle the appication exit request, return true if exiting is allowed and false otherwise
 
virtual void stream_stats (std::ostream &)
 overload to show the content of this object
 
virtual data::ref_ptr< named, trueget_named ()
 perform downcast to named
 
virtual data::ref_ptr< node, trueget_node ()
 perform downcast to node
 
virtual data::ref_ptr< group, trueget_group ()
 perform downcast to group
 
virtual data::ref_ptr< const named, trueget_named_const () const
 perform downcast to const named
 
virtual data::ref_ptr< const node, trueget_node_const () const
 perform downcast to const node
 
virtual data::ref_ptr< const group, trueget_group_const () const
 perform downcast to const group
 
template<class T >
data::ref_ptr< T, truecast ()
 cast to arbitrary class, but use the casts to named, node and group from the interface
 
template<class T >
data::ref_ptr< const T, truecast_const ()
 const cast to arbitrary class, but use the casts to named, node and group from the interface
 
template<class T >
Tget_interface ()
 use dynamic type cast to check for the given interface
 
template<class T >
const Tget_const_interface () const
 use dynamic type cast to check for the given interface
 
virtual voidget_user_data () const
 this virtual method allows to pass application specific data for internal purposes
 
virtual bool self_reflect (cgv::reflect::reflection_handler &)
 used for simple self reflection
 
virtual void on_set (void *member_ptr)
 this callback is called when the set_void method has changed a member and can be overloaded in derived class
 
virtual bool call_void (const std::string &method, const std::vector< std::string > &param_value_types, const std::vector< const void * > &param_value_ptrs, const std::string &result_type="", void *result_value_ptr=0)
 abstract interface to call an action
 
void set (const std::string &property, const char *value)
 specialization of set method to support const char* as strings
 
template<typename T >
void set (const std::string &property, const T &value)
 set a property of the element to the given value and perform standard conversions if necessary.
 
template<typename T >
T get (const std::string &property)
 query a property of the element and perform standard conversions if necessary.
 
void multi_set (const std::string &property_assignments, bool report_error=true)
 set several properties
 
bool is_property (const std::string &property_name, std::string *type_name=0)
 check if the given name specifies a property.
 
voidfind_member_ptr (const std::string &property_name, std::string *type_name=0)
 find a member pointer by name.
 
- Public Member Functions inherited from cgv::data::ref_counted
int get_ref_count () const
 read access to current count
 

Protected Member Functions

int get_child_layout_hints (cgv::base::base_ptr child)
 
cgv::base::group_ptr get_container ()
 
cgv::base::base_ptr get_child (unsigned int i)
 
void get_child_size (const cgv::base::base_ptr child, int &width, int &height)
 
void set_child_size (const cgv::base::base_ptr child, int width, int height)
 
void get_child_default_size (const cgv::base::base_ptr child, int &width, int &height)
 
void get_child_position (const cgv::base::base_ptr child, int &x, int &y)
 
void set_child_position (const cgv::base::base_ptr child, int x, int y)
 
void get_child_minimum_size (const cgv::base::base_ptr child, int &width, int &height)
 
- Protected Member Functions inherited from cgv::base::base
virtual ~base ()
 make destructor virtual and not accessible from outside
 
- Protected Member Functions inherited from cgv::data::ref_counted
 ref_counted ()
 constructor initializes the count to 0
 
void set_ref_count (int c) const
 write access is also const to allow ref counted pointers to const instances
 

Protected Attributes

cgv::base::group_ptr container
 
int w
 
int h
 
int true_w
 
int true_h
 
int min_w
 
int min_h
 
int default_w
 
int default_h
 
layout_spacings spacings
 
std::string spacings_name
 

Additional Inherited Members

- Static Protected Member Functions inherited from cgv::base::base
template<class T >
static data::ref_ptr< T, truecast_dynamic (base *b)
 use dynamic cast for upcast to given class
 

Detailed Description

Definition at line 54 of file layout.h.

Constructor & Destructor Documentation

◆ layout()

cgv::gui::layout::layout ( cgv::base::group_ptr  container = 0)

Definition at line 8 of file layout.cxx.

◆ ~layout()

cgv::gui::layout::~layout ( )

Definition at line 23 of file layout.cxx.

Member Function Documentation

◆ get_child()

cgv::base::base_ptr cgv::gui::layout::get_child ( unsigned int  i)
protected

Definition at line 48 of file layout.cxx.

◆ get_child_default_size()

void cgv::gui::layout::get_child_default_size ( const cgv::base::base_ptr  child,
int &  width,
int &  height 
)
protected

Definition at line 141 of file layout.cxx.

◆ get_child_layout_hints()

int cgv::gui::layout::get_child_layout_hints ( cgv::base::base_ptr  child)
protected

Definition at line 59 of file layout.cxx.

◆ get_child_minimum_size()

void cgv::gui::layout::get_child_minimum_size ( const cgv::base::base_ptr  child,
int &  width,
int &  height 
)
protected

Definition at line 154 of file layout.cxx.

◆ get_child_position()

void cgv::gui::layout::get_child_position ( const cgv::base::base_ptr  child,
int &  x,
int &  y 
)
protected

Definition at line 169 of file layout.cxx.

◆ get_child_size()

void cgv::gui::layout::get_child_size ( const cgv::base::base_ptr  child,
int &  width,
int &  height 
)
protected

Definition at line 116 of file layout.cxx.

◆ get_container()

cgv::base::group_ptr cgv::gui::layout::get_container ( )
protected

Definition at line 41 of file layout.cxx.

◆ get_property_declarations()

std::string cgv::gui::layout::get_property_declarations ( )
virtual

return a semicolon separated list of property declarations

return a semicolon separated list of property declarations of the form "name:type", by default an empty list is returned

of the form "name1:type1;name2:type2;...", by default an empty list is returned. The types should by consistent with the names returned by cgv::type::info::type_name::get_name. The default implementation extracts names and types from the self_reflect() method and the meta type information provided by the get_type() method.

Reimplemented from cgv::base::base.

Reimplemented in cgv::gui::layout_table.

Definition at line 203 of file layout.cxx.

◆ get_void()

bool cgv::gui::layout::get_void ( const std::string &  property,
const std::string &  value_type,
void *  value_ptr 
)
virtual

abstract interface for the getter of a dynamic property.

abstract interface for the getter, by default it simply returns false

The default implementation uses the self_reflect() method to find a member with the given property as name. If not found, the get_void method returns false.

Reimplemented from cgv::base::base.

Reimplemented in cgv::gui::layout_table.

Definition at line 234 of file layout.cxx.

◆ resize()

void cgv::gui::layout::resize ( int  w,
int  h 
)

Definition at line 194 of file layout.cxx.

◆ set_child_position()

void cgv::gui::layout::set_child_position ( const cgv::base::base_ptr  child,
int  x,
int  y 
)
protected

Definition at line 182 of file layout.cxx.

◆ set_child_size()

void cgv::gui::layout::set_child_size ( const cgv::base::base_ptr  child,
int  width,
int  height 
)
protected

Definition at line 129 of file layout.cxx.

◆ set_container()

void cgv::gui::layout::set_container ( cgv::base::group_ptr  container)

Definition at line 29 of file layout.cxx.

◆ set_void()

bool cgv::gui::layout::set_void ( const std::string &  property,
const std::string &  value_type,
const void *  value_ptr 
)
virtual

abstract interface for the setter of a dynamic property.

abstract interface for the setter, by default it simply returns false

The default implementation uses the self_reflect() method to find a member with the given property as name. If not found, the set_void method returns false.

Reimplemented from cgv::base::base.

Reimplemented in cgv::gui::layout_table.

Definition at line 209 of file layout.cxx.

References update().

◆ update()

virtual void cgv::gui::layout::update ( )
inlinevirtual

this virtual update allows for example to ask a view to update the viewed value. The default implementation is empty.

Reimplemented from cgv::base::base.

Reimplemented in cgv::gui::layout_inline, and cgv::gui::layout_table.

Definition at line 69 of file layout.h.

Referenced by set_void().

Member Data Documentation

◆ container

cgv::base::group_ptr cgv::gui::layout::container
protected

Definition at line 79 of file layout.h.

◆ default_h

int cgv::gui::layout::default_h
protected

Definition at line 81 of file layout.h.

◆ default_w

int cgv::gui::layout::default_w
protected

Definition at line 81 of file layout.h.

◆ h

int cgv::gui::layout::h
protected

Definition at line 80 of file layout.h.

◆ min_h

int cgv::gui::layout::min_h
protected

Definition at line 81 of file layout.h.

◆ min_w

int cgv::gui::layout::min_w
protected

Definition at line 81 of file layout.h.

◆ spacings

layout_spacings cgv::gui::layout::spacings
protected

Definition at line 82 of file layout.h.

◆ spacings_name

std::string cgv::gui::layout::spacings_name
protected

Definition at line 83 of file layout.h.

◆ true_h

int cgv::gui::layout::true_h
protected

Definition at line 80 of file layout.h.

◆ true_w

int cgv::gui::layout::true_w
protected

Definition at line 80 of file layout.h.

◆ w

int cgv::gui::layout::w
protected

Definition at line 80 of file layout.h.


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