プロジェクト

全般

プロフィール

機能 #763 » 0001-DSL.patch

Satoshi Okuno, 2015-09-22 07:26

差分を表示:

core/plugin/settings/builder.rb
# [config] 設定のキー
# [current] 初期のディレクトリ
def fileselect(label, config, current=Dir.pwd)
container = input(label, config)
input = container.children.last.children.first
button = Gtk::Button.new('参照')
container.pack_start(button, false)
button.signal_connect('clicked'){ |widget|
dialog = Gtk::FileChooserDialog.new("Open File",
widget.get_ancestor(Gtk::Window),
Gtk::FileChooser::ACTION_OPEN,
nil,
[Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL],
[Gtk::Stock::OPEN, Gtk::Dialog::RESPONSE_ACCEPT])
dialog.current_folder = File.expand_path(current)
if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT
Listener[config].set dialog.filename
input.text = dialog.filename
end
dialog.destroy
}
container
fsselect(label, config, current, Gtk::FileChooser::ACTION_OPEN)
end
# ディレクトリを選択する
# ==== Args
# [label] ラベル
# [config] 設定のキー
# [current] 初期のディレクトリ
def dirselect(label, config, current=Dir.pwd)
fsselect(label, config, current, Gtk::FileChooser::ACTION_SELECT_FOLDER)
end
# 一行テキストボックス
# ==== Args
# [label] ラベル
......
Listener[config].set w.font_name }
button end
def fsselect(label, config, current=Dir.pwd, action)
container = input(label, config)
input = container.children.last.children.first
button = Gtk::Button.new('参照')
container.pack_start(button, false)
button.signal_connect('clicked'){ |widget|
dialog = Gtk::FileChooserDialog.new("Open File",
widget.get_ancestor(Gtk::Window),
action,
nil,
[Gtk::Stock::CANCEL, Gtk::Dialog::RESPONSE_CANCEL],
[Gtk::Stock::OPEN, Gtk::Dialog::RESPONSE_ACCEPT])
dialog.current_folder = File.expand_path(current)
if dialog.run == Gtk::Dialog::RESPONSE_ACCEPT
Listener[config].set dialog.filename
input.text = dialog.filename
end
dialog.destroy
}
container
end
def method_missing(*args, &block)
@plugin.__send__(*args, &block)
end
(2-2/2)