class MyRendererButton
this file is part of manqod manqod is distributed under the CDDL licence the author of manqod is Dobai-Pataky Balint(dpblnt@gmail.com)
Attributes
pc[RW]
Public Class Methods
new(pc)
click to toggle source
Calls superclass method
# File lib/FormHolder/Form/InputHolder/Button.rb, line 9 def initialize(pc) @pc=pc super(item['description']) set_relief(Gtk::ReliefStyle::NONE) set_image_position(Gtk::PositionType::RIGHT) set_use_underline(true) signal_connect('clicked'){|me| edebug("#{item['default']} clicked","gtk_button","debug") run_events(item['id'],'form_item-Action') unless target == "-1" || target == "0" if modname=='form' @form=Myform::MyFormHolder.new("dialog",self,@pc.target_runmode,target) @form.set_parentM(parentM) ret=@form.run(text.to_i) update(ret) if ret and ret>0 notify_changes else mr=MainRouter.new(w=Gtk::Dialog.new) w.vbox. pack_start(Gtk::HBox.new. pack_start(back_button=Gtk::Button.new(Gtk::Stock::GO_BACK),false,false). pack_start(clear_button=Gtk::Button.new(Gtk::Stock::CLEAR),false,false), false,false). pack_start(mr) back_button.signal_connect("clicked"){|me,ev| update(mr.child.list.get_cursor_id.to_s) w.destroy notify_changes } clear_button.signal_connect("clicked"){|me,ev| update("-1") w.destroy notify_changes } if sw=get_conf(target,0,"width") and sh=get_conf(target,0,"height") w.resize(sw.to_i,sh.to_i)# if sw.to_i * sh.to_i >0 else w.resize(600,400) end sx=get_conf(target,0,"x") || 50 sy=get_conf(target,0,"y") || 60 w.move(sx.to_i,sy.to_i) w.maximize if get_conf(target,0,"maximized") == "true" w.iconify if get_conf(target,0,"iconified") == "true" w.fullscreen if get_conf(target,0,"fullscreen") == "true" w.set_resizable(true).set_transient_for(@pc.caller.get_ancestor(Gtk::Window)).set_modal(true).show_all w.signal_connect("configure-event"){|me,event| if nick set_conf(target,0,"width",event.width.to_s) set_conf(target,0,"height",event.height.to_s) set_conf(target,0,"x",event.x.to_s) set_conf(target,0,"y",event.y.to_s) end false } w.signal_connect("window-state-event"){|me,event| if nick set_conf(target,0,"maximized",(event.new_window_state & Gdk::EventWindowState::MAXIMIZED == Gdk::EventWindowState::MAXIMIZED).to_s) set_conf(target,0,"minimized",(event.new_window_state & Gdk::EventWindowState::ICONIFIED == Gdk::EventWindowState::ICONIFIED).to_s) set_conf(target,0,"minimized",(event.new_window_state & Gdk::EventWindowState::FULLSCREEN == Gdk::EventWindowState::FULLSCREEN).to_s) end false } mr.update(self) mr.child.list.set_cursor_id(text.to_i) end end } end
Public Instance Methods
inspect()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 120 def inspect "Button(#{item['description']})" end
item()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 117 def item pc.item end
modname()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 83 def modname @pc.target_module end
notify_changes()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 127 def notify_changes edebug("'#{item['data']}' changed","form") pc.changed pc.notify_observers(self) edebug("'#{item['data']}' emiting 'changed' to observers","form") end
parentM()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 110 def parentM pc.parentM end
target()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 114 def target item['to_call'] end
text()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 106 def text item['default'].to_s end
to_s()
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 123 def to_s inspect end
update(new_value=item['default'])
click to toggle source
# File lib/FormHolder/Form/InputHolder/Button.rb, line 86 def update(new_value=item['default']) item['default']=new_value run_events(item['id'],'form_item-BeforeUpdate') pc.run_query if @pc.type_def.size == 0 set_label(item['default']) else s="" @pc.type_def.each_pair{|key,value| s="#{s}\n" if s.size>0 s="#{s}#{@pc.query_result[key]}" if @pc.query_result.has_key?(key) } set_label(s) set_image(Gtk::Image.new((parentM.runmode=='info' ? Gtk::Stock::INFO : (text=="-1" || text=="0" ? Gtk::Stock::ADD : Gtk::Stock::EDIT )),Gtk::IconSize.from_name(get_conf(0,0,"button-size")))) notify_changes end edebug("#{text} updated","gtk_button","info") run_events(item['id'],'form_item-AfterUpdate') end