Converter: Refactor adding replacements.

git-svn-id: trunk@25965 -
This commit is contained in:
juha 2010-06-08 12:53:44 +00:00
parent da2baa6f2b
commit 9a1b70b22a

View File

@ -176,6 +176,15 @@ begin
end; end;
constructor TConvertSettings.Create(const ATitle: string); constructor TConvertSettings.Create(const ATitle: string);
var
TheMap: TStringToStringTree;
procedure MapReplacement(ADelphi, ALCL: string);
begin
if not TheMap.Contains(ADelphi) then
TheMap[ADelphi]:=ALCL;
end;
begin begin
fTitle:=ATitle; fTitle:=ATitle;
fMainFilename:=''; fMainFilename:='';
@ -194,48 +203,31 @@ begin
// Add default values for string maps if ConfigStorage doesn't have them. // Add default values for string maps if ConfigStorage doesn't have them.
// Map Delphi units to Lazarus units. // Map Delphi units to Lazarus units.
if not fReplaceUnits.Contains('Windows') then TheMap:=fReplaceUnits;
fReplaceUnits['Windows']:='LCLIntf, LCLType, LMessages'; MapReplacement('Windows', 'LCLIntf, LCLType, LMessages');
if not fReplaceUnits.Contains('Mask') then MapReplacement('Mask', 'MaskEdit');
fReplaceUnits['Mask']:='MaskEdit'; MapReplacement('Variants', '');
if not fReplaceUnits.Contains('Variants') then MapReplacement('ShellApi', '');
fReplaceUnits['Variants']:=''; MapReplacement('pngImage', '');
if not fReplaceUnits.Contains('ShellApi') then MapReplacement('Jpeg', '');
fReplaceUnits['ShellApi']:=''; MapReplacement('gifimage', '');
if not fReplaceUnits.Contains('pngImage') then MapReplacement('^Q(.+)', '$1'); // Kylix unit names.
fReplaceUnits['pngImage']:=''; MapReplacement('^Tnt(.+)', '$1'); // Tnt* third party components.
if not fReplaceUnits.Contains('Jpeg') then
fReplaceUnits['Jpeg']:='';
if not fReplaceUnits.Contains('gifimage') then
fReplaceUnits['gifimage']:='';
if not fReplaceUnits.Contains('^Q(.+)') then
fReplaceUnits['^Q(.+)']:='$1'; // Kylix unit names.
if not fReplaceUnits.Contains('^Tnt(.+)') then
fReplaceUnits['^Tnt(.+)']:='$1'; // Tnt* third party components.
// Map Delphi types to LCL types. // Map Delphi types to LCL types.
if not fReplaceTypes.Contains('TFlowPanel') then TheMap:=fReplaceTypes;
fReplaceTypes['TFlowPanel']:='TPanel'; MapReplacement('TFlowPanel', 'TPanel');
if not fReplaceTypes.Contains('TGridPanel') then MapReplacement('TGridPanel', 'TPanel');
fReplaceTypes['TGridPanel']:='TPanel'; MapReplacement('TControlBar', 'TToolBar');
if not fReplaceTypes.Contains('TControlBar') then MapReplacement('TCoolBar', 'TToolBar');
fReplaceTypes['TControlBar']:='TToolBar'; MapReplacement('TComboBoxEx', 'TComboBox');
if not fReplaceTypes.Contains('TCoolBar') then MapReplacement('TValueListEditor', 'TStringGrid');
fReplaceTypes['TCoolBar']:='TToolBar'; MapReplacement('TRichEdit', 'TMemo');
if not fReplaceTypes.Contains('TComboBoxEx') then MapReplacement('TDBRichEdit', 'TDBMemo');
fReplaceTypes['TComboBoxEx']:='TComboBox'; MapReplacement('TApplicationEvents','TApplicationProperties');
if not fReplaceTypes.Contains('TValueListEditor') then MapReplacement('TPNGObject', 'TPortableNetworkGraphic');
fReplaceTypes['TValueListEditor']:='TStringGrid'; MapReplacement('TCxEdit', 'TEdit');
if not fReplaceTypes.Contains('TRichEdit') then MapReplacement('^TTnt(.+)', 'T$1');
fReplaceTypes['TRichEdit']:='TMemo';
if not fReplaceTypes.Contains('TDBRichEdit') then
fReplaceTypes['TDBRichEdit']:='TDBMemo';
if not fReplaceTypes.Contains('TApplicationEvents') then
fReplaceTypes['TApplicationEvents']:='TApplicationProperties';
if not fReplaceTypes.Contains('TPNGObject') then
fReplaceTypes['TPNGObject']:='TPortableNetworkGraphic';
if not fReplaceTypes.Contains('^TTnt(.+)') then
fReplaceTypes['^TTnt(.+)']:='T$1';
end; end;
destructor TConvertSettings.Destroy; destructor TConvertSettings.Destroy;