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.
368 369 370 |
# File 'lib/rcgtk/module.rb', line 368 def initialize(mod) @module = mod end |
Instance Method Details
#[](key) ⇒ GlobalVariable
Retreive a GlobalVariable object.
377 378 379 380 381 382 383 384 385 |
# File 'lib/rcgtk/module.rb', line 377 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.
391 392 393 |
# File 'lib/rcgtk/module.rb', line 391 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.
400 401 402 |
# File 'lib/rcgtk/module.rb', line 400 def delete(global) Bindings.delete_global(global) end |
#each {|fun| ... } ⇒ Enumerator
An iterator for each global variable inside this collection.
409 410 411 412 413 414 415 416 417 418 |
# File 'lib/rcgtk/module.rb', line 409 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.
421 422 423 |
# File 'lib/rcgtk/module.rb', line 421 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.
426 427 428 |
# File 'lib/rcgtk/module.rb', line 426 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.
433 434 435 |
# File 'lib/rcgtk/module.rb', line 433 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.
440 441 442 |
# File 'lib/rcgtk/module.rb', line 440 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.
447 448 449 |
# File 'lib/rcgtk/module.rb', line 447 def previous(global) if (ptr = Bindings.get_previous_global(global)).null? then nil else GlobalValue.new(ptr) end end |