void VisualAttribute::representation(const IRepresentation &rpr)
{
    if ( !_domain.isValid() || !rpr.isValid())
        return;
    if ( rpr->isCompatible(_domain)){
        _representation = rpr;
    }
}
VisualAttribute::VisualAttribute(const IDomain &dom, int colindex, const IRepresentation& rpr) : _domain(dom)
{
    if ( rpr.isValid() && rpr->isCompatible(dom))
        _representation = rpr;
    else
        _representation = Representation::defaultRepresentation(dom);
    _representation->domain(dom);
    _domain = dom;
    _columnIndex = colindex;
}