Exemplo n.º 1
0
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) {
		
	}
}
Exemplo n.º 2
0
void ewol::widget::Container::subWidgetRemove() {
	if (m_subWidget != nullptr) {
		m_subWidget->removeParent();
		m_subWidget.reset();
		markToRedraw();
		requestUpdateSize();
	}
}
Exemplo n.º 3
0
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();
	}
}
Exemplo n.º 4
0
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();
}
Exemplo n.º 5
0
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;
}