[DEV] Better interface
This commit is contained in:
parent
7aa87e0fcc
commit
23eb78c7f9
@ -99,6 +99,9 @@ namespace ewol {
|
||||
T* operator->() const noexcept {
|
||||
return m_pointer;
|
||||
}
|
||||
operator ewol::object::Owner<T>() const noexcept {
|
||||
return m_pointer;
|
||||
}
|
||||
};
|
||||
template<typename T> Shared<T> makeShared(T* _pointer) {
|
||||
return Shared<T>(_pointer);
|
||||
|
@ -34,12 +34,12 @@ const char* const ewol::widget::Button::configShaper = "shaper";
|
||||
#define STATUS_DOWN (3)
|
||||
|
||||
|
||||
static ewol::Widget* Create() {
|
||||
static ewol::Widget* create() {
|
||||
return new ewol::widget::Button();
|
||||
}
|
||||
|
||||
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) :
|
||||
|
@ -30,12 +30,12 @@ const char * const ewol::widget::ButtonColor::eventChange = "change";
|
||||
|
||||
static const char* const eventColorHasChange = "ewol-widget-ButtonColor-colorChange";
|
||||
|
||||
static ewol::Widget* Create() {
|
||||
static ewol::Widget* create() {
|
||||
return new ewol::widget::ButtonColor();
|
||||
}
|
||||
|
||||
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) :
|
||||
|
@ -27,12 +27,12 @@ const char* const ewol::widget::CheckBox::configShaper = "shaper";
|
||||
#undef __class__
|
||||
#define __class__ "CheckBox"
|
||||
|
||||
static ewol::Widget* Create() {
|
||||
static ewol::Widget* create() {
|
||||
return new ewol::widget::CheckBox();
|
||||
}
|
||||
|
||||
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) :
|
||||
|
@ -16,7 +16,7 @@
|
||||
#define __class__ "Container"
|
||||
|
||||
|
||||
ewol::widget::Container::Container(ewol::Widget* _subElement) :
|
||||
ewol::widget::Container::Container(ewol::object::Shared<ewol::Widget> _subElement) :
|
||||
m_subWidget(_subElement) {
|
||||
addObjectType("ewol::widget::Container");
|
||||
// nothing to do ...
|
||||
@ -30,7 +30,7 @@ ewol::object::Shared<ewol::Widget> ewol::widget::Container::getSubWidget() {
|
||||
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) {
|
||||
return;
|
||||
}
|
||||
@ -173,7 +173,7 @@ bool ewol::widget::Container::loadXML(exml::Element* _node) {
|
||||
continue;
|
||||
}
|
||||
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) {
|
||||
EWOL_ERROR ("(l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\"");
|
||||
continue;
|
||||
|
@ -26,7 +26,7 @@ namespace ewol {
|
||||
/**
|
||||
* @brief Constructor
|
||||
*/
|
||||
Container(ewol::Widget* _subElement=NULL);
|
||||
Container(ewol::object::Shared<ewol::Widget> _subElement=NULL);
|
||||
/**
|
||||
* @brief Destructor
|
||||
*/
|
||||
@ -41,7 +41,7 @@ namespace ewol {
|
||||
* @brief set the subWidget node widget.
|
||||
* @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).
|
||||
*/
|
||||
|
@ -16,7 +16,7 @@
|
||||
#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_subWidget[0] = _subElement;
|
||||
m_subWidget[1] = _subElementToggle;
|
||||
@ -29,7 +29,7 @@ ewol::widget::Container2::~Container2() {
|
||||
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);
|
||||
m_subWidget[_idWidget] = _newWidget;
|
||||
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::Widget* tmpWidget = getWidgetManager().create(widgetName);
|
||||
ewol::object::Shared<ewol::Widget> tmpWidget = getWidgetManager().create(widgetName);
|
||||
if (tmpWidget == NULL) {
|
||||
EWOL_ERROR ("(l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\"");
|
||||
continue;
|
||||
|
@ -30,7 +30,7 @@ namespace ewol {
|
||||
* @param[in] _subElement Widget to set on the normal 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
|
||||
*/
|
||||
@ -41,20 +41,20 @@ namespace ewol {
|
||||
* @param[in] _subWidget Widget to add normal
|
||||
* @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:
|
||||
/**
|
||||
* @brief Specify the current widget
|
||||
* @param[in] _subWidget Widget to add normal
|
||||
*/
|
||||
void setSubWidget(ewol::Widget* _subWidget) {
|
||||
void setSubWidget(ewol::object::Shared<ewol::Widget> _subWidget) {
|
||||
setSubWidget(_subWidget, 0);
|
||||
}
|
||||
/**
|
||||
* @brief Specify the current toggle widget
|
||||
* @param[in] _subWidget Widget to add Toggle
|
||||
*/
|
||||
void setSubWidgetToggle(ewol::Widget* _subWidget) {
|
||||
void setSubWidgetToggle(ewol::object::Shared<ewol::Widget> _subWidget) {
|
||||
setSubWidget(_subWidget, 1);
|
||||
}
|
||||
private:
|
||||
|
@ -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) {
|
||||
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Try to add An empty Widget ... ");
|
||||
return -1;
|
||||
@ -67,7 +67,7 @@ int32_t ewol::widget::ContainerN::subWidgetAdd(ewol::Widget* _newWidget) {
|
||||
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) {
|
||||
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Try to add start An empty Widget ... ");
|
||||
return -1;
|
||||
@ -81,7 +81,7 @@ int32_t ewol::widget::ContainerN::subWidgetAddStart(ewol::Widget* _newWidget) {
|
||||
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) {
|
||||
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) {
|
||||
return;
|
||||
}
|
||||
@ -298,7 +298,7 @@ bool ewol::widget::ContainerN::loadXML(exml::Element* _node) {
|
||||
continue;
|
||||
}
|
||||
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) {
|
||||
EWOL_ERROR ("[" << getId() << "] {" << getObjectType() << "} (l "<<pNode->getPos()<<") Can not create the widget : \"" << widgetName << "\"");
|
||||
continue;
|
||||
|
@ -56,13 +56,13 @@ namespace ewol {
|
||||
* @param[in] _newWidget the element pointer
|
||||
* @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
|
||||
inline int32_t subWidgetAddBack(ewol::Widget* _newWidget) {
|
||||
inline int32_t subWidgetAddBack(ewol::object::Shared<ewol::Widget> _newWidget) {
|
||||
return subWidgetAdd(_newWidget);
|
||||
};
|
||||
//! @previous
|
||||
inline int32_t subWidgetAddEnd(ewol::Widget* _newWidget) {
|
||||
inline int32_t subWidgetAddEnd(ewol::object::Shared<ewol::Widget> _newWidget) {
|
||||
return subWidgetAdd(_newWidget);
|
||||
};
|
||||
/**
|
||||
@ -70,21 +70,21 @@ namespace ewol {
|
||||
* @param[in] _newWidget the element pointer
|
||||
* @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
|
||||
inline int32_t subWidgetAddFront(ewol::Widget* _newWidget) {
|
||||
inline int32_t subWidgetAddFront(ewol::object::Shared<ewol::Widget> _newWidget) {
|
||||
return subWidgetAddStart(_newWidget);
|
||||
};
|
||||
/**
|
||||
* @brief remove definitly a widget from the system and this layer.
|
||||
* @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 ...)
|
||||
* @param[in] _newWidget the element pointer.
|
||||
*/
|
||||
virtual void subWidgetUnLink(ewol::Widget* _newWidget);
|
||||
virtual void subWidgetUnLink(ewol::object::Shared<ewol::Widget> _newWidget);
|
||||
public:// Derived function
|
||||
virtual void systemDraw(const ewol::DrawProperty& _displayProp);
|
||||
virtual void onRegenerateDisplay();
|
||||
|
@ -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::configShaper = "shaper";
|
||||
|
||||
static ewol::Widget* Create() {
|
||||
static ewol::Widget* create() {
|
||||
return new ewol::widget::ContextMenu();
|
||||
}
|
||||
|
||||
void ewol::widget::ContextMenu::init(ewol::widget::Manager& _widgetManager) {
|
||||
_widgetManager.addWidgetCreator(__class__,&Create);
|
||||
_widgetManager.addWidgetCreator(__class__, &create);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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) {
|
||||
return;
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ namespace ewol {
|
||||
* @param[in] _rowId Id of the row [0..y].
|
||||
* @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.
|
||||
* @param[in] _newWidget the element pointer.
|
||||
|
@ -15,12 +15,12 @@
|
||||
#undef __class__
|
||||
#define __class__ "ListFileSystem"
|
||||
|
||||
static ewol::Widget* Create() {
|
||||
static ewol::Widget* create() {
|
||||
return new ewol::widget::ListFileSystem();
|
||||
}
|
||||
|
||||
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";
|
||||
|
@ -259,7 +259,7 @@ void ewol::widget::Manager::addWidgetCreator(const std::string& _name,
|
||||
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);
|
||||
if (m_creatorList.exist(nameLower) == true) {
|
||||
ewol::widget::Manager::creator_tf pointerFunction = m_creatorList[nameLower];
|
||||
|
@ -53,7 +53,7 @@ namespace ewol {
|
||||
|
||||
// element that generate the list of elements
|
||||
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);
|
||||
std::string list();
|
||||
};
|
||||
|
@ -164,7 +164,7 @@ void ewol::widget::Sizer::calculateMinMaxSize() {
|
||||
//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) {
|
||||
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);
|
||||
}
|
||||
|
||||
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) {
|
||||
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);
|
||||
}
|
||||
|
||||
void ewol::widget::Sizer::subWidgetRemove(ewol::Widget* _newWidget) {
|
||||
void ewol::widget::Sizer::subWidgetRemove(ewol::object::Shared<ewol::Widget> _newWidget) {
|
||||
if (m_animation == animationNone) {
|
||||
ewol::widget::ContainerN::subWidgetRemove(_newWidget);
|
||||
return;
|
||||
@ -189,7 +189,7 @@ void ewol::widget::Sizer::subWidgetRemove(ewol::Widget* _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) {
|
||||
ewol::widget::ContainerN::subWidgetUnLink(_newWidget);
|
||||
return;
|
||||
|
@ -119,10 +119,10 @@ namespace ewol {
|
||||
virtual void calculateSize(const vec2& _availlable);
|
||||
virtual void calculateMinMaxSize();
|
||||
// overwrite the set fuction to start annimations ...
|
||||
virtual int32_t subWidgetAdd(ewol::Widget* _newWidget);
|
||||
virtual int32_t subWidgetAddStart(ewol::Widget* _newWidget);
|
||||
virtual void subWidgetRemove(ewol::Widget* _newWidget);
|
||||
virtual void subWidgetUnLink(ewol::Widget* _newWidget);
|
||||
virtual int32_t subWidgetAdd(ewol::object::Shared<ewol::Widget> _newWidget);
|
||||
virtual int32_t subWidgetAddStart(ewol::object::Shared<ewol::Widget> _newWidget);
|
||||
virtual void subWidgetRemove(ewol::object::Shared<ewol::Widget> _newWidget);
|
||||
virtual void subWidgetUnLink(ewol::object::Shared<ewol::Widget> _newWidget);
|
||||
virtual bool onSetConfig(const ewol::object::Config& _conf);
|
||||
virtual bool onGetConfig(const char* _config, std::string& _result) const;
|
||||
};
|
||||
|
@ -166,7 +166,7 @@ void ewol::widget::Windows::systemDraw(const ewol::DrawProperty& _displayProp) {
|
||||
#endif
|
||||
}
|
||||
|
||||
void ewol::widget::Windows::setSubWidget(ewol::Widget* _widget) {
|
||||
void ewol::widget::Windows::setSubWidget(ewol::object::Shared<ewol::Widget> _widget) {
|
||||
if (m_subWidget != NULL) {
|
||||
EWOL_INFO("Remove current main windows Widget...");
|
||||
m_subWidget.reset();
|
||||
@ -176,7 +176,7 @@ void ewol::widget::Windows::setSubWidget(ewol::Widget* _widget) {
|
||||
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) {
|
||||
// nothing to do an error appear :
|
||||
EWOL_ERROR("can not set widget pop-up (null pointer)");
|
||||
|
@ -59,8 +59,8 @@ namespace ewol {
|
||||
ewol::object::Owner<ewol::Widget> m_subWidget;
|
||||
std::vector<ewol::object::Owner<ewol::Widget>> m_popUpWidgetList;
|
||||
public:
|
||||
void setSubWidget(ewol::Widget* _widget);
|
||||
void popUpWidgetPush(ewol::Widget* _widget);
|
||||
void setSubWidget(ewol::object::Shared<ewol::Widget> _widget);
|
||||
void popUpWidgetPush(ewol::object::Shared<ewol::Widget> _widget);
|
||||
void popUpWidgetPop();
|
||||
size_t popUpCount() {
|
||||
return m_popUpWidgetList.size();
|
||||
|
@ -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) {
|
||||
m_paramList->menuAdd(_label, m_currentIdList, _image);
|
||||
if (NULL != m_wSlider) {
|
||||
|
@ -38,7 +38,7 @@ namespace ewol {
|
||||
virtual void onObjectRemove(ewol::object::Shared<ewol::Object> _removeObject);
|
||||
public:
|
||||
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 menuClear();
|
||||
void menuSeparator();
|
||||
|
Loading…
x
Reference in New Issue
Block a user