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.



158
159
160
161
162
163
# File 'lib/glimmer/ui/video.rb', line 158

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



184
185
186
# File 'lib/glimmer/ui/video.rb', line 184

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

.attribute_max_idsObject



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

def attribute_max_ids
  @attribute_max_ids ||= {}
end

.generate_attribute_id(attribute) ⇒ Object



180
181
182
# File 'lib/glimmer/ui/video.rb', line 180

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

.generate_name(attribute) ⇒ Object



176
177
178
# File 'lib/glimmer/ui/video.rb', line 176

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

Instance Method Details

#function(arguments) ⇒ Object



165
166
167
168
169
170
171
# File 'lib/glimmer/ui/video.rb', line 165

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