Class Texy::HtmlElement
In: lib/texy/dom.rb
Parent: DomElement

This class represents one HTML element

Methods

Attributes

modifier  [RW] 
tag  [RW] 

Public Class methods

[Source]

# File lib/texy/dom.rb, line 68
        def initialize(texy)
            super
            self.modifier = Modifier.new(texy)
        end

Public Instance methods

Convert element to HTML string

[Source]

# File lib/texy/dom.rb, line 107
            def to_html
                tags = []
                generate_tags(tags)

                Html.opening_tags(tags) + generate_content.to_s + Html.closing_tags(tags)
            end

Protected Instance methods

[Source]

# File lib/texy/dom.rb, line 116
            def broadcast
                super

                # build texy.dom.elements_by_id list
                texy.dom.elements_by_id[modifier.id] = self if modifier.id

                # build texy.dom.elements_by_class list
                unless modifier.classes.empty?
                    modifier.classes.each do |klass|
                        texy.dom.elements_by_class[klass] ||= []
                        texy.dom.elements_by_class[klass] << self
                    end
                end
            end

Generate HTML element content

[Source]

# File lib/texy/dom.rb, line 101
            def generate_content
            end

Generate HTML element tags

[Source]

# File lib/texy/dom.rb, line 77
            def generate_tags(tags)
                if tag
                    attrs = modifier.attrs_of(tag)
                    attrs[:id] = modifier.id

                    if modifier.title
                        attrs[:title] = modifier.title
                    end

                    attrs[:class] = modifier.classes
                    attrs[:style] = modifier.styles


                    attrs[:style]['text-align'] = modifier.h_align.to_s if modifier.h_align
                    attrs[:style]['vertical-align'] = modifier.v_align.to_s if modifier.v_align

                    # (rane) give the caller a chance to modify the attributes
                    attrs = yield attrs if block_given?

                    tags << [tag, attrs]
                end
            end

[Validate]