class Smartdict::Gui::MainWindow

Public Class Methods

new(controller) click to toggle source
Calls superclass method
# File lib/smartdict/gui/main_window.rb, line 8
def initialize(controller)
  super("Smartdict")

  @controller = controller

  signal_connect("delete_event") { @controller.hide_visibility }
  signal_connect("destroy") { @controller.quit }

  signal_connect("focus_in_event") { @controller.focus_word_entry }

  set_default_size(720, 450)
  set_icon(Smartdict::Icons.logo)
end

Public Instance Methods

draw_window() click to toggle source
# File lib/smartdict/gui/main_window.rb, line 23
def draw_window
 vertical_span = 3
 left_box_border = 3

  main_box = Gtk::VBox.new.
    pack_start(menu_bar, false, false, 0)

  main_hpaned = Gtk::HPaned.new

  left_scrolled_win = Gtk::ScrolledWindow.new.
    add(word_list).
    set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)

  left_side_box = Gtk::VBox.new.
    pack_start(Gtk::VBox.new.
      pack_start(Gtk::HBox.new.
        pack_start(word_entry).
        set_border_width(vertical_span), false, false).
      pack_start(Gtk::HBox.new.
        pack_start(translate_button).
        set_border_width(vertical_span), false, false).
      pack_start(Gtk::HBox.new.
        pack_start(from_lang_combo_box).
        pack_start(interchange_button).
        pack_start(to_lang_combo_box).
        set_border_width(vertical_span), false, false).
      set_border_width(left_box_border), false, false).
    pack_start(left_scrolled_win, true, true)

  right_scrolled_win = Gtk::ScrolledWindow.new.
    add(text_view).
    set_policy(Gtk::POLICY_AUTOMATIC, Gtk::POLICY_AUTOMATIC)

  main_hpaned.
    add_child(Gtk::Builder.new, left_side_box).
    add_child(Gtk::Builder.new, right_scrolled_win)

  main_box.add(main_hpaned)
  main_box.pack_start(status_bar, false, false)

  add(main_box)
end
hide_visibility() click to toggle source
# File lib/smartdict/gui/main_window.rb, line 83
def hide_visibility
  @prev_position = position
  hide_all
end
show_visibility() click to toggle source
# File lib/smartdict/gui/main_window.rb, line 77
def show_visibility
 show_all
 move(*@prev_position) if @prev_position
 present
end
toggle_visibility() click to toggle source
# File lib/smartdict/gui/main_window.rb, line 67
def toggle_visibility
  if visible? and active?
    hide_visibility
  elsif visible? and !active?
    present
  else
    show_visibility
  end
end