Class: Groonga::DatabaseViewerGtk::Window

Inherits:
Gtk::Window
  • Object
show all
Defined in:
lib/groonga/database-viewer-gtk/window.rb

Instance Method Summary collapse

Constructor Details

#initialize(db_path) ⇒ Window

Returns a new instance of Window.



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/groonga/database-viewer-gtk/window.rb', line 23

def initialize(db_path)
  super()
  set_default_size(640, 480)
  @grn_database = Database.open(db_path)
  signal_connect("destroy") do
    @grn_database.close unless @grn_database.closed?
    Gtk.main_quit
  end

  vbox = Gtk::VBox.new
  add(vbox)

  search_hbox = create_search_hbox
  vbox.pack_start(search_hbox, false, false, 4)

  @notebook = create_notebook
  vbox.pack_start(@notebook, true, true, 0)
end

Instance Method Details

#get_tree_view(page_num) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
# File 'lib/groonga/database-viewer-gtk/window.rb', line 69

def get_tree_view(page_num)
  page_widget = @notebook.children[page_num]
  if page_widget.is_a?(Gtk::ScrolledWindow)
    page_widget.each do |child|
      if child.is_a?(TreeView)
        return child
      end
    end
  end
  return nil
end

#init_view(page_num) ⇒ Object



47
48
49
50
51
52
53
# File 'lib/groonga/database-viewer-gtk/window.rb', line 47

def init_view(page_num)
  target = get_tree_view(page_num)
  return unless target
  return if target.updated
  limit = @limit_combo.active_text.delete(",").to_i
  target.update_model(limit)
end

#runObject



42
43
44
45
# File 'lib/groonga/database-viewer-gtk/window.rb', line 42

def run
  show_all
  Gtk.main
end

#select(column, word) ⇒ Object



55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/groonga/database-viewer-gtk/window.rb', line 55

def select(column, word)
  if word.empty?
    query = nil
  elsif column == "_id"
    query = "#{column}:#{word}"
  else
    query = "#{column}:@#{word}"
  end
  target = get_tree_view(@notebook.page)
  return unless target
  limit = @limit_combo.active_text.delete(",").to_i
  target.update_model(limit, query)
end