move PaintView into a separate file