# LuxModule: gui

The GUI module handles all kinds of graphical user interface representations and actions.

If you want to write your own GUI classes based on the Component class, you need to call the supermethods of the classes. I.e. if you overload the mousePressed method of the button, you need to call the mousePressed method of the button within you method:

     function MyButtonClass:mousePressed(event)
       Button.mousePressed(self,event)
       -- do your stuff here now
     end

If you forget to do this, your class will not work as expected. Super-constructors should be called too, ie

     function MyButtonClass.new (class, x,y,w,h, ...)
       local self = Button.new(class, x,y,w,h)
       -- do your stuff now
     end

## Class overview