class TaskJuggler::GanttContainer
The GanttContainer
represents a container task (task with sub-tasks).
Public Class Methods
Source
# File lib/taskjuggler/reports/GanttContainer.rb, line 30 def initialize(lineHeight, xStart, xEnd, y) @lineHeight = lineHeight @start = xStart @end = xEnd @y = y end
Create a GanttContainer
object based on the following information: line is a reference to the GanttLine
. xStart is the left edge of the task in chart coordinates. xEnd is the right edge. The container extends over the edges due to the shape of the jags.
Public Instance Methods
Source
# File lib/taskjuggler/reports/GanttContainer.rb, line 59 def addBlockedZones(router) # Horizontal block router.addZone(@start - @@size, @y + (@lineHeight / 2) - @@size - 2, @end - @start + 1 + 2 * @@size, 2 * @@size + 5, true, false) # Block for arrowhead. router.addZone(@start - @@size - 9, @y + (@lineHeight / 2) - 7, 10, 15, true, true) # Vertical block for end cap router.addZone(@start - @@size - 2, @y, 2 * @@size + 5, @lineHeight, false, true) router.addZone(@end - @@size - 2, @y, 2 * @@size + 5, @lineHeight, false, true) end
Source
# File lib/taskjuggler/reports/GanttContainer.rb, line 55 def endDepLineEnd [ @end, @y + @lineHeight / 2 ] end
Return the point [ x, y ] where task end dependency lines should end at.
Source
# File lib/taskjuggler/reports/GanttContainer.rb, line 50 def endDepLineStart [ @end + @@size, @y + @lineHeight / 2 ] end
Return the point [ x, y ] where task end dependency lines should start from.
Source
# File lib/taskjuggler/reports/GanttContainer.rb, line 44 def startDepLineEnd [ @start - @@size, @y + @lineHeight / 2 ] end
Return the point [ x, y ] where task start dependency lines should end at.
Source
# File lib/taskjuggler/reports/GanttContainer.rb, line 39 def startDepLineStart [ @start, @y + @lineHeight / 2 ] end
Return the point [ x, y ] where task start dependency lines should start from.
Source
# File lib/taskjuggler/reports/GanttContainer.rb, line 76 def to_html xStart = @start.to_i yCenter = (@lineHeight / 2).to_i width = @end.to_i - @start.to_i + 1 html = [] # Invisible trigger frame for tooltips. html << rectToHTML(xStart - @@size, 0, width + 2 * @@size, @lineHeight, 'tj_gantt_frame') # The bar html << rectToHTML(xStart - @@size, yCenter - @@size, width + 2 * @@size, @@size, 'containerbar') # The left jag html << jagToHTML(xStart, yCenter) # The right jag html << jagToHTML(xStart + width, yCenter) html end
Convert the abstact representation of the GanttContainer
into HTML elements.