class MyRendererModel::Filterer

Attributes

entry[RW]
model[RW]

Public Class Methods

new(model) click to toggle source
Calls superclass method
# File lib/FormHolder/Form/InputHolder/Common/Model.rb, line 8
def initialize(model)
        @model=model
        super(Gtk::Window::POPUP)
        add(Gtk::VBox.new)
        child.pack_start(Gtk::Label.new("filter: #{model.pc.item['description']}"))
        child.pack_start(@entry=Gtk::Entry.new.set_can_focus(true).set_can_default(true))
        set_destroy_with_parent(true)
        set_modal(true)
        set_decorated(false)
        set_window_position(Gtk::Window::POS_CENTER_ON_PARENT)
        entry.signal_connect('activate'){|me|
                @old_text=@entry.text
                hide
        }
        entry.signal_connect("key-release-event",self){|me,ev,filterer|
                if ev.keyval == Gdk::Keyval::GDK_KEY_Escape
                        #set the old filter back
                        model.typed=@old_text
                        @entry.set_text(@old_text)
                        model.refilter
                        filterer.hide
                        else
                        #filter
                        model.typed=me.text
                        model.refilter
                end
        }
end

Public Instance Methods

run(parent_window) click to toggle source
# File lib/FormHolder/Form/InputHolder/Common/Model.rb, line 38
def run(parent_window)
        @old_text=@entry.text
        set_transient_for(parent_window.get_ancestor(Gtk::Window))
        show_all
end