Class: Tk::BLT::Vector

Inherits:
TkVariable show all
Defined in:
lib/tkextlib/blt/vector.rb

Constant Summary collapse

TkCommandNames =
['::blt::vector'.freeze].freeze

Constants inherited from TkVariable

TkVariable::TkVar_CB_TBL, TkVariable::TkVar_ID_TBL, TkVariable::Tk_VARIABLE_ID, TkVariable::USE_TCLs_SET_VARIABLE_FUNCTIONS

Constants included from TkCore

TkCore::EventFlag, TkCore::INTERP, TkCore::WIDGET_DESTROY_HOOK

Constants included from TkComm

TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames

Constants included from TkUtil

TkUtil::None, TkUtil::RELEASE_DATE

Constants included from Tk

AUTO_PATH, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, TCL_LIBRARY_PATH, TCL_MAJOR_VERSION, TCL_MINOR_VERSION, TCL_PACKAGE_PATH, TCL_PATCHLEVEL, TCL_PRECISION, TCL_VERSION, TK_MAJOR_VERSION, TK_MINOR_VERSION, TK_PATCHLEVEL, TK_VERSION, Tkextlib_RELEASE_DATE, TreeCtrl_Widget, X_Scrollable, Y_Scrollable

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from TkVariable

#%, #&, #**, #<=>, #==, #=~, #_trace_vinfo_for_element, #bool, #bool_element, callback, #coerce, #default_element_value_type, #default_proc, #default_value, #default_value_type, #element_lappend, #element_lget_f, #element_lget_i, #element_lindex, #element_lset, #element_to_f, #element_to_i, #element_to_s, #element_to_sym, #eventloop_tkwait, #eventloop_wait, #exist?, #id, #is_hash?, #is_scalar?, #keys, #lappend, #lget_f, #lget_i, #lindex, #list, #list_element, #lset, new_hash, #nonzero?, #numeric, #numeric_element, #numlist, #numlist_element, #procedure, #procedure_element, #ref, #set_bool, #set_bool_element, #set_bool_element_type, #set_bool_type, #set_default_element_value_type, #set_default_value, #set_default_value_type, #set_element_value, #set_element_value_type, #set_list, #set_list_element, #set_list_element_type, #set_list_type, #set_numeric, #set_numeric_element, #set_numeric_element_type, #set_numeric_type, #set_numlist_element_type, #set_numlist_type, #set_procedure, #set_procedure_element, #set_procedure_element_type, #set_procedure_type, #set_string, #set_string_element, #set_string_element_type, #set_string_type, #set_symbol, #set_symbol_element, #set_symbol_element_type, #set_symbol_type, #set_value, #set_value_type, #set_variable, #set_variable_element, #set_variable_element_type, #set_variable_type, #set_window, #set_window_element, #set_window_element_type, #set_window_type, #size, #string_element, #thread_tkwait, #thread_wait, #tkwait, #to_eval, #to_f, #to_i, #to_sym, #trace, #trace_callback, #trace_element, #trace_vdelete, #trace_vdelete_for_element, #trace_vinfo, #undef_default, #unset, #update, #value, #value=, #variable_element, #wait, #window, #window_element, #zero?, #|

Methods included from TkCore

#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem

Methods included from TkComm

#_at, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, #image_obj, #install_cmd, #subst, #uninstall_cmd

Methods included from TkEvent

#install_bind, #install_bind_for_event_class

Methods included from TkUtil

_conv_args, #_conv_args, #_fromUTF8, _get_eval_enc_str, #_get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, bool, #bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd

Methods included from Tk

BinaryString, EncodedString, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, delete_kinsoku, #encoding, #encoding=, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, #root, show_kinsoku, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence

Methods included from Encoding

#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=

Constructor Details

#initialize(size = nil, keys = {}) ⇒ Vector

Returns a new instance of Vector.



39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/tkextlib/blt/vector.rb', line 39

