class: ewol::widget::Container


Description:

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

Constructor and Destructor:

#                                       Container               ();
+ virtual ~Container ();

Synopsis:

#         std::shared_ptr<ewol::Widget> m_subWidget;
# void init (std::shared_ptr<ewol::Widget> _subElement);
+ std::shared_ptr<ewol::Widget> getSubWidget ();
+ void setSubWidget (std::shared_ptr<ewol::Widget> _newWidget);
+ void subWidgetRemove ();
+ void subWidgetUnLink ();
+ 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::Container
+--> ewol::widget::PopUp
+--> ewol::widget::ContextMenu
+--> ewol::widget::Scroll
+--> ewol::widget::Composer

Detail:

m_subWidget

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



Container

#  Container ();
Constructor


init

# void init (std::shared_ptr<ewol::Widget> _subElement);



~Container

+ virtual  ~Container ();
Destructor


getSubWidget

+ std::shared_ptr<ewol::Widget> getSubWidget ();
get the main node widget


setSubWidget

+ void setSubWidget (std::shared_ptr<ewol::Widget> _newWidget);
set the subWidget node widget.


subWidgetRemove

+ void subWidgetRemove ();
remove the subWidget node (async).


subWidgetUnLink

+ void subWidgetUnLink ();
Unlink the subwidget Node.


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);