# File src/demos/gtk_demo_plugins/core/Workbench.rb, line 27
  def construct_workbench()
    @logger.debug { "Constructing workbench" }
    
    # construct the UI workbench

    window = Gtk::Window.new("PlugMan Demo")
    window.icon = Gdk::Pixbuf.new("#{dirname}/images/disconnect.png")
    @notebook = Gtk::Notebook.new()
    window.border_width = 10
    window.add(@notebook)
    window.set_default_size(640, 480) # TODO savable config item

    window.signal_connect("destroy") {
      Gtk.main_quit
    }
    
    # Add all the plugin displays

    @logger.debug{ "About to add UI plguins to workbench" }
    PlugMan.extensions(:workbench, :work_area).each do |plugin|
      @logger.debug{ "Adding plugin #{plugin.name.to_s} to the workbench" }
      ui = plugin.get_ui
      plugin.add_observer(self)
      @notebook.append_page(ui, make_tab_widget(plugin.params[:ui_label], plugin.params[:ui_image]))
      @plug_ui[plugin] = ui
    end

    window.show_all

  end