Example #1
0
// ----------------------------------------------------------- Campo::putValor()
void Campo::putValor(unsigned int pos, const std::string &str)
/**
	Se notifica al observador sólo si se trata de una modificación, no de una
	adición, lo que sería un error al no haber fila correspondiente en
	CampoNotaFinal.
	Será notificado al final de DocumentoCalifa::annade().
*/
{
	if ( pos < getNumFilas() )
	{
		vValores[ pos ] = StringMan::trim( str );
		filaCambiada = pos;

		if ( esEditable() ) {
			getPerteneceA()->_fueModificado = true;
		}

		// Notificar del cambio sólo si es una modificación
		if ( !esInformativo()
		  && !estaEnMedioAdicionFila()
		  && !getPerteneceA()->enCarga() )
		{
			notificar( Observador::CambioEnElemento );
		}
	}
	else throw creaErrorIndiceIncorrecto( pos, getNumFilas(),
					"putValor(): buscando valor " + StringMan::toString( pos )
		 );
}
Example #2
0
void Conector::actualizar()
{
	notificar();
}