[DEV] update sharedPtr

This commit is contained in:
Edouard DUPIN 2016-07-19 21:43:58 +02:00
parent 0d94650b4b
commit ad554b54ed
14 changed files with 42 additions and 41 deletions

View File

@ -39,7 +39,7 @@ void ewol::object::Manager::displayListObject() {
for (auto &it : m_eObjectList) {
ewol::ObjectShared element = it.lock();
if (element != nullptr) {
EWOL_INFO(" [" << element->getId() << "] ref=" << element.use_count()-1 << " name='" << element->propertyName.get() << "' type=" << element->getObjectType());
EWOL_INFO(" [" << element->getId() << "] ref=" << element.useCount()-1 << " name='" << element->propertyName.get() << "' type=" << element->getObjectType());
}
}
}

View File

@ -76,7 +76,7 @@ void ewol::Object::init() {
m_objectHasBeenInit = true;
}
const char * const ewol::Object::getObjectType() {
const char * const ewol::Object::getObjectType() const {
if (m_listType.size() == 0) {
return "ewol::Object";
}
@ -90,7 +90,7 @@ void ewol::Object::addObjectType(const char* _type) {
}
m_listType.push_back(_type);
}
std::string ewol::Object::getTypeDescription() {
std::string ewol::Object::getTypeDescription() const {
std::string ret("ewol::Object");
for(auto element : m_listType) {
ret += "|";
@ -99,7 +99,7 @@ std::string ewol::Object::getTypeDescription() {
return ret;
}
bool ewol::Object::isTypeCompatible(const std::string& _type) {
bool ewol::Object::isTypeCompatible(const std::string& _type) const {
if (_type == "ewol::Object") {
return true;
}

View File

@ -179,18 +179,18 @@ namespace ewol {
* @brief get the current Object type of the Object
* @return the last type name of the element
*/
const char * const getObjectType();
const char * const getObjectType() const;
/**
* @brief Get the herarchie of the Object type.
* @return descriptive string.
*/
std::string getTypeDescription();
std::string getTypeDescription() const;
/**
* @brief check if the element herited from a specific type
* @param[in] _type Type to check.
* @return true if the element is compatible.
*/
bool isTypeCompatible(const std::string& _type);
bool isTypeCompatible(const std::string& _type) const;
protected:
/**
* @brief Add a type of the list of Object.

View File

@ -68,7 +68,7 @@ ememory::SharedPtr<ewol::resource::TextureFile> ewol::resource::TextureFile::cre
EWOL_VERBOSE("KEEP: TextureFile: '" << _filename << "' size=" << _size << " sizeRegister=" << _sizeRegister);
if (_filename == "") {
ememory::SharedPtr<ewol::resource::TextureFile> object(new ewol::resource::TextureFile());
if (nullptr == object) {
if (object == nullptr) {
EWOL_ERROR("allocation error of a resource : ??TEX??");
return nullptr;
}

View File

@ -154,7 +154,7 @@ ememory::SharedPtr<ewol::resource::ImageDF> ewol::resource::ImageDF::create(cons
EWOL_VERBOSE("KEEP: TextureFile: '" << _filename << "' size=" << _size);
if (_filename == "") {
ememory::SharedPtr<ewol::resource::ImageDF> object(new ewol::resource::ImageDF());
if (nullptr == object) {
if (object == nullptr) {
EWOL_ERROR("allocation error of a resource : ??TEX??");
return nullptr;
}
@ -171,14 +171,15 @@ ememory::SharedPtr<ewol::resource::ImageDF> ewol::resource::ImageDF::create(cons
//EWOL_ERROR("Error Request the image size.y() =0 ???");
}
std::string TmpFilename = _filename;
if (false == etk::end_with(_filename, ".svg") ) {
if (etk::end_with(_filename, ".svg") == false) {
_size = ivec2(-1,-1);
}
#ifdef __TARGET_OS__MacOs
EWOL_ERROR("TODO : remove this strange hack");
_size = ivec2(64,64);
#endif
if (_size.x()>0 && _size.y()>0) {
if ( _size.x() > 0
&& _size.y() > 0) {
EWOL_VERBOSE(" == > specific size : " << _size);
#ifdef __TARGET_OS__Android
_size.setValue(nextP2(_size.x()), nextP2(_size.y()));
@ -192,20 +193,20 @@ ememory::SharedPtr<ewol::resource::ImageDF> ewol::resource::ImageDF::create(cons
EWOL_VERBOSE("KEEP: TextureFile: '" << TmpFilename << "' new size=" << _size);
ememory::SharedPtr<ewol::resource::ImageDF> object = nullptr;
ememory::SharedPtr<gale::Resource> object2 = getManager().localKeep("DF__" + TmpFilename);
if (nullptr != object2) {
if (object2 != nullptr) {
object = ememory::dynamicPointerCast<ewol::resource::ImageDF>(object2);
if (nullptr == object) {
if (object == nullptr) {
EWOL_CRITICAL("Request resource file : '" << TmpFilename << "' With the wrong type (dynamic cast error)");
return nullptr;
}
}
if (nullptr != object) {
if (object != nullptr) {
return object;
}
EWOL_INFO("CREATE: ImageDF: '" << TmpFilename << "' size=" << _size);
// need to crate a new one ...
object = ememory::SharedPtr<ewol::resource::ImageDF>(new ewol::resource::ImageDF());
if (nullptr == object) {
if (object == nullptr) {
EWOL_ERROR("allocation error of a resource : " << _filename);
return nullptr;
}

View File

@ -157,7 +157,7 @@ bool ewol::widget::ButtonColor::onEventInput(const ewol::event::Input& _event) {
m_mouseHover = false;
// create a context menu :
m_widgetContextMenu = ewol::widget::ContextMenu::create();
if (nullptr == m_widgetContextMenu) {
if (m_widgetContextMenu == nullptr) {
EWOL_ERROR("Allocation Error");
return true;
}
@ -183,10 +183,10 @@ bool ewol::widget::ButtonColor::onEventInput(const ewol::event::Input& _event) {
}
if( m_mouseHover != previousHoverState
|| m_buttonPressed != previousPressed) {
if (true == m_buttonPressed) {
if (m_buttonPressed == true) {
changeStatusIn(STATUS_PRESSED);
} else {
if (true == m_mouseHover) {
if (m_mouseHover == true) {
changeStatusIn(STATUS_HOVER);
} else {
changeStatusIn(STATUS_UP);

View File

@ -45,8 +45,8 @@ void ewol::widget::ContainerN::onChangePropertyLockExpand() {
requestUpdateSize();
}
void ewol::widget::ContainerN::subWidgetReplace(const ewol::WidgetShared& _oldWidget,
const ewol::WidgetShared& _newWidget) {
void ewol::widget::ContainerN::subWidgetReplace(ewol::WidgetShared _oldWidget,
ewol::WidgetShared _newWidget) {
bool haveChange = false;
for (auto &it : m_subWidget) {
if (it != _oldWidget) {
@ -82,7 +82,7 @@ int32_t ewol::widget::ContainerN::subWidgetAdd(ewol::WidgetShared _newWidget) {
}
int32_t ewol::widget::ContainerN::subWidgetAddStart(ewol::WidgetShared _newWidget) {
if (nullptr == _newWidget) {
if (_newWidget == nullptr) {
EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} Try to add start An empty Widget ... ");
return -1;
}
@ -96,7 +96,7 @@ int32_t ewol::widget::ContainerN::subWidgetAddStart(ewol::WidgetShared _newWidge
}
void ewol::widget::ContainerN::subWidgetRemove(ewol::WidgetShared _newWidget) {
if (nullptr == _newWidget) {
if (_newWidget == nullptr) {
return;
}
size_t errorControl = m_subWidget.size();
@ -116,7 +116,7 @@ void ewol::widget::ContainerN::subWidgetRemove(ewol::WidgetShared _newWidget) {
}
void ewol::widget::ContainerN::subWidgetUnLink(ewol::WidgetShared _newWidget) {
if (nullptr == _newWidget) {
if (_newWidget == nullptr) {
return;
}
auto it(m_subWidget.begin());

View File

@ -52,8 +52,8 @@ namespace ewol {
* @param[in] _oldWidget The widget to replace.
* @param[in] _newWidget The widget to set.
*/
virtual void subWidgetReplace(const ewol::WidgetShared& _oldWidget,
const ewol::WidgetShared& _newWidget);
virtual void subWidgetReplace(ewol::WidgetShared _oldWidget,
ewol::WidgetShared _newWidget);
/**
* @brief add at end position a Widget (note : This system use an inverted phylisophie (button to top, and left to right)
* @param[in] _newWidget the element pointer

View File

@ -213,7 +213,7 @@ void ewol::widget::Gird::subWidgetAdd(int32_t _colId, int32_t _rowId, ewol::Widg
// The element already exist == > replace it ...
m_tmpWidget = m_subWidget[iii].widget;
m_subWidget[iii].widget = _newWidget;
if (nullptr != m_tmpWidget) {
if (m_tmpWidget != nullptr) {
m_tmpWidget.reset();
if (m_tmpWidget != nullptr) {
EWOL_CRITICAL("[" << getId() << "] Error while replacing a widget ... == > never call when free");

View File

@ -68,7 +68,7 @@ ewol::widget::Manager::~Manager() {
* focus Area :
* *************************************************************************/
void ewol::widget::Manager::focusKeep(const ewol::WidgetShared& _newWidget) {
void ewol::widget::Manager::focusKeep(ewol::WidgetShared _newWidget) {
if (_newWidget == nullptr) {
// nothing to do ...
return;
@ -96,7 +96,7 @@ void ewol::widget::Manager::focusKeep(const ewol::WidgetShared& _newWidget) {
}
}
void ewol::widget::Manager::focusSetDefault(const ewol::WidgetShared& _newWidget) {
void ewol::widget::Manager::focusSetDefault(ewol::WidgetShared _newWidget) {
if( _newWidget != nullptr
&& _newWidget->propertyCanFocus.get() == false) {
EWOL_VERBOSE("Widget can not have focus, id=" << _newWidget->getId() );

View File

@ -28,12 +28,12 @@ namespace ewol {
* @brief Request a focus on a specify widget.
* @param[in] _newWidget Widget that might get the focus.
*/
void focusKeep(const ewol::WidgetShared& _newWidget);
void focusKeep(ewol::WidgetShared _newWidget);
/**
* @brief Set the default focus when none selected.
* @param[in] _newWidget Widget that might get the focus (when nothing else).
*/
void focusSetDefault(const ewol::WidgetShared& _newWidget);
void focusSetDefault(ewol::WidgetShared _newWidget);
/**
* @brief Release the current focus (back on default if possible).
*/

View File

@ -299,7 +299,7 @@ ewol::WidgetShared ewol::widget::WSlider::getWidgetAtPos(const vec2& _pos) {
&& (tmpOrigin.y() <= _pos.y() && tmpOrigin.y() + tmpSize.y() >= _pos.y()) )
{
ewol::WidgetShared tmpWidget = (*it)->getWidgetAtPos(_pos);
if (nullptr != tmpWidget) {
if (tmpWidget != nullptr) {
return tmpWidget;
}
return nullptr;
@ -316,7 +316,7 @@ ewol::WidgetShared ewol::widget::WSlider::getWidgetAtPos(const vec2& _pos) {
&& (tmpOrigin.y() <= _pos.y() && tmpOrigin.y() + tmpSize.y() >= _pos.y()) )
{
ewol::WidgetShared tmpWidget = (*it)->getWidgetAtPos(_pos);
if (nullptr != tmpWidget) {
if (tmpWidget != nullptr) {
return tmpWidget;
}
return nullptr;
@ -332,7 +332,7 @@ ewol::WidgetShared ewol::widget::WSlider::getWidgetAtPos(const vec2& _pos) {
&& (tmpOrigin.y() <= _pos.y() && tmpOrigin.y() + tmpSize.y() >= _pos.y()) )
{
ewol::WidgetShared tmpWidget = (*it)->getWidgetAtPos(_pos);
if (nullptr != tmpWidget) {
if (tmpWidget != nullptr) {
return tmpWidget;
}
return nullptr;

View File

@ -134,7 +134,7 @@ void ewol::widget::Windows::systemDraw(const ewol::DrawProperty& _displayProp) {
#endif
//EWOL_WARNING(" WINDOWS draw on " << m_currentDrawId);
// first display the windows on the display
if (nullptr != m_subWidget) {
if (m_subWidget != nullptr) {
m_subWidget->systemDraw(_displayProp);
//EWOL_DEBUG("Draw Windows");
}

View File

@ -207,15 +207,15 @@ void ewol::widget::Parameter::onCallbackMenuSelected(const int32_t& _value) {
}
void ewol::widget::Parameter::menuAdd(std::string _label, std::string _image, ewol::WidgetShared _associateWidget) {
if (nullptr != m_paramList) {
if (m_paramList != nullptr) {
m_paramList->menuAdd(_label, m_currentIdList, _image);
if (nullptr != m_wSlider) {
if (nullptr != _associateWidget) {
if (m_wSlider != nullptr) {
if (_associateWidget != nullptr) {
m_wSlider->subWidgetAdd(_associateWidget);
} else {
EWOL_DEBUG("Associate an empty widget on it ...");
ewol::widget::LabelShared myLabel = widget::Label::create();
if (nullptr == myLabel) {
if (myLabel == nullptr) {
EWOL_ERROR("Can not allocate widget == > display might be in error");
} else {
myLabel->propertyValue.set(std::string("No widget for : ") + _label);
@ -231,21 +231,21 @@ void ewol::widget::Parameter::menuAdd(std::string _label, std::string _image, ew
}
}
void ewol::widget::Parameter::menuAddGroup(std::string _label) {
if (nullptr != m_paramList) {
if (m_paramList != nullptr) {
m_paramList->menuSeparator();
m_paramList->menuAddGroup(_label);
}
}
void ewol::widget::Parameter::menuClear() {
if (nullptr != m_paramList) {
if (m_paramList != nullptr) {
m_paramList->menuClear();
m_currentIdList = 0;
}
}
void ewol::widget::Parameter::menuSeparator() {
if (nullptr != m_paramList) {
if (m_paramList != nullptr) {
m_paramList->menuSeparator();
}
}