The widget class is abstract. All the graphical widgets are derived from this class.
interface widget
{
widget(char* p);
widget(widget* w,char* p);
widget* pack(char* options=""); // pack to display
void destroy(); // remove from display
};