void ewol::Widget::onParameterChangeValue(const ewol::parameter::Ref& _paramPointer) { ewol::Object::onParameterChangeValue(_paramPointer); if (_paramPointer == m_canFocus) { if (m_hasFocus == true) { rmFocus(); } } else if (_paramPointer == m_gravity) { markToRedraw(); } else if (_paramPointer == m_hide) { markToRedraw(); requestUpdateSize(); } else if (_paramPointer == m_userFill) { markToRedraw(); requestUpdateSize(); } else if (_paramPointer == m_userExpand) { requestUpdateSize(); markToRedraw(); } else if (_paramPointer == m_userMaxSize) { vec2 pixelMin = m_userMinSize->getPixel(); vec2 pixelMax = m_userMaxSize->getPixel(); // check minimum & maximum compatibility : bool error=false; if (pixelMin.x()>pixelMax.x()) { error=true; } if (pixelMin.y()>pixelMax.y()) { error=true; } if (error == true) { EWOL_ERROR("Can not set a 'min size' > 'max size' reset to maximum ..."); m_userMaxSize = gale::Dimension(vec2(ULTIMATE_MAX_SIZE,ULTIMATE_MAX_SIZE),gale::Dimension::Pixel); } requestUpdateSize(); } else if (_paramPointer == m_userMinSize) { vec2 pixelMin = m_userMinSize->getPixel(); vec2 pixelMax = m_userMaxSize->getPixel(); // check minimum & maximum compatibility : bool error=false; if (pixelMin.x()>pixelMax.x()) { error=true; } if (pixelMin.y()>pixelMax.y()) { error=true; } if (error == true) { EWOL_ERROR("Can not set a 'min size' > 'max size' set nothing ..."); m_userMinSize = gale::Dimension(vec2(0,0),gale::Dimension::Pixel); } requestUpdateSize(); } else if (_paramPointer == m_annimationTypeStart) { } else if (_paramPointer == m_annimationTimeStart) { } else if (_paramPointer == m_annimationTypeStop) { } else if (_paramPointer == m_annimationTimeStop) { } }
void ewol::widget::Container::subWidgetRemove() { if (m_subWidget != nullptr) { m_subWidget->removeParent(); m_subWidget.reset(); markToRedraw(); requestUpdateSize(); } }
void ewol::widget::Image::onParameterChangeValue(const ewol::parameter::Ref& _paramPointer) { ewol::Widget::onParameterChangeValue(_paramPointer); if ( _paramPointer == m_fileName || _paramPointer == m_imageSize) { markToRedraw(); requestUpdateSize(); EWOL_VERBOSE("Set sources : " << m_fileName << " size=" << m_imageSize); m_compositing.setSource(m_fileName, m_imageSize->getPixel()); } else if ( _paramPointer == m_border || _paramPointer == m_keepRatio || _paramPointer == m_posStart || _paramPointer == m_posStop) { markToRedraw(); requestUpdateSize(); } else if (_paramPointer == m_distanceFieldMode) { markToRedraw(); } else if (_paramPointer == m_smooth) { markToRedraw(); } }
void ewol::widget::Container::setSubWidget(std::shared_ptr<ewol::Widget> _newWidget) { if (_newWidget == nullptr) { return; } subWidgetRemove(); m_subWidget = _newWidget; if (m_subWidget != nullptr) { m_subWidget->setParent(shared_from_this()); } markToRedraw(); requestUpdateSize(); }
bool ewol::widget::Composer::loadFromString(const std::string& _composerXmlString) { exml::Document doc; if (doc.parse(_composerXmlString) == false) { EWOL_ERROR(" can not load file XML string..."); return false; } exml::Element* root = (exml::Element*)doc.getNamed("composer"); if (root == nullptr) { // Maybe a multiple node XML for internal config: root = doc.toElement(); if (root == nullptr) { EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} (l ?) main node not find: \"composer\" ..."); return false; } if (root->size() == 0) { EWOL_ERROR("[" << getId() << "] {" << getObjectType() << "} (l ?) no node in the Container XML element."); return false; } } // call upper class to parse his elements ... ewol::widget::Container::loadXML(root); requestUpdateSize(); return true; }