In computer programming, a widget (or control) is an element of a
graphical user interface (GUI) that displays an information arrangement
changeable by the user, such as a window or a text box. The defining
characteristic of a widget is to provide a single interaction point for the
direct manipulation of a given kind of data. In other words, widgets are
basic visual building blocks which, combined in an application, hold all the
data processed by the application and the available interactions on this
data