Module: SleipnirAPI::Dialog

Included in:
Sleipnir, Tab
Defined in:
lib/sleipnir_api/dialog.rb

Overview

このモジュールは Sleipnir のダイアログを操作する API を定義しています。

SleipnirAPI::Sleipnir、SleipnirAPI::Tab クラスでこのモジュールの API を利用できます。

pnir.beep
pnir.message_box("処理が終わりました")

tab = pnir.active_tab
r, v = tab.input_box("パスワード", :mask => true)
if r == :ok
  puts "パスワード: #{v}"
else
  puts "キャンセル"
end

Instance Method Summary collapse

Instance Method Details

#beepObject

Beep 音を鳴らします。



40
41
42
# File 'lib/sleipnir_api/dialog.rb', line 40

def beep
  self.sleipnir.api.Beep
end

#input_box(prompt, opts = nil) ⇒ Object

call-seq:

input_box(prompt)
input_box(prompt, :default => "default value")
input_box(prompt, mask => true)
input_box(prompt, mask => true, :default => "default value")

文字列を入力するダイアログを表示します。

  • :mask キーワード引数に true を指定した場合、入力欄はマスクで保護されます。

  • :default キーワード引数で初期値を指定できます。

戻り値は押したボタンと入力欄の値を配列で返します。キャンセルされた場合は、:default で指定した値を返します。

pnir.input_box("名前", :default => "sleipnir")
# firefox を入力し ok を押した場合 => [:ok, "firefox"]
# 〃           cancel を押した場合 => [:cancel, "sleipnir"]


63
64
65
66
67
68
69
70
71
72
73
74
75
76
# File 'lib/sleipnir_api/dialog.rb', line 63

def input_box(prompt, opts = nil)
  opts ||= {}
  if opts[:masked] or opts[:mask]
    r = self.sleipnir.api.MaskedInputBox(prompt, opts[:default])
  else
    r = self.sleipnir.api.InputBox(prompt, opts[:default])
  end

  if self.sleipnir.api.Result.zero?
    [:cancel, r]
  else
    [:ok, r]
  end
end

#message_box(message) ⇒ Object

Sleipnir のメッセージボックスを表示します。



22
23
24
# File 'lib/sleipnir_api/dialog.rb', line 22

def message_box(message)
  self.sleipnir.api.MessageBox(message)
end

#msgbox(prompt, title, flag) ⇒ Object

WinAPI::MessageBox を呼び出します。

  • prompt: メッセージボックスに表示する文字列を指定します

  • title: メッセージボックスのタイトルを指定します

  • flag: WinAPI::MessageBox の値と同じ値を指定します

戻り値は WinAPI::MessageBox のと同じ値です。



35
36
37
# File 'lib/sleipnir_api/dialog.rb', line 35

def msgbox(prompt, title, flag)
  self.sleipnir.api.MsgBox(prompt, title, flag)
end