def initialize(size=nil, keys={})
  if size.kind_of?(Hash)
    keys = size
    size = nil
  end
  if size.kind_of?(Array)
    # [first, last]
    size = size.join(':')
  end
  if size
    @id = TkCore::INTERP._invoke('::blt::vector', 'create', 
                                 "#auto(#{size})", *hash_kv(keys))
  else
    @id = TkCore::INTERP._invoke('::blt::vector', 'create', 
                                 "#auto", *hash_kv(keys))
  end

  TkVar_ID_TBL[@id] = self

  @def_default = false
  @default_val = nil

  @trace_var  = nil
  @trace_elem = nil
  @trace_opts = nil

  # teach Tk-ip that @id is global var
  TkCore::INTERP._invoke_without_enc('global', @id)
end

Class Method Details

.create(*args) ⇒ Object



13
14
15
# File 'lib/tkextlib/blt/vector.rb', line 13

def self.create(*args)
  tk_call('::blt::vector', 'create', *args)
end

.destroy(*args) ⇒ Object



17
18
19
# File 'lib/tkextlib/blt/vector.rb', line 17

def self.destroy(*args)
  tk_call('::blt::vector', 'destroy', *args)
end

.expr(expression) ⇒ Object



21
22
23
# File 'lib/tkextlib/blt/vector.rb', line 21

def self.expr(expression)
  tk_call('::blt::vector', 'expr', expression)
end

.names(pat = None) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
# File 'lib/tkextlib/blt/vector.rb', line 25

def self.names(pat=None)
  simplelist(tk_call('::blt::vector', 'names', pat)).collect{|name|
    if TkVar_ID_TBL[name]
      TkVar_ID_TBL[name]
    elsif name[0..1] == '::' && TkVar_ID_TBL[name[2..-1]]
      TkVar_ID_TBL[name[2..-1]]
    else
      name
    end
  }
end

Instance Method Details

#*(item) ⇒ Object



81
82
83
# File 'lib/tkextlib/blt/vector.rb', line 81

def *(item)
  list(tk_call(@id, '*', item))
end

#+(item) ⇒ Object



85
86
87
# File 'lib/tkextlib/blt/vector.rb', line 85

def +(item)
  list(tk_call(@id, '+', item))
end

#-(item) ⇒ Object



89
90
91
# File 'lib/tkextlib/blt/vector.rb', line 89

def -(item)
  list(tk_call(@id, '-', item))
end

#/(item) ⇒ Object



93
94
95
# File 'lib/tkextlib/blt/vector.rb', line 93

def /(item)
  list(tk_call(@id, '/', item))
end

#[](idx) ⇒ Object



135
136
137
# File 'lib/tkextlib/blt/vector.rb', line 135

def [](idx)
  index(idx)
end

#[]=(idx, val) ⇒ Object



139
140
141
# File 'lib/tkextlib/blt/vector.rb', line 139

def []=(idx, val)
  index(idx, val)
end

#append(*vectors) ⇒ Object



97
98
99
# File 'lib/tkextlib/blt/vector.rb', line 97

def append(*vectors)
  tk_call(@id, 'append', *vectors)
end

#binread(channel, len = None, keys = {}) ⇒ Object



101
102
103
104
105
106
107
108
109
# File 'lib/tkextlib/blt/vector.rb', line 101

def binread(channel, len=None, keys={})
  if len.kind_of?(Hash)
    keys = len
    len = None
  end
  keys = _symbolkey2str(keys)
  keys['swap'] = None if keys.delete('swap')
  tk_call(@id, 'binread', channel, len, keys)
end

#clearObject



111
112
113
114
# File 'lib/tkextlib/blt/vector.rb', line 111

def clear()
  tk_call(@id, 'clear')
  self
end

#delete(*indices) ⇒ Object



116
117
118
119
# File 'lib/tkextlib/blt/vector.rb', line 116

def delete(*indices)
  tk_call(@id, 'delete', *indices)
  self
end

#destroyObject



69
70
71
# File 'lib/tkextlib/blt/vector.rb', line 69

def destroy
  tk_call('::blt::vector', 'destroy', @id)
end

#dup_vector(vec) ⇒ Object



121
122
123
124
# File 'lib/tkextlib/blt/vector.rb', line 121

def dup_vector(vec)
  tk_call(@id, 'dup', vec)
  self
end

#expr(expression) ⇒ Object



