<Grid>
   <Cfg id="Schedule" IdChars="0123456789" NumberId="1" Undo="1" SuppressCfg="0" Sorting="0" Size="Low" ScrollParentHorz="Border"/>
   <Cfg DefaultDate="1/1/2010" MinMidWidth="250" CopyPasteRows="3"/>
   <LeftCols>
      <C Name="id" Type="Int" CanEdit="0" CanSort="0"/>
   </LeftCols>
   <Cols>
      <C Name="START" Type="Date" Format="dddddd" EditFormat="%d"/>
      <C Name="END" Type="Date" Format="dddddd" EditFormat="%d"/>
      <C Name="DUR" Type="Float"/>
      <C Name="MAN" Type="Date" Format="dddddd" EditFormat="%d"/>
      <C Name="COMP" Type="Float"/>
      <C Name="ANC" Type="Text" />
      <C Name="DES" Type="Text" />
      <C Name="ES" Type="Date" Format="dddddd" EditFormat="%d"/>
      <C Name="LS" Type="Date" Format="dddddd" EditFormat="%d"/>
      <C Name="EF" Type="Date" Format="dddddd" EditFormat="%d"/>
      <C Name="LF" Type="Date" Format="dddddd" EditFormat="%d"/>
   </Cols>
   <RightCols>
      <C Name="GANTT" Type="Gantt"
         GanttDataUnits="d" GanttUnits="d" GanttLastUnit="d" GanttWidth="22"
         GanttAncestors="ANC" GanttDescendants="DES"
         GanttStart="START" GanttEnd="END" GanttDuration="DUR" GanttComplete="COMP"
         GanttManual="MAN" GanttManual1="MAN" GanttRunManual="MAN"
         GanttManualChange="2" GanttRunManualChange="2"
         GanttCount="2"
         GanttMinStart="ES" GanttMaxStart="LS" GanttMinEnd="EF" GanttMaxEnd="LF"
         GanttLeft="2" GanttRight="2" GanttShowConstraints="2"
         GanttHeader6="d#%d"
         GanttBase="1/2/2010" GanttFinish="1/15/2010"
         GanttDirection="0"
         GanttIncorrectDependencies="1" GanttStrict="1" GanttFixComplete="0"
         GanttCorrectDependencies="2" GanttCorrectDependenciesFixed="0"
         GanttDragDependenciesBetween="2"
         GanttTask="Main,Main1,Run"
         GanttRunCorrectFixed="1"
         />
   </RightCols>
   <Def>
      <!-- Changes columns to show discrete main bar instead of the continuous main bar -->
      <!-- This way is used just to show all the features in one grid -->
      <D Name="DEFPARTS"
         Spanned="1" STARTRange="1" STARTSpan="3"
         GANTTGanttParts1="START" GANTTGanttComplete1="COMP"
         GANTTGanttStart="" GANTTGanttEnd=""
         />
      <!-- Changes columns to show Run bar instead of the main bar -->
      <!-- This way is used just to show all the features in one grid -->
      <D Name="DEFRUN"
         Spanned="1" ENDType="Text" ENDSpan="2" 
         GANTTGanttRun="END" GANTTGanttRunStart="START" GANTTGanttRunComplete="COMP"
         GANTTGanttRunMove="all,slide" GANTTGanttRunAdjust="shrink,all" GANTTGanttRunSave="4"
         GANTTGanttStart="" GANTTGanttEnd=""
         />
   </Def>
   <Body>
      <B>
         <I id="0"/>
         <I id="1" START="1/12/2010" END="1/13/2010" ANC="2"/>
         <I id="2" START="1/7/2010" END="1/13/2010" COMP="30" ANC="3"/>
         <I id="3" START="1/4/2010" END="1/7/2010" COMP="100"/>
         <I id="4" START="1/10/2010" END="1/13/2010" ANC="3" GANTTGanttDisabled="1"/>
         <I id="5" END="1/13/2010" ANC="4"/>
         <I id="6" START="1/3/2010" END="1/8/2010" ES="1/4/2010"/>
         <I id="7" START="1/6/2010" END="1/9/2010" ANC="6ss+2;6ff" LF="1/12/2010"/>
         <I id="8" START="1/6/2010" END="1/9/2010" ANC="7;9ff" EF="1/16/2010"/>
         <I id="9" START="1/7/2010" END="1/10/2010" COMP="50"/>
         <I id="10" START="1/6/2010" END="1/9/2010" ANC="9sf" LS="1/8/2010"/>
         <I id="11" START="1/3/2010" END="1/5/2010" COMP="100"/>
         <I Def="DEFPARTS" id="12" START="1/8/2010~1/10/2010;1/13/2010~1/15/2010" ANC="0,1@11" COMP="30" ES="1/7/2010"/>
         <I Def="DEFPARTS" id="13" START="1/4/2010;1/7/2010~1/9/2010;1/12/2010" ANC="1@12ff"/>
         <I Def="DEFRUN" id="14" START="1/4/2010" COMP="60" END="2;1,;2" ES="1/3/2010"/>
         <I Def="DEFRUN" id="15" START="1/7/2010" END="2;2,;3" ANC="-@14"/>
         <I id="16" START="1/14/2010" ANC="-,0@15"/>
         <I Def="DEFRUN" id="17" START="1/4/2010" COMP="50" END="2;1,;2,fixed;1,;1"/>
         <I Def="DEFRUN" id="18" START="1/8/2010" END="3,end,start;;2;1,;2;;3,end,end" ANC="-@17"/>
         <I Def="DEFRUN" id="19" START="1/6/2010" END="3,bound,start;3,;2;1,;2;4,;3,bound,end" ANC="-@18ff"/>
         <I Def="DEFRUN" id="20" START="1/5/2010" COMP="50" END="2;1,;1;;0,stop;1,;2;1,;;0,stop;2,;2"/>
      </B>
   </Body>
   <Header id="id" ANC="Ancestors" DES="Descendants" MAN="Moved" COMP="%" START="Start" END="End" DUR="Dur" ES="Early Start" LS="Late Start" EF="Early End" LF="Late End"/>
   <Solid>
      <Topbar1 Space="0" Cells="Base,Finish,Dep,Err,Sep,Correct"
         BaseType='Date' BaseCanEdit='1' BaseWidth='25' BaseUndo='1'
         BaseLabel='Baseline' BaseFormat="dddddd" BaseEditFormat="%d"
         BaseFormula='Grid.GetGanttBase()'
         BaseOnChange='Grid.SetGanttBase(Value,2);'
         BaseHtmlPrefixFormula='Grid.Cols.GANTT.GanttBase===""?"&lt;span style=&apos;color:gray;&apos;>":"&lt;span>"'
         BaseHtmlPostfix='&lt;/span>'
         BaseTip='Starting date of the whole project.&lt;br>No task should start before it.&lt;br>It is also used when correcting dependencies.'

         FinishType='Date' FinishCanEdit='1' FinishWidth='25' FinishUndo='1' FinishLeft='1'
         FinishLabel='Finish date' FinishFormat="dddddd" FinishEditFormat="%d"
         FinishFormula='Grid.GetGanttFinish()'
         FinishOnChange='Grid.SetGanttFinish(Value);'
         FinishHtmlPrefixFormula='Grid.Cols.GANTT.GanttFinish===""?"&lt;span style=&apos;color:gray;&apos;>":"&lt;span>"'
         FinishHtmlPostfix='&lt;/span>'
         FinishTip='Finish date of the whole project.&lt;br>If grayed, it is calculated from the last task.&lt;br>It is used to calculate critical path.'

         DepType='Select'
         DepDefaults='|Manual schedule|Auto schedule|Ask for auto schedule'
         DepFormula='Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttCorrectDependencies)'
         DepOnChange='Grid.Cols.GANTT.GanttCorrectDependencies = Grid.GetDefaultsIndex(Row,Col,Value);'
         DepTip='If the dependent tasks will be updated after some task move or resize'
         DepWidth='115'
         DepLeft='5'
         
         ErrType='Select'
         ErrLabel='Incorrect dependencies'
         ErrDefaults='|None|Start > Finish|Start &lt;> Finish'
         ErrFormula='Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttIncorrectDependencies)'
         ErrOnChange='Grid.Cols.GANTT.GanttIncorrectDependencies = Grid.GetDefaultsIndex(Row,Col,Value); Grid.RefreshGanttDependencies(2);'
         ErrTip='Which dependencies will be marked as incorrect'
         ErrWidth='77'
         ErrLeft='1'

         SepRelWidth='1' SepType='Html'

         CorrectFormula="ganttdependencyerrors(null,1)" CorrectOnClick="CorrectAllDependencies" CorrectTip="Click to correct the dependencies"
      />
      <Topbar2 Cells="Dir,Strict,Manual,Started,Actual"
         DirType='Select'
         DirDefaults='|Schedule from start|Schedule from finish'
         DirFormula='Grid.GetDefaultsValue(Row,Col,Grid.Cols.GANTT.GanttDirection)'
         DirOnChange='Grid.Cols.GANTT.GanttDirection = Grid.GetDefaultsIndex(Row,Col,Value);'
         DirTip='If the tasks are moved rather left or right'
         DirWidth='110'

         StrictType='Select' StrictLabel='Schedule method'
         StrictDefaults='|Minimal move|Strict move|Minimal strict move'
         StrictFormula='Grid.GetDefaultsValue(Row,Col,[0,1,1,2][Grid.Cols.GANTT.GanttStrict])'
         StrictOnChange='Grid.Cols.GANTT.GanttStrict = [0,1,3][Grid.GetDefaultsIndex(Row,Col,Value)];'
         StrictTip='Minimal move (GanttStrict=0) - Move all tasks as little as possible to correct the dependencies&lt;br>Strict move (GanttStrict=1) - Move all first tasks to min start constraint, move all next tasks as close as possible&lt;br>Minimal strict move (GanttStrict=3) - Move all first tasks as little as possible, move all next tasks as close as possible.'
         StrictWidth='110'
         StrictLeft='3'

         ManualType='Bool' ManualLabelRight='From the last position' ManualCanEdit='1'
         ManualFormula='Grid.Cols.GANTT.GanttManualChange?1:0'
         ManualOnChange='Grid.Cols.GANTT.GanttManualChange = Value?2:0; Grid.Cols.GANTT.GanttRunManualChange = Value?2:0; Grid.RefreshGantt(255);'
         ManualTip='If set, never automatically moves scheduled tasks before last manual position (the Moved column)'
         ManualLeft='3'

         StartedType='Bool' StartedLabelRight='Also started tasks' StartedCanEdit='1'
         StartedFormula='!Grid.Cols.GANTT.GanttFixComplete'
         StartedOnChange='Grid.Cols.GANTT.GanttFixComplete = !Value; Grid.RefreshGanttDependencies(2);'
         StartedTip='If also the already started tasks can be moved to correct the dependencies'
         StartedLeft='3'

         ActualType='Bool' ActualLabelRight='Also actual task' ActualCanEdit='1'
         ActualFormula='!Grid.Cols.GANTT.GanttCorrectDependenciesFixed'
         ActualOnChange='Grid.Cols.GANTT.GanttCorrectDependenciesFixed = !Value;'
         ActualTip='After some task is moved or resized, if it can be also moved in following automatic dependencies correcting'
         ActualLeft='3'
         />
   </Solid>
   <Media>
      <M MaxWidth="1023" Tag="0"> <Cfg NoHScroll="1"/> </M>
      <M MaxHeight="800" Tag="0"> <Cfg Size="Small"/> </M>
   </Media>
</Grid>