Sha256: 22260d1c9c1c0e91ffc156a4d2b72389190ef7bb82bd8594457110df4b04d9a1

Contents?: true

Size: 1.22 KB

Versions: 16

Compression:

Stored size: 1.22 KB

Contents

module Redcar
  class EditTab < Tab

    attr_reader :edit_view

    def initialize(*args)
      super
      create_edit_view
    end

    def icon
      i = DEFAULT_ICON
      doc = @edit_view.document
      if doc and doc.path
        unless doc.mirror.adapter.is_a?(Redcar::Project::Adapters::Remote)
          if File.exists?(doc.path)
            if File.writable?(doc.path)
              i = DEFAULT_ICON
            else
              i = NO_WRITE_ICON
            end
          else
            i = MISSING_ICON
          end
        end
      end
      i
    end

    def update_for_file_changes
      new_icon = icon
      if new_icon and new_icon != @icon
        @icon = new_icon
        notify_listeners(:changed_icon, @icon)
      end
    end

    def create_edit_view
      @edit_view = Redcar::EditView.new
      @edit_view.add_listener(:focussed, &method(:edit_view_focussed))
      @edit_view.document.add_listener(:changed) { notify_listeners(:changed, self) }
      @edit_view.document.add_listener(:selection_range_changed) { notify_listeners(:selection_changed) }
      @edit_view.add_listener(:title_changed) { |newt| self.title = newt }
    end

    def edit_view_focussed
      notify_listeners(:focus)
    end
  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
redcar-dev-0.12.11dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.10dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.9dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.8dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.7dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.6dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.4dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.3dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.1dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-dev-0.12.0dev-java plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-0.11 plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-0.11.0dev plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-0.10 plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-0.9.2 plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-0.9.1 plugins/edit_view/lib/edit_view/edit_tab.rb
redcar-0.9.0 plugins/edit_view/lib/edit_view/edit_tab.rb