Changeset 83


Ignore:
Timestamp:
Oct 31, 2010, 9:40:18 PM (14 years ago)
Author:
george
Message:
  • Modified: TObjectList replaced by generics templates.
Location:
branches/Transpascal
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/Transpascal/Common/ULastOpenedList.pas

    r82 r83  
    7575    ReloadMenu;
    7676  finally
    77     Destroy;
     77    Free;
    7878  end;
    7979end;
     
    9191      WriteString('File' + IntToStr(I), UTF8Decode(Strings[I]));
    9292  finally
    93     Destroy;
     93    Free;
    9494  end;
    9595end;
  • branches/Transpascal/Compiler/Analyze/UParser.pas

    r80 r83  
    360360        // Update cursor position
    361361        Inc(CodePosition.X);
    362         if (CurrentChar = #13) then begin
     362        if (CurrentChar = LineEnding) then begin
    363363          CodePosition.X := 0;
    364364          Inc(CodePosition.Y);
  • branches/Transpascal/Compiler/USourceCode.pas

    r82 r83  
    22
    33{$MODE Delphi}
     4{$MACRO ON}
    45
    56interface
    67
    78uses
    8   SysUtils, Variants, Classes, Dialogs, ListObject;
     9  SysUtils, Variants, Classes, Dialogs;
    910
    1011type
     
    5556  end;
    5657
     58  // TListExpression = TGObjectList<Integer, TExpression>
     59  {$DEFINE TGObjectListIndex := Integer}
     60  {$DEFINE TGObjectListItem := TExpression}
     61  {$DEFINE TGObjectListList := TObjectListExpression}
     62  {$DEFINE TGObjectList := TListExpression}
     63  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareExpression}
     64  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterExpression}
     65  {$DEFINE INTERFACE}
     66  {$I 'GenericObjectList.inc'}
     67
    5768  { TFunctionCall }
    5869
    5970  TFunctionCall = class(TCommand)
    6071    FunctionRef: TFunction;
    61     ParameterExpression: TListObject; // TListObject<TExpression>
     72    ParameterExpression: TListExpression;
    6273    constructor Create;
    6374    destructor Destroy; override;
     
    115126  end;
    116127
     128  // TListCaseOfEndBranche = TGObjectList<Integer, TCaseOfEndBranche>
     129  {$DEFINE TGObjectListIndex := Integer}
     130  {$DEFINE TGObjectListItem := TCaseOfEndBranche}
     131  {$DEFINE TGObjectListList := TObjectListCaseOfEndBranche}
     132  {$DEFINE TGObjectList := TListCaseOfEndBranche}
     133  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareCaseOfEndBranche}
     134  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterCaseOfEndBranche}
     135  {$DEFINE INTERFACE}
     136  {$I 'GenericObjectList.inc'}
     137
    117138  TCaseOfEnd = class(TCommand)
    118139    Expression: TExpression;
    119     Branches: TListObject; // TListObject<TCaseOfEndBranche>
     140    Branches: TListCaseOfEndBranche;
    120141    ElseCommand: TCommand;
    121142    constructor Create;
     
    133154  end;
    134155
    135   TCommandList = class(TListObject)
    136 
    137   end;
     156  // TCommandList = TGObjectList<Integer, TCommand>
     157  {$DEFINE TGObjectListIndex := Integer}
     158  {$DEFINE TGObjectListItem := TCommand}
     159  {$DEFINE TGObjectListList := TObjectListCommand}
     160  {$DEFINE TGObjectList := TCommandList}
     161  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareCommand}
     162  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterCommand}
     163  {$DEFINE INTERFACE}
     164  {$I 'GenericObjectList.inc'}
    138165
    139166  TCommonBlock = class
     
    161188  end;
    162189
     190  // TListType = TGObjectList<Integer, TType>
     191  {$DEFINE TGObjectListIndex := Integer}
     192  {$DEFINE TGObjectListItem := TType}
     193  {$DEFINE TGObjectListList := TObjectListType}
     194  {$DEFINE TGObjectList := TListType}
     195  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareType}
     196  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterType}
     197  {$DEFINE INTERFACE}
     198  {$I 'GenericObjectList.inc'}
     199
     200  TTypeList = class(TListType)
     201    Parent: TCommonBlock;
     202    function Search(Name: string; Exported: Boolean = False): TType;
     203    destructor Destroy; override;
     204  end;
     205
    163206  TTypeInherited = class(TType)
    164207  end;
     
    188231  end;
    189232
     233  // TListEnumItem = TGObjectList<Integer, TEnumItem>
     234  {$DEFINE TGObjectListIndex := Integer}
     235  {$DEFINE TGObjectListItem := TEnumItem}
     236  {$DEFINE TGObjectListList := TObjectListEnumItem}
     237  {$DEFINE TGObjectList := TListEnumItem}
     238  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareEnumItem}
     239  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterEnumItem}
     240  {$DEFINE INTERFACE}
     241  {$I 'GenericObjectList.inc'}
     242
    190243  TTypeEnumeration = class(TType)
    191     Items: TListObject; // TListObject<TEnumItem>
     244    Items: TListEnumItem;
    192245    constructor Create;
    193246    destructor Destroy; override;
     
    197250
    198251  TTypeClass = class(TType)
    199     Items: TListObject; // TListObject<TType>
    200     constructor Create;
    201     destructor Destroy; override;
    202   end;
    203 
    204   TTypeList = class(TListObject)
    205     Parent: TCommonBlock;
    206     function Search(Name: string; Exported: Boolean = False): TType;
     252    Items: TListType;
     253    constructor Create;
    207254    destructor Destroy; override;
    208255  end;
     
    216263  end;
    217264
    218   TConstantList = class(TListObject)
     265  // TListConstant = TGObjectList<Integer, TConstant>
     266  {$DEFINE TGObjectListIndex := Integer}
     267  {$DEFINE TGObjectListItem := TConstant}
     268  {$DEFINE TGObjectListList := TObjectListConstant}
     269  {$DEFINE TGObjectList := TListConstant}
     270  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareConstant}
     271  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterConstant}
     272  {$DEFINE INTERFACE}
     273  {$I 'GenericObjectList.inc'}
     274
     275  TConstantList = class(TListConstant)
    219276    Parent: TCommonBlock;
    220277    function Search(Name: string): TConstant;
     
    229286  end;
    230287
    231   TVariableList = class(TListObject)
     288  // TListVariable = TGObjectList<Integer, TVariable>
     289  {$DEFINE TGObjectListIndex := Integer}
     290  {$DEFINE TGObjectListItem := TVariable}
     291  {$DEFINE TGObjectListList := TObjectListVariable}
     292  {$DEFINE TGObjectList := TListVariable}
     293  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareVariable}
     294  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterVariable}
     295  {$DEFINE INTERFACE}
     296  {$I 'GenericObjectList.inc'}
     297
     298  TVariableList = class(TListVariable)
    232299    Parent: TCommonBlock;
    233300    function Search(Name: string; Exported: Boolean = False): TVariable;
     
    238305  end;
    239306
    240   TParameterList = class(TListObject)
     307  // TListParameter = TGObjectList<Integer, TParameter>
     308  {$DEFINE TGObjectListIndex := Integer}
     309  {$DEFINE TGObjectListItem := TParameter}
     310  {$DEFINE TGObjectListList := TObjectListParameter}
     311  {$DEFINE TGObjectList := TListParameter}
     312  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareParameter}
     313  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterParameter}
     314  {$DEFINE INTERFACE}
     315  {$I 'GenericObjectList.inc'}
     316
     317  TParameterList = class(TListParameter)
    241318    Parent: TFunction;
    242319    function Search(Name: string): TParameter;
     
    261338  end;
    262339
    263   TExpressionList = class(TListObject)
     340  TExpressionList = class(TListExpression)
    264341    destructor Destroy; override;
    265342  end;
     
    278355  end;
    279356
    280   TFunctionList = class(TListObject)
     357  // TListFunction = TGObjectList<Integer, TFunction>
     358  {$DEFINE TGObjectListIndex := Integer}
     359  {$DEFINE TGObjectListItem := TFunction}
     360  {$DEFINE TGObjectListList := TObjectListFunction}
     361  {$DEFINE TGObjectList := TListFunction}
     362  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareFunction}
     363  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterFunction}
     364  {$DEFINE INTERFACE}
     365  {$I 'GenericObjectList.inc'}
     366
     367  TFunctionList = class(TListFunction)
    281368    Parent: TCommonBlock;
    282369    function Search(Name: string; Exported: Boolean = False): TFunction;
     
    291378  end;
    292379
    293   TUsedModuleList = class(TListObject)
     380  // TListUsedModule = TGObjectList<Integer, TUsedModule>
     381  {$DEFINE TGObjectListIndex := Integer}
     382  {$DEFINE TGObjectListItem := TUsedModule}
     383  {$DEFINE TGObjectListList := TObjectListUsedModule}
     384  {$DEFINE TGObjectList := TListUsedModule}
     385  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareUsedModule}
     386  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterUsedModule}
     387  {$DEFINE INTERFACE}
     388  {$I 'GenericObjectList.inc'}
     389
     390  TUsedModuleList = class(TListUsedModule)
    294391    ParentModule: TModule;
    295392  end;
     
    332429  end;
    333430
     431  // TListModule = TGObjectList<Integer, TModule>
     432  {$DEFINE TGObjectListIndex := Integer}
     433  {$DEFINE TGObjectListItem := TModule}
     434  {$DEFINE TGObjectListList := TObjectListModule}
     435  {$DEFINE TGObjectList := TListModule}
     436  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareModule}
     437  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterModule}
     438  {$DEFINE INTERFACE}
     439  {$I 'GenericObjectList.inc'}
     440
    334441  { TModuleList }
    335442
    336   TModuleList = class(TListObject)
     443  TModuleList = class(TListModule)
    337444    function Search(Name: string): TModule;
    338445  end;
     
    358465implementation
    359466
     467{$DEFINE IMPLEMENTATION_USES}
     468{$I 'GenericObjectList.inc'}
     469
     470// TListExpression = TGObjectList<Integer, TExpression>
     471{$DEFINE TGObjectListIndex := Integer}
     472{$DEFINE TGObjectListItem := TExpression}
     473{$DEFINE TGObjectListList := TObjectListExpression}
     474{$DEFINE TGObjectList := TListExpression}
     475{$DEFINE TGObjectListSortCompare := TObjectListSortCompareExpression}
     476{$DEFINE TGObjectListStringConverter := TObjectListStringConverterExpression}
     477{$DEFINE IMPLEMENTATION}
     478{$I 'GenericObjectList.inc'}
     479
     480// TListCaseOfEndBranche = TGObjectList<Integer, TCaseOfEndBranche>
     481{$DEFINE TGObjectListIndex := Integer}
     482{$DEFINE TGObjectListItem := TCaseOfEndBranche}
     483{$DEFINE TGObjectListList := TObjectListCaseOfEndBranche}
     484{$DEFINE TGObjectList := TListCaseOfEndBranche}
     485{$DEFINE TGObjectListSortCompare := TObjectListSortCompareCaseOfEndBranche}
     486{$DEFINE TGObjectListStringConverter := TObjectListStringConverterCaseOfEndBranche}
     487{$DEFINE IMPLEMENTATION}
     488{$I 'GenericObjectList.inc'}
     489
     490// TCommandList = TGObjectList<Integer, TCommand>
     491{$DEFINE TGObjectListIndex := Integer}
     492{$DEFINE TGObjectListItem := TCommand}
     493{$DEFINE TGObjectListList := TObjectListCommand}
     494{$DEFINE TGObjectList := TCommandList}
     495{$DEFINE TGObjectListSortCompare := TObjectListSortCompareCommand}
     496{$DEFINE TGObjectListStringConverter := TObjectListStringConverterCommand}
     497{$DEFINE IMPLEMENTATION}
     498{$I 'GenericObjectList.inc'}
     499
     500// TListEnumItem = TGObjectList<Integer, TEnumItem>
     501{$DEFINE TGObjectListIndex := Integer}
     502{$DEFINE TGObjectListItem := TEnumItem}
     503{$DEFINE TGObjectListList := TObjectListEnumItem}
     504{$DEFINE TGObjectList := TListEnumItem}
     505{$DEFINE TGObjectListSortCompare := TObjectListSortCompareEnumItem}
     506{$DEFINE TGObjectListStringConverter := TObjectListStringConverterEnumItem}
     507{$DEFINE IMPLEMENTATION}
     508{$I 'GenericObjectList.inc'}
     509
     510// TListType = TGObjectList<Integer, TType>
     511{$DEFINE TGObjectListIndex := Integer}
     512{$DEFINE TGObjectListItem := TType}
     513{$DEFINE TGObjectListList := TObjectListType}
     514{$DEFINE TGObjectList := TListType}
     515{$DEFINE TGObjectListSortCompare := TObjectListSortCompareType}
     516{$DEFINE TGObjectListStringConverter := TObjectListStringConverterType}
     517{$DEFINE IMPLEMENTATION}
     518{$I 'GenericObjectList.inc'}
     519
     520// TListConstant = TGObjectList<Integer, TConstant>
     521{$DEFINE TGObjectListIndex := Integer}
     522{$DEFINE TGObjectListItem := TConstant}
     523{$DEFINE TGObjectListList := TObjectListConstant}
     524{$DEFINE TGObjectList := TListConstant}
     525{$DEFINE TGObjectListSortCompare := TObjectListSortCompareConstant}
     526{$DEFINE TGObjectListStringConverter := TObjectListStringConverterConstant}
     527{$DEFINE IMPLEMENTATION}
     528{$I 'GenericObjectList.inc'}
     529
     530// TListVariable = TGObjectList<Integer, TVariable>
     531{$DEFINE TGObjectListIndex := Integer}
     532{$DEFINE TGObjectListItem := TVariable}
     533{$DEFINE TGObjectListList := TObjectListVariable}
     534{$DEFINE TGObjectList := TListVariable}
     535{$DEFINE TGObjectListSortCompare := TObjectListSortCompareVariable}
     536{$DEFINE TGObjectListStringConverter := TObjectListStringConverterVariable}
     537{$DEFINE IMPLEMENTATION}
     538{$I 'GenericObjectList.inc'}
     539
     540// TListParameter = TGObjectList<Integer, TParameter>
     541{$DEFINE TGObjectListIndex := Integer}
     542{$DEFINE TGObjectListItem := TParameter}
     543{$DEFINE TGObjectListList := TObjectListParameter}
     544{$DEFINE TGObjectList := TListParameter}
     545{$DEFINE TGObjectListSortCompare := TObjectListSortCompareParameter}
     546{$DEFINE TGObjectListStringConverter := TObjectListStringConverterParameter}
     547{$DEFINE IMPLEMENTATION}
     548{$I 'GenericObjectList.inc'}
     549
     550// TListFunction = TGObjectList<Integer, TFunction>
     551{$DEFINE TGObjectListIndex := Integer}
     552{$DEFINE TGObjectListItem := TFunction}
     553{$DEFINE TGObjectListList := TObjectListFunction}
     554{$DEFINE TGObjectList := TListFunction}
     555{$DEFINE TGObjectListSortCompare := TObjectListSortCompareFunction}
     556{$DEFINE TGObjectListStringConverter := TObjectListStringConverterFunction}
     557{$DEFINE IMPLEMENTATION}
     558{$I 'GenericObjectList.inc'}
     559
     560// TListUsedModule = TGObjectList<Integer, TUsedModule>
     561{$DEFINE TGObjectListIndex := Integer}
     562{$DEFINE TGObjectListItem := TUsedModule}
     563{$DEFINE TGObjectListList := TObjectListUsedModule}
     564{$DEFINE TGObjectList := TListUsedModule}
     565{$DEFINE TGObjectListSortCompare := TObjectListSortCompareUsedModule}
     566{$DEFINE TGObjectListStringConverter := TObjectListStringConverterUsedModule}
     567{$DEFINE IMPLEMENTATION}
     568{$I 'GenericObjectList.inc'}
     569
     570// TListModule = TGObjectList<Integer, TModule>
     571{$DEFINE TGObjectListIndex := Integer}
     572{$DEFINE TGObjectListItem := TModule}
     573{$DEFINE TGObjectListList := TObjectListModule}
     574{$DEFINE TGObjectList := TListModule}
     575{$DEFINE TGObjectListSortCompare := TObjectListSortCompareModule}
     576{$DEFINE TGObjectListStringConverter := TObjectListStringConverterModule}
     577{$DEFINE IMPLEMENTATION}
     578{$I 'GenericObjectList.inc'}
     579
    360580{ TFunction }
    361581
     
    404624begin
    405625  I := 0;
    406   while (I < Count) and (LowerCase(TConstant(Items[I]).Name) <> LowerCase(Name)) do Inc(I);
    407   if I < Count then Result := TConstant(Items[I]) else begin
     626  while (I < Count) and (LowerCase(Items[I].Name) <> LowerCase(Name)) do Inc(I);
     627  if I < Count then Result := Items[I] else begin
    408628    if Assigned(Parent.Parent) then Result := Parent.Parent.Constants.Search(Name)
    409629      else begin
     
    482702  // Search in own list
    483703  I := 0;
    484   while (I < Count) and (LowerCase(TType(Items[I]).Name) <> LowerCase(Name)) do Inc(I);
    485   if I < Count then Result := TType(Items[I]) else Result := nil;
     704  while (I < Count) and (LowerCase(Items[I].Name) <> LowerCase(Name)) do Inc(I);
     705  if I < Count then Result := Items[I] else Result := nil;
    486706
    487707  // Search in parent
     
    508728  // Search in own list
    509729  I := 0;
    510   while (I < Count) and (LowerCase(TVariable(Items[I]).Name) <> LowerCase(Name)) do Inc(I);
     730  while (I < Count) and (LowerCase(Items[I].Name) <> LowerCase(Name)) do Inc(I);
    511731  if I < Count then Result := TVariable(Items[I]) else Result := nil;
    512732
     
    553773  // Search in own list
    554774  I := 0;
    555   while (I < Count) and (LowerCase(TFunction(Items[I]).Name) <> LowerCase(Name)) do Inc(I);
    556   if I < Count then Result := TFunction(Items[I]) else Result := nil;
     775  while (I < Count) and (LowerCase(Items[I].Name) <> LowerCase(Name)) do Inc(I);
     776  if I < Count then Result := Items[I] else Result := nil;
    557777
    558778  // Search parent block list
     
    611831begin
    612832  I := 0;
    613   while (I < Count) and (LowerCase(TParameter(Items[I]).Name) <> LowerCase(Name)) do Inc(I);
    614   if I < Count then Result := TParameter(Items[I])
     833  while (I < Count) and (LowerCase(Items[I].Name) <> LowerCase(Name)) do Inc(I);
     834  if I < Count then Result := Items[I]
    615835    else Result := nil;
    616836end;
     
    668888begin
    669889  inherited;
    670   Branches := TListObject.Create
     890  Branches := TListCaseOfEndBranche.Create
    671891end;
    672892
     
    695915begin
    696916  inherited;
    697   ParameterExpression := TListObject.Create;
     917  ParameterExpression := TListExpression.Create;
    698918end;
    699919
     
    741961begin
    742962  I := 0;
    743   while (I < Count) and (LowerCase(TModule(Items[I]).Name) <> LowerCase(Name)) do Inc(I);
    744   if I < Count then Result := TModule(Items[I]) else Result := nil;
     963  while (I < Count) and (LowerCase(Items[I].Name) <> LowerCase(Name)) do Inc(I);
     964  if I < Count then Result := Items[I] else Result := nil;
    745965end;
    746966
     
    756976    I := 0;
    757977    while (I < UsedModules.Count) and (not Assigned(Result)) do begin
    758       Result := TUsedModule(UsedModules[I]).Module.SearchVariable(Name, False);
     978      Result := UsedModules[I].Module.SearchVariable(Name, False);
    759979      Inc(I);
    760980    end;
     
    776996    I := 0;
    777997    while (I < UsedModules.Count) and (not Assigned(Result)) do begin
    778       with TUsedModule(UsedModules[I]) do
     998      with UsedModules[I] do
    779999        if Assigned(Module) then
    7801000        with Module do
     
    7941014    I := 0;
    7951015    while (I < UsedModules.Count) and (not Assigned(Result)) do begin
    796     if Assigned(TUsedModule(UsedModules[I]).Module) then
    797       Result := TUsedModule(UsedModules[I]).Module.SearchFunction(Name, False);
     1016    if Assigned(UsedModules[I].Module) then
     1017      Result := UsedModules[I].Module.SearchFunction(Name, False);
    7981018      Inc(I);
    7991019    end;
     
    8291049begin
    8301050  inherited;
    831   Items := TListObject.Create;
     1051  Items := TListEnumItem.Create;
    8321052end;
    8331053
     
    8421062constructor TTypeClass.Create;
    8431063begin
    844   Items := TListObject.Create;
     1064  Items := TListType.Create;
    8451065end;
    8461066
  • branches/Transpascal/Forms/UMainForm.lfm

    r81 r83  
    22  Left = 362
    33  Height = 501
    4   Top = 113
     4  Top = 115
    55  Width = 695
    66  Caption = 'Transpascal IDE'
    7   ClientHeight = 482
     7  ClientHeight = 476
    88  ClientWidth = 695
    99  Font.Height = -11
     
    2020    Left = 0
    2121    Height = 5
    22     Top = 477
     22    Top = 471
    2323    Width = 695
    2424    Align = alBottom
     
    2727  object DockPanel: TPanel
    2828    Left = 0
    29     Height = 451
     29    Height = 445
    3030    Top = 26
    3131    Width = 695
     
    4343    object ComboBoxTargetSelection: TComboBox
    4444      Left = 192
    45       Height = 21
     45      Height = 24
    4646      Top = 2
    4747      Width = 135
    4848      Align = alLeft
    49       ItemHeight = 13
     49      ItemHeight = 0
    5050      ItemIndex = 1
    5151      Items.Strings = (
     
    7373      Height = 24
    7474      Top = 2
    75       Width = 105
     75      Width = 122
    7676      Align = alLeft
    7777      Caption = 'Log parsing to file'
     
    8080    object ComboBoxAnalyzerType: TComboBox
    8181      Left = 40
    82       Height = 21
     82      Height = 24
    8383      Top = 2
    8484      Width = 124
    8585      Align = alLeft
    86       ItemHeight = 13
     86      ItemHeight = 0
    8787      Style = csDropDownList
    8888      TabOrder = 3
  • branches/Transpascal/Forms/UMainForm.pas

    r82 r83  
    99  Dialogs, StdCtrls, UCompiler, UProducerAsm8051, Registry,
    1010  UProducerDynamicC, ComCtrls, ExtCtrls, SynEdit, SynHighlighterPas, UProducerTreeView,
    11   UProducerPascal, ListObject, UProject, FileUtil, Menus, ActnList, UCoolDocking,
     11  UProducerPascal, UProject, FileUtil, Menus, ActnList, UCoolDocking,
    1212  UCompiledForm, UCodeTreeForm, URegistry, ULastOpenedList, UApplicationInfo,
    1313  UDebugLog;
  • branches/Transpascal/Transpascal.lpi

    r82 r83  
    2020      <StringTable ProductVersion=""/>
    2121    </VersionInfo>
    22     <BuildModes Count="1">
    23       <Item1 Name="default" Default="True"/>
    24     </BuildModes>
    2522    <PublishOptions>
    2623      <Version Value="2"/>
     
    5350      </Item5>
    5451    </RequiredPackages>
    55     <Units Count="57">
     52    <Units Count="79">
    5653      <Unit0>
    5754        <Filename Value="Transpascal.lpr"/>
     
    7168        <ResourceBaseClass Value="Form"/>
    7269        <UnitName Value="UMainForm"/>
    73         <IsVisibleTab Value="True"/>
    74         <EditorIndex Value="8"/>
    75         <WindowIndex Value="0"/>
    76         <TopLine Value="123"/>
    77         <CursorPos X="5" Y="152"/>
     70        <EditorIndex Value="14"/>
     71        <WindowIndex Value="0"/>
     72        <TopLine Value="1"/>
     73        <CursorPos X="20" Y="11"/>
    7874        <UsageCount Value="215"/>
    7975        <Loaded Value="True"/>
     
    8480        <IsPartOfProject Value="True"/>
    8581        <UnitName Value="UTextSource"/>
    86         <EditorIndex Value="3"/>
    8782        <WindowIndex Value="0"/>
    8883        <TopLine Value="1"/>
    8984        <CursorPos X="1" Y="6"/>
    9085        <UsageCount Value="215"/>
    91         <Loaded Value="True"/>
    9286        <DefaultSyntaxHighlighter Value="Delphi"/>
    9387      </Unit2>
     
    9892        <TopLine Value="745"/>
    9993        <CursorPos X="46" Y="759"/>
    100         <UsageCount Value="140"/>
     94        <UsageCount Value="139"/>
    10195        <DefaultSyntaxHighlighter Value="Delphi"/>
    10296      </Unit3>
     
    107101        <TopLine Value="1"/>
    108102        <CursorPos X="40" Y="11"/>
    109         <UsageCount Value="140"/>
     103        <UsageCount Value="139"/>
    110104        <DefaultSyntaxHighlighter Value="Delphi"/>
    111105      </Unit4>
     
    116110        <TopLine Value="187"/>
    117111        <CursorPos X="34" Y="201"/>
    118         <UsageCount Value="140"/>
     112        <UsageCount Value="139"/>
    119113      </Unit5>
    120114      <Unit6>
     
    124118        <TopLine Value="1"/>
    125119        <CursorPos X="1" Y="14"/>
    126         <UsageCount Value="140"/>
     120        <UsageCount Value="139"/>
    127121      </Unit6>
    128122      <Unit7>
     
    132126        <TopLine Value="124"/>
    133127        <CursorPos X="42" Y="136"/>
    134         <UsageCount Value="140"/>
     128        <UsageCount Value="139"/>
    135129      </Unit7>
    136130      <Unit8>
     
    140134        <TopLine Value="442"/>
    141135        <CursorPos X="47" Y="455"/>
    142         <UsageCount Value="140"/>
     136        <UsageCount Value="139"/>
    143137      </Unit8>
    144138      <Unit9>
     
    148142        <TopLine Value="78"/>
    149143        <CursorPos X="27" Y="86"/>
    150         <UsageCount Value="32"/>
     144        <UsageCount Value="31"/>
    151145        <DefaultSyntaxHighlighter Value="Delphi"/>
    152146      </Unit9>
     
    156150        <TopLine Value="61"/>
    157151        <CursorPos X="7" Y="68"/>
    158         <UsageCount Value="42"/>
     152        <UsageCount Value="41"/>
    159153        <DefaultSyntaxHighlighter Value="Delphi"/>
    160154      </Unit10>
     
    164158        <TopLine Value="139"/>
    165159        <CursorPos X="16" Y="146"/>
    166         <UsageCount Value="42"/>
     160        <UsageCount Value="41"/>
    167161        <DefaultSyntaxHighlighter Value="Delphi"/>
    168162      </Unit11>
     
    173167        <TopLine Value="69"/>
    174168        <CursorPos X="1" Y="82"/>
    175         <UsageCount Value="102"/>
     169        <UsageCount Value="101"/>
    176170      </Unit12>
    177171      <Unit13>
     
    180174        <TopLine Value="591"/>
    181175        <CursorPos X="3" Y="604"/>
    182         <UsageCount Value="4"/>
     176        <UsageCount Value="3"/>
    183177        <DefaultSyntaxHighlighter Value="Delphi"/>
    184178      </Unit13>
     
    189183        <TopLine Value="320"/>
    190184        <CursorPos X="1" Y="327"/>
    191         <UsageCount Value="56"/>
     185        <UsageCount Value="55"/>
    192186      </Unit14>
    193187      <Unit15>
     
    195189        <IsPartOfProject Value="True"/>
    196190        <UnitName Value="UProject"/>
    197         <EditorIndex Value="4"/>
    198         <WindowIndex Value="0"/>
    199         <TopLine Value="51"/>
    200         <CursorPos X="58" Y="62"/>
     191        <EditorIndex Value="15"/>
     192        <WindowIndex Value="0"/>
     193        <TopLine Value="68"/>
     194        <CursorPos X="12" Y="77"/>
     195        <FoldState Value=" TM HP215"/>
    201196        <UsageCount Value="223"/>
    202197        <Loaded Value="True"/>
     
    208203        <TopLine Value="17"/>
    209204        <CursorPos X="11" Y="30"/>
    210         <UsageCount Value="5"/>
     205        <UsageCount Value="4"/>
    211206        <DefaultSyntaxHighlighter Value="Delphi"/>
    212207      </Unit16>
     
    217212        <TopLine Value="1"/>
    218213        <CursorPos X="33" Y="1"/>
    219         <UsageCount Value="20"/>
     214        <UsageCount Value="19"/>
    220215      </Unit17>
    221216      <Unit18>
    222217        <Filename Value="Compiler\UCompiler.pas"/>
    223218        <UnitName Value="UCompiler"/>
    224         <EditorIndex Value="19"/>
    225219        <WindowIndex Value="0"/>
    226220        <TopLine Value="55"/>
    227221        <CursorPos X="15" Y="63"/>
    228         <UsageCount Value="103"/>
    229         <Loaded Value="True"/>
     222        <UsageCount Value="102"/>
    230223      </Unit18>
    231224      <Unit19>
    232225        <Filename Value="Compiler\USourceCode.pas"/>
    233226        <UnitName Value="USourceCode"/>
    234         <EditorIndex Value="1"/>
    235         <WindowIndex Value="0"/>
    236         <TopLine Value="246"/>
    237         <CursorPos X="31" Y="263"/>
    238         <UsageCount Value="96"/>
     227        <IsVisibleTab Value="True"/>
     228        <EditorIndex Value="0"/>
     229        <WindowIndex Value="0"/>
     230        <TopLine Value="1037"/>
     231        <CursorPos X="71" Y="1063"/>
     232        <UsageCount Value="103"/>
    239233        <Loaded Value="True"/>
    240234      </Unit19>
     
    242236        <Filename Value="Compiler\Analyze\UParser.pas"/>
    243237        <UnitName Value="UParser"/>
    244         <EditorIndex Value="20"/>
    245         <WindowIndex Value="0"/>
    246         <TopLine Value="24"/>
    247         <CursorPos X="19" Y="85"/>
    248         <UsageCount Value="103"/>
    249         <Loaded Value="True"/>
     238        <WindowIndex Value="0"/>
     239        <TopLine Value="295"/>
     240        <CursorPos X="1" Y="362"/>
     241        <UsageCount Value="102"/>
    250242      </Unit20>
    251243      <Unit21>
     
    255247        <ResourceBaseClass Value="Form"/>
    256248        <UnitName Value="UProjectManager"/>
    257         <EditorIndex Value="6"/>
    258249        <WindowIndex Value="0"/>
    259250        <TopLine Value="1"/>
    260251        <CursorPos X="29" Y="44"/>
    261252        <UsageCount Value="207"/>
    262         <Loaded Value="True"/>
    263253        <DefaultSyntaxHighlighter Value="Delphi"/>
    264254      </Unit21>
     
    281271        <ResourceBaseClass Value="Form"/>
    282272        <UnitName Value="UMessagesForm"/>
    283         <EditorIndex Value="7"/>
    284273        <WindowIndex Value="0"/>
    285274        <TopLine Value="1"/>
    286275        <CursorPos X="38" Y="76"/>
    287276        <UsageCount Value="207"/>
    288         <Loaded Value="True"/>
    289277        <DefaultSyntaxHighlighter Value="Delphi"/>
    290278      </Unit23>
     
    296284        <ResourceBaseClass Value="Form"/>
    297285        <UnitName Value="UCompiledForm"/>
    298         <EditorIndex Value="12"/>
    299286        <WindowIndex Value="0"/>
    300287        <TopLine Value="2"/>
    301288        <CursorPos X="28" Y="21"/>
    302289        <UsageCount Value="206"/>
    303         <Loaded Value="True"/>
    304290        <DefaultSyntaxHighlighter Value="Delphi"/>
    305291      </Unit24>
     
    322308        <TopLine Value="141"/>
    323309        <CursorPos X="81" Y="154"/>
    324         <UsageCount Value="19"/>
     310        <UsageCount Value="18"/>
    325311      </Unit26>
    326312      <Unit27>
     
    330316        <TopLine Value="316"/>
    331317        <CursorPos X="14" Y="329"/>
    332         <UsageCount Value="18"/>
     318        <UsageCount Value="17"/>
    333319        <DefaultSyntaxHighlighter Value="Delphi"/>
    334320      </Unit27>
     
    338324        <TopLine Value="1762"/>
    339325        <CursorPos X="1" Y="1769"/>
    340         <UsageCount Value="18"/>
     326        <UsageCount Value="17"/>
    341327        <DefaultSyntaxHighlighter Value="Delphi"/>
    342328      </Unit28>
     
    345331        <IsPartOfProject Value="True"/>
    346332        <UnitName Value="URegistry"/>
    347         <EditorIndex Value="14"/>
    348333        <WindowIndex Value="0"/>
    349334        <TopLine Value="1"/>
    350335        <CursorPos X="23" Y="22"/>
    351336        <UsageCount Value="200"/>
    352         <Loaded Value="True"/>
    353337        <DefaultSyntaxHighlighter Value="Delphi"/>
    354338      </Unit29>
     
    359343        <WindowIndex Value="0"/>
    360344        <TopLine Value="1"/>
    361         <CursorPos X="68" Y="11"/>
     345        <CursorPos X="48" Y="11"/>
    362346        <UsageCount Value="200"/>
    363347        <DefaultSyntaxHighlighter Value="Delphi"/>
     
    367351        <IsPartOfProject Value="True"/>
    368352        <UnitName Value="UApplicationInfo"/>
    369         <EditorIndex Value="5"/>
    370353        <WindowIndex Value="0"/>
    371354        <TopLine Value="35"/>
    372355        <CursorPos X="19" Y="58"/>
    373356        <UsageCount Value="200"/>
    374         <Loaded Value="True"/>
    375357        <DefaultSyntaxHighlighter Value="Delphi"/>
    376358      </Unit31>
     
    378360        <Filename Value="Compiler\Produce\UProducerDynamicC.pas"/>
    379361        <UnitName Value="UProducerDynamicC"/>
    380         <EditorIndex Value="17"/>
    381362        <WindowIndex Value="0"/>
    382363        <TopLine Value="270"/>
    383364        <CursorPos X="50" Y="283"/>
    384         <UsageCount Value="100"/>
    385         <Loaded Value="True"/>
     365        <UsageCount Value="99"/>
    386366      </Unit32>
    387367      <Unit33>
     
    389369        <UnitName Value="UProducerAsm8051"/>
    390370        <WindowIndex Value="0"/>
    391         <TopLine Value="144"/>
     371        <TopLine Value="1"/>
    392372        <CursorPos X="56" Y="157"/>
    393         <UsageCount Value="15"/>
     373        <UsageCount Value="14"/>
    394374      </Unit33>
    395375      <Unit34>
    396376        <Filename Value="Compiler\Produce\UProducerPascal.pas"/>
    397377        <UnitName Value="UProducerPascal"/>
    398         <EditorIndex Value="18"/>
    399378        <WindowIndex Value="0"/>
    400379        <TopLine Value="301"/>
    401380        <CursorPos X="50" Y="314"/>
    402381        <UsageCount Value="46"/>
    403         <Loaded Value="True"/>
    404382      </Unit34>
    405383      <Unit35>
    406384        <Filename Value="Compiler\Analyze\UPascalParser.pas"/>
    407385        <UnitName Value="UPascalParser"/>
    408         <EditorIndex Value="0"/>
    409         <WindowIndex Value="0"/>
    410         <TopLine Value="1"/>
    411         <CursorPos X="48" Y="41"/>
    412         <UsageCount Value="111"/>
    413         <Loaded Value="True"/>
     386        <WindowIndex Value="0"/>
     387        <TopLine Value="187"/>
     388        <CursorPos X="17" Y="246"/>
     389        <UsageCount Value="110"/>
    414390      </Unit35>
    415391      <Unit36>
     
    419395        <TopLine Value="15"/>
    420396        <CursorPos X="1" Y="28"/>
    421         <UsageCount Value="45"/>
     397        <UsageCount Value="44"/>
    422398      </Unit36>
    423399      <Unit37>
     
    427403        <TopLine Value="828"/>
    428404        <CursorPos X="27" Y="841"/>
    429         <UsageCount Value="21"/>
     405        <UsageCount Value="20"/>
    430406        <DefaultSyntaxHighlighter Value="Delphi"/>
    431407      </Unit37>
     
    436412        <TopLine Value="56"/>
    437413        <CursorPos X="3" Y="69"/>
    438         <UsageCount Value="5"/>
     414        <UsageCount Value="4"/>
    439415        <DefaultSyntaxHighlighter Value="Delphi"/>
    440416      </Unit38>
     
    445421        <TopLine Value="113"/>
    446422        <CursorPos X="3" Y="120"/>
    447         <UsageCount Value="5"/>
     423        <UsageCount Value="4"/>
    448424        <DefaultSyntaxHighlighter Value="Delphi"/>
    449425      </Unit39>
     
    453429        <TopLine Value="1"/>
    454430        <CursorPos X="24" Y="11"/>
    455         <UsageCount Value="5"/>
     431        <UsageCount Value="4"/>
    456432        <DefaultSyntaxHighlighter Value="Delphi"/>
    457433      </Unit40>
     
    461437        <TopLine Value="1"/>
    462438        <CursorPos X="17" Y="5"/>
    463         <UsageCount Value="10"/>
     439        <UsageCount Value="9"/>
    464440        <DefaultSyntaxHighlighter Value="None"/>
    465441      </Unit41>
     
    470446        <TopLine Value="1"/>
    471447        <CursorPos X="8" Y="8"/>
    472         <UsageCount Value="10"/>
     448        <UsageCount Value="9"/>
    473449      </Unit42>
    474450      <Unit43>
     
    476452        <IsPartOfProject Value="True"/>
    477453        <UnitName Value="UDebugLog"/>
    478         <EditorIndex Value="13"/>
    479454        <WindowIndex Value="0"/>
    480455        <TopLine Value="1"/>
    481456        <CursorPos X="28" Y="22"/>
    482         <UsageCount Value="133"/>
    483         <Loaded Value="True"/>
     457        <UsageCount Value="145"/>
    484458        <DefaultSyntaxHighlighter Value="Delphi"/>
    485459      </Unit43>
     
    489463        <TopLine Value="365"/>
    490464        <CursorPos X="5" Y="370"/>
    491         <UsageCount Value="25"/>
     465        <UsageCount Value="24"/>
    492466        <DefaultSyntaxHighlighter Value="Delphi"/>
    493467      </Unit44>
     
    498472        <TopLine Value="3"/>
    499473        <CursorPos X="6" Y="16"/>
    500         <UsageCount Value="4"/>
     474        <UsageCount Value="3"/>
    501475        <DefaultSyntaxHighlighter Value="Delphi"/>
    502476      </Unit45>
     
    504478        <Filename Value="Compiler\Produce\UProducerGCCC.pas"/>
    505479        <UnitName Value="UProducerGCCC"/>
    506         <EditorIndex Value="21"/>
    507480        <WindowIndex Value="0"/>
    508481        <TopLine Value="270"/>
    509482        <CursorPos X="30" Y="278"/>
    510483        <UsageCount Value="44"/>
    511         <Loaded Value="True"/>
    512484      </Unit46>
    513485      <Unit47>
     
    517489        <TopLine Value="66"/>
    518490        <CursorPos X="14" Y="91"/>
    519         <UsageCount Value="5"/>
     491        <UsageCount Value="4"/>
    520492        <DefaultSyntaxHighlighter Value="Delphi"/>
    521493      </Unit47>
     
    525497        <TopLine Value="1"/>
    526498        <CursorPos X="1" Y="1"/>
    527         <UsageCount Value="38"/>
     499        <UsageCount Value="45"/>
    528500        <Loaded Value="True"/>
    529501        <DefaultSyntaxHighlighter Value="LFM"/>
     
    532504        <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\packages\fcl-registry\src\registry.pp"/>
    533505        <UnitName Value="registry"/>
    534         <EditorIndex Value="15"/>
    535506        <WindowIndex Value="0"/>
    536507        <TopLine Value="1"/>
    537508        <CursorPos X="36" Y="55"/>
    538         <UsageCount Value="38"/>
    539         <Loaded Value="True"/>
     509        <UsageCount Value="37"/>
    540510        <DefaultSyntaxHighlighter Value="Delphi"/>
    541511      </Unit49>
    542512      <Unit50>
    543513        <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\packages\fcl-registry\src\regdef.inc"/>
    544         <EditorIndex Value="16"/>
    545514        <WindowIndex Value="0"/>
    546515        <TopLine Value="1"/>
    547516        <CursorPos X="3" Y="21"/>
    548         <UsageCount Value="38"/>
    549         <Loaded Value="True"/>
     517        <UsageCount Value="37"/>
    550518        <DefaultSyntaxHighlighter Value="Delphi"/>
    551519      </Unit50>
    552520      <Unit51>
    553521        <Filename Value="..\..\..\..\lazarus\trunk\lcl\interfaces\gtk2\gtk2widgetset.inc"/>
    554         <EditorIndex Value="10"/>
    555522        <WindowIndex Value="0"/>
    556523        <TopLine Value="1377"/>
    557524        <CursorPos X="32" Y="1396"/>
    558         <UsageCount Value="38"/>
    559         <Loaded Value="True"/>
     525        <UsageCount Value="37"/>
    560526      </Unit51>
    561527      <Unit52>
     
    564530        <TopLine Value="22"/>
    565531        <CursorPos X="7" Y="47"/>
    566         <UsageCount Value="10"/>
     532        <UsageCount Value="9"/>
    567533        <DefaultSyntaxHighlighter Value="None"/>
    568534      </Unit52>
     
    572538        <TopLine Value="171"/>
    573539        <CursorPos X="7" Y="200"/>
    574         <UsageCount Value="10"/>
     540        <UsageCount Value="9"/>
    575541        <DefaultSyntaxHighlighter Value="None"/>
    576542      </Unit53>
     
    578544        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\ListObject.pas"/>
    579545        <UnitName Value="ListObject"/>
    580         <EditorIndex Value="2"/>
    581         <WindowIndex Value="0"/>
    582         <TopLine Value="39"/>
    583         <CursorPos X="7" Y="66"/>
     546        <WindowIndex Value="0"/>
     547        <TopLine Value="38"/>
     548        <CursorPos X="1" Y="74"/>
    584549        <UsageCount Value="11"/>
    585         <Loaded Value="True"/>
    586550      </Unit54>
    587551      <Unit55>
    588552        <Filename Value="..\..\..\..\lazarus\trunk\lcl\include\listitem.inc"/>
    589         <EditorIndex Value="11"/>
    590553        <WindowIndex Value="0"/>
    591554        <TopLine Value="525"/>
    592555        <CursorPos X="24" Y="548"/>
    593         <UsageCount Value="10"/>
    594         <Loaded Value="True"/>
     556        <UsageCount Value="9"/>
    595557      </Unit55>
    596558      <Unit56>
    597559        <Filename Value="..\..\..\PascalClassLibrary\Docking\CoolDocking\UCoolDocking.pas"/>
    598560        <UnitName Value="UCoolDocking"/>
    599         <EditorIndex Value="9"/>
    600561        <WindowIndex Value="0"/>
    601562        <TopLine Value="814"/>
    602563        <CursorPos X="19" Y="828"/>
    603564        <UsageCount Value="10"/>
    604         <Loaded Value="True"/>
    605565      </Unit56>
     566      <Unit57>
     567        <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\sysunixh.inc"/>
     568        <WindowIndex Value="0"/>
     569        <TopLine Value="15"/>
     570        <CursorPos X="2" Y="28"/>
     571        <UsageCount Value="9"/>
     572        <DefaultSyntaxHighlighter Value="Delphi"/>
     573      </Unit57>
     574      <Unit58>
     575        <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\packages\fcl-registry\src\registry.pp"/>
     576        <UnitName Value="registry"/>
     577        <WindowIndex Value="0"/>
     578        <TopLine Value="194"/>
     579        <CursorPos X="12" Y="206"/>
     580        <UsageCount Value="9"/>
     581        <DefaultSyntaxHighlighter Value="Delphi"/>
     582      </Unit58>
     583      <Unit59>
     584        <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\packages\fcl-registry\src\xregreg.inc"/>
     585        <WindowIndex Value="0"/>
     586        <TopLine Value="1"/>
     587        <CursorPos X="45" Y="15"/>
     588        <UsageCount Value="9"/>
     589        <DefaultSyntaxHighlighter Value="Delphi"/>
     590      </Unit59>
     591      <Unit60>
     592        <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\objpas\sysutils\osutilsh.inc"/>
     593        <WindowIndex Value="0"/>
     594        <TopLine Value="22"/>
     595        <CursorPos X="10" Y="37"/>
     596        <UsageCount Value="9"/>
     597        <DefaultSyntaxHighlighter Value="Delphi"/>
     598      </Unit60>
     599      <Unit61>
     600        <Filename Value="..\..\..\..\..\..\..\usr\share\fpcsrc\2.4.0\rtl\unix\sysutils.pp"/>
     601        <UnitName Value="sysutils"/>
     602        <WindowIndex Value="0"/>
     603        <TopLine Value="1294"/>
     604        <CursorPos X="47" Y="1321"/>
     605        <UsageCount Value="9"/>
     606        <DefaultSyntaxHighlighter Value="Delphi"/>
     607      </Unit61>
     608      <Unit62>
     609        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\ObjectListInterface.tpl"/>
     610        <TopLine Value="1"/>
     611        <CursorPos X="1" Y="13"/>
     612        <UsageCount Value="9"/>
     613        <DefaultSyntaxHighlighter Value="None"/>
     614      </Unit62>
     615      <Unit63>
     616        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\ObjectListImplementation.tpl"/>
     617        <WindowIndex Value="0"/>
     618        <TopLine Value="1"/>
     619        <CursorPos X="7" Y="17"/>
     620        <UsageCount Value="9"/>
     621        <DefaultSyntaxHighlighter Value="None"/>
     622      </Unit63>
     623      <Unit64>
     624        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericObjectList.inc"/>
     625        <EditorIndex Value="3"/>
     626        <WindowIndex Value="0"/>
     627        <TopLine Value="1"/>
     628        <CursorPos X="40" Y="13"/>
     629        <UsageCount Value="19"/>
     630        <Loaded Value="True"/>
     631      </Unit64>
     632      <Unit65>
     633        <Filename Value="Generics\Generic\GenericObjectList.inc"/>
     634        <WindowIndex Value="0"/>
     635        <TopLine Value="27"/>
     636        <CursorPos X="84" Y="48"/>
     637        <UsageCount Value="31"/>
     638      </Unit65>
     639      <Unit66>
     640        <Filename Value="Generics\Generic\GenericList.inc"/>
     641        <WindowIndex Value="0"/>
     642        <TopLine Value="100"/>
     643        <CursorPos X="43" Y="102"/>
     644        <UsageCount Value="31"/>
     645      </Unit66>
     646      <Unit67>
     647        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericList.inc"/>
     648        <EditorIndex Value="2"/>
     649        <WindowIndex Value="0"/>
     650        <TopLine Value="24"/>
     651        <CursorPos X="14" Y="43"/>
     652        <UsageCount Value="10"/>
     653        <Loaded Value="True"/>
     654      </Unit67>
     655      <Unit68>
     656        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericDictionary.inc"/>
     657        <EditorIndex Value="1"/>
     658        <WindowIndex Value="0"/>
     659        <TopLine Value="69"/>
     660        <CursorPos X="4" Y="41"/>
     661        <UsageCount Value="10"/>
     662        <Loaded Value="True"/>
     663      </Unit68>
     664      <Unit69>
     665        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericQueue.inc"/>
     666        <EditorIndex Value="4"/>
     667        <WindowIndex Value="0"/>
     668        <TopLine Value="1"/>
     669        <CursorPos X="8" Y="30"/>
     670        <UsageCount Value="10"/>
     671        <Loaded Value="True"/>
     672      </Unit69>
     673      <Unit70>
     674        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericSet.inc"/>
     675        <EditorIndex Value="5"/>
     676        <WindowIndex Value="0"/>
     677        <TopLine Value="12"/>
     678        <CursorPos X="8" Y="28"/>
     679        <UsageCount Value="10"/>
     680        <Loaded Value="True"/>
     681      </Unit70>
     682      <Unit71>
     683        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericStack.inc"/>
     684        <EditorIndex Value="6"/>
     685        <WindowIndex Value="0"/>
     686        <TopLine Value="31"/>
     687        <CursorPos X="4" Y="42"/>
     688        <UsageCount Value="10"/>
     689        <Loaded Value="True"/>
     690      </Unit71>
     691      <Unit72>
     692        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericTree.inc"/>
     693        <EditorIndex Value="7"/>
     694        <WindowIndex Value="0"/>
     695        <TopLine Value="27"/>
     696        <CursorPos X="4" Y="47"/>
     697        <UsageCount Value="10"/>
     698        <Loaded Value="True"/>
     699      </Unit72>
     700      <Unit73>
     701        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedList.pas"/>
     702        <UnitName Value="SpecializedList"/>
     703        <EditorIndex Value="8"/>
     704        <WindowIndex Value="0"/>
     705        <TopLine Value="166"/>
     706        <CursorPos X="6" Y="203"/>
     707        <UsageCount Value="10"/>
     708        <Loaded Value="True"/>
     709      </Unit73>
     710      <Unit74>
     711        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedDictionary.pas"/>
     712        <UnitName Value="SpecializedDictionary"/>
     713        <EditorIndex Value="9"/>
     714        <WindowIndex Value="0"/>
     715        <TopLine Value="2"/>
     716        <CursorPos X="6" Y="39"/>
     717        <UsageCount Value="10"/>
     718        <Loaded Value="True"/>
     719      </Unit74>
     720      <Unit75>
     721        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedStack.pas"/>
     722        <UnitName Value="SpecializedStack"/>
     723        <EditorIndex Value="10"/>
     724        <WindowIndex Value="0"/>
     725        <TopLine Value="21"/>
     726        <CursorPos X="6" Y="57"/>
     727        <UsageCount Value="10"/>
     728        <Loaded Value="True"/>
     729      </Unit75>
     730      <Unit76>
     731        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedTree.pas"/>
     732        <UnitName Value="SpecializedTree"/>
     733        <EditorIndex Value="11"/>
     734        <WindowIndex Value="0"/>
     735        <TopLine Value="46"/>
     736        <CursorPos X="6" Y="83"/>
     737        <UsageCount Value="10"/>
     738        <Loaded Value="True"/>
     739      </Unit76>
     740      <Unit77>
     741        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedQueue.pas"/>
     742        <UnitName Value="SpecializedQueue"/>
     743        <EditorIndex Value="12"/>
     744        <WindowIndex Value="0"/>
     745        <TopLine Value="41"/>
     746        <CursorPos X="6" Y="78"/>
     747        <UsageCount Value="10"/>
     748        <Loaded Value="True"/>
     749      </Unit77>
     750      <Unit78>
     751        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedSet.pas"/>
     752        <UnitName Value="SpecializedSet"/>
     753        <EditorIndex Value="13"/>
     754        <WindowIndex Value="0"/>
     755        <TopLine Value="21"/>
     756        <CursorPos X="23" Y="32"/>
     757        <UsageCount Value="10"/>
     758        <Loaded Value="True"/>
     759      </Unit78>
    606760    </Units>
    607     <JumpHistory Count="30" HistoryIndex="29">
     761    <JumpHistory Count="30" HistoryIndex="28">
    608762      <Position1>
    609         <Filename Value="Forms\UMainForm.pas"/>
    610         <Caret Line="129" Column="1" TopLine="109"/>
     763        <Filename Value="Compiler\USourceCode.pas"/>
     764        <Caret Line="63" Column="1" TopLine="44"/>
    611765      </Position1>
    612766      <Position2>
    613         <Filename Value="Forms\UMainForm.pas"/>
    614         <Caret Line="130" Column="1" TopLine="109"/>
     767        <Filename Value="Compiler\USourceCode.pas"/>
     768        <Caret Line="494" Column="34" TopLine="458"/>
    615769      </Position2>
    616770      <Position3>
    617         <Filename Value="Forms\UMainForm.pas"/>
    618         <Caret Line="131" Column="1" TopLine="109"/>
     771        <Filename Value="Compiler\USourceCode.pas"/>
     772        <Caret Line="478" Column="31" TopLine="460"/>
    619773      </Position3>
    620774      <Position4>
    621         <Filename Value="Forms\UMainForm.pas"/>
    622         <Caret Line="132" Column="1" TopLine="109"/>
     775        <Filename Value="Compiler\USourceCode.pas"/>
     776        <Caret Line="472" Column="42" TopLine="306"/>
    623777      </Position4>
    624778      <Position5>
    625         <Filename Value="Forms\UMainForm.pas"/>
    626         <Caret Line="134" Column="1" TopLine="109"/>
     779        <Filename Value="Compiler\USourceCode.pas"/>
     780        <Caret Line="468" Column="46" TopLine="460"/>
    627781      </Position5>
    628782      <Position6>
    629         <Filename Value="Forms\UMainForm.pas"/>
    630         <Caret Line="135" Column="1" TopLine="109"/>
     783        <Filename Value="Compiler\USourceCode.pas"/>
     784        <Caret Line="890" Column="36" TopLine="871"/>
    631785      </Position6>
    632786      <Position7>
    633         <Filename Value="Forms\UMainForm.pas"/>
    634         <Caret Line="136" Column="1" TopLine="109"/>
     787        <Filename Value="Compiler\USourceCode.pas"/>
     788        <Caret Line="917" Column="41" TopLine="898"/>
    635789      </Position7>
    636790      <Position8>
    637         <Filename Value="Forms\UMainForm.pas"/>
    638         <Caret Line="138" Column="1" TopLine="120"/>
     791        <Filename Value="Compiler\USourceCode.pas"/>
     792        <Caret Line="1051" Column="25" TopLine="1032"/>
    639793      </Position8>
    640794      <Position9>
    641795        <Filename Value="Forms\UMainForm.pas"/>
    642         <Caret Line="139" Column="1" TopLine="120"/>
     796        <Caret Line="30" Column="51" TopLine="1"/>
    643797      </Position9>
    644798      <Position10>
    645         <Filename Value="Forms\UMainForm.pas"/>
    646         <Caret Line="140" Column="1" TopLine="120"/>
     799        <Filename Value="UProject.pas"/>
     800        <Caret Line="62" Column="58" TopLine="51"/>
    647801      </Position10>
    648802      <Position11>
    649         <Filename Value="Forms\UMainForm.pas"/>
    650         <Caret Line="141" Column="1" TopLine="120"/>
     803        <Filename Value="UProject.pas"/>
     804        <Caret Line="8" Column="22" TopLine="1"/>
    651805      </Position11>
    652806      <Position12>
    653         <Filename Value="Forms\UMainForm.pas"/>
    654         <Caret Line="143" Column="1" TopLine="120"/>
     807        <Filename Value="UProject.pas"/>
     808        <Caret Line="78" Column="1" TopLine="62"/>
    655809      </Position12>
    656810      <Position13>
    657         <Filename Value="Forms\UMainForm.pas"/>
    658         <Caret Line="144" Column="1" TopLine="120"/>
     811        <Filename Value="UProject.pas"/>
     812        <Caret Line="10" Column="67" TopLine="1"/>
    659813      </Position13>
    660814      <Position14>
    661         <Filename Value="Forms\UMainForm.pas"/>
    662         <Caret Line="146" Column="1" TopLine="130"/>
     815        <Filename Value="UProject.pas"/>
     816        <Caret Line="4" Column="8" TopLine="1"/>
    663817      </Position14>
    664818      <Position15>
    665         <Filename Value="Forms\UMainForm.pas"/>
    666         <Caret Line="147" Column="1" TopLine="130"/>
     819        <Filename Value="Compiler\USourceCode.pas"/>
     820        <Caret Line="192" Column="74" TopLine="177"/>
    667821      </Position15>
    668822      <Position16>
    669         <Filename Value="Forms\UMainForm.pas"/>
    670         <Caret Line="149" Column="1" TopLine="130"/>
     823        <Filename Value="Compiler\USourceCode.pas"/>
     824        <Caret Line="62" Column="43" TopLine="47"/>
    671825      </Position16>
    672826      <Position17>
    673         <Filename Value="Forms\UMainForm.pas"/>
    674         <Caret Line="150" Column="1" TopLine="130"/>
     827        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Specialized\SpecializedList.pas"/>
     828        <Caret Line="20" Column="6" TopLine="1"/>
    675829      </Position17>
    676830      <Position18>
    677         <Filename Value="Forms\UMainForm.pas"/>
    678         <Caret Line="152" Column="1" TopLine="130"/>
     831        <Filename Value="Compiler\USourceCode.pas"/>
     832        <Caret Line="66" Column="4" TopLine="47"/>
    679833      </Position18>
    680834      <Position19>
    681         <Filename Value="Forms\UMainForm.pas"/>
    682         <Caret Line="154" Column="1" TopLine="140"/>
     835        <Filename Value="Compiler\USourceCode.pas"/>
     836        <Caret Line="36" Column="38" TopLine="23"/>
    683837      </Position19>
    684838      <Position20>
    685         <Filename Value="Forms\UMainForm.pas"/>
    686         <Caret Line="155" Column="1" TopLine="140"/>
     839        <Filename Value="Compiler\USourceCode.pas"/>
     840        <Caret Line="241" Column="6" TopLine="222"/>
    687841      </Position20>
    688842      <Position21>
    689         <Filename Value="Forms\UMainForm.pas"/>
    690         <Caret Line="156" Column="1" TopLine="140"/>
     843        <Filename Value="Compiler\USourceCode.pas"/>
     844        <Caret Line="273" Column="6" TopLine="254"/>
    691845      </Position21>
    692846      <Position22>
    693         <Filename Value="Forms\UMainForm.pas"/>
    694         <Caret Line="153" Column="3" TopLine="125"/>
     847        <Filename Value="Compiler\USourceCode.pas"/>
     848        <Caret Line="296" Column="8" TopLine="277"/>
    695849      </Position22>
    696850      <Position23>
    697         <Filename Value="Forms\UMainForm.pas"/>
    698         <Caret Line="252" Column="1" TopLine="235"/>
     851        <Filename Value="Compiler\USourceCode.pas"/>
     852        <Caret Line="315" Column="8" TopLine="296"/>
    699853      </Position23>
    700854      <Position24>
    701         <Filename Value="Forms\UMainForm.pas"/>
    702         <Caret Line="143" Column="1" TopLine="123"/>
     855        <Filename Value="Compiler\USourceCode.pas"/>
     856        <Caret Line="365" Column="8" TopLine="346"/>
    703857      </Position24>
    704858      <Position25>
    705         <Filename Value="Forms\UMainForm.pas"/>
    706         <Caret Line="154" Column="3" TopLine="123"/>
     859        <Filename Value="Compiler\USourceCode.pas"/>
     860        <Caret Line="388" Column="8" TopLine="369"/>
    707861      </Position25>
    708862      <Position26>
    709         <Filename Value="Forms\UMainForm.pas"/>
    710         <Caret Line="155" Column="5" TopLine="123"/>
     863        <Filename Value="Compiler\USourceCode.pas"/>
     864        <Caret Line="439" Column="8" TopLine="420"/>
    711865      </Position26>
    712866      <Position27>
    713         <Filename Value="Forms\UMainForm.pas"/>
    714         <Caret Line="152" Column="54" TopLine="123"/>
     867        <Filename Value="Compiler\USourceCode.pas"/>
     868        <Caret Line="468" Column="6" TopLine="449"/>
    715869      </Position27>
    716870      <Position28>
    717         <Filename Value="..\..\..\PascalClassLibrary\Docking\CoolDocking\UCoolDocking.pas"/>
    718         <Caret Line="155" Column="67" TopLine="138"/>
     871        <Filename Value="Compiler\USourceCode.pas"/>
     872        <Caret Line="627" Column="35" TopLine="599"/>
    719873      </Position28>
    720874      <Position29>
    721         <Filename Value="..\..\..\PascalClassLibrary\Docking\CoolDocking\UCoolDocking.pas"/>
    722         <Caret Line="731" Column="17" TopLine="714"/>
     875        <Filename Value="Compiler\USourceCode.pas"/>
     876        <Caret Line="730" Column="45" TopLine="711"/>
    723877      </Position29>
    724878      <Position30>
    725         <Filename Value="..\..\..\PascalClassLibrary\Docking\CoolDocking\UCoolDocking.pas"/>
    726         <Caret Line="828" Column="19" TopLine="814"/>
     879        <Filename Value="..\..\..\PascalClassLibrary\Generics\TemplateGenerics\Generic\GenericObjectList.inc"/>
     880        <Caret Line="13" Column="40" TopLine="1"/>
    727881      </Position30>
    728882    </JumpHistory>
     
    732886    <PathDelim Value="\"/>
    733887    <SearchPaths>
    734       <OtherUnitFiles Value="Forms;Common"/>
     888      <OtherUnitFiles Value="Forms\;Common\"/>
    735889      <UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
    736890    </SearchPaths>
     
    765919    <Other>
    766920      <CompilerMessages>
     921        <IgnoredMessages idx5023="True" idx5024="True" idx5025="True" idx5028="True" idx5029="True" idx5031="True"/>
    767922        <UseMsgFile Value="True"/>
    768923      </CompilerMessages>
  • branches/Transpascal/Transpascal.lpr

    r82 r83  
    77  cthreads,
    88  {$ENDIF}{$ENDIF}
    9   Forms, CoolDocking, TemplateGenerics, Interfaces, SysUtils,
     9  Forms, CoolDocking, Interfaces, SysUtils,
    1010  UMainForm in 'UMainForm.pas' {MainForm},
    1111  UTextSource in 'UTextSource.pas', UProject, UApplicationInfo, URegistry,
    1212  ULastOpenedList, UDebugLog, TranspascalCompiler, UProjectManager, UCodeForm,
    13   UMessagesForm, UCompiledForm, UCodeTreeForm;
     13  UMessagesForm, UCompiledForm, UCodeTreeForm, TemplateGenerics;
    1414
    1515{$R *.res}
  • branches/Transpascal/UProject.pas

    r82 r83  
    22
    33{$mode objfpc}{$H+}
     4{$MACRO ON}
    45
    56interface
    67
    78uses
    8   Classes, SysUtils, ListObject, Dialogs, DOM, XMLWrite, XMLRead, FileUtil;
     9  Classes, SysUtils, Dialogs, DOM, XMLWrite, XMLRead, FileUtil;
    910
    1011type
     
    2223  end;
    2324
     25
     26  // TListProjectNode = TGObjectList<Integer, TProjectNode>
     27  {$DEFINE TGObjectListIndex := Integer}
     28  {$DEFINE TGObjectListItem := TProjectNode}
     29  {$DEFINE TGObjectListList := TObjectListProjectNode}
     30  {$DEFINE TGObjectList := TListProjectNode}
     31  {$DEFINE TGObjectListSortCompare := TObjectListSortCompareProjectNode}
     32  {$DEFINE TGObjectListStringConverter := TObjectListStringConverterProjectNode}
     33  {$DEFINE INTERFACE}
     34  {$I 'GenericObjectList.inc'}
     35
    2436  { TProjectFile }
    2537
     
    3749
    3850  TProjectGroup = class(TProjectNode)
    39     Items: TListObject;
     51    Items: TListProjectNode;
    4052    constructor Create;
    4153    destructor Destroy; override;
     
    6173implementation
    6274
     75
     76{$DEFINE IMPLEMENTATION_USES}
     77{$INCLUDE 'GenericObjectList.inc'}
     78
     79// TListProjectNode = TGObjectList<Integer, TProjectNode>
     80{$DEFINE TGObjectListIndex := Integer}
     81{$DEFINE TGObjectListItem := TProjectNode}
     82{$DEFINE TGObjectListList := TObjectListProjectNode}
     83{$DEFINE TGObjectList := TListProjectNode}
     84{$DEFINE TGObjectListSortCompare := TObjectListSortCompareProjectNode}
     85{$DEFINE TGObjectListStringConverter := TObjectListStringConverterProjectNode}
     86{$DEFINE IMPLEMENTATION}
     87{$INCLUDE 'GenericObjectList.inc'}
     88
    6389{ TProjectGroup }
    6490
     
    6692begin
    6793  inherited;
    68   Items := TListObject.Create;
     94  Items := TListProjectNode.Create;
    6995end;
    7096
Note: See TracChangeset for help on using the changeset viewer.