126
127
128
129
# File 'lib/tkextlib/blt/vector.rb', line 126

def expr(expression)
  tk_call(@id, 'expr', expression)
  self
end

#index(idx, val = None) ⇒ Object



131
132
133
# File 'lib/tkextlib/blt/vector.rb', line 131

def index(idx, val=None)
  number(tk_call(@id, 'index', idx, val))
end

#inspectObject



73
74
75
# File 'lib/tkextlib/blt/vector.rb', line 73

def inspect
  '#<Tk::BLT::Vector: ' + @id + '>'
end

#lengthObject



143
144
145
# File 'lib/tkextlib/blt/vector.rb', line 143

def length()
  number(tk_call(@id, 'length'))
end

#length=(size) ⇒ Object



147
148
149
# File 'lib/tkextlib/blt/vector.rb', line 147

def length=(size)
  number(tk_call(@id, 'length', size))
end

#merge(*vectors) ⇒ Object



151
152
153
154
# File 'lib/tkextlib/blt/vector.rb', line 151

def merge(*vectors)
  tk_call(@id, 'merge', *vectors)
  self
end

#normalize(vec = None) ⇒ Object



156
157
158
159
# File 'lib/tkextlib/blt/vector.rb', line 156

def normalize(vec=None)
  tk_call(@id, 'normalize', vec)
  self
end

#notify(keyword) ⇒ Object



161
162
163
164
# File 'lib/tkextlib/blt/vector.rb', line 161

def notify(keyword)
  tk_call(@id, 'notify', keyword)
  self
end

#offsetObject



166
167
168
# File 'lib/tkextlib/blt/vector.rb', line 166

def offset()
  number(tk_call(@id, 'offset'))
end

#offset=(val) ⇒ Object



170
171
172
# File 'lib/tkextlib/blt/vector.rb', line 170

def offset=(val)
  number(tk_call(@id, 'offset', val))
end

#populate(vector, density = None) ⇒ Object



178
179
180
181
# File 'lib/tkextlib/blt/vector.rb', line 178

def populate(vector, density=None)
  tk_call(@id, 'populate', vector, density)
  self
end

#randomObject



174
175
176
# File 'lib/tkextlib/blt/vector.rb', line 174

def random()
  tk_call(@id, 'random')
end

#range(first, last = None) ⇒ Object



183
184
185
# File 'lib/tkextlib/blt/vector.rb', line 183

def range(first, last=None)
  list(tk_call(@id, 'range', first, last))
end

#search(val1, val2 = None) ⇒ Object



187
188
189
# File 'lib/tkextlib/blt/vector.rb', line 187

def search(val1, val2=None)
  list(tk_call(@id, 'search', val1, val2))
end

#seq(start, finish = None, step = None) ⇒ Object



196
197
198
199
# File 'lib/tkextlib/blt/vector.rb', line 196

def seq(start, finish=None, step=None)
  tk_call(@id, 'seq', start, finish, step)
  self
end

#set(item) ⇒ Object



191
192
193
194
# File 'lib/tkextlib/blt/vector.rb', line 191

def set(item)
  tk_call(@id, 'set', item)
  self
end

#sort(*vectors) ⇒ Object



201
202
203
204
# File 'lib/tkextlib/blt/vector.rb', line 201

def sort(*vectors)
  tk_call(@id, 'sort', *vectors)
  self
end

#sort_reverse(*vectors) ⇒ Object



206
207
208
209
# File 'lib/tkextlib/blt/vector.rb', line 206

def sort_reverse(*vectors)
  tk_call(@id, 'sort', '-reverse', *vectors)
  self
end

#split(*vectors) ⇒ Object



211
212
213
214
# File 'lib/tkextlib/blt/vector.rb', line 211

def split(*vectors)
  tk_call(@id, 'split', *vectors)
  self
end

#to_sObject



77
78
79
# File 'lib/tkextlib/blt/vector.rb', line 77

def to_s
  @id
end

#variable(var) ⇒ Object



216
217
218
219
# File 'lib/tkextlib/blt/vector.rb', line 216

def variable(var)
  tk_call(@id, 'variable', var)
  self
end