Sha256: 09a88861d8b1e92e25ec9d4bf0fdf043690cfdb9274239ab394198649f2f5544

Contents?: true

Size: 1.33 KB

Versions: 2

Compression:

Stored size: 1.33 KB

Contents

#!/usr/bin/env ruby -w
# encoding: UTF-8
#
# = TableOfContents.rb -- The TaskJuggler III Project Management Software
#
# Copyright (c) 2006, 2007, 2008, 2009, 2010, 2011
#               by Chris Schlaeger <chris@linux.com>
#
# 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 'XMLElement'
require '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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
taskjuggler-0.0.10 lib/TableOfContents.rb
taskjuggler-0.0.9 lib/TableOfContents.rb