Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > tk/variableライブラリ > TkVarAccessクラス

class TkVarAccess + TkVariable + Tk + TkCore + TkComm + TkUtil + TkEvent

クラスの継承リスト: TkVarAccess < TkVariable < Tk < TkCore < TkComm < TkUtil < TkEvent < Comparable < Object < Kernel < BasicObject

要約

Tclライブラリなどで既に定義されている変数にアクセスするためのクラスで す。((-Tclのスコープを意識して利用しないとうまくアクセスできないと思わ れる。また、現状Tclの配列にはアクセスすることはできない-))

require 'tk'
p TkCore::INTERP._eval("set tclvar 1")  # => 1
var = TkVarAccess.new("tclvar", 2)
p TkCore::INTERP._eval("set tclvar")    # => 2
var.value = 3
p TkCore::INTERP._eval("set tclvar")    # => 3

特異メソッド

_at(x, y = nil)

[TODO]

_callback_entry?(obj)

[TODO]

_callback_entry_class?(klass)

[TODO]

_conv_args(*args)

[TODO]

_curr_cmd_id

[TODO]

_fromUTF8(str, encoding = nil)

[TODO]

_genobj_for_tkwidget(path)

[TODO]

_get_eval_enc_str(obj)

[TODO]

_get_eval_string(*args)

[TODO]

_next_cmd_id

[TODO]

_symbolkey2str(keys)

[TODO]

_toUTF8(str, encoding = nil)

[TODO]

add_kinsoku(chars, mode = 'both')

[TODO]

array2tk_list(ary, enc = nil)

[TODO]

bell(nice = false)

[TODO]

bell_on_display(win, nice = false)

[TODO]

bool(value)

[TODO]

callback(args)

[TODO]

TkVariable#traceにより登録されたProcオブジェクトを実行します。 args は、 [TkVariableのインスタンス, "キー", "操作"] である配列です。

callback(*arg)

[TODO]

callback(*args)

[TODO]

const_missing(sym)

[TODO]

current_grabs(win = nil)

[TODO]

delete_kinsoku(chars, mode = 'both')

[TODO]

destroy(*wins)

[TODO]

errorCode

[TODO]

errorInfo

[TODO]

eval_cmd(*args)

[TODO]

exit

[TODO]

focus(display = nil)

[TODO]

focus_lastfor(win)

[TODO]

focus_next(win)

[TODO]

focus_prev(win)

[TODO]

focus_to(win, force = false)

[TODO]

fromUTF8(str, encoding = nil)

[TODO]

grid(*args)

[TODO]

grid_forget(*args)

[TODO]

has_mainwindow?

[TODO]

hash_kv(*args)

[TODO]

image_obj(val)

[TODO]

install_cmd(cmd)

[TODO]

install_cmd(*args)

[TODO]

list(val, depth = 0, enc = true)

[TODO]

load_tcllibrary(file, pkg_name = Tk::None, interp = Tk::None)

[TODO]

load_tclscript(file, enc = nil)

[TODO]

lower_window(win, below = Tk::None)

[TODO]

new(name, *args)

[TODO]

Tcl変数 varname と生成したインスタンスを関連付けます。 val を指定すると値の設定も行います。

new(val="")

[TODO]

値がvalであるTkVariableオブジェクトを生成します。valが Array または Hash のオブジェクトである場合、生成されたインス タンスは Tclの配列として振る舞います。

new_hash(name, *args)

[TODO]

new_hash(val = {})

[TODO]

num_or_str(value)

[TODO]

number(value)

[TODO]

pack(*args)

[TODO]

pack_forget(*args)

[TODO]

pkgconfig_get(mod, key)

[TODO]

pkgconfig_list(mod)

[TODO]

place(*args)

[TODO]

place_forget(*args)

[TODO]

procedure(val)

[TODO]

raise_window(win, above = Tk::None)

[TODO]

show_kinsoku(mode = 'both')

[TODO]

simplelist(val, src_enc = true, dst_enc = true)

[TODO]

strictMotif(mode = Tk::None)

[TODO]

string(value)

[TODO]

subst_tk_backslash(str)

[TODO]

subst_utf_backslash(str)

[TODO]

tcl_pkgconfig_get

[TODO]

tcl_pkgconfig_list(key)

[TODO]

thread_update(idle = nil)

[TODO]

thread_update_idletasks

[TODO]

tk_pkgconfig_get(key)

[TODO]

tk_pkgconfig_list

[TODO]

tk_tcl2ruby(val, enc_mode = false, listobj = true)

[TODO]

toUTF8(str, encoding = nil)

[TODO]

