class TkDialogObj
Constants
- TkCommandNames
Public Class Methods
Source
# File lib/tk/dialog.rb, line 13 def self.show(*args) dlog = self.new(*args) dlog.show dlog end
Public Instance Methods
Source
# File lib/tk/dialog.rb, line 166 def show # if @command.kind_of?(Proc) if TkComm._callback_entry?(@command) @command.call(self) end if @default_button.kind_of?(String) default_button = @buttons.index(@default_button) else default_button = @default_button end # default_button = '{}' if default_button == nil default_button = '' if default_button == nil #Tk.ip_eval('eval {global '+@var.id+';'+@config+ # 'set '+@var.id+' [tk_dialog '+ # @path+" "+@title+" {#{@message}} "+@bitmap+" "+ # String(default_button)+" "+@buttons.join(' ')+']}') Tk.ip_eval(@config) # @val = Tk.ip_eval('tk_dialog ' + @path + ' ' + @title + # ' {' + @message + '} ' + @bitmap + ' ' + # String(default_button) + ' ' + @buttons.join(' ')).to_i # @val = Tk.ip_eval(self.class::TkCommandNames[0] + ' ' + @path + ' ' + # @title + ' {' + @message + '} ' + @bitmap + ' ' + # String(default_button) + ' ' + @buttons.join(' ')).to_i @val = Tk.ip_eval(array2tk_list([ self.class::TkCommandNames[0], @path, @title, @message, @bitmap, String(default_button) ].concat(@buttons))).to_i end
Private Instance Methods
Source
# File lib/tk/dialog.rb, line 229 def bitmap # returns a bitmap name or a bitmap file path # (@ + path ; e.g. '@/usr/share/bitmap/sample.xbm') return "info" end
Source
# File lib/tk/dialog.rb, line 234 def bitmap_config # returns nil or a Hash {option=>value, ...} for the bitmap return nil end
Source
# File lib/tk/dialog.rb, line 251 def btnframe_config # returns nil or a Hash {option=>value, ...} for the button frame return nil end
Source
# File lib/tk/dialog.rb, line 60 def create_self(keys) # @var = TkVariable.new @val = nil @title = title @message = message @message_config = message_config @msgframe_config = msgframe_config @bitmap = bitmap @bitmap_config = message_config @default_button = default_button @buttons = buttons @button_configs = proc{|num| button_configs(num)} @btnframe_config = btnframe_config #@config = "puts [winfo children .w0000];" @config = "" @command = prev_command if keys.kind_of?(Hash) @title = keys['title'] if keys.key? 'title' @message = keys['message'] if keys.key? 'message' @bitmap = keys['bitmap'] if keys.key? 'bitmap' # @bitmap = '{}' if @bitmap == nil || @bitmap == "" @bitmap = '' unless @bitmap @default_button = keys['default'] if keys.key? 'default' @buttons = keys['buttons'] if keys.key? 'buttons' @command = keys['prev_command'] if keys.key? 'prev_command' @message_config = keys['message_config'] if keys.key? 'message_config' @msgframe_config = keys['msgframe_config'] if keys.key? 'msgframe_config' @bitmap_config = keys['bitmap_config'] if keys.key? 'bitmap_config' @button_configs = keys['button_configs'] if keys.key? 'button_configs' @btnframe_config = keys['btnframe_config'] if keys.key? 'btnframe_config' end #if @title.include? ?\s # @title = '{' + @title + '}' #end if @buttons.kind_of?(Array) _set_button_config(@buttons.collect{|cfg| (cfg.kind_of? Array)? cfg[1]: nil}) @buttons = @buttons.collect{|cfg| (cfg.kind_of? Array)? cfg[0]: cfg} end if @buttons.kind_of?(Hash) _set_button_config(@buttons) @buttons = @buttons.keys end @buttons = tk_split_simplelist(@buttons) if @buttons.kind_of?(String) @buttons = [] unless @buttons =begin @buttons = @buttons.collect{|s| if s.kind_of?(Array) s = s.join(' ') end if s.include? ?\s '{' + s + '}' else s end } =end if @message_config.kind_of?(Hash) # @config << Kernel.format("%s.msg configure %s;", # @path, hash_kv(@message_config).join(' ')) # @config << @path+'.msg configure '+hash_kv(@message_config).join(' ')+';' @config << @path+'.msg configure '+ array2tk_list(hash_kv(@message_config))+';' end if @msgframe_config.kind_of?(Hash) # @config << Kernel.format("%s.top configure %s;", # @path, hash_kv(@msgframe_config).join(' ')) # @config << @path+'.top configure '+hash_kv(@msgframe_config).join(' ')+';' @config << @path+'.top configure '+ array2tk_list(hash_kv(@msgframe_config))+';' end if @btnframe_config.kind_of?(Hash) # @config << Kernel.format("%s.bot configure %s;", # @path, hash_kv(@btnframe_config).join(' ')) # @config << @path+'.bot configure '+hash_kv(@btnframe_config).join(' ')+';' @config << @path+'.bot configure '+ array2tk_list(hash_kv(@btnframe_config))+';' end if @bitmap_config.kind_of?(Hash) # @config << Kernel.format("%s.bitmap configure %s;", # @path, hash_kv(@bitmap_config).join(' ')) # @config << @path+'.bitmap configure '+hash_kv(@bitmap_config).join(' ')+';' @config << @path+'.bitmap configure '+ array2tk_list(hash_kv(@bitmap_config))+';' end _set_button_config(@button_configs) if @button_configs end
initialize tk_dialog
Source
# File lib/tk/dialog.rb, line 217 def message # returns a message text to display on the dialog return "MESSAGE" end
Source
# File lib/tk/dialog.rb, line 221 def message_config # returns a Hash {option=>value, ...} for the message text return nil end
Source
# File lib/tk/dialog.rb, line 225 def msgframe_config # returns a Hash {option=>value, ...} for the message text frame return nil end
Source
# File lib/tk/dialog.rb, line 255 def prev_command # returns nil or a Proc return nil end
Source
# File lib/tk/dialog.rb, line 213 def title # returns a title string of the dialog window return "DIALOG" end
#
following methods should be overridden for each dialog #
#