# File vtk/gtk/GtkGLExtVTKRenderWindow.rb, line 588
def main

  Gtk.init
  Gtk::GL.init

    # The main window
  window = Gtk::Window.new
  window.set_title("A GtkGLExtVTKRenderWindow Demo!")
  window.signal_connect("destroy"){ Gtk.main_quit }
  window.signal_connect("delete_event"){ Gtk.main_quit }
  window.set_border_width(10)

  vtkgtk = GtkGLExtVTKRenderWindow.new
  vtkgtk.show

  vbox = Gtk::VBox.new(false, 3)
  vbox.show
  vbox.pack_start(vtkgtk)

  button = Gtk::Button.new('My Button')
  button.show
  vbox.pack_start(button)
  window.add(vbox)

  window.set_size_request(400, 400)

  # The VTK stuff.
  cone = Vtk::ConeSource.new
  cone.SetResolution(80)
  coneMapper = Vtk::PolyDataMapper.new
  coneMapper.SetInput(cone.GetOutput)
  #coneActor = Vtk::LODActor.new
  coneActor = Vtk::Actor.new
  coneActor.SetMapper(coneMapper)    
  coneActor.GetProperty.SetColor(0.5, 0.5, 1.0)
  ren = Vtk::Renderer.new
  vtkgtk.GetRenderWindow.AddRenderer(ren)
  ren.AddActor(coneActor)

  # show the main window && start event processing.
  window.show
  Gtk.main
end