VS.Gantt()
      You can create a Gantt chart by adding an instance VS.Gantt() to
       a VS.Shape() object.
       myGantt=myShape.AddGantt();
       A Gantt chart is a special kind of table with a specific set of columns and rows that contain tasks and their appropriate start dates, end dates, and duration. A shape that contains a Gantt chart cannot contain a VS.Table() or VS.Timeline.
       Gantt charts contain tasks defined as VS.GanttTask() objects. You add tasks to a Gantt chart using:
       myTask=myGantt.AddTask(name);
       VS.GanttTask() objects have methods to set the properties of a task like its start date, duration, and dependencies.
 
       You can also specificy column widths and labels using methods.
       
       This method returns the object it adds:
       
         - AddColumnProperties() - Adds a VS.ColumnProperties() object that takes a numerical index value. Once added, you can use the standard table ColumnProperties() methods to define color, line thickness, and more.
 
         - AddGanttTask(Name) - Adds a task to the Gantt chart using the name specified.
 
       
       The following methods return the Gantt object and can be chained together to modify the appearance and properties of the Gantt chart:
       
       
       Example
       myTask=myGantt.AddGanttTask("Run Testing Plan");
       Syntax
       myEvent=myGantt.AddGanttTask(taskname);
       The valuearray is formatted in name and value pairs like this {Name:"myColumnName",Value:"myValue"} where Name is one of the standard Gantt column names and Value is the value for the task.
       Usage
       This method adds a VS.GanttTask() object to the Gantt chart. The taskname is a string that appears in the task column of the chart. It is optional.
       
       Example
       myGantt=myGantt.SetAllDaysAsWorkingDays(true);
       Syntax
       myGantt=myGantt.SetAllDaysAsWorkingDays(all);
       Usage
       The default for Gantt charts is 5 working days per week. This method overrides the default and sets all days as
        working days. When you set a duration for a task, it is measured in working days not calendar days.
        Setting AllDaysAsWorkingDays as true makes calendar days the same as working days (except for holidays).
        SetColumnTitle()
        Example
        myGantt=myGantt.SetColumnTitle(VS.GanttChartColumnNames.Task, "Deliverable");
        Syntax
        myGantt=myGantt.SetColumnTitle(ColumnName,Title);
        Usage
        This method sets the name of a Gantt column.
        By default every column of a Gantt chart has a name like Task, Start, End, and so on. This method allows you to set some of the names, but not all.
        The ColumnName is a
          value from VS.GanttChartColumnNames. The title is a string.
          You can set the names of only the columns shown in bold below.
          
            VS.GanttChartColumnNames =
            {
              Row: "Row",
              Task: "Task",
              Start: "Start",
              StartTime: "StartTime",
              Length: "Length",
              End: "End",
              EndTime: "EndTime",
              Parent: "Parent",
              Master: "Master",
              Person: "Person",
              PercentComplete: "PercentComplete",
              Department: "Department",
              Cost: "Cost",
              Custom: "Custom",
              DateGrid: "DateGrid",
            };
          
          SetColumnWidth()
          Example
          myGantt=myGantt.SetColumnWidth(VS.GanttChartColumnNames.Task, 500);
          Syntax
          myGantt=myGantt.SetColumnTitle(ColumnName,Width);
          Usage
          This method overrides the default width of a Gantt column. The ColumnName
            should be a value from VS.GanttChartColumnNames like "Start" or "Department". The width is set in 1/100". 
            
            Example
            myGantt=myGantt.SetHolidays(VS.GanttChartHolidays.USA);
            Syntax
            myGantt=myGantt.SetHolidays(country);
            Usage
            This method sets national holidays as non-working days based on the country.
              The following countries are supported: USA, UK, Australia, and Canada.
            The default is "None".
            
              VS.GanttChartHolidays = 
              {
                None: "None",
                USA: "USA",
                UK: "UK",
                Australia: "Australia",
                Canada: "Canada",
              };
            
            
            An instance of a VS.GanttTask() is
              created by adding one to a VS.Gantt() object:
              myTask=myGantt.AddTask(name);
              
              All of the task methods below return the Task and they can be chained together:
              
             
             Example
             myTask=myTask.SetTaskNumber(12);
             Syntax
             myTask=myTask.SetTaskNumber(tasknumber);
             Usage
             This method sets the task number of a task. By default the number of a task is
              the order in which it was added. Task 1 is the first task added, Task 2 the second and so on.
              Task numbers are used to identify parent and masters of other tasks with
              SetParent() and SetMaster().
 
              Note: Care should be taken when using this method not to cause collisions with
                automatically numbered tasks. For example, assigning the first task the number
                2 will cause a collision with a second task that is automatically assigned 2.
                In practice the only reason to use this feature is to make it easier to identify
                specific tasks that will later become masters or parents.
                When doing this, assign numbers that are outside the range of sequential
              default numbering such as 200, 201 etc.
              
              Example
              myTask=myTask.SetTaskName("Run Tests");
              Syntax
              myTask=myTask.SetTaskName(taskname);
              Usage
              This method sets the name of the task as it will appear in the Gantt chart.
                This can also be set in the VS.Gantt.AddTask(taskname) method.
                
                Example
                myTask=myTask.SetStart("2019-10-13");
                Syntax
                myTask=myTask.SetStart(datestring);
                Usage
                This method sets the start date of a task. By default top level tasks
                  begin on the current day. Child tasks begin on the same day as their parent.
                  Dependent tasks always begin when their master task ends. The datestring has the format YYYY-MM-DD.
                  
                  Example
                  myTask=myTask.SetStartTime("13:01:00");
                  Syntax
                  myTask=myTask.SetStartTime(timestring);
                  Usage
                  This method sets the starting time a of a task on its start date. By default
                    tasks begin at 00:00 on the start date. The timestring has the format HH-MM-SS.
                    
                    Example
                    myTask=myTask.SetDuration(11.33);
                    Syntax
                    myTask=myTask.SetDuration(duration);
                    Usage
                    This method sets the duration of a task in days. The end date of a
                      task is the start date plus the duration. Note that duration is a floating point
                    number allowing you to define a duration of days plus hours. By default tasks have a duration of 5 days.
                    
                    Example
                    myTask=myTask.SetParent(2);
                    Syntax
                    myTask=myTask.SetParent(tasknumber);
                    Usage
                    This method sets this task to be a child of the task with the number specified.
                      Task numbers are assigned as 1, 2, 3 etc based on the order of addition to the Gantt chart,
                      this can be overridden using SetTaskNumber().
                      
                      Example
                      myTask=myTask.SetMaster(2);
                      Syntax
                      myTask=myTask.SetMaster(tasknumber);
                      Usage
                      This method sets this task to be dependent on the task with the number specified.
                        This task starts when the specified task ends. Task numbers are assigned based on the order
                        of addition to the Gantt chart, this can be overridden using SetTaskNumber().
                        
                        Example
                        myTask=myTask.SetAssignedTo("Robert Smith");
                        Syntax
                        myTask=myTask.SetAssignedTo(person);
                        Usage
                        This method sets the name of the person assigned to the task and shows it in the AssignedTo Column. 
                          This column will only appear if one of the tasks sets a value for it or its width or title is 
                          set with myGantt.SetColumnWidth() or myGantt.SetColumnTitle().
                          
                          Example
                          myTask=myTask.SetCost(1000);
                          Syntax
                          myTask=myTask.SetCost(value);
                          Usage
                          This method sets the value that will show for this row in the Cost Column. 
                          This column will only appear if one of the tasks sets a value for it or its width or title
                          is set with 
