[DEV] Better interface

This commit is contained in:
Edouard DUPIN 2014-05-17 20:47:45 +02:00
parent 7aa87e0fcc
commit 23eb78c7f9
22 changed files with 55 additions and 52 deletions

View File

@ -99,6 +99,9 @@ namespace ewol {
T* operator->() const noexcept { T* operator->() const noexcept {
return m_pointer; return m_pointer;
} }
operator ewol::object::Owner<T>() const noexcept {
return m_pointer;
}
}; };
template<typename T> Shared<T> makeShared(T* _pointer) { template<typename T> Shared<T> makeShared(T* _pointer) {
return Shared<T>(_pointer); return Shared<T>(_pointer);

View File

@ -34,12 +34,12 @@ const char* const ewol::widget::Button::configShaper = "shaper";
#define STATUS_DOWN (3) #define STATUS_DOWN (3)
static ewol::Widget* Create() { static ewol::Widget* create() {
return new ewol::widget::Button(); return new ewol::widget::Button();
} }
void ewol::widget::Button::init(ewol::widget::Manager& _widgetManager) { void ewol::widget::Button::init(ewol::widget::Manager& _widgetManager) {
_widgetManager.addWidgetCreator(__class__, &Create); _widgetManager.addWidgetCreator(__class__, &create);
} }
ewol::widget::Button::Button(const std::string& _shaperName) : ewol::widget::Button::Button(const std::string& _shaperName) :

View File

@ -30,12 +30,12 @@ const char * const ewol::widget::ButtonColor::eventChange = "change";
static const char* const eventColorHasChange = "ewol-widget-ButtonColor-colorChange"; static const char* const eventColorHasChange = "ewol-widget-ButtonColor-colorChange";
static ewol::Widget* Create() { static ewol::Widget* create() {
return new ewol::widget::ButtonColor(); return new ewol::widget::ButtonColor();
} }
void ewol::widget::ButtonColor::init(ewol::widget::Manager& _widgetManager) { void ewol::widget::ButtonColor::init(ewol::widget::Manager& _widgetManager) {
_widgetManager.addWidgetCreator(__class__,&Create); _widgetManager.addWidgetCreator(__class__, &create);
} }
ewol::widget::ButtonColor::ButtonColor(etk::Color<> _baseColor, std::string _shaperName) : ewol::widget::ButtonColor::ButtonColor(etk::Color<> _baseColor, std::string _shaperName) :

View File

@ -27,12 +27,12 @@ const char* const ewol::widget::CheckBox::configShaper = "shaper";
#undef __class__ #undef __class__
#define __class__ "CheckBox" #define __class__ "CheckBox"
static ewol::Widget* Create() { static ewol::Widget* create() {
return new ewol::widget::CheckBox(); return new ewol::widget::CheckBox();
} }
void ewol::widget::CheckBox::init(ewol::widget::Manager& _widgetManager) { void ewol::widget::CheckBox::init(ewol::widget::Manager& _widgetManager) {
_widgetManager.addWidgetCreator(__class__,&Create); _widgetManager.addWidgetCreator(__class__, &create);
} }
ewol::widget::CheckBox::CheckBox(const std::string& _shaperName) : ewol::widget::CheckBox::CheckBox(const std::string& _shaperName) :

View File

@ -16,7 +16,7 @@
#define __class__ "Container" #define __class__ "Container"
ewol::widget::Container::Container(ewol::Widget* _subElement) : ewol::widget::Container::Container(ewol::object::Shared<ewol::Widget> _subElement) :
m_subWidget(_subElement) { m_subWidget(_subElement) {
addObjectType("ewol::widget::Container"); addObjectType("ewol::widget::Container");
// nothing to do ... // nothing to do ...
@ -30,7 +30,7 @@ ewol::object::Shared<ewol::Widget> ewol::widget::Container::getSubWidget() {
return m_subWidget; return m_subWidget;
} }
void ewol::widget::Container::setSubWidget(ewol::Widget* _newWidget) { void ewol::widget::Container::setSubWidget(ewol::object::Shared<ewol::Widget> _newWidget) {
if (NULL == _newWidget) { if (NULL == _newWidget) {
return; return;
} }
@ -173,7 +173,7 @@ bool ewol::widget::Container::loadXML(exml::Element* _node) {
continue; continue;
} }
EWOL_DEBUG("try to create subwidget : '" << widgetName << "'"); EWOL_DEBUG("try to create subwidget : '" << widgetName << "'");
ewol::Widget* tmpWidget = getWidgetManager().create(widgetName); ewol::object::Shared<ewol::Widget> tmpWidget = getWidgetManager().create(widgetName);
if (tmpWidget == NULL) { if (tmpWidget == NULL) {
EWOL_ERROR ("(l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\""); EWOL_ERROR ("(l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\"");
continue; continue;

View File

@ -26,7 +26,7 @@ namespace ewol {
/** /**
* @brief Constructor * @brief Constructor
*/ */
Container(ewol::Widget* _subElement=NULL); Container(ewol::object::Shared<ewol::Widget> _subElement=NULL);
/** /**
* @brief Destructor * @brief Destructor
*/ */
@ -41,7 +41,7 @@ namespace ewol {
* @brief set the subWidget node widget. * @brief set the subWidget node widget.
* @param[in] _newWidget The widget to add. * @param[in] _newWidget The widget to add.
*/ */
void setSubWidget(ewol::Widget* _newWidget); void setSubWidget(ewol::object::Shared<ewol::Widget> _newWidget);
/** /**
* @brief remove the subWidget node (async). * @brief remove the subWidget node (async).
*/ */

View File

@ -16,7 +16,7 @@
#define __class__ "Container2" #define __class__ "Container2"
ewol::widget::Container2::Container2(ewol::Widget* _subElement, ewol::Widget* _subElementToggle) : ewol::widget::Container2::Container2(ewol::object::Shared<ewol::Widget> _subElement, ewol::object::Shared<ewol::Widget> _subElementToggle) :
m_idWidgetDisplayed(0) { m_idWidgetDisplayed(0) {
m_subWidget[0] = _subElement; m_subWidget[0] = _subElement;
m_subWidget[1] = _subElementToggle; m_subWidget[1] = _subElementToggle;
@ -29,7 +29,7 @@ ewol::widget::Container2::~Container2() {
subWidgetRemoveToggle(); subWidgetRemoveToggle();
} }
void ewol::widget::Container2::setSubWidget(ewol::Widget* _newWidget, int32_t _idWidget) { void ewol::widget::Container2::setSubWidget(ewol::object::Shared<ewol::Widget> _newWidget, int32_t _idWidget) {
subWidgetRemove(_idWidget); subWidgetRemove(_idWidget);
m_subWidget[_idWidget] = _newWidget; m_subWidget[_idWidget] = _newWidget;
if (m_subWidget[_idWidget] != NULL) { if (m_subWidget[_idWidget] != NULL) {
@ -213,7 +213,7 @@ bool ewol::widget::Container2::loadXML(exml::Element* _node) {
} }
} }
EWOL_DEBUG("try to create subwidget : '" << widgetName << "'"); EWOL_DEBUG("try to create subwidget : '" << widgetName << "'");
ewol::Widget* tmpWidget = getWidgetManager().create(widgetName); ewol::object::Shared<ewol::Widget> tmpWidget = getWidgetManager().create(widgetName);
if (tmpWidget == NULL) { if (tmpWidget == NULL) {
EWOL_ERROR ("(l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\""); EWOL_ERROR ("(l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\"");
continue; continue;

View File

@ -30,7 +30,7 @@ namespace ewol {
* @param[in] _subElement Widget to set on the normal position * @param[in] _subElement Widget to set on the normal position
* @param[in] _subElementToggle Widget to set on the toggle position * @param[in] _subElementToggle Widget to set on the toggle position
*/ */
Container2(ewol::Widget* _subElement = nullptr, ewol::Widget* _subElementToggle = nullptr); Container2(ewol::object::Shared<ewol::Widget> _subElement = nullptr, ewol::object::Shared<ewol::Widget> _subElementToggle = nullptr);
/** /**
* @brief Destructor * @brief Destructor
*/ */
@ -41,20 +41,20 @@ namespace ewol {
* @param[in] _subWidget Widget to add normal * @param[in] _subWidget Widget to add normal
* @param[in] _idWidget Id of the widget to set * @param[in] _idWidget Id of the widget to set
*/ */
void setSubWidget(ewol::Widget* _subWidget, int32_t _idWidget); void setSubWidget(ewol::object::Shared<ewol::Widget> _subWidget, int32_t _idWidget);
public: public:
/** /**
* @brief Specify the current widget * @brief Specify the current widget
* @param[in] _subWidget Widget to add normal * @param[in] _subWidget Widget to add normal
*/ */
void setSubWidget(ewol::Widget* _subWidget) { void setSubWidget(ewol::object::Shared<ewol::Widget> _subWidget) {
setSubWidget(_subWidget, 0); setSubWidget(_subWidget, 0);
} }
/** /**
* @brief Specify the current toggle widget * @brief Specify the current toggle widget
* @param[in] _subWidget Widget to add Toggle * @param[in] _subWidget Widget to add Toggle
*/ */
void setSubWidgetToggle(ewol::Widget* _subWidget) { void setSubWidgetToggle(ewol::object::Shared<ewol::Widget> _subWidget) {
setSubWidget(_subWidget, 1); setSubWidget(_subWidget, 1);
} }
private: private:

View File

@ -52,7 +52,7 @@ void ewol::widget::ContainerN::lockExpand(const bvec2& _lockExpand) {
} }
int32_t ewol::widget::ContainerN::subWidgetAdd(ewol::Widget* _newWidget) { int32_t ewol::widget::ContainerN::subWidgetAdd(ewol::object::Shared<ewol::Widget> _newWidget) {
if (NULL == _newWidget) { if (NULL == _newWidget) {
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Try to add An empty Widget ... "); EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Try to add An empty Widget ... ");
return -1; return -1;
@ -67,7 +67,7 @@ int32_t ewol::widget::ContainerN::subWidgetAdd(ewol::Widget* _newWidget) {
return _newWidget->getId(); return _newWidget->getId();
} }
int32_t ewol::widget::ContainerN::subWidgetAddStart(ewol::Widget* _newWidget) { int32_t ewol::widget::ContainerN::subWidgetAddStart(ewol::object::Shared<ewol::Widget> _newWidget) {
if (NULL == _newWidget) { if (NULL == _newWidget) {
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Try to add start An empty Widget ... "); EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Try to add start An empty Widget ... ");
return -1; return -1;
@ -81,7 +81,7 @@ int32_t ewol::widget::ContainerN::subWidgetAddStart(ewol::Widget* _newWidget) {
return _newWidget->getId(); return _newWidget->getId();
} }
void ewol::widget::ContainerN::subWidgetRemove(ewol::Widget* _newWidget) { void ewol::widget::ContainerN::subWidgetRemove(ewol::object::Shared<ewol::Widget> _newWidget) {
if (NULL == _newWidget) { if (NULL == _newWidget) {
return; return;
} }
@ -103,7 +103,7 @@ void ewol::widget::ContainerN::subWidgetRemove(ewol::Widget* _newWidget) {
} }
} }
void ewol::widget::ContainerN::subWidgetUnLink(ewol::Widget* _newWidget) { void ewol::widget::ContainerN::subWidgetUnLink(ewol::object::Shared<ewol::Widget> _newWidget) {
if (NULL == _newWidget) { if (NULL == _newWidget) {
return; return;
} }
@ -298,7 +298,7 @@ bool ewol::widget::ContainerN::loadXML(exml::Element* _node) {
continue; continue;
} }
EWOL_DEBUG("[" << getId() << "] {" << getObjectType() << "} load new element : \"" << widgetName << "\""); EWOL_DEBUG("[" << getId() << "] {" << getObjectType() << "} load new element : \"" << widgetName << "\"");
ewol::Widget* subWidget = getWidgetManager().create(widgetName); ewol::object::Shared<ewol::Widget> subWidget = getWidgetManager().create(widgetName);
if (subWidget == NULL) { if (subWidget == NULL) {
EWOL_ERROR ("[" << getId() << "] {" << getObjectType() << "} (l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\""); EWOL_ERROR ("[" << getId() << "] {" << getObjectType() << "} (l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\"");
continue; continue;

View File

@ -56,13 +56,13 @@ namespace ewol {
* @param[in] _newWidget the element pointer * @param[in] _newWidget the element pointer
* @return the ID of the set element * @return the ID of the set element
*/ */
virtual int32_t subWidgetAdd(ewol::Widget* _newWidget); virtual int32_t subWidgetAdd(ewol::object::Shared<ewol::Widget> _newWidget);
//! @previous //! @previous
inline int32_t subWidgetAddBack(ewol::Widget* _newWidget) { inline int32_t subWidgetAddBack(ewol::object::Shared<ewol::Widget> _newWidget) {
return subWidgetAdd(_newWidget); return subWidgetAdd(_newWidget);
}; };
//! @previous //! @previous
inline int32_t subWidgetAddEnd(ewol::Widget* _newWidget) { inline int32_t subWidgetAddEnd(ewol::object::Shared<ewol::Widget> _newWidget) {
return subWidgetAdd(_newWidget); return subWidgetAdd(_newWidget);
}; };
/** /**
@ -70,21 +70,21 @@ namespace ewol {
* @param[in] _newWidget the element pointer * @param[in] _newWidget the element pointer
* @return the ID of the set element * @return the ID of the set element
*/ */
virtual int32_t subWidgetAddStart(ewol::Widget* _newWidget); virtual int32_t subWidgetAddStart(ewol::object::Shared<ewol::Widget> _newWidget);
//! @previous //! @previous
inline int32_t subWidgetAddFront(ewol::Widget* _newWidget) { inline int32_t subWidgetAddFront(ewol::object::Shared<ewol::Widget> _newWidget) {
return subWidgetAddStart(_newWidget); return subWidgetAddStart(_newWidget);
}; };
/** /**
* @brief remove definitly a widget from the system and this layer. * @brief remove definitly a widget from the system and this layer.
* @param[in] _newWidget the element pointer. * @param[in] _newWidget the element pointer.
*/ */
virtual void subWidgetRemove(ewol::Widget* _newWidget); virtual void subWidgetRemove(ewol::object::Shared<ewol::Widget> _newWidget);
/** /**
* @brief Just unlick the specify widget, this function does not remove it from the system (if you can, do nt use it ...) * @brief Just unlick the specify widget, this function does not remove it from the system (if you can, do nt use it ...)
* @param[in] _newWidget the element pointer. * @param[in] _newWidget the element pointer.
*/ */
virtual void subWidgetUnLink(ewol::Widget* _newWidget); virtual void subWidgetUnLink(ewol::object::Shared<ewol::Widget> _newWidget);
public:// Derived function public:// Derived function
virtual void systemDraw(const ewol::DrawProperty& _displayProp); virtual void systemDraw(const ewol::DrawProperty& _displayProp);
virtual void onRegenerateDisplay(); virtual void onRegenerateDisplay();

View File

@ -21,12 +21,12 @@ const char* const ewol::widget::ContextMenu::configArrowPosition = "arrow-positi
const char* const ewol::widget::ContextMenu::configArrowMode = "arrow-mode"; const char* const ewol::widget::ContextMenu::configArrowMode = "arrow-mode";
const char* const ewol::widget::ContextMenu::configShaper = "shaper"; const char* const ewol::widget::ContextMenu::configShaper = "shaper";
static ewol::Widget* Create() { static ewol::Widget* create() {
return new ewol::widget::ContextMenu(); return new ewol::widget::ContextMenu();
} }
void ewol::widget::ContextMenu::init(ewol::widget::Manager& _widgetManager) { void ewol::widget::ContextMenu::init(ewol::widget::Manager& _widgetManager) {
_widgetManager.addWidgetCreator(__class__,&Create); _widgetManager.addWidgetCreator(__class__, &create);
} }

View File

@ -216,7 +216,7 @@ void ewol::widget::Gird::subWidgetRemoveAll() {
} }
void ewol::widget::Gird::subWidgetAdd(int32_t _colId, int32_t _rowId, ewol::Widget* _newWidget) { void ewol::widget::Gird::subWidgetAdd(int32_t _colId, int32_t _rowId, ewol::object::Shared<ewol::Widget> _newWidget) {
if (NULL == _newWidget) { if (NULL == _newWidget) {
return; return;
} }

View File

@ -97,7 +97,7 @@ namespace ewol {
* @param[in] _rowId Id of the row [0..y]. * @param[in] _rowId Id of the row [0..y].
* @param[in] _newWidget the element pointer * @param[in] _newWidget the element pointer
*/ */
virtual void subWidgetAdd(int32_t _colId, int32_t _rowId, ewol::Widget* _newWidget); virtual void subWidgetAdd(int32_t _colId, int32_t _rowId, ewol::object::Shared<ewol::Widget> _newWidget);
/** /**
* @brief remove definitly a widget from the system and this Gird. * @brief remove definitly a widget from the system and this Gird.
* @param[in] _newWidget the element pointer. * @param[in] _newWidget the element pointer.

View File

@ -15,12 +15,12 @@
#undef __class__ #undef __class__
#define __class__ "ListFileSystem" #define __class__ "ListFileSystem"
static ewol::Widget* Create() { static ewol::Widget* create() {
return new ewol::widget::ListFileSystem(); return new ewol::widget::ListFileSystem();
} }
void ewol::widget::ListFileSystem::init(ewol::widget::Manager& _widgetManager) { void ewol::widget::ListFileSystem::init(ewol::widget::Manager& _widgetManager) {
_widgetManager.addWidgetCreator(__class__,&Create); _widgetManager.addWidgetCreator(__class__, &create);
} }
const char * const ewol::widget::ListFileSystem::eventFileSelect = "file-select"; const char * const ewol::widget::ListFileSystem::eventFileSelect = "file-select";

View File

@ -259,7 +259,7 @@ void ewol::widget::Manager::addWidgetCreator(const std::string& _name,
m_creatorList.add(nameLower, _pointer); m_creatorList.add(nameLower, _pointer);
} }
ewol::Widget* ewol::widget::Manager::create(const std::string& _name) { ewol::object::Shared<ewol::Widget> ewol::widget::Manager::create(const std::string& _name) {
std::string nameLower = std::tolower(_name); std::string nameLower = std::tolower(_name);
if (m_creatorList.exist(nameLower) == true) { if (m_creatorList.exist(nameLower) == true) {
ewol::widget::Manager::creator_tf pointerFunction = m_creatorList[nameLower]; ewol::widget::Manager::creator_tf pointerFunction = m_creatorList[nameLower];

View File

@ -53,7 +53,7 @@ namespace ewol {
// element that generate the list of elements // element that generate the list of elements
void addWidgetCreator(const std::string& _name, creator_tf _pointer); void addWidgetCreator(const std::string& _name, creator_tf _pointer);
ewol::Widget* create(const std::string& _name); ewol::object::Shared<ewol::Widget> create(const std::string& _name);
bool exist(const std::string& _name); bool exist(const std::string& _name);
std::string list(); std::string list();
}; };

View File

@ -164,7 +164,7 @@ void ewol::widget::Sizer::calculateMinMaxSize() {
//EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Result min size : " << m_minSize); //EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Result min size : " << m_minSize);
} }
int32_t ewol::widget::Sizer::subWidgetAdd(ewol::Widget* _newWidget) { int32_t ewol::widget::Sizer::subWidgetAdd(ewol::object::Shared<ewol::Widget> _newWidget) {
if (m_animation == animationNone) { if (m_animation == animationNone) {
return ewol::widget::ContainerN::subWidgetAdd(_newWidget); return ewol::widget::ContainerN::subWidgetAdd(_newWidget);
} }
@ -172,7 +172,7 @@ int32_t ewol::widget::Sizer::subWidgetAdd(ewol::Widget* _newWidget) {
return ewol::widget::ContainerN::subWidgetAdd(_newWidget); return ewol::widget::ContainerN::subWidgetAdd(_newWidget);
} }
int32_t ewol::widget::Sizer::subWidgetAddStart(ewol::Widget* _newWidget) { int32_t ewol::widget::Sizer::subWidgetAddStart(ewol::object::Shared<ewol::Widget> _newWidget) {
if (m_animation == animationNone) { if (m_animation == animationNone) {
return ewol::widget::ContainerN::subWidgetAddStart(_newWidget); return ewol::widget::ContainerN::subWidgetAddStart(_newWidget);
} }
@ -180,7 +180,7 @@ int32_t ewol::widget::Sizer::subWidgetAddStart(ewol::Widget* _newWidget) {
return ewol::widget::ContainerN::subWidgetAddStart(_newWidget); return ewol::widget::ContainerN::subWidgetAddStart(_newWidget);
} }
void ewol::widget::Sizer::subWidgetRemove(ewol::Widget* _newWidget) { void ewol::widget::Sizer::subWidgetRemove(ewol::object::Shared<ewol::Widget> _newWidget) {
if (m_animation == animationNone) { if (m_animation == animationNone) {
ewol::widget::ContainerN::subWidgetRemove(_newWidget); ewol::widget::ContainerN::subWidgetRemove(_newWidget);
return; return;
@ -189,7 +189,7 @@ void ewol::widget::Sizer::subWidgetRemove(ewol::Widget* _newWidget) {
ewol::widget::ContainerN::subWidgetRemove(_newWidget); ewol::widget::ContainerN::subWidgetRemove(_newWidget);
} }
void ewol::widget::Sizer::subWidgetUnLink(ewol::Widget* _newWidget) { void ewol::widget::Sizer::subWidgetUnLink(ewol::object::Shared<ewol::Widget> _newWidget) {
if (m_animation == animationNone) { if (m_animation == animationNone) {
ewol::widget::ContainerN::subWidgetUnLink(_newWidget); ewol::widget::ContainerN::subWidgetUnLink(_newWidget);
return; return;

View File

@ -119,10 +119,10 @@ namespace ewol {
virtual void calculateSize(const vec2& _availlable); virtual void calculateSize(const vec2& _availlable);
virtual void calculateMinMaxSize(); virtual void calculateMinMaxSize();
// overwrite the set fuction to start annimations ... // overwrite the set fuction to start annimations ...
virtual int32_t subWidgetAdd(ewol::Widget* _newWidget); virtual int32_t subWidgetAdd(ewol::object::Shared<ewol::Widget> _newWidget);
virtual int32_t subWidgetAddStart(ewol::Widget* _newWidget); virtual int32_t subWidgetAddStart(ewol::object::Shared<ewol::Widget> _newWidget);
virtual void subWidgetRemove(ewol::Widget* _newWidget); virtual void subWidgetRemove(ewol::object::Shared<ewol::Widget> _newWidget);
virtual void subWidgetUnLink(ewol::Widget* _newWidget); virtual void subWidgetUnLink(ewol::object::Shared<ewol::Widget> _newWidget);
virtual bool onSetConfig(const ewol::object::Config& _conf); virtual bool onSetConfig(const ewol::object::Config& _conf);
virtual bool onGetConfig(const char* _config, std::string& _result) const; virtual bool onGetConfig(const char* _config, std::string& _result) const;
}; };

View File

@ -166,7 +166,7 @@ void ewol::widget::Windows::systemDraw(const ewol::DrawProperty& _displayProp) {
#endif #endif
} }
void ewol::widget::Windows::setSubWidget(ewol::Widget* _widget) { void ewol::widget::Windows::setSubWidget(ewol::object::Shared<ewol::Widget> _widget) {
if (m_subWidget != NULL) { if (m_subWidget != NULL) {
EWOL_INFO("Remove current main windows Widget..."); EWOL_INFO("Remove current main windows Widget...");
m_subWidget.reset(); m_subWidget.reset();
@ -176,7 +176,7 @@ void ewol::widget::Windows::setSubWidget(ewol::Widget* _widget) {
calculateSize(m_size); calculateSize(m_size);
} }
void ewol::widget::Windows::popUpWidgetPush(ewol::Widget* _widget) { void ewol::widget::Windows::popUpWidgetPush(ewol::object::Shared<ewol::Widget> _widget) {
if (_widget == NULL) { if (_widget == NULL) {
// nothing to do an error appear : // nothing to do an error appear :
EWOL_ERROR("can not set widget pop-up (null pointer)"); EWOL_ERROR("can not set widget pop-up (null pointer)");

View File

@ -59,8 +59,8 @@ namespace ewol {
ewol::object::Owner<ewol::Widget> m_subWidget; ewol::object::Owner<ewol::Widget> m_subWidget;
std::vector<ewol::object::Owner<ewol::Widget>> m_popUpWidgetList; std::vector<ewol::object::Owner<ewol::Widget>> m_popUpWidgetList;
public: public:
void setSubWidget(ewol::Widget* _widget); void setSubWidget(ewol::object::Shared<ewol::Widget> _widget);
void popUpWidgetPush(ewol::Widget* _widget); void popUpWidgetPush(ewol::object::Shared<ewol::Widget> _widget);
void popUpWidgetPop(); void popUpWidgetPop();
size_t popUpCount() { size_t popUpCount() {
return m_popUpWidgetList.size(); return m_popUpWidgetList.size();

View File

@ -232,7 +232,7 @@ void ewol::widget::Parameter::onObjectRemove(ewol::object::Shared<ewol::Object>
} }
} }
void ewol::widget::Parameter::menuAdd(std::string _label, std::string _image, ewol::Widget* _associateWidget) { void ewol::widget::Parameter::menuAdd(std::string _label, std::string _image, ewol::object::Shared<ewol::Widget> _associateWidget) {
if (NULL != m_paramList) { if (NULL != m_paramList) {
m_paramList->menuAdd(_label, m_currentIdList, _image); m_paramList->menuAdd(_label, m_currentIdList, _image);
if (NULL != m_wSlider) { if (NULL != m_wSlider) {

View File

@ -38,7 +38,7 @@ namespace ewol {
virtual void onObjectRemove(ewol::object::Shared<ewol::Object> _removeObject); virtual void onObjectRemove(ewol::object::Shared<ewol::Object> _removeObject);
public: public:
void setTitle(std::string _label); void setTitle(std::string _label);
void menuAdd(std::string _label, std::string _image, ewol::Widget* _associateWidget); void menuAdd(std::string _label, std::string _image, ewol::object::Shared<ewol::Widget> _associateWidget);
void menuAddGroup(std::string _label); void menuAddGroup(std::string _label);
void menuClear(); void menuClear();
void menuSeparator(); void menuSeparator();