class Tk::Tcllib::ChatWidget
Constants
- PACKAGE_NAME
- TkCommandNames
Public Class Methods
package_name()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 19 def self.package_name PACKAGE_NAME end
package_version()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 23 def self.package_version begin TkPackage.require('chatwidget') rescue '' end end
Public Instance Methods
add_name(nick, opts={})
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 63 def add_name(nick, opts={}) tk_send('name', 'add', nick, *(hash_kv(opts))) end
chat_widget()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 148 def chat_widget window(tk_send('chat')) end
delete_name(nick)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 67 def delete_name(nick) tk_send('name', 'delete', nick) end
entry_widget()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 144 def entry_widget window(tk_send('entry')) end
get_name(nick)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 71 def get_name(nick) lst = tk_send('name', 'get', nick) return nil if lst.empty? nick, *opts = tk_split_simplelist(lst) h_opt = {} opts.slice(2){|k, v| h_opt[k[1..-1]] = tk_tcl2ruby(v)} [nick, h_opt] end
hide_names()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 135 def hide_names tk_send('names', 'hide') self end
hide_topic()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 41 def hide_topic tk_send_without_enc('topic', 'hide') self end
hook_add(type, *args, &blk)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 93 def hook_add(type, *args, &blk) # args -> [prior, cmd], [prior], [cmd] #type -> 'message', 'post', 'names_group', 'names_nick', 'chatstate', 'url' if prior = args.shift if !prior.kind_of?(Numeric) cmd = prior if (prior = args.shift) && !prior.kind_of?(Numeric) # error args.unshift(prior) end args.unshift(cmd) end prior ||= 50 # default priority end cmd = args.shift || blk fail ArgumentError, "invalid arguments" unless args.empty? fail ArgumentError, "no callback is given" unless cmd _parse_hook_list(tk_send('hook', 'add', type, cmd, prior)) end
hook_list(type)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 125 def hook_list(type) #type -> 'message', 'post', 'names_group', 'names_nick', 'chatstate', 'url' _parse_hook_list(tk_send('hook', 'list', type)) end
hook_remove(type, cmd)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 115 def hook_remove(type, cmd) #type -> 'message', 'post', 'names_group', 'names_nick', 'chatstate', 'url' _parse_hook_list(tk_send('hook', 'remove', type, cmd)) end
hook_run(type, *cmd_args)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 120 def hook_run(type, *cmd_args) #type -> 'message', 'post', 'names_group', 'names_nick', 'chatstate', 'url' tk_send('hook', 'run', type, *cmd_args) end
list_name()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 50 def list_name tk_split_simplelist(tk_send('name', 'list')) end
list_name_full()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 54 def list_name_full tk_split_simplelist(tk_send('name', 'list')).map{|lst| nick, *opts = tk_split_simplelist(lst) h_opt = {} opts.slice(2){|k, v| h_opt[k[1..-1]] = tk_tcl2ruby(v)} [nick, h_opt] } end
message(msg, opts={})
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 80 def message(msg, opts={}) tk_send('message', msg, *(hash_kv(opts))) self end
names_widget()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 140 def names_widget window(tk_send('names')) end
set_topic(topic)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 46 def set_topic(topic) tk_send('topic', 'set', topic) end
show_names()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 130 def show_names tk_send('names', 'show') self end
show_topic()
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 36 def show_topic tk_send_without_enc('topic', 'show') self end
Private Instance Methods
_parse_hook_list(lst)
click to toggle source
# File lib/tkextlib/tcllib/chatwidget.rb, line 85 def _parse_hook_list(lst) tk_split_simplelist(lst).map{|hook| cmd, prior = tk_split_simplelist(hook) [procedure(cmd), number(prior)] } end