Class: Glimmer::UI::Video::VideoObserverBrowserFunction

Inherits:
BrowserFunction
  • Object
show all
Defined in:
lib/glimmer/ui/video.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(video, observer_proc, attribute) ⇒ VideoObserverBrowserFunction

Returns a new instance of VideoObserverBrowserFunction.



169
170
171
172
173
174
# File 'lib/glimmer/ui/video.rb', line 169

def initialize(video, observer_proc, attribute)
  @observer_proc = observer_proc
  @attribute = attribute
  name = self.class.generate_name(@attribute)
  super(video.swt_widget, name)
end

Class Method Details

.attribute_max_id(attribute) ⇒ Object



195
196
197
# File 'lib/glimmer/ui/video.rb', line 195

def attribute_max_id(attribute)
  attribute_max_ids[attribute] ||= 0
end

.attribute_max_idsObject



199
200
201
# File 'lib/glimmer/ui/video.rb', line 199

def attribute_max_ids
  @attribute_max_ids ||= {}
end

.generate_attribute_id(attribute) ⇒ Object



191
192
193
# File 'lib/glimmer/ui/video.rb', line 191

def generate_attribute_id(attribute)
  attribute_max_ids[attribute] = attribute_max_id(attribute) + 1
end

.generate_name(attribute) ⇒ Object



187
188
189
# File 'lib/glimmer/ui/video.rb', line 187

def generate_name(attribute)
  "video#{attribute}#{generate_attribute_id(attribute)}"
end

Instance Method Details

#function(arguments) ⇒ Object



176
177
178
179
180
181
182
# File 'lib/glimmer/ui/video.rb', line 176

def function(arguments)
  @observer_proc.call
rescue => e
  Glimmer.logger&.error "#{e.message}\n#{e.backtrace.join("\n")}"
ensure
  nil
end