summaryrefslogtreecommitdiffstats
path: root/ext/tk/sample/demos-en/dialog2.rb
blob: 21bf25c88d2cbaca7ebaa90ed2950b797e9ff5cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#
# a dialog box with a global grab (called by 'widget')
#
class TkDialog_Demo2 < TkDialog
  ###############
  private
  ###############
  def title
    "Dialog with global grab"
  end

  def message
    "This dialog box uses a global grab, so it prevents you from interacting with anything on your display until you invoke one of the buttons below.  Global grabs are almost always a bad idea; don't use them unless you're truly desperate."
  end

  def bitmap
    'info'
  end

  def default_button
    0
  end

  def buttons
    ["OK", "Cancel", "Show Code"]
  end
end

ret =  TkDialog_Demo2.new('message_config'=>{'wraplength'=>'4i'},
			  'prev_command'=>proc{|dialog|
			    Tk.after 100, proc{dialog.grab('global')}
			  }).value
case ret
when 0
  print "\You pressed OK\n"
when 1
  print "You pressed Cancel\n"
when 2
  showCode 'dialog2'
end