class HinnerDialog
Public Class Methods
new(side='top',args=nil)
click to toggle source
Calls superclass method
# File lib/a-tkcommons.rb, line 3177 def initialize(side='top',args=nil) newargs = Arcadia.style('panel').update({ "highlightbackground" => Arcadia.conf('hightlight.link.foreground'), "highlightthickness" => 1 }) if !args.nil? newargs.update(args) end super(Arcadia.layout.parent_frame, newargs) case side when 'top' # self.pack('side' =>side,'before'=>Arcadia.layout.root, 'anchor'=>'nw','fill'=>'both', 'padx'=>0, 'pady'=>0, 'expand'=>'yes') self.pack('side' =>side,'before'=>Arcadia.layout.root, 'anchor'=>'nw','fill'=>'x', 'padx'=>0, 'pady'=>0) when 'bottom' self.pack('side' =>side,'after'=>Arcadia.layout.root, 'anchor'=>'nw','fill'=>'x', 'padx'=>0, 'pady'=>0) end @modal = false end
Public Instance Methods
is_modal?()
click to toggle source
# File lib/a-tkcommons.rb, line 3299 def is_modal? @modal end
make_scrollable_frame(_frame)
click to toggle source
# File lib/a-tkcommons.rb, line 3197 def make_scrollable_frame(_frame) TkGrid.rowconfigure(_frame, 0, 'weight'=>1, 'minsize'=>0) TkGrid.columnconfigure(_frame, 0, 'weight'=>1, 'minsize'=>0) canvas = TkCanvas.new(_frame) canvas.grid('row'=>0, 'column'=>0, 'sticky'=>'news') v_scroll = Arcadia.wf.scrollbar(_frame,{'orient'=>'vertical'}) h_scroll = Arcadia.wf.scrollbar(_frame,{'orient'=>'horizontal'}) p_vscroll = proc{|mode| st = TkGrid.info(v_scroll) if mode && st.size == 0 then v_scroll.grid('row'=>0, 'column'=>1, 'sticky'=>'ns') elsif mode == false v_scroll.ungrid end } p_hscroll = proc{|mode| st = TkGrid.info(h_scroll) if mode && st.size == 0 then h_scroll.grid('row'=>1, 'column'=>0, 'sticky'=>'ew') elsif mode == false h_scroll.ungrid end } p_do_yscrollcommand = proc{|first,last| if first != nil && last != nil delta = last.to_f - first.to_f if delta != @last_y_delta if delta < 1 && delta > 0 && last != @last_y_last p_vscroll.call(true) begin v_scroll.set(first,last) rescue Exception => e Arcadia.runtime_error(e) end elsif delta == 1 || delta == 0 p_vscroll.call(false) end end @last_y_last = last if last.to_f < 1 @last_y_delta = delta end } p_do_xscrollcommand = proc{|first,last| if first != nil && last != nil delta = last.to_f - first.to_f if delta != @last_x_delta if delta < 1 && delta > 0 && last != @last_x_last p_hscroll.call(true) begin h_scroll.set(first,last) rescue Exception => e Arcadia.runtime_error(e) end elsif delta == 1 || delta == 0 p_hscroll.call(false) end end @last_x_last = last if last.to_f < 1 @last_x_delta = delta end } canvas.yscrollbar(v_scroll) canvas.xscrollbar(h_scroll) canvas.yscrollcommand(proc{|first,last| p_do_yscrollcommand.call(first,last) }) canvas.xscrollcommand(proc{|first,last| p_do_xscrollcommand.call(first,last) }) frame = TkFrame.new(canvas) frame.bind("Configure", proc{canvas.configure(:scrollregion=>canvas.bbox("all"))}) cwin = TkcWindow.new(canvas, 0, 0, :window=>frame) canvas.scrollregion(cwin.bbox) return frame end
release()
click to toggle source
# File lib/a-tkcommons.rb, line 3303 def release @modal=false end
show_modal(_destroy=true)
click to toggle source
# File lib/a-tkcommons.rb, line 3307 def show_modal(_destroy=true) @modal=true Tk.update self.grab("set") begin while is_modal? do Tk.update sleep(0.1) end ensure self.grab("release") end Tk.update self.destroy if _destroy end