void SpinLineView2::handle( Root::Message & msg ) { BEGIN_HANDLER(); MESSAGE( SpinSpace::Update, a, msg ) { switch( a->getType() ) { case SpinSpace::Update::Create: case SpinSpace::Update::Delete: if( !a->getElem().isGhost() ) { ViewAreaMdl* area = getViewArea(); Twips y = area->toTwip( a->getElem().d_point[DimY]->getShift( d_model->getSpec() ), DimY ); Allocation alloc = area->getAllocation(); alloc.setY( y - s_lh ); alloc.setHeight( s_lh + g_w ); getViewport()->damage( alloc ); if( d_verti ) { y = area->toTwip( a->getElem().d_point[DimX]->getShift( d_model->getSpec() ), DimX ); alloc = area->getAllocation(); alloc.setX( y ); alloc.setWidth( s_lw * 4 ); getViewport()->damage( alloc ); } } break; case SpinSpace::Update::Move: if( !a->getElem().isGhost() ) damageMe(); // TODO break; case SpinSpace::Update::All: damageMe(); break; default: break; } msg.consume(); } END_HANDLER(); }