Class: TaskJuggler::RichTextIntermediate

Inherits:
Object
  • Object
show all
Defined in:
lib/taskjuggler/RichText.rb,
lib/taskjuggler/RichText/RTFWithQuerySupport.rb

Overview

The RichTextIntermediate is a container for the intermediate representation of a RichText object. By calling the to_* members it can be converted into the respective formats. A RichTextIntermediate object is generated by RichText::generateIntermediateFormat.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(richText) ⇒ RichTextIntermediate

Returns a new instance of RichTextIntermediate.



149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
# File 'lib/taskjuggler/RichText.rb', line 149

def initialize(richText)
  # A reference to the corresponding RichText object the RTI is derived
  # from.
  @richText = richText
  # The root of the generated intermediate format. This is a
  # RichTextElement.
  @tree = nil
  # The blockMode specifies whether the RichText should be interpreted as
  # a line of text or a block (default).
  @blockMode = true
  # Set this to false to disable automatically generated section numbers.
  @sectionNumbers = true
  # Set this to the maximum width used for text output.
  @lineWidth = 80
  # The indentation used for all text output.
  @indent = 0
  # Additional indentation used for titles in text output.
  @titleIndent = 0
  # Additional indentation used for paragraph text output.
  @parIndent = 0
  # Additional indentation used for lists in text output.
  @listIndent = 1
  # Additional indentation used for <pre> sections in text output.
  @preIndent = 0
  # The target used for hypertext links.
  @linkTarget = nil
  # The CSS class used for some key HTML elements.
  @cssClass = nil
  # These are the RichTextFunctionHandler objects to handle references with
  # a function specification.
  @functionHandlers = {}
end

Instance Attribute Details

#blockModeObject

Returns the value of attribute blockMode.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def blockMode
  @blockMode
end

#cssClassObject

Returns the value of attribute cssClass.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def cssClass
  @cssClass
end

#functionHandlersObject (readonly)

Returns the value of attribute functionHandlers.



143
144
145
# File 'lib/taskjuggler/RichText.rb', line 143

def functionHandlers
  @functionHandlers
end

#indentObject

Returns the value of attribute indent.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def indent
  @indent
end

#lineWidthObject

Returns the value of attribute lineWidth.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def lineWidth
  @lineWidth
end

#linkTargetObject

Returns the value of attribute linkTarget.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def linkTarget
  @linkTarget
end

#listIndentObject

Returns the value of attribute listIndent.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def listIndent
  @listIndent
end

#parIndentObject

Returns the value of attribute parIndent.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def parIndent
  @parIndent
end

#preIndentObject

Returns the value of attribute preIndent.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def preIndent
  @preIndent
end

#richTextObject (readonly)

Returns the value of attribute richText.



143
144
145
# File 'lib/taskjuggler/RichText.rb', line 143

def richText
  @richText
end

#sectionNumbersObject

Returns the value of attribute sectionNumbers.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def sectionNumbers
  @sectionNumbers
end

#titleIndentObject

Returns the value of attribute titleIndent.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def titleIndent
  @titleIndent
end

#treeObject

Returns the value of attribute tree.



144
145
146
# File 'lib/taskjuggler/RichText.rb', line 144

def tree
  @tree
end

Instance Method Details

#empty?Boolean

Return true if the RichText has no content.

Returns:

  • (Boolean)


196
197
198
# File 'lib/taskjuggler/RichText.rb', line 196

def empty?
  @tree.empty?
end

#functionHandler(function) ⇒ Object

Return the handler for the given function or raise an exception if it does not exist.



191
192
193
# File 'lib/taskjuggler/RichText.rb', line 191

def functionHandler(function)
  @functionHandlers[function]
end

#internalReferencesObject

Return an Array with all other snippet names that are referenced by internal references in this RichTextElement.



210
211
212
# File 'lib/taskjuggler/RichText.rb', line 210

def internalReferences
  @tree.internalReferences
end

#registerFunctionHandler(functionHandler) ⇒ Object

Use this function to register new RichTextFunctionHandler objects with this class.



184
185
186
187
# File 'lib/taskjuggler/RichText.rb', line 184

def registerFunctionHandler(functionHandler)
  raise "Bad function handler" unless functionHandler
  @functionHandlers[functionHandler.function] = functionHandler.dup
end

#setQuery(query) ⇒ Object



37
38
39
40
41
42
43
# File 'lib/taskjuggler/RichText/RTFWithQuerySupport.rb', line 37

def setQuery(query)
  @functionHandlers.each_value do |handler|
    if handler.respond_to?('setQuery')
      handler.setQuery(query)
    end
  end
end

#tableOfContents(toc, fileName) ⇒ Object

Recursively extract the section headings from the RichTextElement and build the TableOfContents toc with the gathered sections. fileName is the base name (without .html or other suffix) of the file the TOCEntries should point to.



204
205
206
# File 'lib/taskjuggler/RichText.rb', line 204

def tableOfContents(toc, fileName)
  @tree.tableOfContents(toc, fileName)
end

#to_htmlObject

Convert the intermediate format into a XMLElement objects tree.



222
223
224
225
226
# File 'lib/taskjuggler/RichText.rb', line 222

def to_html
  html = @tree.to_html
  html.chomp! while html[-1] == ?\n
  html
end

#to_sObject

Convert the intermediate format into a plain text String object.



215
216
217
218
219
# File 'lib/taskjuggler/RichText.rb', line 215

def to_s
  str = @tree.to_s
  str.chomp! while str[-1] == ?\n
  str
end

#to_taggedObject

Convert the intermediate format into a tagged syntax String object.



229
230
231
# File 'lib/taskjuggler/RichText.rb', line 229

def to_tagged
  @tree.to_tagged
end