mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-19 05:30:59 +02:00
h2paswizard: implemented merging multiple C header files into one unit
git-svn-id: trunk@10781 -
This commit is contained in:
parent
bb7d1e7f50
commit
14b348460c
@ -151,20 +151,29 @@ type
|
||||
function Execute(aText: TIDETextConverter): TModalResult; override;
|
||||
end;
|
||||
|
||||
TH2PasFile = class;
|
||||
|
||||
{ TH2PasFileCInclude }
|
||||
|
||||
TH2PasFileCInclude = class
|
||||
private
|
||||
FFilename: string;
|
||||
FH2PasFile: TH2PasFile;
|
||||
FOwner: TH2PasFile;
|
||||
FSrcFilename: string;
|
||||
FSrcPos: TPoint;
|
||||
procedure SetFilename(const AValue: string);
|
||||
procedure SetH2PasFile(const AValue: TH2PasFile);
|
||||
procedure SetSrcFilename(const AValue: string);
|
||||
procedure SetSrcPos(const AValue: TPoint);
|
||||
public
|
||||
constructor Create(TheOwner: TH2PasFile);
|
||||
destructor Destroy; override;
|
||||
property Owner: TH2PasFile read FOwner;
|
||||
property SrcFilename: string read FSrcFilename write SetSrcFilename;
|
||||
property SrcPos: TPoint read FSrcPos write SetSrcPos;
|
||||
property Filename: string read FFilename write SetFilename;
|
||||
property H2PasFile: TH2PasFile read FH2PasFile write SetH2PasFile;
|
||||
end;
|
||||
|
||||
TH2PasProject = class;
|
||||
@ -177,21 +186,30 @@ type
|
||||
FCIncludes: TFPList; // list of TH2PasFileCInclude
|
||||
FCIncludesValid: boolean;
|
||||
FCIncludesFileAge: TDateTime;
|
||||
FCIncludedBy: TFPList; // list of TH2PasFileCInclude
|
||||
FEnabled: boolean;
|
||||
FFilename: string;
|
||||
FMerge: boolean;
|
||||
FModified: boolean;
|
||||
FProject: TH2PasProject;
|
||||
function GetCIncludeCount: integer;
|
||||
function GetCIncludedBy(Index: integer): TH2PasFileCInclude;
|
||||
function GetCIncludedByCount: integer;
|
||||
function GetCIncludes(Index: integer): TH2PasFileCInclude;
|
||||
procedure SetEnabled(const AValue: boolean);
|
||||
procedure SetFilename(const AValue: string);
|
||||
procedure SetMerge(const AValue: boolean);
|
||||
procedure SetModified(const AValue: boolean);
|
||||
procedure SetProject(const AValue: TH2PasProject);
|
||||
procedure SearchCIncFilenames;
|
||||
procedure InternalAddCIncludedBy(CIncludedBy: TH2PasFileCInclude);
|
||||
procedure InternalRemoveCIncludedBy(CIncludedBy: TH2PasFileCInclude);
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure Clear;
|
||||
procedure ClearIncludedByReferences;
|
||||
procedure ClearCIncludes;
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
function IsEqual(AFile: TH2PasFile): boolean;
|
||||
procedure Load(Config: TConfigStorage);
|
||||
@ -202,6 +220,7 @@ type
|
||||
function GetH2PasParameters(const InputFilename: string = ''): string;
|
||||
function ReadCIncludes(ForceUpdate: boolean): TModalResult;
|
||||
function CIncludesValid: boolean;
|
||||
function FindCIncludedByWithOwner(ByOwner: TH2PasFile): TH2PasFileCInclude;
|
||||
public
|
||||
property Project: TH2PasProject read FProject write SetProject;
|
||||
property Filename: string read FFilename write SetFilename;
|
||||
@ -209,6 +228,9 @@ type
|
||||
property Modified: boolean read FModified write SetModified;
|
||||
property CIncludeCount: integer read GetCIncludeCount;
|
||||
property CIncludes[Index: integer]: TH2PasFileCInclude read GetCIncludes;
|
||||
property CIncludedByCount: integer read GetCIncludedByCount;
|
||||
property CIncludedBy[Index: integer]: TH2PasFileCInclude read GetCIncludedBy;
|
||||
property Merge: boolean read FMerge write SetMerge;
|
||||
end;
|
||||
|
||||
{ TH2PasProject }
|
||||
@ -291,6 +313,7 @@ type
|
||||
procedure AddDefaultPostH2PasTools;
|
||||
function SearchIncludedCHeaderFile(aFile: TH2PasFile;
|
||||
const SrcFilename: string): string;
|
||||
function ReadAllCIncludes(ForceUpdate: boolean): TModalResult;
|
||||
public
|
||||
property CHeaderFileCount: integer read GetCHeaderFileCount;
|
||||
property CHeaderFiles[Index: integer]: TH2PasFile read GetCHeaderFiles;
|
||||
@ -369,6 +392,9 @@ type
|
||||
procedure SaveProject(const Filename: string);
|
||||
function Execute: TModalResult;
|
||||
function ConvertFile(AFile: TH2PasFile): TModalResult;
|
||||
function CheckMergeDependencies: TModalResult;
|
||||
function MergeIncludeFiles(AFile: TH2PasFile;
|
||||
TextConverter: TIDETextConverter): TModalResult;
|
||||
function GetH2PasFilename: string;
|
||||
function FindH2PasErrorMessage: integer;
|
||||
function GetH2PasErrorPostion(const Line: string;
|
||||
@ -404,6 +430,13 @@ begin
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.SetMerge(const AValue: boolean);
|
||||
begin
|
||||
if FMerge=AValue then exit;
|
||||
FMerge:=AValue;
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.SetEnabled(const AValue: boolean);
|
||||
begin
|
||||
if FEnabled=AValue then exit;
|
||||
@ -419,6 +452,19 @@ begin
|
||||
Result:=FCIncludes.Count;
|
||||
end;
|
||||
|
||||
function TH2PasFile.GetCIncludedBy(Index: integer): TH2PasFileCInclude;
|
||||
begin
|
||||
Result:=TH2PasFileCInclude(FCIncludedBy[Index]);
|
||||
end;
|
||||
|
||||
function TH2PasFile.GetCIncludedByCount: integer;
|
||||
begin
|
||||
if (FCIncludedBy=nil) then
|
||||
Result:=0
|
||||
else
|
||||
Result:=FCIncludedBy.Count;
|
||||
end;
|
||||
|
||||
function TH2PasFile.GetCIncludes(Index: integer): TH2PasFileCInclude;
|
||||
begin
|
||||
Result:=TH2PasFileCInclude(FCIncludes[Index]);
|
||||
@ -456,10 +502,26 @@ begin
|
||||
for i:=0 to FCIncludes.Count-1 do begin
|
||||
IncFile:=CIncludes[i];
|
||||
IncFile.Filename:=
|
||||
Project.SearchIncludedCHeaderFile(Self,IncFile.SrcFilename);
|
||||
Project.SearchIncludedCHeaderFile(Self,IncFile.SrcFilename);
|
||||
IncFile.H2PasFile:=Project.CHeaderFileWithFilename(IncFile.Filename);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.InternalAddCIncludedBy(CIncludedBy: TH2PasFileCInclude);
|
||||
begin
|
||||
if FCIncludedBy=nil then
|
||||
FCIncludedBy:=TFPList.Create;
|
||||
FCIncludedBy.Add(CIncludedBy);
|
||||
//DebugLn(['TH2PasFile.InternalAddCIncludedBy ',Filename,' included by ',CIncludedBy.Filename]);
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.InternalRemoveCIncludedBy(CIncludedBy: TH2PasFileCInclude
|
||||
);
|
||||
begin
|
||||
if FCIncludedBy=nil then exit;
|
||||
FCIncludedBy.Remove(CIncludedBy);
|
||||
end;
|
||||
|
||||
constructor TH2PasFile.Create;
|
||||
begin
|
||||
Clear;
|
||||
@ -471,6 +533,7 @@ begin
|
||||
Project:=nil;
|
||||
end;
|
||||
Clear;
|
||||
ClearIncludedByReferences;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
@ -479,8 +542,37 @@ begin
|
||||
FEnabled:=true;
|
||||
FFilename:='';
|
||||
FModified:=false;
|
||||
FMerge:=false;
|
||||
ClearCIncludes;
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.ClearIncludedByReferences;
|
||||
var
|
||||
i: Integer;
|
||||
IncFile: TH2PasFileCInclude;
|
||||
begin
|
||||
if FCIncludedBy=nil then exit;
|
||||
for i:=FCIncludedBy.Count-1 downto 0 do begin
|
||||
IncFile:=TH2PasFileCInclude(FCIncludedBy[i]);
|
||||
if IncFile=nil then continue;
|
||||
IncFile.FH2PasFile:=nil;
|
||||
end;
|
||||
FCIncludedBy.Clear;
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.ClearCIncludes;
|
||||
var
|
||||
i: Integer;
|
||||
IncFile: TH2PasFileCInclude;
|
||||
begin
|
||||
FCIncludesValid:=false;
|
||||
FreeAndNil(FCIncludes);
|
||||
if FCIncludes<>nil then begin
|
||||
for i:=0 to FCIncludes.Count-1 do begin
|
||||
IncFile:=TH2PasFileCInclude(FCIncludes[i]);
|
||||
IncFile.Free;
|
||||
end;
|
||||
FreeAndNil(FCIncludes);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.Assign(Source: TPersistent);
|
||||
@ -509,6 +601,7 @@ end;
|
||||
procedure TH2PasFile.Load(Config: TConfigStorage);
|
||||
begin
|
||||
FEnabled:=Config.GetValue('Enabled/Value',true);
|
||||
FMerge:=Config.GetValue('Merge/Value',false);
|
||||
FFilename:=Config.GetValue('Filename/Value','');
|
||||
if Project<>nil then
|
||||
FFilename:=Project.NormalizeFilename(FFilename);
|
||||
@ -521,6 +614,7 @@ var
|
||||
AFilename: String;
|
||||
begin
|
||||
Config.SetDeleteValue('Enabled/Value',Enabled,true);
|
||||
Config.SetDeleteValue('Merge/Value',Merge,true);
|
||||
AFilename:=FFilename;
|
||||
if Project<>nil then
|
||||
AFilename:=Project.ShortenFilename(AFilename);
|
||||
@ -590,9 +684,10 @@ begin
|
||||
if (not ForceUpdate) and CIncludesValid then exit(mrOk);
|
||||
Result:=mrCancel;
|
||||
if not FileExistsCached(Filename) then exit;
|
||||
ClearCIncludes;
|
||||
FCIncludesFileAge:=FileAge(Filename);
|
||||
FCIncludesValid:=true;
|
||||
DebugLn(['TH2PasFile.ReadCIncludes Filename="',Filename,'"']);
|
||||
//DebugLn(['TH2PasFile.ReadCIncludes Filename="',Filename,'"']);
|
||||
try
|
||||
sl:=TStringList.Create;
|
||||
try
|
||||
@ -603,9 +698,10 @@ begin
|
||||
if SrcFilename='' then continue;
|
||||
// add new include
|
||||
if FCIncludes=nil then FCIncludes:=TFPList.Create;
|
||||
Item:=TH2PasFileCInclude.Create;
|
||||
Item:=TH2PasFileCInclude.Create(Self);
|
||||
Item.SrcFilename:=SrcFilename;
|
||||
Item.SrcPos:=Point(1,i);
|
||||
//DebugLn(['TH2PasFile.ReadCIncludes Self=',Filename,' include=',SrcFilename,' ',dbgs(Item.SrcPos)]);
|
||||
FCIncludes.Add(Item);
|
||||
end;
|
||||
finally
|
||||
@ -632,6 +728,20 @@ begin
|
||||
Result:=true;
|
||||
end;
|
||||
|
||||
function TH2PasFile.FindCIncludedByWithOwner(ByOwner: TH2PasFile
|
||||
): TH2PasFileCInclude;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
if FCIncludedBy<>nil then begin
|
||||
for i:=0 to CIncludedByCount-1 do begin
|
||||
Result:=CIncludedBy[i];
|
||||
if Result.Owner=ByOwner then exit;
|
||||
end;
|
||||
end;
|
||||
Result:=nil;
|
||||
end;
|
||||
|
||||
{ TH2PasProject }
|
||||
|
||||
function TH2PasProject.GetCHeaderFileCount: integer;
|
||||
@ -1261,6 +1371,17 @@ begin
|
||||
Result:='';
|
||||
end;
|
||||
|
||||
function TH2PasProject.ReadAllCIncludes(ForceUpdate: boolean): TModalResult;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
for i:=0 to CHeaderFileCount-1 do begin
|
||||
Result:=CHeaderFiles[i].ReadCIncludes(ForceUpdate);
|
||||
if Result=mrAbort then exit;
|
||||
end;
|
||||
Result:=mrOk;
|
||||
end;
|
||||
|
||||
{ TH2PasConverter }
|
||||
|
||||
procedure TH2PasConverter.OnParseH2PasLine(Sender: TObject;
|
||||
@ -1480,10 +1601,18 @@ begin
|
||||
FExecuting:=true;
|
||||
try
|
||||
FLastUsedFilename:='';
|
||||
|
||||
CurResult:=CheckMergeDependencies;
|
||||
if CurResult=mrAbort then begin
|
||||
DebugLn(['TH2PasConverter.Execute aborted because merging not possible']);
|
||||
exit(mrAbort);
|
||||
end;
|
||||
|
||||
// convert every c header file
|
||||
for i:=0 to Project.CHeaderFileCount-1 do begin
|
||||
AFile:=Project.CHeaderFiles[i];
|
||||
if not AFile.Enabled then continue;
|
||||
if AFile.Merge then continue;
|
||||
CurResult:=ConvertFile(AFile);
|
||||
if CurResult=mrAbort then begin
|
||||
DebugLn(['TH2PasConverter.Execute aborted on file ',AFile.Filename]);
|
||||
@ -1506,7 +1635,7 @@ var
|
||||
begin
|
||||
Result:=mrCancel;
|
||||
FLastUsedFilename:='';
|
||||
|
||||
|
||||
// check if file exists
|
||||
InputFilename:=AFile.Filename;
|
||||
if not FileExistsCached(InputFilename) then begin
|
||||
@ -1527,13 +1656,20 @@ begin
|
||||
mtError,[mbCancel,mbAbort],'');
|
||||
exit;
|
||||
end;
|
||||
|
||||
|
||||
TextConverter.Filename:=TempCHeaderFilename;
|
||||
FLastUsedFilename:=TextConverter.Filename;
|
||||
DebugLn(['TH2PasConverter.ConvertFile TempCHeaderFilename="',TempCHeaderFilename,'" CurrentType=',ord(TextConverter.CurrentType),' FileSize=',FileSize(TempCHeaderFilename)]);
|
||||
|
||||
// merge files
|
||||
TextConverter.LoadFromFile(InputFilename);
|
||||
Result:=MergeIncludeFiles(AFile,TextConverter);
|
||||
if Result<>mrOk then begin
|
||||
DebugLn(['TH2PasConverter.ConvertFile Failed merging include files in ',TempCHeaderFilename]);
|
||||
exit;
|
||||
end;
|
||||
|
||||
// run converters for .h file to make it compatible for h2pas
|
||||
TextConverter.LoadFromFile(InputFilename);
|
||||
Result:=TextConverter.Execute(Project.PreH2PasTools);
|
||||
if Result<>mrOk then begin
|
||||
DebugLn(['TH2PasConverter.ConvertFile Failed running Project.PreH2PasTools on ',TempCHeaderFilename]);
|
||||
@ -1587,6 +1723,141 @@ begin
|
||||
Result:=mrOk;
|
||||
end;
|
||||
|
||||
function TH2PasConverter.CheckMergeDependencies: TModalResult;
|
||||
var
|
||||
CheckedFiles: TFPList;
|
||||
|
||||
procedure AddIncludedByFiles(IncludedByFiles: TFPList; CurFile: TH2PasFile);
|
||||
var
|
||||
i: Integer;
|
||||
IncludedBy: TH2PasFile;
|
||||
begin
|
||||
if CheckedFiles.IndexOf(CurFile)>=0 then exit;
|
||||
CheckedFiles.Add(CurFile);
|
||||
for i:=0 to CurFile.CIncludedByCount-1 do begin
|
||||
IncludedBy:=CurFile.CIncludedBy[i].Owner;
|
||||
if IncludedBy.Merge then
|
||||
AddIncludedByFiles(IncludedByFiles,IncludedBy)
|
||||
else
|
||||
if IncludedByFiles.IndexOf(IncludedBy)<0 then
|
||||
IncludedByFiles.Add(IncludedBy);
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
i: Integer;
|
||||
CurFile: TH2PasFile;
|
||||
j: Integer;
|
||||
IncludedByFiles: TFPList;
|
||||
Warning: String;
|
||||
begin
|
||||
// update graph
|
||||
Result:=Project.ReadAllCIncludes(true);
|
||||
if Result=mrAbort then begin
|
||||
DebugLn(['TH2PasConverter.CheckMergeDependencies aborted reading all include dependencies']);
|
||||
exit;
|
||||
end;
|
||||
|
||||
Warning:='';
|
||||
for i:=0 to Project.CHeaderFileCount-1 do begin
|
||||
CurFile:=Project.CHeaderFiles[i];
|
||||
if CurFile.Merge then begin
|
||||
// this file should be merged
|
||||
// -> check if it is included only once
|
||||
IncludedByFiles:=TFPList.Create;
|
||||
CheckedFiles:=TFPList.Create;
|
||||
AddIncludedByFiles(IncludedByFiles,CurFile);
|
||||
if IncludedByFiles.Count>1 then begin
|
||||
// this merged file is included by more than unit
|
||||
Warning:=Warning
|
||||
+'Warning: the file "'+Project.ShortenFilename(CurFile.Filename)+'"'#13
|
||||
+'will be merged into multiple files:'#13;
|
||||
for j:=0 to IncludedByFiles.Count-1 do begin
|
||||
if j>0 then
|
||||
Warning:=Warning+', ';
|
||||
Warning:=Warning
|
||||
+Project.ShortenFilename(TH2PasFile(IncludedByFiles[j]).Filename);
|
||||
end;
|
||||
Warning:=Warning+#13;
|
||||
end;
|
||||
CheckedFiles.Free;
|
||||
IncludedByFiles.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
if Warning<>'' then begin
|
||||
Result:=MessageDlg('Warning',
|
||||
'Ambiguous merges:'#13
|
||||
+Warning,mtWarning,[mbIgnore,mbAbort],0);
|
||||
if Result<>mrIgnore then exit(mrCancel);
|
||||
end;
|
||||
|
||||
Result:=mrOk;
|
||||
end;
|
||||
|
||||
function TH2PasConverter.MergeIncludeFiles(AFile: TH2PasFile;
|
||||
TextConverter: TIDETextConverter): TModalResult;
|
||||
|
||||
procedure GetMergeFiles(MergedFiles: TFPList; CurFile: TH2PasFile);
|
||||
var
|
||||
i: Integer;
|
||||
CInclude: TH2PasFileCInclude;
|
||||
IncFile: TH2PasFile;
|
||||
begin
|
||||
//DebugLn(['GetMergeFiles CurFile=',CurFile.Filename,' CurFile.CIncludeCount=',CurFile.CIncludeCount]);
|
||||
for i:=0 to CurFile.CIncludeCount-1 do begin
|
||||
CInclude:=CurFile.CIncludes[i];
|
||||
IncFile:=CInclude.H2PasFile;
|
||||
if IncFile=nil then continue;
|
||||
//DebugLn(['GetMergeFiles AFile=',AFile.Filename,' CInclude=',CInclude.Filename,' IncFile.Merge=',IncFile.Merge,' ']);
|
||||
if not IncFile.Merge then continue;
|
||||
if IncFile=AFile then continue;
|
||||
if MergedFiles.IndexOf(IncFile)<0 then
|
||||
MergedFiles.Add(IncFile);
|
||||
GetMergeFiles(MergedFiles,IncFile);
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
MergedFiles: TFPList;// list of TH2PasFile
|
||||
i: Integer;
|
||||
IncludeFile: TH2PasFile;
|
||||
fs: TFileStream;
|
||||
s: string;
|
||||
begin
|
||||
Result:=mrCancel;
|
||||
MergedFiles:=TFPList.Create;
|
||||
try
|
||||
GetMergeFiles(MergedFiles,AFile);
|
||||
for i:=0 to MergedFiles.Count-1 do begin
|
||||
IncludeFile:=TH2PasFile(MergedFiles[i]);
|
||||
DebugLn(['TH2PasConverter.MergeIncludeFiles merging file '
|
||||
,'"'+IncludeFile.Filename+'"'+' into "'+TextConverter.Filename+'"']);
|
||||
try
|
||||
fs:=TFileStream.Create(IncludeFile.Filename,fmOpenRead);
|
||||
try
|
||||
SetLength(s,fs.Size);
|
||||
if s<>'' then begin
|
||||
fs.Read(s[1],length(s));
|
||||
TextConverter.Source:=TextConverter.Source+LineEnding+s;
|
||||
end;
|
||||
finally
|
||||
fs.Free;
|
||||
end;
|
||||
except
|
||||
on E: Exception do begin
|
||||
MessageDlg('Error','Unable to merge file "'+IncludeFile.Filename+'"'
|
||||
+' into "'+TextConverter.Filename+'"',mtError,[mbCancel],0);
|
||||
exit;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
Result:=mrOk;
|
||||
finally
|
||||
MergedFiles.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TH2PasConverter.GetH2PasFilename: string;
|
||||
begin
|
||||
Result:=FindDefaultExecutablePath(h2pasFilename);
|
||||
@ -2762,6 +3033,16 @@ begin
|
||||
FFilename:=AValue;
|
||||
end;
|
||||
|
||||
procedure TH2PasFileCInclude.SetH2PasFile(const AValue: TH2PasFile);
|
||||
begin
|
||||
if FH2PasFile=AValue then exit;
|
||||
if (FH2PasFile<>nil) then
|
||||
FH2PasFile.InternalRemoveCIncludedBy(Self);
|
||||
FH2PasFile:=AValue;
|
||||
if (FH2PasFile<>nil) then
|
||||
FH2PasFile.InternalAddCIncludedBy(Self);
|
||||
end;
|
||||
|
||||
procedure TH2PasFileCInclude.SetSrcFilename(const AValue: string);
|
||||
begin
|
||||
if FSrcFilename=AValue then exit;
|
||||
@ -2774,4 +3055,15 @@ begin
|
||||
FSrcPos:=AValue;
|
||||
end;
|
||||
|
||||
constructor TH2PasFileCInclude.Create(TheOwner: TH2PasFile);
|
||||
begin
|
||||
FOwner:=TheOwner;
|
||||
end;
|
||||
|
||||
destructor TH2PasFileCInclude.Destroy;
|
||||
begin
|
||||
H2PasFile:=nil;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -1,10 +1,10 @@
|
||||
object H2PasDialog: TH2PasDialog
|
||||
Left = 245
|
||||
Height = 501
|
||||
Height = 549
|
||||
Top = 205
|
||||
Width = 785
|
||||
HorzScrollBar.Page = 784
|
||||
VertScrollBar.Page = 500
|
||||
VertScrollBar.Page = 548
|
||||
ActiveControl = ConvertButton
|
||||
Caption = 'H2PasDialog'
|
||||
KeyPreview = True
|
||||
@ -15,9 +15,8 @@ object H2PasDialog: TH2PasDialog
|
||||
Position = poDesktopCenter
|
||||
object MainPageControl: TPageControl
|
||||
AnchorSideBottom.Control = OpenSettingsButton
|
||||
Height = 465
|
||||
Height = 509
|
||||
Width = 785
|
||||
TabStop = True
|
||||
ActivePage = FilesTabSheet
|
||||
Align = alTop
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
@ -26,17 +25,18 @@ object H2PasDialog: TH2PasDialog
|
||||
object FilesTabSheet: TTabSheet
|
||||
Caption = 'FilesTabSheet'
|
||||
object CHeaderFilesCheckTreeView: TTreeView
|
||||
Height = 435
|
||||
Height = 475
|
||||
Width = 255
|
||||
Align = alLeft
|
||||
DefaultItemHeight = 16
|
||||
DefaultItemHeight = 18
|
||||
StateImages = FileStateImageList
|
||||
TabOrder = 0
|
||||
OnDblClick = CHeaderFilesCheckTreeViewDblClick
|
||||
OnMouseDown = CHeaderFilesCheckTreeViewMouseDown
|
||||
OnSelectionChanged = CHeaderFilesCheckTreeViewSelectionChanged
|
||||
Options = [tvoAllowMultiselect, tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips]
|
||||
end
|
||||
object AddCHeaderFilesButton: TButton
|
||||
object AddCHeadersButton: TButton
|
||||
AnchorSideLeft.Control = CHeaderFilesSplitter1
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
Left = 266
|
||||
@ -45,11 +45,11 @@ object H2PasDialog: TH2PasDialog
|
||||
Width = 185
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'AddCHeaderFilesButton'
|
||||
OnClick = AddCHeaderFilesButtonClick
|
||||
Caption = 'AddCHeadersButton'
|
||||
OnClick = AddCHeadersButtonClick
|
||||
TabOrder = 1
|
||||
end
|
||||
object DeleteCHeaderFilesButton: TButton
|
||||
object DeleteCHeadersButton: TButton
|
||||
AnchorSideLeft.Control = CHeaderFilesSplitter1
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
Left = 266
|
||||
@ -58,11 +58,11 @@ object H2PasDialog: TH2PasDialog
|
||||
Width = 185
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'DeleteCHeaderFilesButton'
|
||||
OnClick = DeleteCHeaderFilesButtonClick
|
||||
Caption = 'DeleteCHeadersButton'
|
||||
OnClick = DeleteCHeadersButtonClick
|
||||
TabOrder = 2
|
||||
end
|
||||
object EnableAllCHeaderFilesButton: TButton
|
||||
object EnableAllCHeadersButton: TButton
|
||||
AnchorSideLeft.Control = CHeaderFilesSplitter1
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
Left = 266
|
||||
@ -71,11 +71,11 @@ object H2PasDialog: TH2PasDialog
|
||||
Width = 185
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'EnableAllCHeaderFilesButton'
|
||||
OnClick = EnableAllCHeaderFilesButtonClick
|
||||
Caption = 'EnableAllCHeadersButton'
|
||||
OnClick = EnableAllCHeadersButtonClick
|
||||
TabOrder = 3
|
||||
end
|
||||
object DisableAllCHeaderFilesButton: TButton
|
||||
object DisableAllCHeadersButton: TButton
|
||||
AnchorSideLeft.Control = CHeaderFilesSplitter1
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
Left = 266
|
||||
@ -84,13 +84,13 @@ object H2PasDialog: TH2PasDialog
|
||||
Width = 185
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'DisableAllCHeaderFilesButton'
|
||||
OnClick = DisableAllCHeaderFilesButtonClick
|
||||
Caption = 'DisableAllCHeadersButton'
|
||||
OnClick = DisableAllCHeadersButtonClick
|
||||
TabOrder = 4
|
||||
end
|
||||
object CHeaderFilesSplitter1: TSplitter
|
||||
Left = 255
|
||||
Height = 435
|
||||
Height = 475
|
||||
Width = 5
|
||||
Beveled = True
|
||||
end
|
||||
@ -102,28 +102,19 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideBottom.Control = FilesTabSheet
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 260
|
||||
Height = 227
|
||||
Height = 267
|
||||
Top = 208
|
||||
Width = 521
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
Caption = 'FileInfoGroupBox'
|
||||
TabOrder = 5
|
||||
object FileInfoLabel: TLabel
|
||||
Left = 8
|
||||
Height = 13
|
||||
Top = 1
|
||||
Width = 73
|
||||
Caption = 'FileInfoLabel'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
end
|
||||
object AddIncludedCHeaderFilesButton: TButton
|
||||
AnchorSideBottom.Control = FileInfoGroupBox
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 8
|
||||
Height = 26
|
||||
Top = 178
|
||||
Width = 197
|
||||
Height = 30
|
||||
Top = 210
|
||||
Width = 249
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
@ -132,12 +123,35 @@ object H2PasDialog: TH2PasDialog
|
||||
OnClick = AddIncludedCHeaderFilesButtonClick
|
||||
TabOrder = 0
|
||||
end
|
||||
object FileInfoMemo: TMemo
|
||||
AnchorSideLeft.Control = FileInfoGroupBox
|
||||
AnchorSideTop.Control = MergeFileCheckBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = FileInfoGroupBox
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = AddIncludedCHeaderFilesButton
|
||||
Height = 183
|
||||
Top = 21
|
||||
Width = 517
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
Color = clNone
|
||||
ReadOnly = True
|
||||
TabOrder = 1
|
||||
end
|
||||
object MergeFileCheckBox: TCheckBox
|
||||
Left = 8
|
||||
Height = 24
|
||||
Top = -3
|
||||
Width = 168
|
||||
Caption = 'MergeFileCheckBox'
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
object MoveFileUpButton: TButton
|
||||
AnchorSideLeft.Control = AddCHeaderFilesButton
|
||||
AnchorSideTop.Control = DisableAllCHeaderFilesButton
|
||||
AnchorSideLeft.Control = AddCHeadersButton
|
||||
AnchorSideTop.Control = DisableAllCHeadersButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = AddCHeaderFilesButton
|
||||
AnchorSideRight.Control = AddCHeadersButton
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 266
|
||||
Height = 25
|
||||
@ -151,10 +165,10 @@ object H2PasDialog: TH2PasDialog
|
||||
TabOrder = 6
|
||||
end
|
||||
object MoveFileDownButton: TButton
|
||||
AnchorSideLeft.Control = AddCHeaderFilesButton
|
||||
AnchorSideLeft.Control = AddCHeadersButton
|
||||
AnchorSideTop.Control = MoveFileUpButton
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = AddCHeaderFilesButton
|
||||
AnchorSideRight.Control = AddCHeadersButton
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 266
|
||||
Height = 25
|
||||
@ -167,11 +181,21 @@ object H2PasDialog: TH2PasDialog
|
||||
OnClick = MoveFileDownButtonClick
|
||||
TabOrder = 7
|
||||
end
|
||||
object MergeAllCHeadersExceptCurrentButton: TButton
|
||||
Left = 486
|
||||
Height = 25
|
||||
Top = 12
|
||||
Width = 184
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'MergeAllCHeadersExceptCurrentButton'
|
||||
OnClick = MergeAllCHeadersExceptCurrentButtonClick
|
||||
TabOrder = 8
|
||||
end
|
||||
end
|
||||
object PreH2PasTabSheet: TTabSheet
|
||||
Caption = 'PreH2PasTabSheet'
|
||||
object PreH2PasGroupBox: TGroupBox
|
||||
Height = 435
|
||||
Height = 475
|
||||
Width = 781
|
||||
Align = alClient
|
||||
Caption = 'PreH2PasGroupBox'
|
||||
@ -184,9 +208,9 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideTop.Control = LibnameEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 13
|
||||
Top = 281
|
||||
Width = 81
|
||||
Height = 17
|
||||
Top = 279
|
||||
Width = 105
|
||||
BorderSpacing.Top = 10
|
||||
Caption = 'LibNameLabel'
|
||||
Color = clNone
|
||||
@ -196,9 +220,9 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideTop.Control = OutputExtEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 13
|
||||
Top = 313
|
||||
Width = 86
|
||||
Height = 17
|
||||
Top = 311
|
||||
Width = 114
|
||||
Caption = 'OutputExtLabel'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
@ -207,9 +231,9 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideTop.Control = OutputDirEdit
|
||||
AnchorSideTop.Side = asrCenter
|
||||
Left = 6
|
||||
Height = 13
|
||||
Top = 342
|
||||
Width = 85
|
||||
Height = 17
|
||||
Top = 340
|
||||
Width = 110
|
||||
Caption = 'OutputDirLabel'
|
||||
Color = clNone
|
||||
ParentColor = False
|
||||
@ -218,7 +242,7 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Control = LibNameLabel
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 93
|
||||
Left = 117
|
||||
Height = 23
|
||||
Top = 276
|
||||
Width = 113
|
||||
@ -232,7 +256,7 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Control = OutputExtLabel
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 98
|
||||
Left = 126
|
||||
Height = 23
|
||||
Top = 308
|
||||
Width = 80
|
||||
@ -247,7 +271,7 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = OutputExtEdit
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 97
|
||||
Left = 122
|
||||
Height = 23
|
||||
Top = 337
|
||||
Width = 397
|
||||
@ -263,7 +287,7 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideTop.Control = OutputDirEdit
|
||||
AnchorSideBottom.Control = OutputDirEdit
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 494
|
||||
Left = 519
|
||||
Height = 23
|
||||
Top = 337
|
||||
Width = 32
|
||||
@ -296,7 +320,7 @@ object H2PasDialog: TH2PasDialog
|
||||
object PostH2PasTabSheet: TTabSheet
|
||||
Caption = 'PostH2PasTabSheet'
|
||||
object PostH2PasGroupBox: TGroupBox
|
||||
Height = 435
|
||||
Height = 475
|
||||
Width = 781
|
||||
Align = alClient
|
||||
Caption = 'PostH2PasGroupBox'
|
||||
@ -383,9 +407,9 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 5
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 124
|
||||
Height = 30
|
||||
Top = 514
|
||||
Width = 161
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 5
|
||||
@ -399,10 +423,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 134
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 122
|
||||
Left = 171
|
||||
Height = 30
|
||||
Top = 514
|
||||
Width = 158
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 5
|
||||
@ -415,10 +439,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Control = SaveSettingsButton
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = OpenSettingsButton
|
||||
Left = 271
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 93
|
||||
Left = 344
|
||||
Height = 30
|
||||
Top = 514
|
||||
Width = 119
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 15
|
||||
BorderSpacing.InnerBorder = 4
|
||||
@ -431,10 +455,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 699
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 81
|
||||
Left = 677
|
||||
Height = 30
|
||||
Top = 514
|
||||
Width = 103
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 5
|
||||
@ -447,10 +471,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Control = ConvertButton
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = OpenSettingsButton
|
||||
Left = 370
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 144
|
||||
Left = 469
|
||||
Height = 30
|
||||
Top = 514
|
||||
Width = 183
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
|
@ -1,187 +1,196 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TH2PasDialog','FORMDATA',[
|
||||
'TPF0'#12'TH2PasDialog'#11'H2PasDialog'#4'Left'#3#245#0#6'Height'#3#245#1#3'T'
|
||||
+'op'#3#205#0#5'Width'#3#17#3#18'HorzScrollBar.Page'#3#16#3#18'VertScrollBar.'
|
||||
+'Page'#3#244#1#13'ActiveControl'#7#13'ConvertButton'#7'Caption'#6#11'H2PasDi'
|
||||
+'alog'#10'KeyPreview'#9#12'OnCloseQuery'#7#14'FormCloseQuery'#8'OnCreate'#7
|
||||
+#10'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#9'OnKeyDown'#7#11'FormKeyDown'
|
||||
+#8'Position'#7#15'poDesktopCenter'#0#12'TPageControl'#15'MainPageControl'#24
|
||||
+'AnchorSideBottom.Control'#7#18'OpenSettingsButton'#6'Height'#3#209#1#5'Widt'
|
||||
+'h'#3#17#3#7'TabStop'#9#10'ActivePage'#7#13'FilesTabSheet'#5'Align'#7#5'alTo'
|
||||
+'p'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'TabIndex'#2#0
|
||||
+#8'TabOrder'#2#4#0#9'TTabSheet'#13'FilesTabSheet'#7'Caption'#6#13'FilesTabSh'
|
||||
+'eet'#0#9'TTreeView'#25'CHeaderFilesCheckTreeView'#6'Height'#3#179#1#5'Width'
|
||||
+#3#255#0#5'Align'#7#6'alLeft'#17'DefaultItemHeight'#2#16#11'StateImages'#7#18
|
||||
+'FileStateImageList'#8'TabOrder'#2#0#11'OnMouseDown'#7'"CHeaderFilesCheckTre'
|
||||
+'eViewMouseDown'#18'OnSelectionChanged'#7')CHeaderFilesCheckTreeViewSelectio'
|
||||
+'nChanged'#7'Options'#11#19'tvoAllowMultiselect'#17'tvoAutoItemHeight'#16'tv'
|
||||
+'oHideSelection'#21'tvoKeepCollapsedNodes'#14'tvoShowButtons'#12'tvoShowLine'
|
||||
+'s'#11'tvoShowRoot'#11'tvoToolTips'#0#0#0#7'TButton'#21'AddCHeaderFilesButto'
|
||||
+'n'#22'AnchorSideLeft.Control'#7#21'CHeaderFilesSplitter1'#19'AnchorSideLeft'
|
||||
+'.Side'#7#9'asrBottom'#4'Left'#3#10#1#6'Height'#2#25#3'Top'#2#12#5'Width'#3
|
||||
'TPF0'#12'TH2PasDialog'#11'H2PasDialog'#4'Left'#3#245#0#6'Height'#3'%'#2#3'To'
|
||||
+'p'#3#205#0#5'Width'#3#17#3#18'HorzScrollBar.Page'#3#16#3#18'VertScrollBar.P'
|
||||
+'age'#3'$'#2#13'ActiveControl'#7#13'ConvertButton'#7'Caption'#6#11'H2PasDial'
|
||||
+'og'#10'KeyPreview'#9#12'OnCloseQuery'#7#14'FormCloseQuery'#8'OnCreate'#7#10
|
||||
+'FormCreate'#9'OnDestroy'#7#11'FormDestroy'#9'OnKeyDown'#7#11'FormKeyDown'#8
|
||||
+'Position'#7#15'poDesktopCenter'#0#12'TPageControl'#15'MainPageControl'#24'A'
|
||||
+'nchorSideBottom.Control'#7#18'OpenSettingsButton'#6'Height'#3#253#1#5'Width'
|
||||
+#3#17#3#10'ActivePage'#7#13'FilesTabSheet'#5'Align'#7#5'alTop'#7'Anchors'#11
|
||||
+#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#8'TabIndex'#2#0#8'TabOrder'#2#4
|
||||
+#0#9'TTabSheet'#13'FilesTabSheet'#7'Caption'#6#13'FilesTabSheet'#0#9'TTreeVi'
|
||||
+'ew'#25'CHeaderFilesCheckTreeView'#6'Height'#3#219#1#5'Width'#3#255#0#5'Alig'
|
||||
+'n'#7#6'alLeft'#17'DefaultItemHeight'#2#18#11'StateImages'#7#18'FileStateIma'
|
||||
+'geList'#8'TabOrder'#2#0#10'OnDblClick'#7'!CHeaderFilesCheckTreeViewDblClick'
|
||||
+#11'OnMouseDown'#7'"CHeaderFilesCheckTreeViewMouseDown'#18'OnSelectionChange'
|
||||
+'d'#7')CHeaderFilesCheckTreeViewSelectionChanged'#7'Options'#11#19'tvoAllowM'
|
||||
+'ultiselect'#17'tvoAutoItemHeight'#16'tvoHideSelection'#21'tvoKeepCollapsedN'
|
||||
+'odes'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoShowRoot'#11'tvoToolTips'#0
|
||||
+#0#0#7'TButton'#17'AddCHeadersButton'#22'AnchorSideLeft.Control'#7#21'CHeade'
|
||||
+'rFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#10#1#6'He'
|
||||
+'ight'#2#25#3'Top'#2#12#5'Width'#3#185#0#18'BorderSpacing.Left'#2#6#25'Borde'
|
||||
+'rSpacing.InnerBorder'#2#4#7'Caption'#6#17'AddCHeadersButton'#7'OnClick'#7#22
|
||||
+'AddCHeadersButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#20'DeleteCHeadersBut'
|
||||
+'ton'#22'AnchorSideLeft.Control'#7#21'CHeaderFilesSplitter1'#19'AnchorSideLe'
|
||||
+'ft.Side'#7#9'asrBottom'#4'Left'#3#10#1#6'Height'#2#25#3'Top'#2'('#5'Width'#3
|
||||
+#185#0#18'BorderSpacing.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Captio'
|
||||
+'n'#6#21'AddCHeaderFilesButton'#7'OnClick'#7#26'AddCHeaderFilesButtonClick'#8
|
||||
+'TabOrder'#2#1#0#0#7'TButton'#24'DeleteCHeaderFilesButton'#22'AnchorSideLeft'
|
||||
+'.Control'#7#21'CHeaderFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'
|
||||
+#4'Left'#3#10#1#6'Height'#2#25#3'Top'#2'('#5'Width'#3#185#0#18'BorderSpacing'
|
||||
+'.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#24'DeleteCHeaderF'
|
||||
+'ilesButton'#7'OnClick'#7#29'DeleteCHeaderFilesButtonClick'#8'TabOrder'#2#2#0
|
||||
+#0#7'TButton'#27'EnableAllCHeaderFilesButton'#22'AnchorSideLeft.Control'#7#21
|
||||
+'CHeaderFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#10#1
|
||||
+#6'Height'#2#25#3'Top'#2'H'#5'Width'#3#185#0#18'BorderSpacing.Left'#2#6#25'B'
|
||||
+'orderSpacing.InnerBorder'#2#4#7'Caption'#6#27'EnableAllCHeaderFilesButton'#7
|
||||
+'OnClick'#7' EnableAllCHeaderFilesButtonClick'#8'TabOrder'#2#3#0#0#7'TButton'
|
||||
+#28'DisableAllCHeaderFilesButton'#22'AnchorSideLeft.Control'#7#21'CHeaderFil'
|
||||
+'esSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#10#1#6'Height'
|
||||
+#2#25#3'Top'#2'h'#5'Width'#3#185#0#18'BorderSpacing.Left'#2#6#25'BorderSpaci'
|
||||
+'ng.InnerBorder'#2#4#7'Caption'#6#28'DisableAllCHeaderFilesButton'#7'OnClick'
|
||||
+#7'!DisableAllCHeaderFilesButtonClick'#8'TabOrder'#2#4#0#0#9'TSplitter'#21'C'
|
||||
+'HeaderFilesSplitter1'#4'Left'#3#255#0#6'Height'#3#179#1#5'Width'#2#5#7'Beve'
|
||||
+'led'#9#0#0#9'TGroupBox'#16'FileInfoGroupBox'#22'AnchorSideLeft.Control'#7#21
|
||||
+'CHeaderFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'AnchorSide'
|
||||
+'Right.Control'#7#13'FilesTabSheet'#20'AnchorSideRight.Side'#7#9'asrBottom'
|
||||
+#24'AnchorSideBottom.Control'#7#13'FilesTabSheet'#21'AnchorSideBottom.Side'#7
|
||||
+#9'asrBottom'#4'Left'#3#4#1#6'Height'#3#227#0#3'Top'#3#208#0#5'Width'#3#9#2#7
|
||||
+'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6#16'Fil'
|
||||
+'eInfoGroupBox'#8'TabOrder'#2#5#0#6'TLabel'#13'FileInfoLabel'#4'Left'#2#8#6
|
||||
+'Height'#2#13#3'Top'#2#1#5'Width'#2'I'#7'Caption'#6#13'FileInfoLabel'#5'Colo'
|
||||
+'r'#7#6'clNone'#11'ParentColor'#8#0#0#7'TButton'#29'AddIncludedCHeaderFilesB'
|
||||
+'utton'#24'AnchorSideBottom.Control'#7#16'FileInfoGroupBox'#21'AnchorSideBot'
|
||||
+'tom.Side'#7#9'asrBottom'#4'Left'#2#8#6'Height'#2#26#3'Top'#3#178#0#5'Width'
|
||||
+#3#197#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacin'
|
||||
+'g.Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#29'AddIncluded'
|
||||
+'CHeaderFilesButton'#7'OnClick'#7'"AddIncludedCHeaderFilesButtonClick'#8'Tab'
|
||||
+'Order'#2#0#0#0#0#7'TButton'#16'MoveFileUpButton'#22'AnchorSideLeft.Control'
|
||||
+#7#21'AddCHeaderFilesButton'#21'AnchorSideTop.Control'#7#28'DisableAllCHeade'
|
||||
+'rFilesButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Cont'
|
||||
+'rol'#7#21'AddCHeaderFilesButton'#20'AnchorSideRight.Side'#7#9'asrBottom'#4
|
||||
+'Left'#3#10#1#6'Height'#2#25#3'Top'#3#135#0#5'Width'#3#185#0#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSpacing.In'
|
||||
+'nerBorder'#2#4#7'Caption'#6#16'MoveFileUpButton'#7'OnClick'#7#21'MoveFileUp'
|
||||
+'ButtonClick'#8'TabOrder'#2#6#0#0#7'TButton'#18'MoveFileDownButton'#22'Ancho'
|
||||
+'rSideLeft.Control'#7#21'AddCHeaderFilesButton'#21'AnchorSideTop.Control'#7
|
||||
+#16'MoveFileUpButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRig'
|
||||
+'ht.Control'#7#21'AddCHeaderFilesButton'#20'AnchorSideRight.Side'#7#9'asrBot'
|
||||
+'tom'#4'Left'#3#10#1#6'Height'#2#25#3'Top'#3#166#0#5'Width'#3#185#0#7'Anchor'
|
||||
+'s'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSp'
|
||||
,'acing.InnerBorder'#2#4#7'Caption'#6#18'MoveFileDownButton'#7'OnClick'#7#23
|
||||
+'MoveFileDownButtonClick'#8'TabOrder'#2#7#0#0#0#9'TTabSheet'#16'PreH2PasTabS'
|
||||
+'heet'#7'Caption'#6#16'PreH2PasTabSheet'#0#9'TGroupBox'#16'PreH2PasGroupBox'
|
||||
+#6'Height'#3#179#1#5'Width'#3#13#3#5'Align'#7#8'alClient'#7'Caption'#6#16'Pr'
|
||||
+'eH2PasGroupBox'#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#20'h2pasOptionsTabSheet'
|
||||
+#7'Caption'#6#20'h2pasOptionsTabSheet'#0#6'TLabel'#12'LibNameLabel'#21'Ancho'
|
||||
+'rSideTop.Control'#7#11'LibnameEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
|
||||
+'Left'#2#6#6'Height'#2#13#3'Top'#3#25#1#5'Width'#2'Q'#17'BorderSpacing.Top'#2
|
||||
+#10#7'Caption'#6#12'LibNameLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0
|
||||
+#6'TLabel'#14'OutputExtLabel'#21'AnchorSideTop.Control'#7#13'OutputExtEdit'
|
||||
+#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#13#3'Top'#3'9'
|
||||
+#1#5'Width'#2'V'#7'Caption'#6#14'OutputExtLabel'#5'Color'#7#6'clNone'#11'Par'
|
||||
+'entColor'#8#0#0#6'TLabel'#14'OutputDirLabel'#21'AnchorSideTop.Control'#7#13
|
||||
+'OutputDirEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2
|
||||
+#13#3'Top'#3'V'#1#5'Width'#2'U'#7'Caption'#6#14'OutputDirLabel'#5'Color'#7#6
|
||||
+'clNone'#11'ParentColor'#8#0#0#5'TEdit'#11'LibnameEdit'#22'AnchorSideLeft.Co'
|
||||
+'ntrol'#7#12'LibNameLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#18'AnchorS'
|
||||
+'ideTop.Side'#7#9'asrBottom'#4'Left'#2']'#6'Height'#2#23#3'Top'#3#20#1#5'Wid'
|
||||
+'th'#2'q'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#13'OnEditingD'
|
||||
+'one'#7#22'LibnameEditEditingDone'#8'TabOrder'#2#0#4'Text'#6#11'LibnameEdit'
|
||||
+#0#0#5'TEdit'#13'OutputExtEdit'#22'AnchorSideLeft.Control'#7#14'OutputExtLab'
|
||||
+'el'#19'AnchorSideLeft.Side'#7#9'asrBottom'#18'AnchorSideTop.Side'#7#9'asrBo'
|
||||
+'ttom'#4'Left'#2'b'#6'Height'#2#23#3'Top'#3'4'#1#5'Width'#2'P'#18'BorderSpac'
|
||||
+'ing.Left'#2#6#17'BorderSpacing.Top'#2#6#13'OnEditingDone'#7#24'OutputExtEdi'
|
||||
+'tEditingDone'#8'TabOrder'#2#1#4'Text'#6#13'OutputExtEdit'#0#0#5'TEdit'#13'O'
|
||||
+'utputDirEdit'#22'AnchorSideLeft.Control'#7#14'OutputDirLabel'#19'AnchorSide'
|
||||
+'Left.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#13'OutputExtEdit'#18
|
||||
+'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'a'#6'Height'#2#23#3'Top'#3'Q'#1
|
||||
+#5'Width'#3#141#1#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#13'On'
|
||||
+'EditingDone'#7#24'OutputDirEditEditingDone'#8'TabOrder'#2#2#4'Text'#6#13'Ou'
|
||||
+'tputDirEdit'#0#0#7'TButton'#21'OutputDirBrowseButton'#22'AnchorSideLeft.Con'
|
||||
+'trol'#7#13'OutputDirEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorS'
|
||||
+'ideTop.Control'#7#13'OutputDirEdit'#24'AnchorSideBottom.Control'#7#13'Outpu'
|
||||
+'tDirEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#238#1#6'Height'
|
||||
+#2#23#3'Top'#3'Q'#1#5'Width'#2' '#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBotto'
|
||||
+'m'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClick'#7#26
|
||||
+'OutputDirBrowseButtonClick'#8'TabOrder'#2#3#0#0#11'TCheckGroup'#22'h2pasOpt'
|
||||
+'ionsCheckGroup'#4'Left'#2#6#6'Height'#3#8#1#3'Top'#2#4#5'Width'#3#0#3#8'Aut'
|
||||
+'oFill'#9#7'Caption'#6#22'h2pasOptionsCheckGroup'#28'ChildSizing.LeftRightSp'
|
||||
+'acing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHoriz'
|
||||
+'ontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24
|
||||
+'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChi'
|
||||
+'lds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Lay'
|
||||
+'out'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#2
|
||||
+#7'Columns'#2#2#11'OnItemClick'#7#31'h2pasOptionsCheckGroupItemClick'#8'TabO'
|
||||
+'rder'#2#4#0#0#0#9'TTabSheet'#17'PostH2PasTabSheet'#7'Caption'#6#17'PostH2Pa'
|
||||
+'sTabSheet'#0#9'TGroupBox'#17'PostH2PasGroupBox'#6'Height'#3#179#1#5'Width'#3
|
||||
+#13#3#5'Align'#7#8'alClient'#7'Caption'#6#17'PostH2PasGroupBox'#8'TabOrder'#2
|
||||
+#0#0#0#0#9'TTabSheet'#16'SettingsTabSheet'#7'Caption'#6#16'SettingsTabSheet'
|
||||
+#0#6'TLabel'#18'H2PasFilenameLabel'#21'AnchorSideTop.Control'#7#17'H2PasFile'
|
||||
+'nameEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#17#3
|
||||
+'Top'#2#7#5'Width'#3#155#0#7'Caption'#6#18'H2PasFilenameLabel'#5'Color'#7#6
|
||||
+'clNone'#11'ParentColor'#8#0#0#9'TCheckBox'#30'OpenLastProjectOnStartCheckBo'
|
||||
+'x'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'*'#5'Width'#3#21#1#7'Caption'#6#30'O'
|
||||
+'penLastProjectOnStartCheckBox'#8'OnChange'#7'$OpenLastProjectOnStartCheckBo'
|
||||
+'xChange'#8'TabOrder'#2#0#0#0#7'TButton'#20'SaveSettingsAsButton'#4'Left'#2#6
|
||||
+#6'Height'#2#30#3'Top'#2'R'#5'Width'#3#177#0#8'AutoSize'#9#25'BorderSpacing.'
|
||||
+'InnerBorder'#2#4#7'Caption'#6#20'SaveSettingsAsButton'#7'OnClick'#7#25'Save'
|
||||
+'SettingsAsButtonClick'#8'TabOrder'#2#1#0#0#5'TEdit'#17'H2PasFilenameEdit'#22
|
||||
+'AnchorSideLeft.Control'#7#18'H2PasFilenameLabel'#19'AnchorSideLeft.Side'#7#9
|
||||
+'asrBottom'#4'Left'#3#167#0#6'Height'#2#23#3'Top'#2#4#5'Width'#3'`'#1#18'Bor'
|
||||
+'derSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#13'OnEditingDone'#7#28'H2Pas'
|
||||
+'FilenameEditEditingDone'#8'TabOrder'#2#2#4'Text'#6#17'H2PasFilenameEdit'#0#0
|
||||
+#7'TButton'#25'h2pasFilenameBrowseButton'#22'AnchorSideLeft.Control'#7#17'H2'
|
||||
,'PasFilenameEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Co'
|
||||
+'ntrol'#7#17'H2PasFilenameEdit'#24'AnchorSideBottom.Control'#7#17'H2PasFilen'
|
||||
+'ameEdit'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#7#2#6'Height'#2
|
||||
+#23#3'Top'#2#4#5'Width'#2'#'#7'Anchors'#11#5'akTop'#6'akLeft'#8'akBottom'#0
|
||||
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#3'...'#7'OnClick'#7#30'h2pas'
|
||||
+'FilenameBrowseButtonClick'#8'TabOrder'#2#3#0#0#7'TButton'#17'NewSettingsBut'
|
||||
+'ton'#4'Left'#2#6#6'Height'#2#30#3'Top'#2'|'#5'Width'#3#154#0#8'AutoSize'#9
|
||||
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#17'NewSettingsButton'#7'OnCl'
|
||||
+'ick'#7#22'NewSettingsButtonClick'#8'TabOrder'#2#4#0#0#0#0#7'TButton'#18'Ope'
|
||||
+'nSettingsButton'#22'AnchorSideLeft.Control'#7#5'Owner'#24'AnchorSideBottom.'
|
||||
+'Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2#5#6
|
||||
+'Height'#2#26#3'Top'#3#214#1#5'Width'#2'|'#7'Anchors'#11#6'akLeft'#8'akBotto'
|
||||
+'m'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#5#25'BorderSpacing.InnerBorde'
|
||||
+'r'#2#4#7'Caption'#6#18'OpenSettingsButton'#7'OnClick'#7#23'OpenSettingsButt'
|
||||
+'onClick'#8'TabOrder'#2#1#0#0#7'TButton'#18'SaveSettingsButton'#22'AnchorSid'
|
||||
+'eLeft.Control'#7#18'OpenSettingsButton'#19'AnchorSideLeft.Side'#7#9'asrBott'
|
||||
+'om'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9'a'
|
||||
+'srBottom'#4'Left'#3#134#0#6'Height'#2#26#3'Top'#3#214#1#5'Width'#2'z'#7'Anc'
|
||||
+'hors'#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#5
|
||||
+#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#18'SaveSettingsButton'#7'OnC'
|
||||
+'lick'#7#23'SaveSettingsButtonClick'#8'TabOrder'#2#2#0#0#7'TButton'#13'Conve'
|
||||
+'rtButton'#22'AnchorSideLeft.Control'#7#18'SaveSettingsButton'#19'AnchorSide'
|
||||
+'Left.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#18'OpenSettingsButton'
|
||||
+#4'Left'#3#15#1#6'Height'#2#26#3'Top'#3#214#1#5'Width'#2']'#8'AutoSize'#9#18
|
||||
+'BorderSpacing.Left'#2#15#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#13
|
||||
+'ConvertButton'#7'OnClick'#7#18'ConvertButtonClick'#8'TabOrder'#2#0#0#0#7'TB'
|
||||
+'utton'#11'CloseButton'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSide'
|
||||
+'Right.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#5'Owner'#21'Ancho'
|
||||
+'rSideBottom.Side'#7#9'asrBottom'#4'Left'#3#187#2#6'Height'#2#26#3'Top'#3#214
|
||||
+#1#5'Width'#2'Q'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'AutoSize'#9#20'Bor'
|
||||
+'derSpacing.Around'#2#5#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#11'Cl'
|
||||
+'oseButton'#7'OnClick'#7#16'CloseButtonClick'#8'TabOrder'#2#3#0#0#7'TButton'
|
||||
+#21'ConvertAndBuildButton'#22'AnchorSideLeft.Control'#7#13'ConvertButton'#19
|
||||
+'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#18'OpenSett'
|
||||
+'ingsButton'#4'Left'#3'r'#1#6'Height'#2#26#3'Top'#3#214#1#5'Width'#3#144#0#8
|
||||
+'AutoSize'#9#18'BorderSpacing.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7
|
||||
+'Caption'#6#21'ConvertAndBuildButton'#7'OnClick'#7#26'ConvertAndBuildButtonC'
|
||||
+'lick'#8'TabOrder'#2#5#0#0#10'TImageList'#18'FileStateImageList'#4'left'#3
|
||||
+#136#0#3'top'#2'^'#6'Bitmap'#10'}'#3#0#0'li'#2#0#0#0#16#0#0#0#16#0#0#0#191#1
|
||||
+#0#0'/* XPM */'#10'static char * pkg_removedfiles_xpm[] = {'#10'"14 13 10 1"'
|
||||
+','#10'" '#9'c None",'#10'".'#9'c #000044",'#10'"+'#9'c #000055",'#10'"@'#9
|
||||
+'c #FF1414",'#10'"#'#9'c #000084",'#10'"$'#9'c #000033",'#10'"%'#9'c #FFFFFF'
|
||||
+'",'#10'"&'#9'c #D5D5EF",'#10'"*'#9'c #CBCBCB",'#10'"='#9'c #000000",'#10'" '
|
||||
+' ..++.... ",'#10'" .@@####. @@ ",'#10'" $%@@%%&.@@ ",'#10'" $*%@@..@'
|
||||
+'@.. ",'#10'" =%%.@@@@... ",'#10'"...++$%@@%%&=%",'#10'".....$@@@@&&=%",'#10
|
||||
+'".%*%%@@%%@@&=%",'#10'".*%%@@%&&&@@=%",'#10'".%%@@======@@%",'#10'".%@@&&&='
|
||||
+'%%%%@%",'#10'".@@=====% ",'#10'" %%%%%%%% "};'#10#168#1#0#0'/* XPM '
|
||||
+'*/'#10'static char * pkg_files_xpm[] = {'#10'"14 13 9 1",'#10'" '#9'c None"'
|
||||
+','#10'".'#9'c #000044",'#10'"+'#9'c #000055",'#10'"@'#9'c #000084",'#10'"#'
|
||||
+#9'c #000033",'#10'"$'#9'c #FFFFFF",'#10'"%'#9'c #CBCBCB",'#10'"&'#9'c #D5D5'
|
||||
+'EF",'#10'"*'#9'c #000000",'#10'" ..++.... ",'#10'" .@@@@@@. ",'#10
|
||||
+'" #$%$$$&.$ ",'#10'" #%$........ ",'#10'" *$$........ ",'#10'"...++#$%'
|
||||
+'$$$&*$",'#10'".....#%$$$&&*$",'#10'".$%$$*$$$&$&*$",'#10'".%$$$*$&&&&&*$",'
|
||||
+#10'".$$$$********$",'#10'".$&&&&&*$$$$$$",'#10'".*******$ ",'#10'" $$$$'
|
||||
+'$$$$ "};'#10#0#0#0
|
||||
+'n'#6#20'DeleteCHeadersButton'#7'OnClick'#7#25'DeleteCHeadersButtonClick'#8
|
||||
+'TabOrder'#2#2#0#0#7'TButton'#23'EnableAllCHeadersButton'#22'AnchorSideLeft.'
|
||||
+'Control'#7#21'CHeaderFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'
|
||||
+#4'Left'#3#10#1#6'Height'#2#25#3'Top'#2'H'#5'Width'#3#185#0#18'BorderSpacing'
|
||||
+'.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#23'EnableAllCHead'
|
||||
+'ersButton'#7'OnClick'#7#28'EnableAllCHeadersButtonClick'#8'TabOrder'#2#3#0#0
|
||||
+#7'TButton'#24'DisableAllCHeadersButton'#22'AnchorSideLeft.Control'#7#21'CHe'
|
||||
+'aderFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#10#1#6
|
||||
+'Height'#2#25#3'Top'#2'h'#5'Width'#3#185#0#18'BorderSpacing.Left'#2#6#25'Bor'
|
||||
+'derSpacing.InnerBorder'#2#4#7'Caption'#6#24'DisableAllCHeadersButton'#7'OnC'
|
||||
+'lick'#7#29'DisableAllCHeadersButtonClick'#8'TabOrder'#2#4#0#0#9'TSplitter'
|
||||
+#21'CHeaderFilesSplitter1'#4'Left'#3#255#0#6'Height'#3#219#1#5'Width'#2#5#7
|
||||
+'Beveled'#9#0#0#9'TGroupBox'#16'FileInfoGroupBox'#22'AnchorSideLeft.Control'
|
||||
+#7#21'CHeaderFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#23'Ancho'
|
||||
+'rSideRight.Control'#7#13'FilesTabSheet'#20'AnchorSideRight.Side'#7#9'asrBot'
|
||||
+'tom'#24'AnchorSideBottom.Control'#7#13'FilesTabSheet'#21'AnchorSideBottom.S'
|
||||
+'ide'#7#9'asrBottom'#4'Left'#3#4#1#6'Height'#3#11#1#3'Top'#3#208#0#5'Width'#3
|
||||
+#9#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#7'Caption'#6
|
||||
+#16'FileInfoGroupBox'#8'TabOrder'#2#5#0#7'TButton'#29'AddIncludedCHeaderFile'
|
||||
+'sButton'#24'AnchorSideBottom.Control'#7#16'FileInfoGroupBox'#21'AnchorSideB'
|
||||
+'ottom.Side'#7#9'asrBottom'#4'Left'#2#8#6'Height'#2#30#3'Top'#3#210#0#5'Widt'
|
||||
+'h'#3#249#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpa'
|
||||
+'cing.Around'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#29'AddInclu'
|
||||
+'dedCHeaderFilesButton'#7'OnClick'#7'"AddIncludedCHeaderFilesButtonClick'#8
|
||||
+'TabOrder'#2#0#0#0#5'TMemo'#12'FileInfoMemo'#22'AnchorSideLeft.Control'#7#16
|
||||
+'FileInfoGroupBox'#21'AnchorSideTop.Control'#7#17'MergeFileCheckBox'#18'Anch'
|
||||
+'orSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#16'FileInfoGro'
|
||||
+'upBox'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'
|
||||
+#7#29'AddIncludedCHeaderFilesButton'#6'Height'#3#183#0#3'Top'#2#21#5'Width'#3
|
||||
+#5#2#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#5'Color'#7#6
|
||||
+'clNone'#8'ReadOnly'#9#8'TabOrder'#2#1#0#0#9'TCheckBox'#17'MergeFileCheckBox'
|
||||
+#4'Left'#2#8#6'Height'#2#24#3'Top'#2#253#5'Width'#3#168#0#7'Caption'#6#17'Me'
|
||||
+'rgeFileCheckBox'#8'TabOrder'#2#2#0#0#0#7'TButton'#16'MoveFileUpButton'#22'A'
|
||||
+'nchorSideLeft.Control'#7#17'AddCHeadersButton'#21'AnchorSideTop.Control'#7
|
||||
+#24'DisableAllCHeadersButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'Ancho'
|
||||
+'rSideRight.Control'#7#17'AddCHeadersButton'#20'AnchorSideRight.Side'#7#9'as'
|
||||
+'rBottom'#4'Left'#3#10#1#6'Height'#2#25#3'Top'#3#135#0#5'Width'#3#185#0#7'An'
|
||||
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'Bord'
|
||||
+'erSpacing.InnerBorder'#2#4#7'Caption'#6#16'MoveFileUpButton'#7'OnClick'#7#21
|
||||
,'MoveFileUpButtonClick'#8'TabOrder'#2#6#0#0#7'TButton'#18'MoveFileDownButton'
|
||||
+#22'AnchorSideLeft.Control'#7#17'AddCHeadersButton'#21'AnchorSideTop.Control'
|
||||
+#7#16'MoveFileUpButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideR'
|
||||
+'ight.Control'#7#17'AddCHeadersButton'#20'AnchorSideRight.Side'#7#9'asrBotto'
|
||||
+'m'#4'Left'#3#10#1#6'Height'#2#25#3'Top'#3#166#0#5'Width'#3#185#0#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing.Top'#2#6#25'BorderSpaci'
|
||||
+'ng.InnerBorder'#2#4#7'Caption'#6#18'MoveFileDownButton'#7'OnClick'#7#23'Mov'
|
||||
+'eFileDownButtonClick'#8'TabOrder'#2#7#0#0#7'TButton#MergeAllCHeadersExceptC'
|
||||
+'urrentButton'#4'Left'#3#230#1#6'Height'#2#25#3'Top'#2#12#5'Width'#3#184#0#25
|
||||
+'BorderSpacing.InnerBorder'#2#4#7'Caption'#6'#MergeAllCHeadersExceptCurrentB'
|
||||
+'utton'#7'OnClick'#7'(MergeAllCHeadersExceptCurrentButtonClick'#8'TabOrder'#2
|
||||
+#8#0#0#0#9'TTabSheet'#16'PreH2PasTabSheet'#7'Caption'#6#16'PreH2PasTabSheet'
|
||||
+#0#9'TGroupBox'#16'PreH2PasGroupBox'#6'Height'#3#219#1#5'Width'#3#13#3#5'Ali'
|
||||
+'gn'#7#8'alClient'#7'Caption'#6#16'PreH2PasGroupBox'#8'TabOrder'#2#0#0#0#0#9
|
||||
+'TTabSheet'#20'h2pasOptionsTabSheet'#7'Caption'#6#20'h2pasOptionsTabSheet'#0
|
||||
+#6'TLabel'#12'LibNameLabel'#21'AnchorSideTop.Control'#7#11'LibnameEdit'#18'A'
|
||||
+'nchorSideTop.Side'#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#17#3'Top'#3#23#1#5
|
||||
+'Width'#2'i'#17'BorderSpacing.Top'#2#10#7'Caption'#6#12'LibNameLabel'#5'Colo'
|
||||
+'r'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#14'OutputExtLabel'#21'Anchor'
|
||||
+'SideTop.Control'#7#13'OutputExtEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4
|
||||
+'Left'#2#6#6'Height'#2#17#3'Top'#3'7'#1#5'Width'#2'r'#7'Caption'#6#14'Output'
|
||||
+'ExtLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#6'TLabel'#14'OutputDir'
|
||||
+'Label'#21'AnchorSideTop.Control'#7#13'OutputDirEdit'#18'AnchorSideTop.Side'
|
||||
+#7#9'asrCenter'#4'Left'#2#6#6'Height'#2#17#3'Top'#3'T'#1#5'Width'#2'n'#7'Cap'
|
||||
+'tion'#6#14'OutputDirLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#5'TEd'
|
||||
+'it'#11'LibnameEdit'#22'AnchorSideLeft.Control'#7#12'LibNameLabel'#19'Anchor'
|
||||
+'SideLeft.Side'#7#9'asrBottom'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'
|
||||
+#2'u'#6'Height'#2#23#3'Top'#3#20#1#5'Width'#2'q'#18'BorderSpacing.Left'#2#6
|
||||
+#17'BorderSpacing.Top'#2#6#13'OnEditingDone'#7#22'LibnameEditEditingDone'#8
|
||||
+'TabOrder'#2#0#4'Text'#6#11'LibnameEdit'#0#0#5'TEdit'#13'OutputExtEdit'#22'A'
|
||||
+'nchorSideLeft.Control'#7#14'OutputExtLabel'#19'AnchorSideLeft.Side'#7#9'asr'
|
||||
+'Bottom'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'~'#6'Height'#2#23#3
|
||||
+'Top'#3'4'#1#5'Width'#2'P'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2
|
||||
+#6#13'OnEditingDone'#7#24'OutputExtEditEditingDone'#8'TabOrder'#2#1#4'Text'#6
|
||||
+#13'OutputExtEdit'#0#0#5'TEdit'#13'OutputDirEdit'#22'AnchorSideLeft.Control'
|
||||
+#7#14'OutputDirLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTo'
|
||||
+'p.Control'#7#13'OutputExtEdit'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'
|
||||
+#2'z'#6'Height'#2#23#3'Top'#3'Q'#1#5'Width'#3#141#1#18'BorderSpacing.Left'#2
|
||||
+#6#17'BorderSpacing.Top'#2#6#13'OnEditingDone'#7#24'OutputDirEditEditingDone'
|
||||
+#8'TabOrder'#2#2#4'Text'#6#13'OutputDirEdit'#0#0#7'TButton'#21'OutputDirBrow'
|
||||
+'seButton'#22'AnchorSideLeft.Control'#7#13'OutputDirEdit'#19'AnchorSideLeft.'
|
||||
+'Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#13'OutputDirEdit'#24'Ancho'
|
||||
+'rSideBottom.Control'#7#13'OutputDirEdit'#21'AnchorSideBottom.Side'#7#9'asrB'
|
||||
+'ottom'#4'Left'#3#7#2#6'Height'#2#23#3'Top'#3'Q'#1#5'Width'#2' '#7'Anchors'
|
||||
+#11#5'akTop'#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#7'Cap'
|
||||
+'tion'#6#3'...'#7'OnClick'#7#26'OutputDirBrowseButtonClick'#8'TabOrder'#2#3#0
|
||||
+#0#11'TCheckGroup'#22'h2pasOptionsCheckGroup'#4'Left'#2#6#6'Height'#3#8#1#3
|
||||
+'Top'#2#4#5'Width'#3#0#3#8'AutoFill'#9#7'Caption'#6#22'h2pasOptionsCheckGrou'
|
||||
+'p'#28'ChildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6
|
||||
+#29'ChildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSi'
|
||||
+'zing.EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkH'
|
||||
+'orizontal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScal'
|
||||
+'eChilds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'Chil'
|
||||
+'dSizing.ControlsPerLine'#2#2#7'Columns'#2#2#11'OnItemClick'#7#31'h2pasOptio'
|
||||
+'nsCheckGroupItemClick'#8'TabOrder'#2#4#0#0#0#9'TTabSheet'#17'PostH2PasTabSh'
|
||||
+'eet'#7'Caption'#6#17'PostH2PasTabSheet'#0#9'TGroupBox'#17'PostH2PasGroupBox'
|
||||
+#6'Height'#3#219#1#5'Width'#3#13#3#5'Align'#7#8'alClient'#7'Caption'#6#17'Po'
|
||||
+'stH2PasGroupBox'#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#16'SettingsTabSheet'#7
|
||||
+'Caption'#6#16'SettingsTabSheet'#0#6'TLabel'#18'H2PasFilenameLabel'#21'Ancho'
|
||||
+'rSideTop.Control'#7#17'H2PasFilenameEdit'#18'AnchorSideTop.Side'#7#9'asrCen'
|
||||
+'ter'#4'Left'#2#6#6'Height'#2#17#3'Top'#2#7#5'Width'#3#155#0#7'Caption'#6#18
|
||||
+'H2PasFilenameLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#9'TCheckBox'
|
||||
+#30'OpenLastProjectOnStartCheckBox'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'*'#5
|
||||
+'Width'#3#21#1#7'Caption'#6#30'OpenLastProjectOnStartCheckBox'#8'OnChange'#7
|
||||
,'$OpenLastProjectOnStartCheckBoxChange'#8'TabOrder'#2#0#0#0#7'TButton'#20'Sa'
|
||||
+'veSettingsAsButton'#4'Left'#2#6#6'Height'#2#30#3'Top'#2'R'#5'Width'#3#177#0
|
||||
+#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#20'SaveSetting'
|
||||
+'sAsButton'#7'OnClick'#7#25'SaveSettingsAsButtonClick'#8'TabOrder'#2#1#0#0#5
|
||||
+'TEdit'#17'H2PasFilenameEdit'#22'AnchorSideLeft.Control'#7#18'H2PasFilenameL'
|
||||
+'abel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#167#0#6'Height'#2#23
|
||||
+#3'Top'#2#4#5'Width'#3'`'#1#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'
|
||||
+#2#6#13'OnEditingDone'#7#28'H2PasFilenameEditEditingDone'#8'TabOrder'#2#2#4
|
||||
+'Text'#6#17'H2PasFilenameEdit'#0#0#7'TButton'#25'h2pasFilenameBrowseButton'
|
||||
+#22'AnchorSideLeft.Control'#7#17'H2PasFilenameEdit'#19'AnchorSideLeft.Side'#7
|
||||
+#9'asrBottom'#21'AnchorSideTop.Control'#7#17'H2PasFilenameEdit'#24'AnchorSid'
|
||||
+'eBottom.Control'#7#17'H2PasFilenameEdit'#21'AnchorSideBottom.Side'#7#9'asrB'
|
||||
+'ottom'#4'Left'#3#7#2#6'Height'#2#23#3'Top'#2#4#5'Width'#2'#'#7'Anchors'#11#5
|
||||
+'akTop'#6'akLeft'#8'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'
|
||||
+#6#3'...'#7'OnClick'#7#30'h2pasFilenameBrowseButtonClick'#8'TabOrder'#2#3#0#0
|
||||
+#7'TButton'#17'NewSettingsButton'#4'Left'#2#6#6'Height'#2#30#3'Top'#2'|'#5'W'
|
||||
+'idth'#3#154#0#8'AutoSize'#9#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6
|
||||
+#17'NewSettingsButton'#7'OnClick'#7#22'NewSettingsButtonClick'#8'TabOrder'#2
|
||||
+#4#0#0#0#0#7'TButton'#18'OpenSettingsButton'#22'AnchorSideLeft.Control'#7#5
|
||||
+'Owner'#24'AnchorSideBottom.Control'#7#5'Owner'#21'AnchorSideBottom.Side'#7#9
|
||||
+'asrBottom'#4'Left'#2#5#6'Height'#2#30#3'Top'#3#2#2#5'Width'#3#161#0#7'Ancho'
|
||||
+'rs'#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#5#25
|
||||
+'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#18'OpenSettingsButton'#7'OnClic'
|
||||
+'k'#7#23'OpenSettingsButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#18'SaveSett'
|
||||
+'ingsButton'#22'AnchorSideLeft.Control'#7#18'OpenSettingsButton'#19'AnchorSi'
|
||||
+'deLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#5'Owner'#21'Anch'
|
||||
+'orSideBottom.Side'#7#9'asrBottom'#4'Left'#3#171#0#6'Height'#2#30#3'Top'#3#2
|
||||
+#2#5'Width'#3#158#0#7'Anchors'#11#6'akLeft'#8'akBottom'#0#8'AutoSize'#9#20'B'
|
||||
+'orderSpacing.Around'#2#5#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#18
|
||||
+'SaveSettingsButton'#7'OnClick'#7#23'SaveSettingsButtonClick'#8'TabOrder'#2#2
|
||||
+#0#0#7'TButton'#13'ConvertButton'#22'AnchorSideLeft.Control'#7#18'SaveSettin'
|
||||
+'gsButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7
|
||||
+#18'OpenSettingsButton'#4'Left'#3'X'#1#6'Height'#2#30#3'Top'#3#2#2#5'Width'#2
|
||||
+'w'#8'AutoSize'#9#18'BorderSpacing.Left'#2#15#25'BorderSpacing.InnerBorder'#2
|
||||
+#4#7'Caption'#6#13'ConvertButton'#7'OnClick'#7#18'ConvertButtonClick'#8'TabO'
|
||||
+'rder'#2#0#0#0#7'TButton'#11'CloseButton'#23'AnchorSideRight.Control'#7#5'Ow'
|
||||
+'ner'#20'AnchorSideRight.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7
|
||||
+#5'Owner'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#165#2#6'Height'
|
||||
+#2#30#3'Top'#3#2#2#5'Width'#2'g'#7'Anchors'#11#7'akRight'#8'akBottom'#0#8'Au'
|
||||
+'toSize'#9#20'BorderSpacing.Around'#2#5#25'BorderSpacing.InnerBorder'#2#4#7
|
||||
+'Caption'#6#11'CloseButton'#7'OnClick'#7#16'CloseButtonClick'#8'TabOrder'#2#3
|
||||
+#0#0#7'TButton'#21'ConvertAndBuildButton'#22'AnchorSideLeft.Control'#7#13'Co'
|
||||
+'nvertButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contro'
|
||||
+'l'#7#18'OpenSettingsButton'#4'Left'#3#213#1#6'Height'#2#30#3'Top'#3#2#2#5'W'
|
||||
+'idth'#3#183#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#25'BorderSpacing.Inn'
|
||||
+'erBorder'#2#4#7'Caption'#6#21'ConvertAndBuildButton'#7'OnClick'#7#26'Conver'
|
||||
+'tAndBuildButtonClick'#8'TabOrder'#2#5#0#0#10'TImageList'#18'FileStateImageL'
|
||||
+'ist'#4'left'#3#136#0#3'top'#2'^'#6'Bitmap'#10'}'#3#0#0'li'#2#0#0#0#16#0#0#0
|
||||
+#16#0#0#0#191#1#0#0'/* XPM */'#10'static char * pkg_removedfiles_xpm[] = {'
|
||||
+#10'"14 13 10 1",'#10'" '#9'c None",'#10'".'#9'c #000044",'#10'"+'#9'c #0000'
|
||||
+'55",'#10'"@'#9'c #FF1414",'#10'"#'#9'c #000084",'#10'"$'#9'c #000033",'#10
|
||||
+'"%'#9'c #FFFFFF",'#10'"&'#9'c #D5D5EF",'#10'"*'#9'c #CBCBCB",'#10'"='#9'c #'
|
||||
+'000000",'#10'" ..++.... ",'#10'" .@@####. @@ ",'#10'" $%@@%%&.@@ ",'
|
||||
+#10'" $*%@@..@@.. ",'#10'" =%%.@@@@... ",'#10'"...++$%@@%%&=%",'#10'".....'
|
||||
+'$@@@@&&=%",'#10'".%*%%@@%%@@&=%",'#10'".*%%@@%&&&@@=%",'#10'".%%@@======@@%'
|
||||
+'",'#10'".%@@&&&=%%%%@%",'#10'".@@=====% ",'#10'" %%%%%%%% "};'#10
|
||||
+#168#1#0#0'/* XPM */'#10'static char * pkg_files_xpm[] = {'#10'"14 13 9 1",'
|
||||
+#10'" '#9'c None",'#10'".'#9'c #000044",'#10'"+'#9'c #000055",'#10'"@'#9'c #'
|
||||
+'000084",'#10'"#'#9'c #000033",'#10'"$'#9'c #FFFFFF",'#10'"%'#9'c #CBCBCB",'
|
||||
+#10'"&'#9'c #D5D5EF",'#10'"*'#9'c #000000",'#10'" ..++.... ",'#10'" .@@'
|
||||
+'@@@@. ",'#10'" #$%$$$&.$ ",'#10'" #%$........ ",'#10'" *$$........ '
|
||||
+'",'#10'"...++#$%$$$&*$",'#10'".....#%$$$&&*$",'#10'".$%$$*$$$&$&*$",'#10'".'
|
||||
+'%$$$*$&&&&&*$",'#10'".$$$$********$",'#10'".$&&&&&*$$$$$$",'#10'".*******$ '
|
||||
+' ",'#10'" $$$$$$$$ "};'#10#0#0#0
|
||||
]);
|
||||
|
@ -36,22 +36,24 @@ type
|
||||
{ TH2PasDialog }
|
||||
|
||||
TH2PasDialog = class(TForm)
|
||||
MergeAllCHeadersExceptCurrentButton: TButton;
|
||||
MergeFileCheckBox: TCheckBox;
|
||||
FileInfoMemo: TMemo;
|
||||
FileStateImageList: TImageList;
|
||||
MoveFileDownButton: TButton;
|
||||
MoveFileUpButton: TButton;
|
||||
ConvertAndBuildButton: TButton;
|
||||
FileInfoGroupBox: TGroupBox;
|
||||
FileInfoLabel: TLabel;
|
||||
MainPageControl: TPageControl;
|
||||
AddIncludedCHeaderFilesButton: TButton;
|
||||
|
||||
// c header files
|
||||
FilesTabSheet: TTabSheet;
|
||||
CHeaderFilesSplitter1: TSplitter;
|
||||
AddCHeaderFilesButton: TButton;
|
||||
DisableAllCHeaderFilesButton: TButton;
|
||||
EnableAllCHeaderFilesButton: TButton;
|
||||
DeleteCHeaderFilesButton: TButton;
|
||||
AddCHeadersButton: TButton;
|
||||
DisableAllCHeadersButton: TButton;
|
||||
EnableAllCHeadersButton: TButton;
|
||||
DeleteCHeadersButton: TButton;
|
||||
CHeaderFilesCheckTreeView: TTreeView;
|
||||
|
||||
// pre h2pas
|
||||
@ -90,8 +92,9 @@ type
|
||||
ConvertButton: TButton;
|
||||
CloseButton: TButton;
|
||||
|
||||
procedure AddCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure AddCHeadersButtonClick(Sender: TObject);
|
||||
procedure AddIncludedCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure CHeaderFilesCheckTreeViewDblClick(Sender: TObject);
|
||||
procedure CHeaderFilesCheckTreeViewMouseDown(Sender: TOBject;
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
procedure CHeaderFilesCheckTreeViewSelectionChanged(Sender: TObject);
|
||||
@ -99,13 +102,14 @@ type
|
||||
procedure ConstantsInsteadOfEnumsCheckBoxChange(Sender: TObject);
|
||||
procedure ConvertAndBuildButtonClick(Sender: TObject);
|
||||
procedure ConvertButtonClick(Sender: TObject);
|
||||
procedure DeleteCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure DeleteCHeadersButtonClick(Sender: TObject);
|
||||
procedure FormCloseQuery(Sender: TObject; var CanClose: boolean);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||
procedure H2PasFilenameEditEditingDone(Sender: TObject);
|
||||
procedure LibnameEditEditingDone(Sender: TObject);
|
||||
procedure MergeAllCHeadersExceptCurrentButtonClick(Sender: TObject);
|
||||
procedure MoveFileDownButtonClick(Sender: TObject);
|
||||
procedure MoveFileUpButtonClick(Sender: TObject);
|
||||
procedure NewSettingsButtonClick(Sender: TObject);
|
||||
@ -118,8 +122,8 @@ type
|
||||
procedure PreH2PasEditModified(Sender: TObject);
|
||||
procedure SaveSettingsAsButtonClick(Sender: TObject);
|
||||
procedure SaveSettingsButtonClick(Sender: TObject);
|
||||
procedure EnableAllCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure DisableAllCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure EnableAllCHeadersButtonClick(Sender: TObject);
|
||||
procedure DisableAllCHeadersButtonClick(Sender: TObject);
|
||||
procedure h2pasFilenameBrowseButtonClick(Sender: TObject);
|
||||
procedure h2pasOptionsCheckGroupItemClick(Sender: TObject; Index: LongInt);
|
||||
procedure OnShowSrcEditSection(Sender: TObject);
|
||||
@ -131,18 +135,20 @@ type
|
||||
|
||||
function GetProject: TH2PasProject;
|
||||
|
||||
procedure UpdateAll;
|
||||
procedure UpdateProjectChanged; // show project settings
|
||||
procedure UpdateAll(ScanIncludes: boolean);
|
||||
procedure UpdateProjectChanged(ScanIncludes: boolean); // show project settings
|
||||
procedure UpdateCaption;
|
||||
procedure UpdateFileInfo;
|
||||
procedure ClearMessages;
|
||||
procedure CreateLazarusMenuItems;
|
||||
function GetNodeFilename(Node: TTreeNode): string;
|
||||
function GetCurrentCHeaderFile: TH2PasFile;
|
||||
procedure MoveCurrentFile(Offset: integer);
|
||||
function GetFileNodeStateIndex(aFile: TH2PasFile): Integer;
|
||||
procedure MarkAllCHeadersExceptCurrentToMerge;
|
||||
|
||||
// project settings
|
||||
procedure UpdateFilesPage;
|
||||
procedure UpdateFilesPage(ScanIncludes: boolean);
|
||||
procedure UpdateH2PasPage;
|
||||
procedure UpdateConvertPage;
|
||||
// global settings
|
||||
@ -220,14 +226,16 @@ procedure TH2PasDialog.FormCreate(Sender: TObject);
|
||||
begin
|
||||
Caption:=h2pCHeaderFileConverter;
|
||||
FilesTabSheet.Caption:='C header files';
|
||||
AddCHeaderFilesButton.Caption:='Add .h files ...';
|
||||
DeleteCHeaderFilesButton.Caption:='Delete selected .h files';
|
||||
EnableAllCHeaderFilesButton.Caption:='Enable all .h files';
|
||||
DisableAllCHeaderFilesButton.Caption:='Disable all .h files';
|
||||
AddCHeadersButton.Caption:='Add .h files ...';
|
||||
DeleteCHeadersButton.Caption:='Delete selected .h files';
|
||||
EnableAllCHeadersButton.Caption:='Enable all .h files';
|
||||
DisableAllCHeadersButton.Caption:='Disable all .h files';
|
||||
MoveFileDownButton.Caption:='Move file down';
|
||||
MoveFileUpButton.Caption:='Move file up';
|
||||
FileInfoGroupBox.Caption:='File information';
|
||||
AddIncludedCHeaderFilesButton.Caption:='Add included .h files';
|
||||
MergeAllCHeadersExceptCurrentButton.Caption:='Merge all but this';
|
||||
MergeFileCheckBox.Caption:='Merge file';
|
||||
h2pasOptionsTabSheet.Caption:='h2pas Options';
|
||||
h2pasOptionsCheckGroup.Caption:='Options';
|
||||
with h2pasOptionsCheckGroup.Items do begin
|
||||
@ -301,7 +309,7 @@ begin
|
||||
PostH2PasEdit.ListOfTools:=Project.PostH2PasTools;
|
||||
end;
|
||||
|
||||
UpdateAll;
|
||||
UpdateAll(false);
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.FormCloseQuery(Sender: TObject; var CanClose: boolean);
|
||||
@ -344,7 +352,7 @@ begin
|
||||
Convert;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.DeleteCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure TH2PasDialog.DeleteCHeadersButtonClick(Sender: TObject);
|
||||
var
|
||||
DeleteFiles: TStringList;
|
||||
Node: TTreeNode;
|
||||
@ -354,7 +362,7 @@ begin
|
||||
while Node<>nil do begin
|
||||
if Node.Parent=nil then begin
|
||||
// top lvl node is a .h file
|
||||
DeleteFiles.Add(Project.LongenFilename(Node.Text));
|
||||
DeleteFiles.Add(GetNodeFilename(Node));
|
||||
end;
|
||||
Node:=Node.GetNextMultiSelected;
|
||||
end;
|
||||
@ -367,12 +375,12 @@ begin
|
||||
then begin
|
||||
Project.DeleteFiles(DeleteFiles);
|
||||
end;
|
||||
UpdateFilesPage;
|
||||
UpdateFilesPage(true);
|
||||
end;
|
||||
DeleteFiles.Free;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.AddCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure TH2PasDialog.AddCHeadersButtonClick(Sender: TObject);
|
||||
var
|
||||
OpenDialog: TOpenDialog;
|
||||
begin
|
||||
@ -384,7 +392,7 @@ begin
|
||||
OpenDialog.Filter:='C header file (*.h)|*.h|All files (*.*)|'+FileMask;
|
||||
if OpenDialog.Execute then begin
|
||||
Project.AddFiles(OpenDialog.Files);
|
||||
UpdateFilesPage;
|
||||
UpdateFilesPage(true);
|
||||
end;
|
||||
finally
|
||||
StoreIDEFileDialog(OpenDialog);
|
||||
@ -406,7 +414,7 @@ begin
|
||||
StateIconLeft:=Node.DisplayStateIconLeft;
|
||||
if (x>=StateIconLeft) and (x<StateIconLeft+FileStateImageList.Width) then
|
||||
begin
|
||||
AFilename:=Project.LongenFilename(Node.Text);
|
||||
AFilename:=GetNodeFilename(Node);
|
||||
CurFile:=Project.CHeaderFileWithFilename(AFilename);
|
||||
if CurFile=nil then exit;
|
||||
CurFile.Enabled:=not CurFile.Enabled;
|
||||
@ -449,12 +457,13 @@ begin
|
||||
s:=s+#13+CurFilename;
|
||||
end;
|
||||
if QuestionDlg('Add .h files?',
|
||||
'Add these .h files to h2pas project:'#13#13
|
||||
'Add these .h files to h2pas project:'#13
|
||||
+s+#13+'?',
|
||||
mtConfirmation,[mbYes,mbNo],0)=mrYes
|
||||
mtConfirmation,[mrYes,mrNo],0)=mrYes
|
||||
then begin
|
||||
Project.AddFiles(sl);
|
||||
UpdateFilesPage;
|
||||
Project.ReadAllCIncludes(true);
|
||||
UpdateFilesPage(false);
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
@ -462,6 +471,15 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.CHeaderFilesCheckTreeViewDblClick(Sender: TObject);
|
||||
var
|
||||
CurFile: TH2PasFile;
|
||||
begin
|
||||
CurFile:=GetCurrentCHeaderFile;
|
||||
if CurFile<>nil then
|
||||
LazarusIDE.DoOpenEditorFile(CurFile.Filename,-1,[]);
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.CHeaderFilesCheckTreeViewSelectionChanged(Sender: TObject
|
||||
);
|
||||
begin
|
||||
@ -500,6 +518,12 @@ begin
|
||||
Project.Libname:=LibnameEdit.Text;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.MergeAllCHeadersExceptCurrentButtonClick(Sender: TObject
|
||||
);
|
||||
begin
|
||||
MarkAllCHeadersExceptCurrentToMerge;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.MoveFileDownButtonClick(Sender: TObject);
|
||||
begin
|
||||
MoveCurrentFile(1);
|
||||
@ -514,7 +538,7 @@ procedure TH2PasDialog.NewSettingsButtonClick(Sender: TObject);
|
||||
begin
|
||||
Project.Filename:='';
|
||||
Project.Clear(true);
|
||||
UpdateAll;
|
||||
UpdateAll(true);
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.OpenLastProjectOnStartCheckBoxChange(Sender: TObject);
|
||||
@ -581,7 +605,7 @@ begin
|
||||
SaveProject('',[]);
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.EnableAllCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure TH2PasDialog.EnableAllCHeadersButtonClick(Sender: TObject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
@ -594,7 +618,7 @@ begin
|
||||
UpdateFileInfo;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.DisableAllCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure TH2PasDialog.DisableAllCHeadersButtonClick(Sender: TObject);
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
@ -697,19 +721,19 @@ begin
|
||||
Result:=Converter.Project;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.UpdateAll;
|
||||
procedure TH2PasDialog.UpdateAll(ScanIncludes: boolean);
|
||||
begin
|
||||
UpdateCaption;
|
||||
UpdateFilesPage;
|
||||
UpdateFilesPage(ScanIncludes);
|
||||
UpdateH2PasPage;
|
||||
UpdateConvertPage;
|
||||
UpdateSettingsPage;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.UpdateProjectChanged;
|
||||
procedure TH2PasDialog.UpdateProjectChanged(ScanIncludes: boolean);
|
||||
begin
|
||||
UpdateCaption;
|
||||
UpdateFilesPage;
|
||||
UpdateFilesPage(ScanIncludes);
|
||||
UpdateH2PasPage;
|
||||
UpdateConvertPage;
|
||||
end;
|
||||
@ -747,17 +771,29 @@ begin
|
||||
s:=s+#13#13+'Includes:';
|
||||
for i:=0 to AFile.CIncludeCount-1 do begin
|
||||
IncFile:=AFile.CIncludes[i];
|
||||
s:=s+#13+IncFile.SrcFilename+':'+IntToStr(IncFile.SrcPos.Y);
|
||||
s:=s+#13+Project.ShortenFilename(IncFile.Filename)+':'+IntToStr(IncFile.SrcPos.Y);
|
||||
end;
|
||||
AddIncludedCHeaderFilesButton.Visible:=true;
|
||||
AddIncludedCHeaderFilesButton.Enabled:=true;
|
||||
end else begin
|
||||
AddIncludedCHeaderFilesButton.Visible:=false;
|
||||
AddIncludedCHeaderFilesButton.Enabled:=false;
|
||||
end;
|
||||
|
||||
FileInfoLabel.Caption:=s;
|
||||
if AFile.CIncludedByCount>0 then begin
|
||||
s:=s+#13#13+'Included by:';
|
||||
for i:=0 to AFile.CIncludedByCount-1 do begin
|
||||
IncFile:=AFile.CIncludedBy[i];
|
||||
s:=s+#13+Project.ShortenFilename(IncFile.Owner.Filename)+':'+IntToStr(IncFile.SrcPos.Y);
|
||||
end;
|
||||
end;
|
||||
|
||||
FileInfoMemo.Caption:=s;
|
||||
|
||||
MergeFileCheckBox.Checked:=AFile.Merge;
|
||||
MergeFileCheckBox.Enabled:=true;
|
||||
end else begin
|
||||
FileInfoLabel.Caption:='No file selected.';
|
||||
AddIncludedCHeaderFilesButton.Visible:=false;
|
||||
FileInfoMemo.Caption:='No file selected.';
|
||||
MergeFileCheckBox.Enabled:=false;
|
||||
AddIncludedCHeaderFilesButton.Enabled:=false;
|
||||
end;
|
||||
end;
|
||||
|
||||
@ -780,6 +816,17 @@ begin
|
||||
@OnAddSearchAndReplaceBeforeH2PasClick);
|
||||
end;
|
||||
|
||||
function TH2PasDialog.GetNodeFilename(Node: TTreeNode): string;
|
||||
var
|
||||
p: LongInt;
|
||||
begin
|
||||
Result:=Node.Text;
|
||||
p:=System.Pos('(',Result);
|
||||
if p>0 then
|
||||
Result:=copy(Result,1,p-2);
|
||||
Result:=Project.LongenFilename(Result);
|
||||
end;
|
||||
|
||||
function TH2PasDialog.GetCurrentCHeaderFile: TH2PasFile;
|
||||
var
|
||||
AFilename: String;
|
||||
@ -788,7 +835,7 @@ begin
|
||||
Result:=nil;
|
||||
Node:=CHeaderFilesCheckTreeView.Selected;
|
||||
if (Node=nil) or (Node.Parent<>nil) then exit;
|
||||
AFilename:=Project.LongenFilename(Node.Text);
|
||||
AFilename:=GetNodeFilename(Node);
|
||||
Result:=Project.CHeaderFileWithFilename(AFilename);
|
||||
end;
|
||||
|
||||
@ -805,7 +852,7 @@ begin
|
||||
end;
|
||||
Node:=CHeaderFilesCheckTreeView.Selected;
|
||||
if (Node=nil) or (Node.Parent<>nil) then exit;
|
||||
AFilename:=Project.LongenFilename(Node.Text);
|
||||
AFilename:=GetNodeFilename(Node);
|
||||
Index:=Project.CHeaderFileIndexWithFilename(AFilename);
|
||||
if Index<0 then begin
|
||||
DebugLn(['TH2PasDialog.MoveCurrentFile not found: Filename=',AFilename]);
|
||||
@ -832,7 +879,23 @@ begin
|
||||
Result:=0;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.UpdateFilesPage;
|
||||
procedure TH2PasDialog.MarkAllCHeadersExceptCurrentToMerge;
|
||||
var
|
||||
CurFile: TH2PasFile;
|
||||
i: Integer;
|
||||
OtherFile: TH2PasFile;
|
||||
begin
|
||||
if Project=nil then exit;
|
||||
CurFile:=GetCurrentCHeaderFile;
|
||||
if CurFile=nil then exit;
|
||||
for i:=0 to Project.CHeaderFileCount-1 do begin
|
||||
OtherFile:=Project.CHeaderFiles[i];
|
||||
OtherFile.Merge:=OtherFile<>CurFile;
|
||||
end;
|
||||
UpdateFileInfo;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.UpdateFilesPage(ScanIncludes: boolean);
|
||||
var
|
||||
i: Integer;
|
||||
CurFile: TH2PasFile;
|
||||
@ -841,8 +904,10 @@ var
|
||||
OldExpandedState: TTreeNodeExpandedState;
|
||||
Node: TTreeNode;
|
||||
OldSelected: String;
|
||||
j: Integer;
|
||||
begin
|
||||
CHeaderFilesCheckTreeView.ConsistencyCheck;
|
||||
if ScanIncludes and (Project<>nil) then
|
||||
Project.ReadAllCIncludes(false);
|
||||
CHeaderFilesCheckTreeView.BeginUpdate;
|
||||
OldSelection:=nil;
|
||||
OldExpandedState:=TTreeNodeExpandedState.Create(CHeaderFilesCheckTreeView);
|
||||
@ -866,10 +931,15 @@ begin
|
||||
for i:=0 to Project.CHeaderFileCount-1 do begin
|
||||
CurFile:=Project.CHeaderFiles[i];
|
||||
s:=Project.ShortenFilename(CurFile.Filename);
|
||||
if CurFile.CIncludedByCount>0 then
|
||||
s:=s+' (included by '+IntToStr(CurFile.CIncludedByCount)+')';
|
||||
Node:=CHeaderFilesCheckTreeView.Items.Add(nil,s);
|
||||
Node.MultiSelected:=OldSelection.IndexOf(Node.GetTextPath)>=0;
|
||||
Node.Selected:=Node.Text=OldSelected;
|
||||
Node.StateIndex:=GetFileNodeStateIndex(CurFile);
|
||||
for j:=0 to CurFile.CIncludeCount-1 do begin
|
||||
|
||||
end;
|
||||
end;
|
||||
|
||||
// restore expanded state
|
||||
@ -1196,7 +1266,7 @@ begin
|
||||
Project.Filename:=NewFilename;
|
||||
end;
|
||||
|
||||
UpdateProjectChanged;
|
||||
UpdateProjectChanged(true);
|
||||
end;
|
||||
|
||||
initialization
|
||||
|
@ -42,25 +42,28 @@
|
||||
</Item6>
|
||||
<Item7>
|
||||
<Filename Value="idetextconvlistadd.pas"/>
|
||||
<UnitName Value="idetextconvlistadd"/>
|
||||
<UnitName Value="IDETextConvListAdd"/>
|
||||
</Item7>
|
||||
</Files>
|
||||
<RST OutDir="languages/"/>
|
||||
<Type Value="RunAndDesignTime"/>
|
||||
<RequiredPkgs Count="4">
|
||||
<RequiredPkgs Count="5">
|
||||
<Item1>
|
||||
<PackageName Value="SynEdit"/>
|
||||
<PackageName Value="LCL"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="IDEIntf"/>
|
||||
<PackageName Value="SynEdit"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<PackageName Value="FCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
<PackageName Value="IDEIntf"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<PackageName Value="CodeTools"/>
|
||||
<PackageName Value="FCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
</Item4>
|
||||
<Item5>
|
||||
<PackageName Value="CodeTools"/>
|
||||
</Item5>
|
||||
</RequiredPkgs>
|
||||
<UsageOptions>
|
||||
<UnitPath Value="$(PkgOutDir)/"/>
|
||||
|
@ -339,6 +339,7 @@ var
|
||||
DesignerMenuDeleteSelection: TIDEMenuCommand;
|
||||
|
||||
DesignerMenuChangeClass: TIDEMenuCommand;
|
||||
DesignerMenuChangeParent: TIDEMenuSection;
|
||||
DesignerMenuViewLFM: TIDEMenuCommand;
|
||||
DesignerMenuSaveAsXML: TIDEMenuCommand;
|
||||
|
||||
@ -419,6 +420,9 @@ begin
|
||||
'Miscellaneous section');
|
||||
DesignerMenuChangeClass:=RegisterIDEMenuCommand(DesignerMenuSectionMisc,
|
||||
'Change class',lisChangeClass);
|
||||
DesignerMenuChangeParent:=RegisterIDEMenuSection(DesignerMenuSectionMisc,
|
||||
'Change parent');
|
||||
DesignerMenuChangeParent.Caption:=lisChangeParent;
|
||||
DesignerMenuViewLFM:=RegisterIDEMenuCommand(DesignerMenuSectionMisc,
|
||||
'View LFM',lisViewSourceLfm);
|
||||
DesignerMenuSaveAsXML:=RegisterIDEMenuCommand(DesignerMenuSectionMisc,
|
||||
@ -2701,6 +2705,56 @@ var
|
||||
CompsAreSelected: boolean;
|
||||
OneControlSelected: Boolean;
|
||||
SelectionVisible: Boolean;
|
||||
|
||||
procedure UpdateChangeParentMenu;
|
||||
var
|
||||
Candidates: TFPList;
|
||||
i: Integer;
|
||||
Candidate: TWinControl;
|
||||
j: Integer;
|
||||
CurSelected: TSelectedControl;
|
||||
Item: TIDEMenuItem;
|
||||
begin
|
||||
Candidates:=TFPList.Create;
|
||||
if ControlSelIsNotEmpty
|
||||
and (not LookupRootIsSelected)
|
||||
and (LookupRoot is TWinControl) then begin
|
||||
//DebugLn(['UpdateChangeParentMenu ',LookupRoot.ComponentCount]);
|
||||
for i:=0 to LookupRoot.ComponentCount-1 do begin
|
||||
if not (LookupRoot.Components[i] is TWinControl) then continue;
|
||||
|
||||
Candidate:=TWinControl(LookupRoot.Components[i]);
|
||||
if not (csAcceptsControls in Candidate.ControlStyle) then continue;
|
||||
j:=ControlSelection.Count-1;
|
||||
while j>=0 do begin
|
||||
CurSelected:=ControlSelection[j];
|
||||
//DebugLn(['UpdateChangeParentMenu ',CurSelected.IsTControl,' ',DbgSName(CurSelected.Persistent),' ',CurSelected.IsTWinControl]);
|
||||
if not CurSelected.IsTControl then continue;
|
||||
if CurSelected.Persistent=Candidate then break;
|
||||
if CurSelected.IsTWinControl
|
||||
and TWinControl(CurSelected.Persistent).IsParentOf(Candidate)
|
||||
then
|
||||
break;
|
||||
dec(j);
|
||||
end;
|
||||
//DebugLn(['UpdateChangeParentMenu j=',j,' ',dbgsName(Candidate)]);
|
||||
if j<0 then
|
||||
Candidates.Add(Candidate);
|
||||
end;
|
||||
|
||||
end;
|
||||
|
||||
DesignerMenuChangeParent.Visible:=Candidates.Count>0;
|
||||
DebugLn(['UpdateChangeParentMenu ',DesignerMenuChangeParent.Visible]);
|
||||
DesignerMenuChangeParent.Clear;
|
||||
for i:=0 to DesignerMenuChangeParent.Count-1 do begin
|
||||
Item:=TIDEMenuCommand.Create(DesignerMenuChangeParent.Name+'_'+IntToStr(i));
|
||||
DesignerMenuChangeParent.AddLast(Item);
|
||||
Item.Caption:=TWinControl(Candidates[i]).Name;
|
||||
end;
|
||||
Candidates.Free;
|
||||
end;
|
||||
|
||||
begin
|
||||
ControlSelIsNotEmpty:=(ControlSelection.Count>0)
|
||||
and (ControlSelection.SelectionForm=Form);
|
||||
@ -2733,6 +2787,7 @@ begin
|
||||
DesignerMenuDeleteSelection.Enabled:= CompsAreSelected;
|
||||
|
||||
DesignerMenuChangeClass.Enabled:= CompsAreSelected and (ControlSelection.Count=1);
|
||||
UpdateChangeParentMenu;
|
||||
|
||||
DesignerMenuSnapToGridOption.Checked:=EnvironmentOptions.SnapToGrid;
|
||||
DesignerMenuSnapToGuideLinesOption.Checked:=EnvironmentOptions.SnapToGuideLines;
|
||||
|
@ -3356,6 +3356,7 @@ resourcestring
|
||||
lisPListAll = '<All>';
|
||||
lisPListNone = '<None>';
|
||||
lisUIClearIncludedByReference = 'Clear include cache';
|
||||
lisChangeParent = 'Change parent ...';
|
||||
|
||||
implementation
|
||||
end.
|
||||
|
Loading…
Reference in New Issue
Block a user