<Grid>
   <Cfg id="Correcting" NoVScroll="1" IdChars="0123456789" NumberId="1" Undo="1" SuppressCfg="1" Sorting="0"/>
   <Cfg DefaultDate="1/1/2010"/>
   <LeftCols>
      <C Name="id" Type="Int" CanEdit="0" CanSort="0"/>
      <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="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"/>
   </LeftCols>
   <Cols>
      <C Name="GANTT" Type="Gantt"
         GanttDataUnits="d" GanttUnits="d" GanttWidth="16"
         GanttAncestors="ANC" GanttDescendants="DES"
         GanttStart="START" GanttEnd="END" GanttDuration="DUR" GanttComplete="COMP"
         GanttMinStart="ES" GanttMaxStart="LS" GanttMinEnd="EF" GanttMaxEnd="LF"
         GanttEndLast="1" GanttLeft="1" GanttRight="1" GanttShowConstraints="2"
         GanttHeader1="d#%d"
         GanttBase="1/2/2010"
         GanttIncorrectDependencies="2" GanttStrict="1" GanttFixComplete="0"
         GanttCorrectDependencies="2" GanttCorrectDependenciesFixed="0"
         GanttObject="Main,Flow,Run"
         GanttRunCorrectFixed="1"
         />
   </Cols>
   <Def>
      <!-- Changes columns to show Flow bar instead of the main bar -->
      <!-- This way is used just to show all the features in one grid -->
      <D Name="DEFFLOW"
         Spanned="1" STARTRange="1" STARTSpan="3" 
         GANTTGanttFlow="START" GANTTGanttFlowComplete="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"/>
         <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="DEFFLOW" id="12" START="1/8/2010~1/10/2010;1/13/2010~1/15/2010" ANC="11" COMP="30" ES="1/7/2010"/>
         <I Def="DEFFLOW" id="13" START="1/4/2010;1/7/2010~1/9/2010;1/12/2010" ANC="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="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="2,end,start;;2;1,;2;;2,end,end" ANC="17"/>
         <I Def="DEFRUN" id="19" START="1/6/2010" END="2,bound,start;3,;2;1,;2;4,;2,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" COMP="Complete" START="Start" END="End" DUR="Dur" ES="Early Start" LS="Late Start" EF="Early End" LF="Late End"/>
   <Solid>
      <Topbar Space="0" Cells="Base,Finish,Strict,Started,Dep,Actual,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='2'
         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.'

         StrictType='Bool' StrictLabelRight='Strict correcting' StrictCanEdit='1' StrictLeft='2'
         StrictFormula='Grid.Cols.GANTT.GanttStrict?1:0'
         StrictOnChange='Grid.Cols.GANTT.GanttStrict = Value; Grid.Cols.GANTT.GanttIncorrectDependencies = Value?2:1; Grid.RefreshGanttDependencies(2);'
         StrictTip='If the dependency float value is 0 by default - if the tasks should start as close to baseline as possible'

         StartedType='Bool' StartedLabelRight='Correct also started' 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 dependency'

         DepType='Select'
         DepDefaults='|Ignore problems|Auto correct problems|Alert and confirm problems'
         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='130'
         DepLeft='5'

         ActualType='Bool' ActualLabelRight='Correct also actual' 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 dependencies correcting'

         SepRelWidth='1' SepType='Html'

         CorrectFormula="ganttdependencyerrors(null,1)" CorrectOnClick="CorrectAllDependencies" CorrectTip="Click to correct the dependencies"
      />
   </Solid>
</Grid>
