the structure of the application the drawingmodeldrawingpanel and drawingcontroller classes exhibit the classic mvc structure the view and the controller classes (drawingpanel and drawingcontrollerknow about each other and the drawing modelwhereas the drawingmodel knows nothing about the view or the controller the view is notified of changes in the drawing through the paint event additional classes there are also four types of drawing object (of figure)circlelinesquare and text figures the only difference between these classes is what is drawn on the graphic device context within the on_paint(method the figure classfrom which they all inheritdefines the common attributes used by all objects within drawing ( point representing an and location and sizethe pydrawframe class also uses pydrawmenubar and pydrawtoolbar class the first of these extends the wx menubar with menu items for use within the pydraw application in turn the pydrawtoolbar extends the wx toolbar and provides icons for use in pydraw