# File gtk/sample/gtk-demo/dialog.rb, line 90
    def interactive_dialog_clicked
      dialog = Gtk::Dialog.new('Interactive Dialog',
                               self,
                               Gtk::Dialog::MODAL |
                               Gtk::Dialog::DESTROY_WITH_PARENT,
                               [Gtk::Stock::OK, Gtk::Dialog::RESPONSE_OK],
                               ["_Non-stock Button", Gtk::Dialog::RESPONSE_CANCEL]
                               )

      hbox = Gtk::HBox.new(false, 0)
      hbox.set_border_width(8)
      dialog.vbox.pack_start(hbox, false, false, 0)

      stock = Gtk::Image.new(Gtk::Stock::DIALOG_QUESTION, Gtk::IconSize::DIALOG)
      hbox.pack_start(stock, false, false, 0)

      table = Gtk::Table.new(2, 2, false)
      table.set_row_spacings(4)
      table.set_column_spacings(4)
      hbox.pack_start(table, true, true, 0)
      label = Gtk::Label.new('_Entry 1', true)
      table.attach_defaults(label,
                            0, 1, 0, 1)
      local_entry1 = Gtk::Entry.new
      local_entry1.text = @entry1.text
      table.attach_defaults(local_entry1, 1, 2, 0, 1)
      label.set_mnemonic_widget(local_entry1)

      label = Gtk::Label.new('E_ntry 2', true)
      table.attach_defaults(label,
                            0, 1, 1, 2)

      local_entry2 = Gtk::Entry.new
      local_entry2.text = @entry2.text
      table.attach_defaults(local_entry2, 1, 2, 1, 2)
      label.set_mnemonic_widget(local_entry2)

      hbox.show_all
      response = dialog.run
      
      if response == Gtk::Dialog::RESPONSE_OK 
        @entry1.text = local_entry1.text
        @entry2.text = local_entry2.text
      end
      dialog.destroy
    end