class Plugin::Extract::ExtractTabList

抽出タブの一覧

Constants

ITER_ID
ITER_NAME

Public Class Methods

new(plugin) click to toggle source
Calls superclass method
# File core/plugin/extract/extract_tab_list.rb, line 12
def initialize(plugin)
  type_strict plugin => Plugin
  @plugin = plugin
  super(Gtk::ListStore.new(String, Numeric))
  set_size_request(0, 200)

  append_column Gtk::TreeViewColumn.new(plugin._("名前"), Gtk::CellRendererText.new, text: ITER_NAME)

  extract_tabs.each(&method(:add_record)) end

Public Instance Methods

add_record(record) click to toggle source

レコードを追加する

Args

record

追加するレコード(Hash)

Return

self

# File core/plugin/extract/extract_tab_list.rb, line 34
def add_record(record)
  iter = model.append
  iter[Plugin::Extract::ExtractTabList::ITER_NAME] = record[:name]
  iter[Plugin::Extract::ExtractTabList::ITER_ID] = record[:id]
  self end
remove_record(record_id) click to toggle source

抽出タブをリストから削除する

Args

record_id

削除する抽出タブのID

Return

self

# File core/plugin/extract/extract_tab_list.rb, line 45
def remove_record(record_id)
  remove_iter = model.to_enum(:each).map{|_,_,iter|iter}.find{|iter| record_id == iter[ITER_ID] }
  model.remove(remove_iter) if remove_iter
  self end
selected_id() click to toggle source

現在選択されている抽出タブのIDを返す

Return

選択されている項目のID。何も選択されていない場合はnil

# File core/plugin/extract/extract_tab_list.rb, line 25
def selected_id
  selected_iter = selection.selected
  selected_iter[ITER_ID] if selected_iter end