class: ewol::widget::ContainerN


Description:

the Cotainer widget is a widget that have an only one subWidget

Constructor and Destructor:

#                                                  ContainerN                ();
+ virtual ~ContainerN ();

Synopsis:

#         std::list<std::shared_ptr<ewol::Widget>> m_subWidget;
# void init ();
# bvec2 m_lockExpand;
# bvec2 m_subExpend;
+ void lockExpand (const bvec2 & _lockExpand);
+ virtual bvec2 canExpand ();
+ virtual void subWidgetRemoveAll ();
+ virtual void subWidgetRemoveAllDelayed ();
+ virtual int32_t subWidgetAdd (std::shared_ptr<ewol::Widget> _newWidget);
+ int32_t subWidgetAddBack (std::shared_ptr<ewol::Widget> _newWidget);
+ int32_t subWidgetAddEnd (std::shared_ptr<ewol::Widget> _newWidget);
+ virtual int32_t subWidgetAddStart (std::shared_ptr<ewol::Widget> _newWidget);
+ int32_t subWidgetAddFront (std::shared_ptr<ewol::Widget> _newWidget);
+ virtual void subWidgetRemove (std::shared_ptr<ewol::Widget> _newWidget);
+ virtual void subWidgetUnLink (std::shared_ptr<ewol::Widget> _newWidget);
+ virtual void systemDraw (const ewol::DrawProperty & _displayProp);
+ virtual void onRegenerateDisplay ();
+ virtual void calculateSize (const vec2 & _availlable);
+ virtual void calculateMinMaxSize ();
+ virtual std::shared_ptr<ewol::Widget> getWidgetAtPos (const vec2 & _pos);
+ virtual std::shared_ptr<ewol::Object> getSubObjectNamed (const std::string & _objectName);
+ virtual bool loadXML (exml::Element* _node);
+ virtual void setOffset (const vec2 & _newVal);
+ virtual void requestDestroyFromChild (const std::shared_ptr<Object> & _child);

Object Hierarchy:

+std::enable_shared_from_this<Object>
+ewol::object::ParameterList
+ewol::object::SignalList
+--> +ewol::Object
+--> +ewol::Widget
+--> ewol::widget::ContainerN
+--> ewol::widget::Sizer
+--> ewol::widget::WSlider
+--> ewol::widget::Layer

Detail:

m_subWidget

# std::list<std::shared_ptr<ewol::Widget>> m_subWidget;



ContainerN

#  ContainerN ();
Constructor


init

# void init ();



~ContainerN

+ virtual  ~ContainerN ();
Destructor


m_lockExpand

# bvec2 m_lockExpand;
Lock the expend of the sub widget to this one == > this permit to limit bigger subWidget


m_subExpend

# bvec2 m_subExpend;
reference of the sub element expention requested.


lockExpand

+ void lockExpand (const bvec2 & _lockExpand);
Limit the expend properties to the current widget (no contamination)


canExpand

+ virtual bvec2 canExpand ();
get the expend capabilities (x&y)
Note: : INTERNAL EWOL SYSTEM


subWidgetRemoveAll

+ virtual void subWidgetRemoveAll ();
remove all sub element from the widget.


subWidgetRemoveAllDelayed

+ virtual void subWidgetRemoveAllDelayed ();
remove all sub element from the widget (delayed to prevent remove in the callbback).


subWidgetAdd

+ virtual int32_t subWidgetAdd (std::shared_ptr<ewol::Widget> _newWidget);
+ int32_t subWidgetAddBack (std::shared_ptr<ewol::Widget> _newWidget);
+ int32_t subWidgetAddEnd (std::shared_ptr<ewol::Widget> _newWidget);
add at end position a Widget (note : This system use an inverted phylisophie (button to top, and left to right)


subWidgetAddStart

+ virtual int32_t subWidgetAddStart (std::shared_ptr<ewol::Widget> _newWidget);
+ int32_t subWidgetAddFront (std::shared_ptr<ewol::Widget> _newWidget);
add at start position a Widget (note : This system use an inverted phylisophie (button to top, and left to right)


subWidgetRemove

+ virtual void subWidgetRemove (std::shared_ptr<ewol::Widget> _newWidget);
remove definitly a widget from the system and this layer.


subWidgetUnLink

+ virtual void subWidgetUnLink (std::shared_ptr<ewol::Widget> _newWidget);
Just unlick the specify widget, this function does not remove it from the system (if you can, do nt use it ...)


systemDraw

+ virtual void systemDraw (const ewol::DrawProperty & _displayProp);
{SYSTEM} extern interface to request a draw ... (called by the drawing thread [Android, X11, ...]) This function generate a clipping with the viewport openGL system. Like this a widget draw can not draw over an other widget
Note: This function is virtual for the scrolled widget, and the more complicated openGl widget
Note: : INTERNAL EWOL SYSTEM


onRegenerateDisplay

+ virtual void onRegenerateDisplay ();
Event generated when a redraw is needed


calculateSize

+ virtual void calculateSize (const vec2 & _availlable);
Parent set the possible diplay size of the current widget whith his own possibilities By default this save the widget available size in the widget size
Note: : INTERNAL EWOL SYSTEM


calculateMinMaxSize

+ virtual void calculateMinMaxSize ();
calculate the minimum and maximum size (need to estimate expend properties of the widget)
Note: : INTERNAL EWOL SYSTEM


getWidgetAtPos

+ virtual std::shared_ptr<ewol::Widget> getWidgetAtPos (const vec2 & _pos);
get the widget at the specific windows absolute position
Note: : INTERNAL EWOL SYSTEM


getSubObjectNamed

+ virtual std::shared_ptr<ewol::Object> getSubObjectNamed (const std::string & _objectName);
Retrive an object with his name (in the global list)


loadXML

+ virtual bool loadXML (exml::Element* _node);
load properties with an XML node.


setOffset

+ virtual void setOffset (const vec2 & _newVal);
set the zoom property of the widget.


requestDestroyFromChild

+ virtual void requestDestroyFromChild (const std::shared_ptr<Object> & _child);