Sha256: 513743e34da96d4b3012541767305ecb0e9568c702a7b3c83f0a3adca503bce7

Contents?: true

Size: 1018 Bytes

Versions: 6

Compression:

Stored size: 1018 Bytes

Contents

# frozen_string_literal: true

module Vedeu

  module DSL

    # Provides DSL methods for Vedeu::Cursors::Cursor objects.
    #
    # @api public
    #
    module Cursors

      # Set the cursor visibility on an interface.
      #
      # @param value [Boolean] Any value other than nil or false will
      #   evaluate to true.
      # @return [Vedeu::Cursors::Cursor]
      def cursor(value = true)
        boolean = value ? true : false

        model.cursor_visible = boolean

        Vedeu::Cursors::Cursor.store(name: name, visible: boolean)
      end

      # Set the cursor to visible for the interface or view.
      #
      # @return [Vedeu::Cursors::Cursor]
      def cursor!
        cursor(true)
      end
      alias_method :show_cursor!, :cursor!

      # Set the cursor to invisible for the interface or view.
      #
      # @return [Vedeu::Cursors::Cursor]
      def no_cursor!
        cursor(false)
      end
      alias_method :hide_cursor!, :no_cursor!

    end # Cursors

  end # DSL

end # Vedeu

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
vedeu-0.8.6 lib/vedeu/dsl/cursors.rb
vedeu-0.8.5 lib/vedeu/dsl/cursors.rb
vedeu-0.8.4 lib/vedeu/dsl/cursors.rb
vedeu-0.8.3 lib/vedeu/dsl/cursors.rb
vedeu-0.8.2 lib/vedeu/dsl/cursors.rb
vedeu-0.8.1 lib/vedeu/dsl/cursors.rb