class MyDialog < Gtk::Dialog
  def initialize
    super
    set_modal(true)            
    @label = Gtk::Label.new('')
    vbox.pack_start @label
    @ok_button = Gtk::Button.new('OK')
    @ok_button.signal_connect("clicked") do
      Gtk.main_quit
      hide
    end
    action_area.pack_start @ok_button

    @cancel_button = Gtk::Button.new('CANCEL');
    @cancel_button.signal_connect("clicked") do
      print "\ncancel\n"
      $cancel = true
      @label.set_text('wait a moment'); @label.show
      @cancel_button.hide; @ok_button.hide
      show
    end
    action_area.pack_start(@cancel_button, true, true, 20) 
  end

  def wait
    @label.set_text('executing ...'); @label.show
    @ok_button.hide; @cancel_button.show
    show
    Gtk.main
  end

  def finish
    @label.set_text('finished'); @label.show
    @cancel_button.hide; @ok_button.show
    show
    Gtk.main
  end

  def end
    str = "DCASTが完了しました。\nすべてのウインドウを閉じて終了して下さい。"
    @label.set_text(NKF.nkf("-m0 -w", str)); @label.show
    @cancel_button.hide; @ok_button.show
    show
    Gtk.main
  end
end
