model_server/gala/src/sash.cxx
/* All Sash set(whatever side) functions are called to change the length of the
   sash, never to change its position.  Therefore, SetRight and SetLeft are
   called only on vertical Sashes, and SetBottom and SetTop are called only on
   horizontal sashes (horizontal and vertical are explained in view.C).  All the
   functions really do is explicitly set whatever side to be whatever position*/
All Sash set(whatever side) functions are called to change the length of the
sash, never to change its position.  Therefore, SetRight and SetLeft are
called only on vertical Sashes, and SetBottom and SetTop are called only on
horizontal sashes (horizontal and vertical are explained in view.C).  All the
functions really do is explicitly set whatever side to be whatever position
All Sash set ( whatever side ) functions are called to change the length of the sash never to change its position . Therefore SetRight and SetLeft are called only on vertical Sashes and SetBottom and SetTop are called only on horizontal sashes ( horizontal and vertical are explained in view . C ) . All the functions really do is explicitly set whatever side to be whatever position
void Sash::SetRight(int newX)
{
    gInit (Sash::SetRight);
    vrect myRect;
    myRect = * (GetRect());
    if (newX<myRect.GetX())
    {
	myRect.SetX(newX);
	myRect.SetWidth(0);
    }
    else 
	myRect.SetWidth(newX - myRect.GetX());
    SetRect (&myRect);
}
void Sash :: SetRight ( int newX ) { gInit ( Sash :: SetRight ) ; vrect myRect ; myRect = * ( GetRect ( ) ) ; if ( newX < myRect . GetX ( ) ) { myRect . SetX ( newX ) ; myRect . SetWidth ( 0 ) ; } else myRect . SetWidth ( newX - myRect . GetX ( ) ) ; SetRect ( & myRect ) ; }
All Sash set(whatever side) functions are called to change the length of the
sash, never to change its position.
All Sash set ( whatever side ) functions are called to change the length of the sash never to change its position .