1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
|
#!/usr/bin/env ruby -w
# encoding: UTF-8
#
# = TableOfContents.rb -- The TaskJuggler III Project Management Software
#
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
# by Chris Schlaeger <cs@taskjuggler.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of version 2 of the GNU General Public License as
# published by the Free Software Foundation.
#
require 'taskjuggler/XMLElement'
require 'taskjuggler/RichText/TOCEntry'
class TaskJuggler
# This class can be used to store a table of contents. It's just an Array of
# TOCEntry objects. Each TOCEntry objects represents the title of a section.
class TableOfContents
# Create an empty TableOfContents object.
def initialize
@entries = []
end
# This method must be used to add new TOCEntry objects to the
# TableOfContents. _entry_ must be a TOCEntry object reference.
def addEntry(entry)
@entries << entry
end
def each
@entries.each { |e| yield e }
end
# Return HTML elements that represent the content of the TableOfContents
# object. The result is a tree of XMLElement objects.
def to_html
div = XMLElement.new('div',
'style' => 'margin-left:15%; margin-right:15%;')
div << (table = XMLElement.new('table'))
@entries.each { |e| table << e.to_html }
div
end
end
end
|