Sha256: f19be1875da3ffbd92880e054d2a14ed3d35a46721690dbe4c35f4eb863cf602
Contents?: true
Size: 1.53 KB
Versions: 1
Compression:
Stored size: 1.53 KB
Contents
module Vedeu # Repository for storing, retrieving and manipulating the cursor position and # visibility for an interface. # # @api private module Cursors include Common include Repository extend self # System events which when called will update the cursor visibility # accordingly for the interface in focus. Vedeu.event(:_cursor_hide_) { Cursors.hide } Vedeu.event(:_cursor_show_) { Cursors.show } # Adds an interface to the cursors repository. # # @param attributes [Hash] # @return [Hash] def add(attributes) validate_attributes!(attributes) Vedeu.log("#{action(__callee__)} cursor: '#{attributes[:name]}'") storage.store(attributes[:name], Cursor.new(attributes)) end alias_method :update, :add # Make the cursor of this interface invisible. # # @return [Cursor] def hide find_or_create(Focus.current).hide end # Make the cursor of this interface visible. # # @return [Cursor] def show find_or_create(Focus.current).show end private # @return [Class] def entity Cursor end # Returns an empty collection ready for the storing of cursors by name with # current attributes. # # @example # { 'holmium' => { # name: 'holmium', # state: :show, # x: 1, # y: 1 } } # # @return [Hash] def in_memory {} end end # Cursors end # Vedeu
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vedeu-0.2.4 | lib/vedeu/repositories/cursors.rb |