# File gtk/sample/gtk-demo/changedisplay.rb, line 46
    def initialize
      @size_group = nil

      @display_model = nil
      @screen_model = nil

      @screen_selection = nil

      @current_display = nil
      @current_screen = nil

      super('Change Screen or display',
            nil, # parent
            Gtk::Dialog::NO_SEPARATOR,
            [Gtk::Stock::CLOSE, Gtk::Dialog::RESPONSE_CLOSE],
            ['Change', Gtk::Dialog::RESPONSE_OK])

      set_default_size(300, 400)
      signal_connect('response') do |dialog, response_id|
        if response_id == Gtk::Dialog::RESPONSE_OK
          if Gtk.check_version?(2, 2, 0)
            query_change_display
          else
            puts "This sample requires GTK+ 2.2.0 or later"
          end
        else
          destroy # Gtk.main_quit?
        end
      end
      signal_connect('destroy') do

      end

      unless Gtk.check_version?(2, 2, 0)
         vbox.add(Gtk::Label.new("This sample requires GTK+ 2.2.0 or later"))
         return
      end

      vbox = Gtk::VBox.new(false, 5)
      vbox.set_border_width(8)

      self.vbox.pack_start(vbox, true, true)

      @size_group = Gtk::SizeGroup.new(Gtk::SizeGroup::HORIZONTAL)

      frame = create_display_frame
      vbox.pack_start(frame, true, true)

      frame = create_screen_frame
      vbox.pack_start(frame, true, true)

      initialize_displays
    end