class: ewol::widget::ContainerN


Description:

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

Constructor and Destructor:

+                                    ContainerN                (void );
+ ~ContainerN (void );

Synopsis:

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

Object Hierarchy:

+ewol::Object
+--> +ewol::Widget
+--> ewol::widget::ContainerN
+--> ewol::widget::Sizer
+--> ewol::widget::WSlider
+--> ewol::widget::Layer

Detail:

m_subWidget

# std::vector<ewol::Widget*> m_subWidget;



ContainerN

+  ContainerN (void );
Constructor


~ContainerN

+  ~ContainerN (void );
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 (void );
get the expend capabilities (x&y)
Note: : INTERNAL EWOL SYSTEM


subWidgetRemoveAll

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


subWidgetRemoveAllDelayed

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


subWidgetAdd

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


subWidgetAddBack

+ int32_t subWidgetAddBack (ewol::Widget* _newWidget);



subWidgetAddEnd

+ int32_t subWidgetAddEnd (ewol::Widget* _newWidget);



subWidgetAddStart

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


subWidgetAddFront

+ int32_t subWidgetAddFront (ewol::Widget* _newWidget);



subWidgetRemove

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


subWidgetUnLink

+ virtual void subWidgetUnLink (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 (void );
Event generated when a redraw is needed


onObjectRemove

+ virtual void onObjectRemove (ewol::Object* _removeObject);
Inform object that an other object is removed ...
Note: : Sub classes must call this class


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 (void );
calculate the minimum and maximum size (need to estimate expend properties of the widget)
Note: : INTERNAL EWOL SYSTEM


getWidgetAtPos

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


getWidgetNamed

+ virtual ewol::Widget* getWidgetNamed (const std::string & _widgetName);
get the widget if it have this name or one of the subwidget with the same name


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.