class TaskJuggler::GanttContainer
The GanttContainer represents a container task (task with sub-tasks).
Public Class Methods
new(lineHeight, xStart, xEnd, y)
click to toggle source
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.
# File lib/taskjuggler/reports/GanttContainer.rb, line 29 def initialize(lineHeight, xStart, xEnd, y) @lineHeight = lineHeight @start = xStart @end = xEnd @y = y end
Public Instance Methods
addBlockedZones(router)
click to toggle source
# File lib/taskjuggler/reports/GanttContainer.rb, line 58 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
endDepLineEnd()
click to toggle source
Return the point [ x, y ] where task end dependency lines should end at.
# File lib/taskjuggler/reports/GanttContainer.rb, line 54 def endDepLineEnd [ @end, @y + @lineHeight / 2 ] end
endDepLineStart()
click to toggle source
Return the point [ x, y ] where task end dependency lines should start from.
# File lib/taskjuggler/reports/GanttContainer.rb, line 49 def endDepLineStart [ @end + @@size, @y + @lineHeight / 2 ] end
startDepLineEnd()
click to toggle source
Return the point [ x, y ] where task start dependency lines should end at.
# File lib/taskjuggler/reports/GanttContainer.rb, line 43 def startDepLineEnd [ @start - @@size, @y + @lineHeight / 2 ] end
startDepLineStart()
click to toggle source
Return the point [ x, y ] where task start dependency lines should start from.
# File lib/taskjuggler/reports/GanttContainer.rb, line 38 def startDepLineStart [ @start, @y + @lineHeight / 2 ] end
to_html()
click to toggle source
Convert the abstact representation of the GanttContainer into HTML elements.
# File lib/taskjuggler/reports/GanttContainer.rb, line 75 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