to_backslash_sequence(str)

[TODO]

ungrid(*args)

[TODO]

uninstall_cmd(id)

[TODO]

uninstall_cmd(cmd_id)

[TODO]

unload_tcllibrary(*args)

[TODO]

unpack(*args)

[TODO]

unplace(*args)

[TODO]

update(idle = nil)

[TODO]

update_idletasks

[TODO]

utf_to_backslash(str)

[TODO]

utf_to_backslash_sequence(str)

[TODO]

window(val)

[TODO]

インスタンスメソッド

self % other

[TODO]

self & other

[TODO]

self * other

[TODO]

self ** other

[TODO]

self + other

[TODO]

self - other

[TODO]

self / other

[TODO]

self <=> other

[TODO]

self == other

[TODO]

値がotherと同じである場合に真です。otherは、 TkVariable, String, Integer, Float, Arrayのいずれかです。

self =~ other

[TODO]

self[index]

[TODO]

index番目の値を返します。 selfはTclの配列でなければなりません。

self[index] = val

[TODO]

index番目の要素をvalにします。 selfはTclの配列でなければなりません。

_conv_args(*args)

[TODO]

_fromUTF8(*args)

[TODO]

_get_eval_enc_str(obj)

[TODO]

_get_eval_string(*args)

[TODO]

_symbolkey2str(keys)

[TODO]

_tk_call_to_list_core(depth, arg_enc, val_enc, *args)

[TODO]

_toUTF8(*args)

[TODO]

after(ms, cmd = Proc.new)

[TODO]

after_cancel(after_id)

[TODO]

after_idle(cmd = Proc.new)

[TODO]

appname(name = Tk::None)

[TODO]

appsend(interp, async, *args)

[TODO]

appsend_deny

[TODO]

appsend_displayof(interp, win, async, *args)

[TODO]

bind(tag_or_class, context, *args)

[TODO]

bind_all(context, *args)

[TODO]

bind_append(tag_or_class, context, *args)

[TODO]

bind_append_all(context, *args)

[TODO]

bind_remove(tag_or_class, context)

[TODO]

bind_remove_all(context)

[TODO]

bindinfo(tag_or_class, context = nil)

[TODO]

bindinfo_all(context = nil)

[TODO]

bool

[TODO]

bool(value)

[TODO]

bool=
set_bool

[TODO]

bool_element

[TODO]

bool_type=
set_bool_type(val)

[TODO]

callback_break

[TODO]

callback_continue

[TODO]

callback_return

[TODO]

chooseColor(keys = nil)

[TODO]

chooseDirectory(keys = nil)

[TODO]

clear

[TODO]

coerce(other)

[TODO]

default_element_value_type(idxs)

[TODO]

default_proc(cmd = Proc.new)

[TODO]

default_value(val = nil)
default_value(val = nil) { .... }

[TODO]

default_value=

[TODO]

default_value_type

[TODO]

default_value_type=
set_default_value_type(type)

[TODO]

do_one_event(flag = TclTkLib::EventFlag::ALL)

[TODO]

element_lappend(idxs, *elems)

[TODO]

element_lindex(elem_idxs, idx)
element_lget(elem_idxs, idx)

[TODO]

element_lget_f(elem_idxs, idx)

[TODO]

element_lget_i(elem_idxs, idx)

[TODO]

element_lset(elem_idxs, idx, val)

[TODO]

list_element(*idxs)
element_to_a(*idxs)

[TODO]

element_to_f(*idxs)

[TODO]

element_to_i(*idxs)

[TODO]

element_to_s(*idxs)
string_element(*idxs)

[TODO]

element_to_sym(*idxs)

[TODO]

event_generate(win, context, keys = nil)

[TODO]

eventloop_tkwait

[TODO]

eventloop_wait(check_root = false)

[TODO]

exist?(*elems)

[TODO]

getMultipleOpenFile(keys = nil)

[TODO]

getMultipleSaveFile(keys = nil)

[TODO]

getOpenFile(keys = nil)

[TODO]

getSaveFile(keys = nil)

[TODO]

get_eventloop_tick

[TODO]

get_eventloop_weight

[TODO]

get_no_event_wait

[TODO]

hash_kv(*args)

[TODO]

id

[TODO]

inactive

[TODO]

inactive_displayof(win)

[TODO]

info(*args)

[TODO]

install_bind(cmd, *args)

[TODO]

install_bind_for_event_class(klass, cmd, *args)

[TODO]

ip_eval(cmd_string)

[TODO]

ip_eval_with_enc(cmd_string)

[TODO]

ip_eval_without_enc(cmd_string)

[TODO]