myGantt.SetColumnWidth() or 
myGantt.SetColumnTitle().
                          
                          
Example
                          myTask=myTask.SetDepartment("Sales");
                          Syntax
                          myTask=myTask.SetDepartment(value);
                          Usage
                          This method sets the value that will show for this row in the Department Column.
                            This column will only appear if one of the tasks sets a value for it or its width or
                            title is set with myGantt.SetColumnWidth() or myGantt.SetColumnTitle().
                            
                            Example
                            myTask=myTask.SetCustom("High Priority");
                            Syntax
                            myTask=myTask.SetCustom(value);
                            Usage
                            This method sets the value that will show for this row in the CustomColumn.
                              This column will only appear if one of the tasks sets a value for it or its width or
                              title is set with myGantt.SetColumnWidth() or myGantt.SetColumnTitle().
                              Note that myGantt.SetColumnTitle() can be used to set an alternative
                              title for the Custom column (or any column).
                              The following VS.Shape() methods also apply to Tasks:
                              
                              Example
                              myTask=myTask.SetFillColor("#FF0000");
                              Syntax
                              myTask=myTask.SetFillColor(color);
                              Usage
                              This method sets the background color of the row in the Gantt chart that shows this task.
                              
                              Example
                              myTask=myTask.SetTextColor("#FF0000");
                              Syntax
                              myTask=myTask.SetTextColor(color);
                              Usage
                              This method sets the text color of the row in the Gantt chart that shows this task.
                              
                              Example
                              myTask=myTask.SetTextBold(true);
                              Syntax
                              myTask=myTask.SetTextBold(state);
                              Usage
                              This method sets the text of the row in the Gantt chart that shows this task to bold.
                              
                              Example
                              myTask=myTask.SetTextItalic(true);
                              Syntax
                              myTask=myTask.SetTextItalic(state);
                              Usage
                              This method sets the text of the task in a specific row to italic.
                              
                              Example
                              myTask=myTask.SetTextUnderline(true);
                              Syntax
                              myTask=myTask.SetTextUnderline(state);
                              Usage
                              This method underlines the text of the row in the Gantt chart.
                              
                              Example
                              myTask=myTask.SetLineColor("#FF0000");
                              Syntax
                              myTask=myTask.SetLineColor(color);
                              Usage
                              This method sets the color of the bar in the Gantt chart for the given task.