class MyFRendererToggle

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(caller,header) click to toggle source
Calls superclass method
# File lib/ListHolder/ListPanel/ListFilter/FRenderer/Toggle.rb, line 8
def initialize(caller,header)
        @caller=caller
        @header=header
        @filter=get_conf(caller.list.get_id,header["id"],"filter") || ""
        @renderer=Gtk::CheckButton.new
        super(@header['align'].to_f,0.5,0,0)
        add(@renderer)
        case @filter
                when "=true" then @renderer.set_active(true).set_inconsistent(false);
                when "=false" then @renderer.set_active(false).set_inconsistent(false);
                else @renderer.set_active(false).set_inconsistent(true);
        end
        @renderer.signal_connect("released"){|me|
          if @filter=="" then @filter="=true" else
                        if @filter=="=true" then @filter="=false" else
                     @filter=""
                        end
          end
                case @filter
                        when "=true" then @renderer.set_active(true).set_inconsistent(false);
                        when "=false" then @renderer.set_active(false).set_inconsistent(false);
                        else @renderer.set_active(false).set_inconsistent(true);
          end
          edebug("active: #{@renderer.active?},inconsistent: #{@renderer.inconsistent?}|#{@filter}|","filter-toggle")
          set_conf(caller.list.get_id,header['id'],"filter",@filter)
          @caller.list.refilter
        }
end

Public Instance Methods

update(newvalue=@filter) click to toggle source
# File lib/ListHolder/ListPanel/ListFilter/FRenderer/Toggle.rb, line 36
def update(newvalue=@filter)
        einfo("updated"+newvalue.to_s,"filter-toggle")
        @filter=newvalue
end