ip_invoke(*args)

[TODO]

ip_invoke_with_enc(*args)

[TODO]

ip_invoke_without_enc(*args)

[TODO]

is_hash?

[TODO]

is_mainloop?

[TODO]

is_scalar?

[TODO]

keys

[TODO]

lappend(*elems)

[TODO]

lindex(idx)
lget(idx)

[TODO]

lget_f(idx)

[TODO]

lget_i(idx)

[TODO]

list

[TODO]

list=

[TODO]

list_type=
set_list_type(val)

[TODO]

load_cmd_on_ip(tk_cmd)

[TODO]

lset(idx, val)

[TODO]

mainloop(check_root = true)

[TODO]

mainloop_exist?

[TODO]

mainloop_thread?

[TODO]

mainloop_watchdog(check_root = true)

[TODO]

messageBox(keys)

[TODO]

nonzero?

[TODO]

num_or_str(value)

[TODO]

number(value)

[TODO]

numeric

[TODO]

numeric=

[TODO]

numeric_element(*idxs)

[TODO]

set_numeric_type(val)
numeric_type=

[TODO]

numlist

[TODO]

set_numlist(val)
numlist=

[TODO]

numlist_element(*idxs)

[TODO]

set_numlist_type(val)
numlist_type=

[TODO]

procedure

[TODO]

set_procedure(cmd)
procedure=

[TODO]

procedure_element(*idxs)

[TODO]

procedure_type=
set_procedure_type(cmd)

[TODO]

rb_appsend(interp, async, *args)

[TODO]

rb_appsend_displayof(interp, win, async, *args)

[TODO]

ref(*idxs)

[TODO]

unset(elem=nil)
remove(elem=nil)

[TODO]

値がTcl配列であるとき、elemの値を削除します。

reset_inactive

[TODO]

reset_inactive_displayof(win)

[TODO]

restart(app_name = nil, keys = {})

[TODO]

root

[TODO]

scaling(scale = nil)

[TODO]

scaling_displayof(win, scale=nil)

[TODO]

set_bool_element

[TODO]

set_bool_element_type(idxs, val)

[TODO]

set_default_element_value_type(idxs, type)

[TODO]

set_default_value(val)

[TODO]

set_element_value(idxs, val)

[TODO]

set_element_value_type(idxs, val)

[TODO]

set_eventloop_ticktimer_tick

[TODO]

set_eventloop_weight(loop_max, no_event_tick)

[TODO]

set_list(val)

[TODO]

set_list_element(idxs, val)
set_numlist_element(idxs, val)

[TODO]

set_list_element_type(idxs, val)

[TODO]

set_no_event_wait(wait)

[TODO]

set_numeric(val)

[TODO]

set_numeric_element(idxs, val)

[TODO]

set_numeric_element_type(idxs, val)

[TODO]

set_numlist_element_type(idxs, val)

[TODO]

set_procedure_element(idxs, cmd)

[TODO]

set_procedure_element_type(idxs, cmd)

[TODO]

string=
set_string(val)

[TODO]

set_string_element(idxs, val)

[TODO]

set_string_element_type(idxs, val)

[TODO]

string_type=
set_string_type(val)

[TODO]

symbol=
set_symbol(val)

[TODO]

set_symbol_element(idxs, val)

[TODO]

set_symbol_element_type(idxs, val)

[TODO]

symbol_type=
set_symbol_type(val)

[TODO]

set_value(val)

[TODO]

値を val に設定し、self を返します。

set_value_type(val)
value_type=

[TODO]

set_variable(var)
variable=

[TODO]

set_variable_element(*idxs)

[TODO]

set_variable_element_type(idxs, var)

[TODO]

set_variable_type(var)
variable_type=

[TODO]

set_window(win)
window=

[TODO]

set_window_element(idxs, win)

[TODO]

set_window_element_type(idxs, win)

[TODO]

set_window_type(win)
window_type=

[TODO]

size

[TODO]

string

[TODO]

string(value)

[TODO]

subst

[TODO]

symbol
to_sym

[TODO]

symbol_element

[TODO]

thread_tkwait

[TODO]

thread_wait(check_root = false)

[TODO]

tk_call(*args)

[TODO]

tk_call_to_list(*args)

[TODO]

tk_call_to_list_with_enc(*args)

[TODO]

tk_call_to_list_without_enc(*args)

[TODO]

tk_call_to_simplelist(*args)

[TODO]

tk_call_to_simplelist_with_enc(*args)

[TODO]

tk_call_to_simplelist_without_enc(*args)

[TODO]

tk_call_with_enc(*args)

[TODO]

