class YardView::ApplicationWindow
Attributes
port[RW]
Public Class Methods
init()
click to toggle source
# File lib/yardview/application_window.rb, line 9 def self.init set_template resource: '/com/github/kojix2/yardview/yardview.ui' bind_template_child 'box' set_connect_func do |handler_name| lambda do YardView.application.active_window.__send__(handler_name) end end end
new(application, port: port_num)
click to toggle source
Calls superclass method
# File lib/yardview/application_window.rb, line 21 def initialize(application, port: port_num) super application: application set_title 'YardView' set_icon GdkPixbuf::Pixbuf.new resource: '/com/github/kojix2/yardview/ruby.png' @port = port start_yard_server create_gui end
Public Instance Methods
create_gui()
click to toggle source
# File lib/yardview/application_window.rb, line 31 def create_gui signal_connect('destroy') do Process.kill(:INT, @yard) @yard = nil end at_exit { Process.kill(:INT, @yard) unless @yard.nil? } @view = WebKit2Gtk::WebView.new @view.load_uri("http://localhost:#{port}") box.add @view, expand: true, fill: true @view.show end
on_back_clicked()
click to toggle source
# File lib/yardview/application_window.rb, line 51 def on_back_clicked @view.go_back end
on_home_clicked()
click to toggle source
# File lib/yardview/application_window.rb, line 47 def on_home_clicked @view.load_uri("http://localhost:#{port}") end
on_refresh_clicked()
click to toggle source
# File lib/yardview/application_window.rb, line 59 def on_refresh_clicked @view.reload end
on_top_clicked()
click to toggle source
# File lib/yardview/application_window.rb, line 55 def on_top_clicked @view.run_javascript('window.scrollTo(0,0);') end
port_open?(port)
click to toggle source
# File lib/yardview/application_window.rb, line 43 def port_open?(port) !system("lsof -i:#{port}", out: '/dev/null') end
start_yard_server()
click to toggle source
# File lib/yardview/application_window.rb, line 63 def start_yard_server if port_open? port @yard = spawn("yard server -g -p #{port} -s thin --reload") sleep 1 else raise "port #{port} is in use!" end end