Class: RCGTK::Module::GlobalCollection
- Inherits:
-
Object
- Object
- RCGTK::Module::GlobalCollection
- Includes:
- Enumerable
- Defined in:
- lib/rcgtk/module.rb
Overview
This class is used to access a module’s global variables.
Instance Method Summary collapse
-
#[](key) ⇒ GlobalVariable
Retreive a GlobalVariable object.
-
#add(type, name) ⇒ Object
Add a global variable to a module.
-
#delete(global) ⇒ void
Remove a global variable from the module.
-
#each {|fun| ... } ⇒ Enumerator
An iterator for each global variable inside this collection.
-
#first ⇒ GlobalVariable?
The module’s first global variable if one has been added.
-
#initialize(mod) ⇒ GlobalCollection
constructor
A new instance of GlobalCollection.
-
#last ⇒ GlobalVariable?
The module’s last global variable if one has been added.
-
#named(name) ⇒ GlobalVariable?
The global variable with the given name.
-
#next(global) ⇒ GlobalVariable?
Next global variable in the collection.
-
#previous(global) ⇒ GlobalVariable?
Previous global variable in the collection.
Constructor Details
#initialize(mod) ⇒ GlobalCollection
Returns a new instance of GlobalCollection.
369 370 371 |
# File 'lib/rcgtk/module.rb', line 369 def initialize(mod) @module = mod end |
Instance Method Details
#[](key) ⇒ GlobalVariable
Retreive a GlobalVariable object.
378 379 380 381 382 383 384 385 386 |
# File 'lib/rcgtk/module.rb', line 378 def [](key) case key when String, Symbol self.named(key) when Integer (1...key).inject(self.first) { |global| if global then self.next(global) else break end } end end |
#add(type, name) ⇒ Object
Add a global variable to a module.
392 393 394 |
# File 'lib/rcgtk/module.rb', line 392 def add(type, name) GlobalVariable.new(Bindings.add_global(@module, type, name)) end |
#delete(global) ⇒ void
This method returns an undefined value.
Remove a global variable from the module.
401 402 403 |
# File 'lib/rcgtk/module.rb', line 401 def delete(global) Bindings.delete_global(global) end |
#each {|fun| ... } ⇒ Enumerator
An iterator for each global variable inside this collection.
410 411 412 413 414 415 416 417 418 419 |
# File 'lib/rcgtk/module.rb', line 410 def each return to_enum(:each) unless block_given? global = self.first while global yield global global = self.next(global) end end |
#first ⇒ GlobalVariable?
Returns The module’s first global variable if one has been added.
422 423 424 |
# File 'lib/rcgtk/module.rb', line 422 def first if (ptr = Bindings.get_first_global(@module)).null? then nil else GlobalValue.new(ptr) end end |
#last ⇒ GlobalVariable?
Returns The module’s last global variable if one has been added.
427 428 429 |
# File 'lib/rcgtk/module.rb', line 427 def last if (ptr = Bindings.get_last_global(@module)).null? then nil else GlobalValue.new(ptr) end end |
#named(name) ⇒ GlobalVariable?
Returns The global variable with the given name.
434 435 436 |
# File 'lib/rcgtk/module.rb', line 434 def named(name) if (ptr = Bindings.get_named_global(@module, name)).null? then nil else GlobalValue.new(ptr) end end |
#next(global) ⇒ GlobalVariable?
Returns Next global variable in the collection.
441 442 443 |
# File 'lib/rcgtk/module.rb', line 441 def next(global) if (ptr = Bindings.get_next_global(global)).null? then nil else GlobalValue.new(ptr) end end |
#previous(global) ⇒ GlobalVariable?
Returns Previous global variable in the collection.
448 449 450 |
# File 'lib/rcgtk/module.rb', line 448 def previous(global) if (ptr = Bindings.get_previous_global(global)).null? then nil else GlobalValue.new(ptr) end end |