tk_call_without_enc(*args)

[TODO]

tkwait(on_thread = true)

[TODO]

to_a

[TODO]

値を配列(Array)として返します。

to_eval

[TODO]

to_f

[TODO]

値を数値(Float)として返します。

to_i

[TODO]

値を数値(Fixnum)として返します。(現状のTkVariableは、 Bignumを値にすることはできません)

to_s

[TODO]

値を文字列(String)として返します。

trace(opts, cmd)

[TODO]

optsは、"r", "w", "u" のいずれか、またはこれらの組み合わせで、それぞれ 変数が参照、設定、削除 されたときにProcオブジェクト cmd を 呼び出します。2回目以降の呼び出しでは、opts が以前の設定と異なれ ばcmdを再設定します。

cmdは、引数に、self、空配列、"操作" を渡されて呼ばれ ます。"配列のキー" は、変数が配列の場合以外は空文字列です。"操作"は、 "r","w","u" のいずれかです。

require "tk"

var = TkVariable.new(0)

var.trace "rwu", proc {|arg| puts "callback called with #{arg.inspect}"}

p var.value
p var.value = 1
p var.unset

=>callback called with [<TkVariable: v00000>, [], "r"]
  "0"
  callback called with [<TkVariable: v00000>, [], "w"]
  "1"
  callback called with [<TkVariable: v00000>, [], "u"]
  ""
trace_callback(elem, op)

[TODO]

TkVariable#traceにより登録されたProcオブジェクトを引数にself, elem, opを指定して実行します。

require "tk"

var = TkVariable.new(0)

var.trace "rwu", proc {|arg| puts "callback called with #{arg.inspect}"}
var.trace_callback([], "r")
trace_element(elem, opts, cmd)

[TODO]

trace_vdelete(opts, cmd)

[TODO]

TkVariable#trace で設定したcmdを削除します。opts が TkVariable#trace で 設定したときと一致しなければ何もしません。

trace_vdelete_for_element(elem, opts, cmd)

[TODO]

trace_vinfo

[TODO]

undef_default

[TODO]

update(hash)

[TODO]

update(idle = nil)

[TODO]

only for backward compatibility (This never be recommended to use)

value

[TODO]

値を返します。selfがTclの配列ならば(Tclの配列は連想配列な ので) Hashとして返します。それ以外では常に文字列を返します。

value=(val)

[TODO]

値をvalに設定します。

variable

[TODO]

variable_element(*idxs)

[TODO]

wait

[TODO]

値が変化するまで待ちます。

window

[TODO]

window_element(*idxs)

[TODO]

windowingsystem

[TODO]

zero?

[TODO]

self | other

[TODO]

定数

AUTO_PATH

[TODO]

EventFlag

[TODO]

GET_CONFIGINFO_AS_ARRAY

[TODO]

GET_CONFIGINFOwoRES_AS_ARRAY

[TODO]

INTERP [redefined by multi-tk]

[TODO]

INTERP

[TODO]

JAPANIZED_TK

[TODO]

LIBRARY_PATH

[TODO]

None

[TODO]

PACKAGE_PATH

[TODO]

RELEASE_DATE

[TODO]

TCL_LIBRARY_PATH

[TODO]

TCL_MAJOR_VERSION

[TODO]

TCL_MINOR_VERSION

[TODO]

TCL_PACKAGE_PATH

[TODO]

TCL_PATCHLEVEL

[TODO]

TCL_PRECISION

[TODO]

TCL_VERSION

[TODO]

TK_MAJOR_VERSION

[TODO]

TK_MINOR_VERSION

[TODO]

TK_PATCHLEVEL

[TODO]

TK_VERSION

[TODO]

TkCommandNames

[TODO]

TkExtlibAutoloadModule

[TODO]

TkVar_CB_TBL

[TODO]

コールバック関数を記録するハッシュです。内部で利用しています。

TkVar_ID_TBL

[TODO]

Tk_CMDTBL

[TODO]

Tk_IDs

[TODO]

Tk_VARIABLE_ID

[TODO]

Tclレベルの変数名をインスタンスに割り当てるために内部で利用されています。

Tk_VARIABLE_IDは、配列ですが0番目の要素しか使われていません。 Rubyにおける定数が値を変更できないためです。

Tk_WINDOWS

[TODO]

Tkextlib_RELEASE_DATE

[TODO]

USE_TCLs_LIST_FUNCTIONS

[TODO]

USE_TCLs_SET_VARIABLE_FUNCTIONS

[TODO]

WIDGET_DESTROY_HOOK

[TODO]

WidgetClassNames

[TODO]

class TkVarAccess