protected void Init()
{
this.CanFocus = true;
//this.SizeAllocated += new SizeAllocatedHandler(PlotWidget_SizeAllocated);
//this.ExposeEvent += new ExposeEventHandler(PlotWidget_ExposeEvent);
this.EnterNotifyEvent += new EnterNotifyEventHandler(PlotWidget_EnterNotifyEvent);
this.LeaveNotifyEvent += new LeaveNotifyEventHandler(PlotWidget_LeaveNotifyEvent);
this.ButtonPressEvent += new ButtonPressEventHandler(PlotWidget_ButtonPressEvent);
this.MotionNotifyEvent += new MotionNotifyEventHandler(PlotWidget_MotionNotifyEvent);
this.ButtonReleaseEvent += new ButtonReleaseEventHandler(PlotWidget_ButtonReleaseEvent);
this.ScrollEvent += new ScrollEventHandler(PlotWidget_ScrollEvent);
this.KeyPressEvent += new KeyPressEventHandler(PlotWidget_KeyPressEvent);
this.KeyReleaseEvent += new KeyReleaseEventHandler(PlotWidget_KeyReleaseEvent);
// Subscribe to DrawingArea mouse movement and button press events.
// Enter and Leave notification is necessary to make ToolTips work.
// Specify PointerMotionHint to prevent being deluged with motion events.
this.AddEvents((int)Gdk.EventMask.EnterNotifyMask);
this.AddEvents((int)Gdk.EventMask.LeaveNotifyMask);
this.AddEvents((int)Gdk.EventMask.ButtonPressMask);
this.AddEvents((int)Gdk.EventMask.ButtonReleaseMask);
this.AddEvents((int)Gdk.EventMask.PointerMotionMask);
this.AddEvents((int)Gdk.EventMask.PointerMotionHintMask);
this.AddEvents((int)Gdk.EventMask.ScrollMask);
}