void OnRootWidgetChanged()
{
if (designer != null) {
if (designer.Parent is Gtk.Plug)
((Gtk.Plug)designer.Parent).Remove (designer);
designer = null;
}
if (plug != null) {
Gdk.Threads.Enter ();
plug.Add (WrapperWidget);
plug.ShowAll ();
Gdk.Threads.Leave ();
}
if (frontend != null)
frontend.NotifyRootWidgetChanged ();
if (RootWidgetChanged != null)
RootWidgetChanged (this, EventArgs.Empty);
}