class RunQuery

this file is part of manqod manqod is distributed under the CDDL licence the author of manqod is Dobai-Pataky Balint(dpblnt@gmail.com)

Public Class Methods

new(rb) click to toggle source
Calls superclass method
# File lib/RelationBuilder/RunQuery.rb, line 7
def initialize(rb)
        @rb=rb
        super()
        whsv=false
        begin
                whsv=Gtk::SourceView::BUILD_VERSION
                rescue => err
                einfo("no Gtk::SourceView, falling back")
        end
        set_size_request(600,300)
        set_destroy_with_parent(true)
        set_modal(true)
        set_window_position(Gtk::Window::POS_CENTER_ON_PARENT)
        set_decorated(true)
        #hide on escape
        signal_connect("key-release-event"){|me,ev| hide if ev.keyval == Gdk::Keyval::GDK_KEY_Escape}
        @ag=Gtk::AccelGroup.new
        @ag.connect(Gdk::Keyval::GDK_KEY_q, Gdk::Window::CONTROL_MASK, Gtk::ACCEL_VISIBLE){show_all}
        
        add(Gtk::VBox.new.
                pack_start(@widget=whsv ? Gtk::SourceView.new : Gtk::TextView.new,true,true).
                pack_start(Gtk::HBox.new.pack_start(Gtk::Label.new).
                        pack_start(runb=Gtk::Button.new("Run"),false,false),false,false)
        )
        if whsv
                @widget.buffer.set_language(Gtk::SourceLanguageManager.new.get_language("sql"))
                @widget.set_auto_indent(true).
                set_highlight_current_line(true).
                set_indent_on_tab(true).
                set_show_line_numbers(true).
                set_indent_on_tab(true).
                set_indent_width(4)
        end
        @widget.set_editable(true)
        runb.signal_connect('clicked'){|me|
                client_query(@widget.buffer.text)
        }
end

Public Instance Methods

hide() click to toggle source
Calls superclass method
# File lib/RelationBuilder/RunQuery.rb, line 46
def hide
        super
        @rb.set_focused_item(nil)
end
update(win) click to toggle source
# File lib/RelationBuilder/RunQuery.rb, line 50
def update(win)
        win.add_accel_group(@ag)
        set_transient_for(win)
end