class HypertextDemo
Text View/Hypertext¶ ↑
Usually, tags modify the appearance of text in the view, e.g. making it bold or colored or underlined. But tags are not restricted to appearance. They can also affect the behavior of mouse and key presses, as this demo shows.
Public Class Methods
new(main_window)
click to toggle source
# File gtk3/sample/gtk-demo/hypertext.rb, line 13 def initialize(main_window) @hovering = false initialize_window(main_window) initialize_cursors(main_window) initialize_view @view.signal_connect "key-press-event" do |_widget, event| case event.keyval when Gdk::Keyval::KEY_Return, Gdk::Keyval::KEY_KP_Enter iter = @buffer.get_iter_at_mark(@buffer.get_mark("insert")) follow_if_link(iter) if iter end false end @view.signal_connect "event-after" do |widget, event| event_after(event) end @view.signal_connect "motion-notify-event" do |widget, event| x, y = widget.window_to_buffer_coords(:widget, event.x, event.y) set_cursor_if_appropriate(widget, x, y) widget.window.pointer false end sw = Gtk::ScrolledWindow.new sw.set_policy(:automatic, :automatic) @window.add(sw) sw.add(@view) show_page(1) sw.show_all end
Public Instance Methods
run()
click to toggle source
# File gtk3/sample/gtk-demo/hypertext.rb, line 50 def run if !@window.visible? @window.show_all else @window.destroy end @window end