IDE: started code browser
git-svn-id: trunk@10598 -
19
.gitattributes
vendored
@ -1331,6 +1331,9 @@ ide/cleandirdlg.lfm svneol=native#text/plain
|
||||
ide/cleandirdlg.lrs svneol=native#text/pascal
|
||||
ide/cleandirdlg.pas svneol=native#text/pascal
|
||||
ide/clipboardhistory.pas svneol=native#text/pascal
|
||||
ide/codebrowser.lfm svneol=native#text/plain
|
||||
ide/codebrowser.lrs svneol=native#text/plain
|
||||
ide/codebrowser.pas svneol=native#text/plain
|
||||
ide/codecontextform.pas svneol=native#text/plain
|
||||
ide/codeexplopts.lfm svneol=native#text/plain
|
||||
ide/codeexplopts.lrs svneol=native#text/pascal
|
||||
@ -1723,6 +1726,14 @@ images/LazarusProject.ico -text svneol=unset#image/x-icon
|
||||
images/LazarusSource.bmp -text svneol=unset#image/bmp
|
||||
images/LazarusSource.ico -text svneol=unset#image/x-icon
|
||||
images/README.txt svneol=native#text/plain
|
||||
images/arrow_down.ico -text svneol=unset#image/x-icon
|
||||
images/arrow_down.xpm -text svneol=native#image/x-xpixmap
|
||||
images/arrow_left.ico -text svneol=unset#image/x-icon
|
||||
images/arrow_left.xpm -text svneol=native#image/x-xpixmap
|
||||
images/arrow_right.ico -text svneol=unset#image/x-icon
|
||||
images/arrow_right.xpm -text svneol=native#image/x-xpixmap
|
||||
images/arrow_up.ico -text svneol=unset#image/x-icon
|
||||
images/arrow_up.xpm -text svneol=native#image/x-xpixmap
|
||||
images/bookmark.lrs svneol=native#text/pascal
|
||||
images/btn_downarrow.ico -text svneol=unset#image/x-icon
|
||||
images/btn_downarrow.xpm -text svneol=native#image/x-xpixmap
|
||||
@ -1949,8 +1960,6 @@ images/designer/anchorrightright.xpm -text svneol=native#image/x-xpixmap
|
||||
images/designer/anchortopbottom.xpm -text svneol=native#image/x-xpixmap
|
||||
images/designer/anchortoptop.xpm -text svneol=native#image/x-xpixmap
|
||||
images/down.xpm svneol=native#text/plain
|
||||
images/downarrow.ico -text svneol=unset#image/x-icon
|
||||
images/downarrow.xpm -text svneol=native#image/x-xpixmap
|
||||
images/fonts.ico -text svneol=unset#image/x-icon
|
||||
images/fonts.xpm -text svneol=native#image/x-xpixmap
|
||||
images/formatbold.bmp -text
|
||||
@ -1971,8 +1980,6 @@ images/lazarus64.ico -text svneol=unset#image/x-icon
|
||||
images/lazarus64.xpm -text svneol=native#image/x-xpixmap
|
||||
images/lazarus_about_logo.xpm -text svneol=native#image/x-xpixmap
|
||||
images/lazaruspackage.ico -text svneol=unset#image/x-icon
|
||||
images/leftarrow.ico -text svneol=unset#image/x-icon
|
||||
images/leftarrow.xpm -text svneol=native#image/x-xpixmap
|
||||
images/lprfile.ico -text svneol=unset#image/x-icon
|
||||
images/mainicon.ico -text svneol=unset#image/x-icon
|
||||
images/mainicon.lrs svneol=native#text/pascal
|
||||
@ -2037,8 +2044,6 @@ images/pkg_removedrequired.xpm -text svneol=native#image/x-xpixmap
|
||||
images/pkg_required.xpm -text svneol=native#image/x-xpixmap
|
||||
images/pkg_text.xpm -text svneol=native#image/x-xpixmap
|
||||
images/pkg_unit.xpm -text svneol=native#image/x-xpixmap
|
||||
images/rightarrow.ico -text svneol=unset#image/x-icon
|
||||
images/rightarrow.xpm -text svneol=native#image/x-xpixmap
|
||||
images/sourceeditor/ActiveBreakPoint.ico -text svneol=unset#image/x-icon
|
||||
images/sourceeditor/ActiveBreakPoint.xpm -text svneol=native#image/x-xpixmap
|
||||
images/sourceeditor/InactiveBreakPoint.ico -text svneol=unset#image/x-icon
|
||||
@ -2083,8 +2088,6 @@ images/unitdependencies/srctype_program_22x22.xpm -text svneol=native#image/x-xp
|
||||
images/unitdependencies/srctype_unit_22x22.xpm -text svneol=native#image/x-xpixmap
|
||||
images/unitdependencies/srctype_unknown_22x22.xpm -text svneol=native#image/x-xpixmap
|
||||
images/up.xpm svneol=native#text/plain
|
||||
images/uparrow.ico -text svneol=unset#image/x-icon
|
||||
images/uparrow.xpm -text svneol=native#image/x-xpixmap
|
||||
images/vase_trans.xpm -text svneol=native#image/x-xpixmap
|
||||
install/lazarus.desktop svneol=native#text/plain
|
||||
languages/README.txt svneol=native#text/plain
|
||||
|
@ -120,10 +120,11 @@ type
|
||||
private
|
||||
FLastProgressPos: integer;
|
||||
FLastScannerChangeStep: integer;
|
||||
FScanner: TLinkScanner;
|
||||
FOnGetGlobalWriteLockInfo: TOnGetWriteLockInfo;
|
||||
FOnParserProgress: TOnParserProgress;
|
||||
FOnSetGlobalWriteLock: TOnSetWriteLock;
|
||||
FScanner: TLinkScanner;
|
||||
FTreeChangeStep: integer;
|
||||
protected
|
||||
FIgnoreErrorAfter: TCodePosition;
|
||||
KeyWordFuncList: TKeyWordFunctionList;
|
||||
@ -138,6 +139,7 @@ type
|
||||
procedure RaiseBracketCloseExpectedButAtomFound;
|
||||
procedure RaiseUndoImpossible;
|
||||
procedure SetIgnoreErrorAfter(const AValue: TCodePosition); virtual;
|
||||
procedure IncreaseTreeChangeStep;
|
||||
protected
|
||||
LastErrorMessage: string;
|
||||
LastErrorCurPos: TAtomPosition;
|
||||
@ -176,6 +178,7 @@ type
|
||||
|
||||
property Scanner: TLinkScanner read FScanner write SetScanner;
|
||||
function MainFilename: string;
|
||||
property TreeChangeStep: integer read FTreeChangeStep;
|
||||
|
||||
function FindDeepestNodeAtPos(P: integer;
|
||||
ExceptionOnNotFound: boolean): TCodeTreeNode; inline;
|
||||
@ -339,11 +342,10 @@ end;
|
||||
destructor TCustomCodeTool.Destroy;
|
||||
begin
|
||||
Clear;
|
||||
LastAtoms.Free;
|
||||
Tree.Free;
|
||||
KeyWordFuncList.Free;
|
||||
DirtySrc.Free;
|
||||
DirtySrc:=nil;
|
||||
FreeAndNil(LastAtoms);
|
||||
FreeAndNil(Tree);
|
||||
FreeAndNil(KeyWordFuncList);
|
||||
FreeAndNil(DirtySrc);
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
@ -1899,6 +1901,14 @@ begin
|
||||
Scanner.SetIgnoreErrorAfter(IgnoreErrorAfter.P,IgnoreErrorAfter.Code);
|
||||
end;
|
||||
|
||||
procedure TCustomCodeTool.IncreaseTreeChangeStep;
|
||||
begin
|
||||
if FTreeChangeStep=High(integer) then
|
||||
FTreeChangeStep:=Low(integer)
|
||||
else
|
||||
inc(FTreeChangeStep);
|
||||
end;
|
||||
|
||||
procedure TCustomCodeTool.RaiseExceptionInstance(TheException: ECodeToolError);
|
||||
var CaretXY: TCodeXYPosition;
|
||||
CursorPos: integer;
|
||||
@ -2384,6 +2394,7 @@ end;
|
||||
procedure TCustomCodeTool.DoDeleteNodes;
|
||||
begin
|
||||
Tree.Clear;
|
||||
IncreaseTreeChangeStep;
|
||||
end;
|
||||
|
||||
procedure TCustomCodeTool.RaiseIdentExpectedButAtomFound;
|
||||
|
@ -151,6 +151,22 @@ type
|
||||
function Execute(aText: TIDETextConverter): TModalResult; override;
|
||||
end;
|
||||
|
||||
{ TH2PasFileCInclude }
|
||||
|
||||
TH2PasFileCInclude = class
|
||||
private
|
||||
FFilename: string;
|
||||
FSrcFilename: string;
|
||||
FSrcPos: TPoint;
|
||||
procedure SetFilename(const AValue: string);
|
||||
procedure SetSrcFilename(const AValue: string);
|
||||
procedure SetSrcPos(const AValue: TPoint);
|
||||
public
|
||||
property SrcFilename: string read FSrcFilename write SetSrcFilename;
|
||||
property SrcPos: TPoint read FSrcPos write SetSrcPos;
|
||||
property Filename: string read FFilename write SetFilename;
|
||||
end;
|
||||
|
||||
TH2PasProject = class;
|
||||
TH2PasConverter = class;
|
||||
|
||||
@ -158,14 +174,20 @@ type
|
||||
|
||||
TH2PasFile = class(TPersistent)
|
||||
private
|
||||
FCIncludes: TFPList; // list of TH2PasFileCInclude
|
||||
FCIncludesValid: boolean;
|
||||
FCIncludesFileAge: TDateTime;
|
||||
FEnabled: boolean;
|
||||
FFilename: string;
|
||||
FModified: boolean;
|
||||
FProject: TH2PasProject;
|
||||
function GetCIncludeCount: integer;
|
||||
function GetCIncludes(Index: integer): TH2PasFileCInclude;
|
||||
procedure SetEnabled(const AValue: boolean);
|
||||
procedure SetFilename(const AValue: string);
|
||||
procedure SetModified(const AValue: boolean);
|
||||
procedure SetProject(const AValue: TH2PasProject);
|
||||
procedure SearchCIncFilenames;
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
@ -178,11 +200,15 @@ type
|
||||
function GetOutputDirectory: string;
|
||||
function GetOutputExtension: string;
|
||||
function GetH2PasParameters(const InputFilename: string = ''): string;
|
||||
function ReadCIncludes(ForceUpdate: boolean): TModalResult;
|
||||
function CIncludesValid: boolean;
|
||||
public
|
||||
property Project: TH2PasProject read FProject write SetProject;
|
||||
property Filename: string read FFilename write SetFilename;
|
||||
property Enabled: boolean read FEnabled write SetEnabled;
|
||||
property Modified: boolean read FModified write SetModified;
|
||||
property CIncludeCount: integer read GetCIncludeCount;
|
||||
property CIncludes[Index: integer]: TH2PasFileCInclude read GetCIncludes;
|
||||
end;
|
||||
|
||||
{ TH2PasProject }
|
||||
@ -263,6 +289,8 @@ type
|
||||
function HasEnabledFiles: boolean;
|
||||
procedure AddDefaultPreH2PasTools;
|
||||
procedure AddDefaultPostH2PasTools;
|
||||
function SearchIncludedCHeaderFile(aFile: TH2PasFile;
|
||||
const SrcFilename: string): string;
|
||||
public
|
||||
property CHeaderFileCount: integer read GetCHeaderFileCount;
|
||||
property CHeaderFiles[Index: integer]: TH2PasFile read GetCHeaderFiles;
|
||||
@ -372,6 +400,7 @@ begin
|
||||
NewValue:=TrimFilename(AValue);
|
||||
if FFilename=NewValue then exit;
|
||||
FFilename:=NewValue;
|
||||
FCIncludesValid:=false;
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
@ -382,6 +411,19 @@ begin
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
function TH2PasFile.GetCIncludeCount: integer;
|
||||
begin
|
||||
if (FCIncludes=nil) or (not FCIncludesValid) then
|
||||
Result:=0
|
||||
else
|
||||
Result:=FCIncludes.Count;
|
||||
end;
|
||||
|
||||
function TH2PasFile.GetCIncludes(Index: integer): TH2PasFileCInclude;
|
||||
begin
|
||||
Result:=TH2PasFileCInclude(FCIncludes[Index]);
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.SetModified(const AValue: boolean);
|
||||
begin
|
||||
if FModified=AValue then exit;
|
||||
@ -393,6 +435,7 @@ end;
|
||||
procedure TH2PasFile.SetProject(const AValue: TH2PasProject);
|
||||
begin
|
||||
if FProject=AValue then exit;
|
||||
FCIncludesValid:=false;
|
||||
if FProject<>nil then begin
|
||||
FProject.InternalRemoveCHeaderFile(Self);
|
||||
end;
|
||||
@ -403,6 +446,20 @@ begin
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.SearchCIncFilenames;
|
||||
var
|
||||
i: Integer;
|
||||
IncFile: TH2PasFileCInclude;
|
||||
begin
|
||||
if FCIncludes=nil then exit;
|
||||
if Project=nil then exit;
|
||||
for i:=0 to FCIncludes.Count-1 do begin
|
||||
IncFile:=CIncludes[i];
|
||||
IncFile.Filename:=
|
||||
Project.SearchIncludedCHeaderFile(Self,IncFile.SrcFilename);
|
||||
end;
|
||||
end;
|
||||
|
||||
constructor TH2PasFile.Create;
|
||||
begin
|
||||
Clear;
|
||||
@ -422,6 +479,8 @@ begin
|
||||
FEnabled:=true;
|
||||
FFilename:='';
|
||||
FModified:=false;
|
||||
FCIncludesValid:=false;
|
||||
FreeAndNil(FCIncludes);
|
||||
end;
|
||||
|
||||
procedure TH2PasFile.Assign(Source: TPersistent);
|
||||
@ -433,6 +492,7 @@ begin
|
||||
if not IsEqual(Src) then begin
|
||||
FEnabled:=Src.FEnabled;
|
||||
FFilename:=Src.FFilename;
|
||||
FCIncludesValid:=false;
|
||||
Modified:=true;
|
||||
end;
|
||||
end else begin
|
||||
@ -452,6 +512,7 @@ begin
|
||||
FFilename:=Config.GetValue('Filename/Value','');
|
||||
if Project<>nil then
|
||||
FFilename:=Project.NormalizeFilename(FFilename);
|
||||
FCIncludesValid:=false;
|
||||
FModified:=false;
|
||||
end;
|
||||
|
||||
@ -519,6 +580,58 @@ begin
|
||||
Add(Filename);
|
||||
end;
|
||||
|
||||
function TH2PasFile.ReadCIncludes(ForceUpdate: boolean): TModalResult;
|
||||
var
|
||||
sl: TStringList;
|
||||
i: Integer;
|
||||
SrcFilename: String;
|
||||
Item: TH2PasFileCInclude;
|
||||
begin
|
||||
if (not ForceUpdate) and CIncludesValid then exit(mrOk);
|
||||
Result:=mrCancel;
|
||||
if not FileExistsCached(Filename) then exit;
|
||||
FCIncludesFileAge:=FileAge(Filename);
|
||||
FCIncludesValid:=true;
|
||||
DebugLn(['TH2PasFile.ReadCIncludes Filename="',Filename,'"']);
|
||||
try
|
||||
sl:=TStringList.Create;
|
||||
try
|
||||
sl.LoadFromFile(Filename);
|
||||
for i:=0 to sl.Count-1 do begin
|
||||
if not REMatches(sl[i],'^#include "(.+)"') then continue;
|
||||
SrcFilename:=Trim(REVar(1));
|
||||
if SrcFilename='' then continue;
|
||||
// add new include
|
||||
if FCIncludes=nil then FCIncludes:=TFPList.Create;
|
||||
Item:=TH2PasFileCInclude.Create;
|
||||
Item.SrcFilename:=SrcFilename;
|
||||
Item.SrcPos:=Point(1,i);
|
||||
FCIncludes.Add(Item);
|
||||
end;
|
||||
finally
|
||||
sl.Free;
|
||||
end;
|
||||
SearchCIncFilenames;
|
||||
Result:=mrOk;
|
||||
except
|
||||
on e: Exception do begin
|
||||
DebugLn(['TH2PasFile.ReadCIncludes File="',Filename,'" Msg=',E.Message]);
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
function TH2PasFile.CIncludesValid: boolean;
|
||||
begin
|
||||
Result:=false;
|
||||
if not FCIncludesValid then exit;
|
||||
FCIncludesValid:=false;
|
||||
if Project=nil then exit;
|
||||
if (not FileExistsCached(Filename)) then exit;
|
||||
if FileAge(Filename)>FCIncludesFileAge then exit;
|
||||
FCIncludesValid:=true;
|
||||
Result:=true;
|
||||
end;
|
||||
|
||||
{ TH2PasProject }
|
||||
|
||||
function TH2PasProject.GetCHeaderFileCount: integer;
|
||||
@ -1122,6 +1235,32 @@ begin
|
||||
AddNewTextConverterTool(FPostH2PasTools,TFixArrayOfParameterType);
|
||||
end;
|
||||
|
||||
function TH2PasProject.SearchIncludedCHeaderFile(aFile: TH2PasFile;
|
||||
const SrcFilename: string): string;
|
||||
var
|
||||
AFilename: String;
|
||||
i: Integer;
|
||||
CurFile: TH2PasFile;
|
||||
begin
|
||||
AFilename:=SetDirSeparators(SrcFilename);
|
||||
if System.Pos(PathDelim,AFilename)>0 then begin
|
||||
// with sub path -> only search relative to AFile
|
||||
Result:=TrimFilename(ExtractFilePath(aFile.Filename)+AFilename);
|
||||
if FileExistsCached(Result) then exit;
|
||||
end else begin
|
||||
// search relative to AFile
|
||||
Result:=TrimFilename(ExtractFilePath(aFile.Filename)+AFilename);
|
||||
if FileExistsCached(Result) then exit;
|
||||
// search relative to all other .h files
|
||||
for i:=0 to CHeaderFileCount-1 do begin
|
||||
CurFile:=CHeaderFiles[i];
|
||||
Result:=TrimFilename(ExtractFilePath(CurFile.Filename)+AFilename);
|
||||
if FileExistsCached(Result) then exit;
|
||||
end;
|
||||
end;
|
||||
Result:='';
|
||||
end;
|
||||
|
||||
{ TH2PasConverter }
|
||||
|
||||
procedure TH2PasConverter.OnParseH2PasLine(Sender: TObject;
|
||||
@ -2615,4 +2754,24 @@ begin
|
||||
Result:=mrOk;
|
||||
end;
|
||||
|
||||
{ TH2PasFileCInclude }
|
||||
|
||||
procedure TH2PasFileCInclude.SetFilename(const AValue: string);
|
||||
begin
|
||||
if FFilename=AValue then exit;
|
||||
FFilename:=AValue;
|
||||
end;
|
||||
|
||||
procedure TH2PasFileCInclude.SetSrcFilename(const AValue: string);
|
||||
begin
|
||||
if FSrcFilename=AValue then exit;
|
||||
FSrcFilename:=AValue;
|
||||
FFilename:='';
|
||||
end;
|
||||
|
||||
procedure TH2PasFileCInclude.SetSrcPos(const AValue: TPoint);
|
||||
begin
|
||||
FSrcPos:=AValue;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
@ -15,8 +15,9 @@ object H2PasDialog: TH2PasDialog
|
||||
Position = poDesktopCenter
|
||||
object MainPageControl: TPageControl
|
||||
AnchorSideBottom.Control = OpenSettingsButton
|
||||
Height = 461
|
||||
Height = 465
|
||||
Width = 785
|
||||
TabStop = True
|
||||
ActivePage = FilesTabSheet
|
||||
Align = alTop
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
@ -25,10 +26,10 @@ object H2PasDialog: TH2PasDialog
|
||||
object FilesTabSheet: TTabSheet
|
||||
Caption = 'FilesTabSheet'
|
||||
object CHeaderFilesCheckTreeView: TTreeView
|
||||
Height = 427
|
||||
Height = 435
|
||||
Width = 255
|
||||
Align = alLeft
|
||||
DefaultItemHeight = 18
|
||||
DefaultItemHeight = 16
|
||||
StateImages = FileStateImageList
|
||||
TabOrder = 0
|
||||
OnMouseDown = CHeaderFilesCheckTreeViewMouseDown
|
||||
@ -89,7 +90,7 @@ object H2PasDialog: TH2PasDialog
|
||||
end
|
||||
object CHeaderFilesSplitter1: TSplitter
|
||||
Left = 255
|
||||
Height = 427
|
||||
Height = 435
|
||||
Width = 5
|
||||
Beveled = True
|
||||
end
|
||||
@ -101,7 +102,7 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideBottom.Control = FilesTabSheet
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 260
|
||||
Height = 219
|
||||
Height = 227
|
||||
Top = 208
|
||||
Width = 521
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
@ -109,13 +110,28 @@ object H2PasDialog: TH2PasDialog
|
||||
TabOrder = 5
|
||||
object FileInfoLabel: TLabel
|
||||
Left = 8
|
||||
Height = 17
|
||||
Height = 13
|
||||
Top = 1
|
||||
Width = 92
|
||||
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
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
Caption = 'AddIncludedCHeaderFilesButton'
|
||||
OnClick = AddIncludedCHeaderFilesButtonClick
|
||||
TabOrder = 0
|
||||
end
|
||||
end
|
||||
object MoveFileUpButton: TButton
|
||||
AnchorSideLeft.Control = AddCHeaderFilesButton
|
||||
@ -155,7 +171,7 @@ object H2PasDialog: TH2PasDialog
|
||||
object PreH2PasTabSheet: TTabSheet
|
||||
Caption = 'PreH2PasTabSheet'
|
||||
object PreH2PasGroupBox: TGroupBox
|
||||
Height = 427
|
||||
Height = 435
|
||||
Width = 781
|
||||
Align = alClient
|
||||
Caption = 'PreH2PasGroupBox'
|
||||
@ -280,7 +296,7 @@ object H2PasDialog: TH2PasDialog
|
||||
object PostH2PasTabSheet: TTabSheet
|
||||
Caption = 'PostH2PasTabSheet'
|
||||
object PostH2PasGroupBox: TGroupBox
|
||||
Height = 427
|
||||
Height = 435
|
||||
Width = 781
|
||||
Align = alClient
|
||||
Caption = 'PostH2PasGroupBox'
|
||||
@ -367,9 +383,9 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 5
|
||||
Height = 30
|
||||
Top = 466
|
||||
Width = 161
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 124
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 5
|
||||
@ -383,10 +399,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 171
|
||||
Height = 30
|
||||
Top = 466
|
||||
Width = 158
|
||||
Left = 134
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 122
|
||||
Anchors = [akLeft, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 5
|
||||
@ -399,10 +415,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Control = SaveSettingsButton
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = OpenSettingsButton
|
||||
Left = 344
|
||||
Height = 30
|
||||
Top = 466
|
||||
Width = 119
|
||||
Left = 271
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 93
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 15
|
||||
BorderSpacing.InnerBorder = 4
|
||||
@ -415,10 +431,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideRight.Side = asrBottom
|
||||
AnchorSideBottom.Control = Owner
|
||||
AnchorSideBottom.Side = asrBottom
|
||||
Left = 677
|
||||
Height = 30
|
||||
Top = 466
|
||||
Width = 103
|
||||
Left = 699
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 81
|
||||
Anchors = [akRight, akBottom]
|
||||
AutoSize = True
|
||||
BorderSpacing.Around = 5
|
||||
@ -431,10 +447,10 @@ object H2PasDialog: TH2PasDialog
|
||||
AnchorSideLeft.Control = ConvertButton
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = OpenSettingsButton
|
||||
Left = 469
|
||||
Height = 30
|
||||
Top = 466
|
||||
Width = 183
|
||||
Left = 370
|
||||
Height = 26
|
||||
Top = 470
|
||||
Width = 144
|
||||
AutoSize = True
|
||||
BorderSpacing.Left = 6
|
||||
BorderSpacing.InnerBorder = 4
|
||||
|
@ -7,175 +7,181 @@ LazarusResources.Add('TH2PasDialog','FORMDATA',[
|
||||
+'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#205#1#5'Widt'
|
||||
+'h'#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'TTree'
|
||||
+'View'#25'CHeaderFilesCheckTreeView'#6'Height'#3#171#1#5'Width'#3#255#0#5'Al'
|
||||
+'ign'#7#6'alLeft'#17'DefaultItemHeight'#2#18#11'StateImages'#7#18'FileStateI'
|
||||
+'mageList'#8'TabOrder'#2#0#11'OnMouseDown'#7'"CHeaderFilesCheckTreeViewMouse'
|
||||
+'Down'#18'OnSelectionChanged'#7')CHeaderFilesCheckTreeViewSelectionChanged'#7
|
||||
+'Options'#11#19'tvoAllowMultiselect'#17'tvoAutoItemHeight'#16'tvoHideSelecti'
|
||||
+'on'#21'tvoKeepCollapsedNodes'#14'tvoShowButtons'#12'tvoShowLines'#11'tvoSho'
|
||||
+'wRoot'#11'tvoToolTips'#0#0#0#7'TButton'#21'AddCHeaderFilesButton'#22'Anchor'
|
||||
+'SideLeft.Control'#7#21'CHeaderFilesSplitter1'#19'AnchorSideLeft.Side'#7#9'a'
|
||||
+'srBottom'#4'Left'#3#10#1#6'Height'#2#25#3'Top'#2#12#5'Width'#3#185#0#18'Bor'
|
||||
+'derSpacing.Left'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#21'AddC'
|
||||
+'HeaderFilesButton'#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'DeleteCHeaderFilesButton'
|
||||
+#7'OnClick'#7#29'DeleteCHeaderFilesButtonClick'#8'TabOrder'#2#2#0#0#7'TButto'
|
||||
+'n'#27'EnableAllCHeaderFilesButton'#22'AnchorSideLeft.Control'#7#21'CHeaderF'
|
||||
+'ilesSplitter1'#19'AnchorSideLeft.Side'#7#9'asrBottom'#4'Left'#3#10#1#6'Heig'
|
||||
+'ht'#2#25#3'Top'#2'H'#5'Width'#3#185#0#18'BorderSpacing.Left'#2#6#25'BorderS'
|
||||
+'pacing.InnerBorder'#2#4#7'Caption'#6#27'EnableAllCHeaderFilesButton'#7'OnCl'
|
||||
+'ick'#7' EnableAllCHeaderFilesButtonClick'#8'TabOrder'#2#3#0#0#7'TButton'#28
|
||||
+'DisableAllCHeaderFilesButton'#22'AnchorSideLeft.Control'#7#21'CHeaderFilesS'
|
||||
+'plitter1'#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#28'DisableAllCHeaderFilesButton'#7'OnClick'#7
|
||||
+'!DisableAllCHeaderFilesButtonClick'#8'TabOrder'#2#4#0#0#9'TSplitter'#21'CHe'
|
||||
+'aderFilesSplitter1'#4'Left'#3#255#0#6'Height'#3#171#1#5'Width'#2#5#7'Bevele'
|
||||
+'d'#9#0#0#9'TGroupBox'#16'FileInfoGroupBox'#22'AnchorSideLeft.Control'#7#21
|
||||
+'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
|
||||
+#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#219#0#3'Top'#3#208#0#5'Width'#3#9#2#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#17#3'Top'#2#1#5'Width'#2'\'#7'Caption'#6#13'FileInfoLabel'#5'Colo'
|
||||
+'r'#7#6'clNone'#11'ParentColor'#8#0#0#0#7'TButton'#16'MoveFileUpButton'#22'A'
|
||||
+'nchorSideLeft.Control'#7#21'AddCHeaderFilesButton'#21'AnchorSideTop.Control'
|
||||
+#7#28'DisableAllCHeaderFilesButton'#18'AnchorSideTop.Side'#7#9'asrBottom'#23
|
||||
+'AnchorSideRight.Control'#7#21'AddCHeaderFilesButton'#20'AnchorSideRight.Sid'
|
||||
+'e'#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.InnerBorder'#2#4#7'Caption'#6#16'MoveFileUpButton'#7'OnC'
|
||||
+'lick'#7#21'MoveFileUpButtonClick'#8'TabOrder'#2#6#0#0#7'TButton'#18'MoveFil'
|
||||
+'eDownButton'#22'AnchorSideLeft.Control'#7#21'AddCHeaderFilesButton'#21'Anch'
|
||||
+'orSideTop.Control'#7#16'MoveFileUpButton'#18'AnchorSideTop.Side'#7#9'asrBot'
|
||||
+'tom'#23'AnchorSideRight.Control'#7#21'AddCHeaderFilesButton'#20'AnchorSideR'
|
||||
+'ight.Side'#7#9'asrBottom'#4'Left'#3#10#1#6'Height'#2#25#3'Top'#3#166#0#5'Wi'
|
||||
+'dth'#3#185#0#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#17'BorderSpacing'
|
||||
+'.Top'#2#6#25'BorderSpacing.InnerBorder'#2#4#7'Caption'#6#18'MoveFileDownBut'
|
||||
+'ton'#7'OnClick'#7#23'MoveFileDownButtonClick'#8'TabOrder'#2#7#0#0#0#9'TTabS'
|
||||
+'heet'#16'PreH2PasTabSheet'#7'Caption'#6#16'PreH2PasTabSheet'#0#9'TGroupBox'
|
||||
+#16'PreH2PasGroupBox'#6'Height'#3#171#1#5'Width'#3#13#3#5'Align'#7#8'alClien'
|
||||
+'t'#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'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'clNon'
|
||||
+'e'#11'ParentColor'#8#0#0#6'TLabel'#14'OutputExtLabel'#21'AnchorSideTop.Cont'
|
||||
+'rol'#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'ParentColor'#8#0#0#6'TLabel'#14'OutputDirLabel'#21'An'
|
||||
+'chorSideTop.Control'#7#13'OutputDirEdit'#18'AnchorSideTop.Side'#7#9'asrCent'
|
||||
+'er'#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'Libn'
|
||||
+'ameEdit'#22'AnchorSideLeft.Control'#7#12'LibNameLabel'#19'AnchorSideLeft.Si'
|
||||
+'de'#7#9'asrBottom'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2']'#6'Hei'
|
||||
+'ght'#2#23#3'Top'#3#20#1#5'Width'#2'q'#18'BorderSpacing.Left'#2#6#17'BorderS'
|
||||
+'pacing.Top'#2#6#13'OnEditingDone'#7#22'LibnameEditEditingDone'#8'TabOrder'#2
|
||||
+#0#4'Text'#6#11'LibnameEdit'#0#0#5'TEdit'#13'OutputExtEdit'#22'AnchorSideLef'
|
||||
+'t.Control'#7#14'OutputExtLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#18'A'
|
||||
+'nchorSideTop.Side'#7#9'asrBottom'#4'Left'#2'b'#6'Height'#2#23#3'Top'#3'4'#1
|
||||
+#5'Width'#2'P'#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#13'OnEdi'
|
||||
+'tingDone'#7#24'OutputExtEditEditingDone'#8'TabOrder'#2#1#4'Text'#6#13'Outpu'
|
||||
+'tExtEdit'#0#0#5'TEdit'#13'OutputDirEdit'#22'AnchorSideLeft.Control'#7#14'Ou'
|
||||
+'tputDirLabel'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contr'
|
||||
+'ol'#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'B'
|
||||
+'orderSpacing.Top'#2#6#13'OnEditingDone'#7#24'OutputDirEditEditingDone'#8'Ta'
|
||||
+'bOrder'#2#2#4'Text'#6#13'OutputDirEdit'#0#0#7'TButton'#21'OutputDirBrowseBu'
|
||||
+'tton'#22'AnchorSideLeft.Control'#7#13'OutputDirEdit'#19'AnchorSideLeft.Side'
|
||||
+#7#9'asrBottom'#21'AnchorSideTop.Control'#7#13'OutputDirEdit'#24'AnchorSideB'
|
||||
+'ottom.Control'#7#13'OutputDirEdit'#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'akBottom'#0#25'BorderSpacing.InnerBorder'#2#4#7'Caption'
|
||||
+#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'h2pasOptionsCheckGroup'#28'C'
|
||||
+'hildSizing.LeftRightSpacing'#2#6#28'ChildSizing.TopBottomSpacing'#2#6#29'Ch'
|
||||
+'ildSizing.EnlargeHorizontal'#7#24'crsHomogenousChildResize'#27'ChildSizing.'
|
||||
+'EnlargeVertical'#7#24'crsHomogenousChildResize'#28'ChildSizing.ShrinkHorizo'
|
||||
+'ntal'#7#14'crsScaleChilds'#26'ChildSizing.ShrinkVertical'#7#14'crsScaleChil'
|
||||
+'ds'#18'ChildSizing.Layout'#7#29'cclLeftToRightThenTopToBottom'#27'ChildSizi'
|
||||
+'ng.ControlsPerLine'#2#2#7'Columns'#2#2#11'OnItemClick'#7#31'h2pasOptionsChe'
|
||||
+'ckGroupItemClick'#8'TabOrder'#2#4#0#0#0#9'TTabSheet'#17'PostH2PasTabSheet'#7
|
||||
+'Caption'#6#17'PostH2PasTabSheet'#0#9'TGroupBox'#17'PostH2PasGroupBox'#6'Hei'
|
||||
+'ght'#3#171#1#5'Width'#3#13#3#5'Align'#7#8'alClient'#7'Caption'#6#17'PostH2P'
|
||||
+'asGroupBox'#8'TabOrder'#2#0#0#0#0#9'TTabSheet'#16'SettingsTabSheet'#7'Capti'
|
||||
+'on'#6#16'SettingsTabSheet'#0#6'TLabel'#18'H2PasFilenameLabel'#21'AnchorSide'
|
||||
+'Top.Control'#7#17'H2PasFilenameEdit'#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'H2PasF'
|
||||
+'ilenameLabel'#5'Color'#7#6'clNone'#11'ParentColor'#8#0#0#9'TCheckBox'#30'Op'
|
||||
+'enLastProjectOnStartCheckBox'#4'Left'#2#6#6'Height'#2#24#3'Top'#2'*'#5'Widt'
|
||||
+'h'#3#21#1#7'Caption'#6#30'OpenLastProjectOnStartCheckBox'#8'OnChange'#7'$Op'
|
||||
+'enLastProjectOnStartCheckBoxChange'#8'TabOrder'#2#0#0#0#7'TButton'#20'SaveS'
|
||||
+'ettingsAsButton'#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'SaveSettingsA'
|
||||
+'sButton'#7'OnClick'#7#25'SaveSettingsAsButtonClick'#8'TabOrder'#2#1#0#0#5'T'
|
||||
+'Edit'#17'H2PasFilenameEdit'#22'AnchorSideLeft.Control'#7#18'H2PasFilenameLa'
|
||||
+'bel'#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'Te'
|
||||
+'xt'#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'AnchorSideB'
|
||||
+'ottom.Control'#7#17'H2PasFilenameEdit'#21'AnchorSideBottom.Side'#7#9'asrBot'
|
||||
+'tom'#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#210#1#5'Width'#3#161#0#7'Anc'
|
||||
+'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'OpenSettingsButton'#7'OnC'
|
||||
+'lick'#7#23'OpenSettingsButtonClick'#8'TabOrder'#2#1#0#0#7'TButton'#18'SaveS'
|
||||
+'ettingsButton'#22'AnchorSideLeft.Control'#7#18'OpenSettingsButton'#19'Ancho'
|
||||
+'rSideLeft.Side'#7#9'asrBottom'#24'AnchorSideBottom.Control'#7#5'Owner'#21'A'
|
||||
+'nchorSideBottom.Side'#7#9'asrBottom'#4'Left'#3#171#0#6'Height'#2#30#3'Top'#3
|
||||
+#210#1#5'Width'#3#158#0#7'Anchors'#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'OnClick'#7#23'SaveSettingsButtonClick'#8'TabOrder'
|
||||
+#2#2#0#0#7'TButton'#13'ConvertButton'#22'AnchorSideLeft.Control'#7#18'SaveSe'
|
||||
+'ttingsButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Contr'
|
||||
+'ol'#7#18'OpenSettingsButton'#4'Left'#3'X'#1#6'Height'#2#30#3'Top'#3#210#1#5
|
||||
+'Width'#2'w'#8'AutoSize'#9#18'BorderSpacing.Left'#2#15#25'BorderSpacing.Inne'
|
||||
+'rBorder'#2#4#7'Caption'#6#13'ConvertButton'#7'OnClick'#7#18'ConvertButtonCl'
|
||||
+'ick'#8'TabOrder'#2#0#0#0#7'TButton'#11'CloseButton'#23'AnchorSideRight.Cont'
|
||||
+'rol'#7#5'Owner'#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#210#1#5'Width'#2'g'#7'Anchors'#11#7'akRight'#8'ak'
|
||||
+'Bottom'#0#8'AutoSize'#9#20'BorderSpacing.Around'#2#5#25'BorderSpacing.Inner'
|
||||
+'Border'#2#4#7'Caption'#6#11'CloseButton'#7'OnClick'#7#16'CloseButtonClick'#8
|
||||
+'TabOrder'#2#3#0#0#7'TButton'#21'ConvertAndBuildButton'#22'AnchorSideLeft.Co'
|
||||
+'ntrol'#7#13'ConvertButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'Anchor'
|
||||
+'SideTop.Control'#7#18'OpenSettingsButton'#4'Left'#3#213#1#6'Height'#2#30#3
|
||||
+'Top'#3#210#1#5'Width'#3#183#0#8'AutoSize'#9#18'BorderSpacing.Left'#2#6#25'B'
|
||||
+'orderSpacing.InnerBorder'#2#4#7'Caption'#6#21'ConvertAndBuildButton'#7'OnCl'
|
||||
+'ick'#7#26'ConvertAndBuildButtonClick'#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_removedfi'
|
||||
+'les_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 #D5D5EF",'#10'"*'#9'c #000000",'#10'" ..++.... '
|
||||
+'",'#10'" .@@@@@@. ",'#10'" #$%$$$&.$ ",'#10'" #%$........ ",'#10'" '
|
||||
+' *$$........ ",'#10'"...++#$%$$$&*$",'#10'".....#%$$$&&*$",'#10'".$%$$*$$$&'
|
||||
+'$&*$",'#10'".%$$$*$&&&&&*$",'#10'".$$$$********$",'#10'".$&&&&&*$$$$$$",'#10
|
||||
+'".*******$ ",'#10'" $$$$$$$$ "};'#10#0#0#0
|
||||
+#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
|
||||
]);
|
||||
|
@ -43,6 +43,7 @@ type
|
||||
FileInfoGroupBox: TGroupBox;
|
||||
FileInfoLabel: TLabel;
|
||||
MainPageControl: TPageControl;
|
||||
AddIncludedCHeaderFilesButton: TButton;
|
||||
|
||||
// c header files
|
||||
FilesTabSheet: TTabSheet;
|
||||
@ -90,6 +91,7 @@ type
|
||||
CloseButton: TButton;
|
||||
|
||||
procedure AddCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure AddIncludedCHeaderFilesButtonClick(Sender: TObject);
|
||||
procedure CHeaderFilesCheckTreeViewMouseDown(Sender: TOBject;
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
procedure CHeaderFilesCheckTreeViewSelectionChanged(Sender: TObject);
|
||||
@ -225,6 +227,7 @@ begin
|
||||
MoveFileDownButton.Caption:='Move file down';
|
||||
MoveFileUpButton.Caption:='Move file up';
|
||||
FileInfoGroupBox.Caption:='File information';
|
||||
AddIncludedCHeaderFilesButton.Caption:='Add included .h files';
|
||||
h2pasOptionsTabSheet.Caption:='h2pas Options';
|
||||
h2pasOptionsCheckGroup.Caption:='Options';
|
||||
with h2pasOptionsCheckGroup.Items do begin
|
||||
@ -410,6 +413,54 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.AddIncludedCHeaderFilesButtonClick(Sender: TObject);
|
||||
var
|
||||
AFile: TH2PasFile;
|
||||
sl: TStringList;
|
||||
i: Integer;
|
||||
IncFile: TH2PasFileCInclude;
|
||||
CurFilename: String;
|
||||
j: Integer;
|
||||
s: String;
|
||||
begin
|
||||
AFile:=GetCurrentCHeaderFile;
|
||||
if AFile=nil then exit;
|
||||
AFile.ReadCIncludes(false);
|
||||
sl:=TStringList.Create;
|
||||
try
|
||||
for i:=0 to AFile.CIncludeCount-1 do begin
|
||||
IncFile:=AFile.CIncludes[i];
|
||||
CurFilename:=IncFile.Filename;
|
||||
if CurFilename='' then continue;
|
||||
// .h file found in include directories
|
||||
if Project.CHeaderFileWithFilename(CurFilename)<>nil then continue;
|
||||
// .h file not yet in project
|
||||
j:=sl.Count-1;
|
||||
while (j>=0) and (CompareFilenames(CurFilename,sl[j])<>0) do dec(j);
|
||||
if j>=0 then continue;
|
||||
// .h file not yet in list
|
||||
sl.Add(CurFilename);
|
||||
end;
|
||||
if sl.Count>0 then begin
|
||||
s:='';
|
||||
for i:=0 to sl.Count-1 do begin
|
||||
CurFilename:=Project.ShortenFilename(sl[i]);
|
||||
s:=s+#13+CurFilename;
|
||||
end;
|
||||
if QuestionDlg('Add .h files?',
|
||||
'Add these .h files to h2pas project:'#13#13
|
||||
+s+#13+'?',
|
||||
mtConfirmation,[mbYes,mbNo],0)=mrYes
|
||||
then begin
|
||||
Project.AddFiles(sl);
|
||||
UpdateFilesPage;
|
||||
end;
|
||||
end;
|
||||
finally
|
||||
sl.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TH2PasDialog.CHeaderFilesCheckTreeViewSelectionChanged(Sender: TObject
|
||||
);
|
||||
begin
|
||||
@ -678,6 +729,8 @@ var
|
||||
s: String;
|
||||
Filename: String;
|
||||
OutputFilename: String;
|
||||
i: Integer;
|
||||
IncFile: TH2PasFileCInclude;
|
||||
begin
|
||||
AFile:=GetCurrentCHeaderFile;
|
||||
if AFile<>nil then begin
|
||||
@ -687,9 +740,23 @@ begin
|
||||
s:=s+#13+'ERROR: file not found';
|
||||
OutputFilename:=AFile.GetOutputFilename;
|
||||
s:=s+#13+'Output: '+OutputFilename;
|
||||
|
||||
AFile.ReadCIncludes(false);
|
||||
if AFile.CIncludeCount>0 then 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);
|
||||
end;
|
||||
AddIncludedCHeaderFilesButton.Visible:=true;
|
||||
end else begin
|
||||
AddIncludedCHeaderFilesButton.Visible:=false;
|
||||
end;
|
||||
|
||||
FileInfoLabel.Caption:=s;
|
||||
end else begin
|
||||
FileInfoLabel.Caption:='No file selected.';
|
||||
AddIncludedCHeaderFilesButton.Visible:=false;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
@ -23,18 +23,22 @@
|
||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||
</local>
|
||||
</RunParams>
|
||||
<RequiredPackages Count="3">
|
||||
<RequiredPackages Count="4">
|
||||
<Item1>
|
||||
<PackageName Value="SimpleIDEIntf"/>
|
||||
<MinVersion Valid="True"/>
|
||||
</Item1>
|
||||
<Item2>
|
||||
<PackageName Value="H2PasWizard"/>
|
||||
<MinVersion Valid="True"/>
|
||||
<PackageName Value="LCL"/>
|
||||
<MinVersion Major="1" Valid="True"/>
|
||||
</Item2>
|
||||
<Item3>
|
||||
<PackageName Value="CodeTools"/>
|
||||
<PackageName Value="H2PasWizard"/>
|
||||
<MinVersion Valid="True"/>
|
||||
</Item3>
|
||||
<Item4>
|
||||
<PackageName Value="CodeTools"/>
|
||||
</Item4>
|
||||
</RequiredPackages>
|
||||
<Units Count="1">
|
||||
<Unit0>
|
||||
|
@ -53,32 +53,6 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TestTFixArrayOfParameterType(Converter: TIDETextConverter);
|
||||
var
|
||||
Tool: TFixArrayOfParameterType;
|
||||
begin
|
||||
Tool:=nil;
|
||||
try
|
||||
Tool:=TFixArrayOfParameterType.Create(nil);
|
||||
Tool.Execute(Converter);
|
||||
finally
|
||||
Tool.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TestTFixArrayOfParameterType(Converter: TIDETextConverter);
|
||||
var
|
||||
Tool: TFixArrayOfParameterType;
|
||||
begin
|
||||
Tool:=nil;
|
||||
try
|
||||
Tool:=TFixArrayOfParameterType.Create(nil);
|
||||
Tool.Execute(Converter);
|
||||
finally
|
||||
Tool.Free;
|
||||
end;
|
||||
end;
|
||||
|
||||
var
|
||||
Filename: String;
|
||||
Converter: TIDETextConverter;
|
||||
|
164
ide/codebrowser.lfm
Normal file
@ -0,0 +1,164 @@
|
||||
object CodeBrowserView: TCodeBrowserView
|
||||
Left = 290
|
||||
Height = 564
|
||||
Top = 189
|
||||
Width = 634
|
||||
HorzScrollBar.Page = 633
|
||||
VertScrollBar.Page = 563
|
||||
ActiveControl = ScopeComboBox
|
||||
Caption = 'CodeBrowserView'
|
||||
OnClose = FormClose
|
||||
OnCreate = FormCreate
|
||||
OnDestroy = FormDestroy
|
||||
object ScopeGroupBox: TGroupBox
|
||||
Left = 6
|
||||
Height = 50
|
||||
Top = 6
|
||||
Width = 622
|
||||
Align = alTop
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'ScopeGroupBox'
|
||||
TabOrder = 0
|
||||
object ScopeComboBox: TComboBox
|
||||
Left = 3
|
||||
Height = 25
|
||||
Width = 315
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
MaxLength = 0
|
||||
OnDropDown = ScopeComboBoxDropDown
|
||||
TabOrder = 0
|
||||
Text = 'ScopeComboBox'
|
||||
end
|
||||
object ScopeWithRequiredPackagesCheckBox: TCheckBox
|
||||
Left = 328
|
||||
Height = 20
|
||||
Top = 3
|
||||
Width = 249
|
||||
Caption = 'ScopeWithRequiredPackagesCheckBox'
|
||||
TabOrder = 1
|
||||
end
|
||||
end
|
||||
object LevelsCheckGroup: TCheckGroup
|
||||
AnchorSideLeft.Control = Owner
|
||||
AnchorSideTop.Control = ScopeGroupBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Left = 6
|
||||
Height = 135
|
||||
Top = 62
|
||||
Width = 185
|
||||
AutoFill = True
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'LevelsCheckGroup'
|
||||
ChildSizing.LeftRightSpacing = 6
|
||||
ChildSizing.TopBottomSpacing = 6
|
||||
ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
|
||||
ChildSizing.EnlargeVertical = crsHomogenousChildResize
|
||||
ChildSizing.ShrinkHorizontal = crsScaleChilds
|
||||
ChildSizing.ShrinkVertical = crsScaleChilds
|
||||
ChildSizing.Layout = cclLeftToRightThenTopToBottom
|
||||
ChildSizing.ControlsPerLine = 1
|
||||
Items.Strings = (
|
||||
'Packages'
|
||||
'Units'
|
||||
'Classes'
|
||||
'Sections'
|
||||
)
|
||||
TabOrder = 1
|
||||
Data = {
|
||||
0400000002020202
|
||||
}
|
||||
end
|
||||
object SortGroupBox: TGroupBox
|
||||
AnchorSideLeft.Control = LevelsCheckGroup
|
||||
AnchorSideLeft.Side = asrBottom
|
||||
AnchorSideTop.Control = ScopeGroupBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
AnchorSideRight.Control = Owner
|
||||
AnchorSideRight.Side = asrBottom
|
||||
Left = 197
|
||||
Height = 135
|
||||
Top = 62
|
||||
Width = 431
|
||||
Anchors = [akTop, akLeft, akRight]
|
||||
BorderSpacing.Around = 6
|
||||
Caption = 'SortGroupBox'
|
||||
TabOrder = 2
|
||||
object SortUpSpeedButton: TSpeedButton
|
||||
Left = 168
|
||||
Height = 22
|
||||
Top = 55
|
||||
Width = 23
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = SortUpSpeedButtonClick
|
||||
ShowHint = True
|
||||
ParentShowHint = False
|
||||
end
|
||||
object SortDownSpeedButton: TSpeedButton
|
||||
Left = 168
|
||||
Height = 22
|
||||
Top = 80
|
||||
Width = 23
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = SortDownSpeedButtonClick
|
||||
ShowHint = True
|
||||
ParentShowHint = False
|
||||
end
|
||||
object SortAddSpeedButton: TSpeedButton
|
||||
Left = 193
|
||||
Height = 22
|
||||
Top = 14
|
||||
Width = 23
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = SortAddSpeedButtonClick
|
||||
ShowHint = True
|
||||
ParentShowHint = False
|
||||
end
|
||||
object SortRemoveSpeedButton: TSpeedButton
|
||||
Left = 223
|
||||
Height = 22
|
||||
Top = 14
|
||||
Width = 23
|
||||
Color = clBtnFace
|
||||
NumGlyphs = 0
|
||||
OnClick = SortRemoveSpeedButtonClick
|
||||
ShowHint = True
|
||||
ParentShowHint = False
|
||||
end
|
||||
object SortListBox: TListBox
|
||||
Height = 118
|
||||
Width = 163
|
||||
Align = alLeft
|
||||
TabOrder = 0
|
||||
TopIndex = -1
|
||||
end
|
||||
object SortAddsListBox: TListBox
|
||||
Left = 258
|
||||
Height = 118
|
||||
Width = 169
|
||||
Align = alRight
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
TabOrder = 1
|
||||
TopIndex = -1
|
||||
end
|
||||
end
|
||||
object BrowseTreeView: TTreeView
|
||||
AnchorSideTop.Control = LevelsCheckGroup
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Height = 341
|
||||
Top = 203
|
||||
Width = 634
|
||||
Align = alBottom
|
||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||
DefaultItemHeight = 14
|
||||
TabOrder = 3
|
||||
end
|
||||
object StatusBar1: TStatusBar
|
||||
Height = 20
|
||||
Top = 544
|
||||
Width = 634
|
||||
Panels = <>
|
||||
end
|
||||
end
|
55
ide/codebrowser.lrs
Normal file
@ -0,0 +1,55 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCodeBrowserView','FORMDATA',[
|
||||
'TPF0'#16'TCodeBrowserView'#15'CodeBrowserView'#4'Left'#3'"'#1#6'Height'#3'4'
|
||||
+#2#3'Top'#3#189#0#5'Width'#3'z'#2#18'HorzScrollBar.Page'#3'y'#2#18'VertScrol'
|
||||
+'lBar.Page'#3'3'#2#13'ActiveControl'#7#13'ScopeComboBox'#7'Caption'#6#15'Cod'
|
||||
+'eBrowserView'#7'OnClose'#7#9'FormClose'#8'OnCreate'#7#10'FormCreate'#9'OnDe'
|
||||
+'stroy'#7#11'FormDestroy'#0#9'TGroupBox'#13'ScopeGroupBox'#4'Left'#2#6#6'Hei'
|
||||
+'ght'#2'2'#3'Top'#2#6#5'Width'#3'n'#2#5'Align'#7#5'alTop'#20'BorderSpacing.A'
|
||||
+'round'#2#6#7'Caption'#6#13'ScopeGroupBox'#8'TabOrder'#2#0#0#9'TComboBox'#13
|
||||
+'ScopeComboBox'#4'Left'#2#3#6'Height'#2#25#5'Width'#3';'#1#16'AutoCompleteTe'
|
||||
+'xt'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2
|
||||
+#0#10'OnDropDown'#7#21'ScopeComboBoxDropDown'#8'TabOrder'#2#0#4'Text'#6#13'S'
|
||||
+'copeComboBox'#0#0#9'TCheckBox!ScopeWithRequiredPackagesCheckBox'#4'Left'#3
|
||||
+'H'#1#6'Height'#2#20#3'Top'#2#3#5'Width'#3#249#0#7'Caption'#6'!ScopeWithRequ'
|
||||
+'iredPackagesCheckBox'#8'TabOrder'#2#1#0#0#0#11'TCheckGroup'#16'LevelsCheckG'
|
||||
+'roup'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#13
|
||||
+'ScopeGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'#3
|
||||
+#135#0#3'Top'#2'>'#5'Width'#3#185#0#8'AutoFill'#9#20'BorderSpacing.Around'#2
|
||||
+#6#7'Caption'#6#16'LevelsCheckGroup'#28'ChildSizing.LeftRightSpacing'#2#6#28
|
||||
+'ChildSizing.TopBottomSpacing'#2#6#29'ChildSizing.EnlargeHorizontal'#7#24'cr'
|
||||
+'sHomogenousChildResize'#27'ChildSizing.EnlargeVertical'#7#24'crsHomogenousC'
|
||||
+'hildResize'#28'ChildSizing.ShrinkHorizontal'#7#14'crsScaleChilds'#26'ChildS'
|
||||
+'izing.ShrinkVertical'#7#14'crsScaleChilds'#18'ChildSizing.Layout'#7#29'cclL'
|
||||
+'eftToRightThenTopToBottom'#27'ChildSizing.ControlsPerLine'#2#1#13'Items.Str'
|
||||
+'ings'#1#6#8'Packages'#6#5'Units'#6#7'Classes'#6#8'Sections'#0#8'TabOrder'#2
|
||||
+#1#4'Data'#10#8#0#0#0#4#0#0#0#2#2#2#2#0#0#9'TGroupBox'#12'SortGroupBox'#22'A'
|
||||
+'nchorSideLeft.Control'#7#16'LevelsCheckGroup'#19'AnchorSideLeft.Side'#7#9'a'
|
||||
+'srBottom'#21'AnchorSideTop.Control'#7#13'ScopeGroupBox'#18'AnchorSideTop.Si'
|
||||
+'de'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRigh'
|
||||
+'t.Side'#7#9'asrBottom'#4'Left'#3#197#0#6'Height'#3#135#0#3'Top'#2'>'#5'Widt'
|
||||
+'h'#3#175#1#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#0#20'BorderSpacing.A'
|
||||
+'round'#2#6#7'Caption'#6#12'SortGroupBox'#8'TabOrder'#2#2#0#12'TSpeedButton'
|
||||
+#17'SortUpSpeedButton'#4'Left'#3#168#0#6'Height'#2#22#3'Top'#2'7'#5'Width'#2
|
||||
+#23#5'Color'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#22'SortUpSpeedButt'
|
||||
+'onClick'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#19'SortDow'
|
||||
+'nSpeedButton'#4'Left'#3#168#0#6'Height'#2#22#3'Top'#2'P'#5'Width'#2#23#5'Co'
|
||||
+'lor'#7#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#24'SortDownSpeedButtonCli'
|
||||
+'ck'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#18'SortAddSpeed'
|
||||
+'Button'#4'Left'#3#193#0#6'Height'#2#22#3'Top'#2#14#5'Width'#2#23#5'Color'#7
|
||||
+#9'clBtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#23'SortAddSpeedButtonClick'#8'Sh'
|
||||
+'owHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#21'SortRemoveSpeedButto'
|
||||
+'n'#4'Left'#3#223#0#6'Height'#2#22#3'Top'#2#14#5'Width'#2#23#5'Color'#7#9'cl'
|
||||
+'BtnFace'#9'NumGlyphs'#2#0#7'OnClick'#7#26'SortRemoveSpeedButtonClick'#8'Sho'
|
||||
+'wHint'#9#14'ParentShowHint'#8#0#0#8'TListBox'#11'SortListBox'#6'Height'#2'v'
|
||||
+#5'Width'#3#163#0#5'Align'#7#6'alLeft'#8'TabOrder'#2#0#8'TopIndex'#2#255#0#0
|
||||
+#8'TListBox'#15'SortAddsListBox'#4'Left'#3#2#1#6'Height'#2'v'#5'Width'#3#169
|
||||
+#0#5'Align'#7#7'alRight'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBot'
|
||||
+'tom'#0#8'TabOrder'#2#1#8'TopIndex'#2#255#0#0#0#9'TTreeView'#14'BrowseTreeVi'
|
||||
+'ew'#21'AnchorSideTop.Control'#7#16'LevelsCheckGroup'#18'AnchorSideTop.Side'
|
||||
+#7#9'asrBottom'#6'Height'#3'U'#1#3'Top'#3#203#0#5'Width'#3'z'#2#5'Align'#7#8
|
||||
+'alBottom'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'Defa'
|
||||
+'ultItemHeight'#2#14#8'TabOrder'#2#3#0#0#10'TStatusBar'#10'StatusBar1'#6'Hei'
|
||||
+'ght'#2#20#3'Top'#3' '#2#5'Width'#3'z'#2#6'Panels'#14#0#0#0#0
|
||||
]);
|
555
ide/codebrowser.pas
Normal file
@ -0,0 +1,555 @@
|
||||
{
|
||||
***************************************************************************
|
||||
* *
|
||||
* This source is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This code is distributed in the hope that it will be useful, but *
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
||||
* General Public License for more details. *
|
||||
* *
|
||||
* A copy of the GNU General Public License is available on the World *
|
||||
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
||||
* obtain it by writing to the Free Software Foundation, *
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
Author: Mattias Gaertner
|
||||
|
||||
Abstract:
|
||||
Browser for packages, classes, methods, functions.
|
||||
Scope:
|
||||
Browse units of IDE, or a project or a package.
|
||||
Browse with required packages or without.
|
||||
Sort:
|
||||
Owner, unit, class, visibility, type (procedure, var, const, ...), identifier
|
||||
|
||||
Notes:
|
||||
The codetools provides TCodeTree of every unit.
|
||||
|
||||
}
|
||||
unit CodeBrowser;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LCLProc, LResources, Forms, Controls, Graphics, Dialogs,
|
||||
AvgLvlTree, StdCtrls,
|
||||
CodeTree, CodeCache, CodeToolManager, LazConfigStorage, PackageSystem,
|
||||
LazarusIDEStrConsts, IDEOptionDefs, EnvironmentOpts, ExtCtrls, ComCtrls,
|
||||
Buttons;
|
||||
|
||||
type
|
||||
TCodeBrowserUnit = class;
|
||||
TCodeBrowserUnitList = class;
|
||||
|
||||
{ TCodeBrowserNode }
|
||||
|
||||
TCodeBrowserNode = class
|
||||
private
|
||||
FCBUnit: TCodeBrowserUnit;
|
||||
FChildNodes: TAvgLvlTree;
|
||||
FNode: TCodeTreeNode;
|
||||
FParentNode: TCodeBrowserNode;
|
||||
public
|
||||
constructor Create(TheUnit: TCodeBrowserUnit; TheNode: TCodeTreeNode;
|
||||
TheParent: TCodeBrowserNode);
|
||||
destructor Destroy; override;
|
||||
procedure Clear;
|
||||
property CBUnit: TCodeBrowserUnit read FCBUnit;
|
||||
property Node: TCodeTreeNode read FNode;
|
||||
property ParentNode: TCodeBrowserNode read FParentNode;
|
||||
property ChildNodes: TAvgLvlTree read FChildNodes;
|
||||
end;
|
||||
|
||||
|
||||
{ TCodeBrowserUnit }
|
||||
|
||||
TCodeBrowserUnit = class
|
||||
private
|
||||
FChildNodes: TAvgLvlTree;
|
||||
FCodeTool: TCodeTool;
|
||||
FCodeTreeChangeStep: integer;
|
||||
FFilename: string;
|
||||
FUnitList: TCodeBrowserUnitList;
|
||||
public
|
||||
constructor Create(const TheFilename: string);
|
||||
destructor Destroy; override;
|
||||
procedure Clear;
|
||||
property Filename: string read FFilename;
|
||||
property CodeTool: TCodeTool read FCodeTool;
|
||||
property CodeTreeChangeStep: integer read FCodeTreeChangeStep;
|
||||
property UnitList: TCodeBrowserUnitList read FUnitList;
|
||||
property ChildNodes: TAvgLvlTree read FChildNodes;
|
||||
end;
|
||||
|
||||
|
||||
{ TCodeBrowserUnitList }
|
||||
|
||||
TCodeBrowserUnitList = class
|
||||
private
|
||||
FOwner: TObject;
|
||||
FParentList: TCodeBrowserUnitList;
|
||||
FUnits: TAvgLvlTree;
|
||||
public
|
||||
constructor Create(TheOwner: TObject; TheParent: TCodeBrowserUnitList);
|
||||
destructor Destroy; override;
|
||||
procedure Clear;
|
||||
property Owner: TObject read FOwner;// IDE, project, package
|
||||
property ParentList: TCodeBrowserUnitList read FParentList;
|
||||
property Units: TAvgLvlTree read FUnits;
|
||||
end;
|
||||
|
||||
|
||||
{ TCodeBrowserViewOptions }
|
||||
|
||||
TCodeBrowserViewOptions = class
|
||||
private
|
||||
FModified: boolean;
|
||||
FScope: string;
|
||||
FLevels: TStrings;
|
||||
FSortItems: TStrings;
|
||||
FWithRequiredPackages: boolean;
|
||||
procedure SetModified(const AValue: boolean);
|
||||
procedure SetScope(const AValue: string);
|
||||
procedure SetLevels(const AValue: TStrings);
|
||||
procedure SetSortItems(const AValue: TStrings);
|
||||
procedure SetWithRequiredPackages(const AValue: boolean);
|
||||
public
|
||||
constructor Create;
|
||||
destructor Destroy; override;
|
||||
procedure Clear;
|
||||
procedure LoadFromConfig(ConfigStore: TConfigStorage; const Path: string);
|
||||
procedure SaveToConfig(ConfigStore: TConfigStorage; const Path: string);
|
||||
property Scope: string read FScope write SetScope;
|
||||
property WithRequiredPackages: boolean read FWithRequiredPackages write SetWithRequiredPackages;
|
||||
property Levels: TStrings read FLevels write SetLevels;
|
||||
property SortItems: TStrings read FSortItems write SetSortItems;
|
||||
property Modified: boolean read FModified write SetModified;
|
||||
end;
|
||||
|
||||
|
||||
{ TCodeBrowserView }
|
||||
|
||||
TCodeBrowserView = class(TForm)
|
||||
SortAddsListBox: TListBox;
|
||||
SortListBox: TListBox;
|
||||
SortGroupBox: TGroupBox;
|
||||
LevelsCheckGroup: TCheckGroup;
|
||||
ScopeWithRequiredPackagesCheckBox: TCheckBox;
|
||||
ScopeComboBox: TComboBox;
|
||||
ScopeGroupBox: TGroupBox;
|
||||
SortUpSpeedButton: TSpeedButton;
|
||||
SortDownSpeedButton: TSpeedButton;
|
||||
SortAddSpeedButton: TSpeedButton;
|
||||
SortRemoveSpeedButton: TSpeedButton;
|
||||
BrowseTreeView: TTreeView;
|
||||
StatusBar1: TStatusBar;
|
||||
procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure FormDestroy(Sender: TObject);
|
||||
procedure ScopeComboBoxDropDown(Sender: TObject);
|
||||
procedure SortAddSpeedButtonClick(Sender: TObject);
|
||||
procedure SortDownSpeedButtonClick(Sender: TObject);
|
||||
procedure SortRemoveSpeedButtonClick(Sender: TObject);
|
||||
procedure SortUpSpeedButtonClick(Sender: TObject);
|
||||
private
|
||||
FIDEAlias: string;
|
||||
fLocalizedSortItems: TStrings;
|
||||
FOptions: TCodeBrowserViewOptions;
|
||||
FProjectAlias: string;
|
||||
FUnitList: TCodeBrowserUnitList;
|
||||
fUpdateCount: integer;
|
||||
procedure LoadOptions;
|
||||
procedure LoadLevelsCheckGroup;
|
||||
procedure LoadSortListBoxes;
|
||||
procedure MoveSortItem(Offset: integer);
|
||||
procedure AddSortItem;
|
||||
procedure RemoveSortItem;
|
||||
procedure FillScopeComboBox;
|
||||
public
|
||||
procedure BeginUpdate;
|
||||
procedure EndUpdate;
|
||||
property UnitList: TCodeBrowserUnitList read FUnitList;
|
||||
property Options: TCodeBrowserViewOptions read FOptions;
|
||||
property IDEAlias: string read FIDEAlias;
|
||||
property ProjectAlias: string read FProjectAlias;
|
||||
end;
|
||||
|
||||
var
|
||||
CodeBrowserView: TCodeBrowserView = nil;
|
||||
|
||||
|
||||
implementation
|
||||
|
||||
|
||||
{ TCodeBrowserView }
|
||||
|
||||
procedure TCodeBrowserView.FormCreate(Sender: TObject);
|
||||
begin
|
||||
FOptions:=TCodeBrowserViewOptions.Create;
|
||||
|
||||
FIDEAlias:='Lazarus IDE';
|
||||
FProjectAlias:='Project';
|
||||
|
||||
fLocalizedSortItems:=TStringList.Create;
|
||||
fLocalizedSortItems.Values['Packages']:='Packages';
|
||||
fLocalizedSortItems.Values['Units']:='Units';
|
||||
fLocalizedSortItems.Values['Classes']:='Classes';
|
||||
fLocalizedSortItems.Values['Sections']:='Sections';
|
||||
fLocalizedSortItems.Values['Alphabetically']:='Alphabetically';
|
||||
|
||||
Name:=NonModalIDEWindowNames[nmiwCodeBrowser];
|
||||
Caption := 'Code browser';
|
||||
EnvironmentOptions.IDEWindowLayoutList.Apply(Self,Name);
|
||||
|
||||
ScopeGroupBox.Caption:='Scope';
|
||||
ScopeWithRequiredPackagesCheckBox.Caption:='With required packages';
|
||||
LevelsCheckGroup.Caption:='Levels';
|
||||
LevelsCheckGroup.Items[0]:='Packages';
|
||||
LevelsCheckGroup.Items[1]:='Units';
|
||||
LevelsCheckGroup.Items[2]:='Classes';
|
||||
LevelsCheckGroup.Items[3]:='Sections';
|
||||
|
||||
SortGroupBox.Caption:='Sort';
|
||||
SortUpSpeedButton.Hint:='Move up';
|
||||
DebugLn(['TCodeBrowserView.FormCreate ',LazarusResources.Find('arrow_up')<>nil]);
|
||||
SortUpSpeedButton.Glyph.LoadFromLazarusResource('arrow_up');
|
||||
SortDownSpeedButton.Hint:='Move down';
|
||||
SortDownSpeedButton.Glyph.LoadFromLazarusResource('arrow_down');
|
||||
SortAddSpeedButton.Hint:='Add';
|
||||
SortAddSpeedButton.Glyph.LoadFromLazarusResource('arrow_left');
|
||||
SortRemoveSpeedButton.Hint:='Remove';
|
||||
SortRemoveSpeedButton.Glyph.LoadFromLazarusResource('arrow_right');
|
||||
|
||||
LoadOptions;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.FormDestroy(Sender: TObject);
|
||||
begin
|
||||
FreeAndNil(FOptions);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.ScopeComboBoxDropDown(Sender: TObject);
|
||||
begin
|
||||
FillScopeComboBox;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.SortAddSpeedButtonClick(Sender: TObject);
|
||||
begin
|
||||
AddSortItem;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.SortDownSpeedButtonClick(Sender: TObject);
|
||||
begin
|
||||
MoveSortItem(+1);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.SortRemoveSpeedButtonClick(Sender: TObject);
|
||||
begin
|
||||
RemoveSortItem;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.SortUpSpeedButtonClick(Sender: TObject);
|
||||
begin
|
||||
MoveSortItem(-1);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.LoadOptions;
|
||||
begin
|
||||
BeginUpdate;
|
||||
ScopeWithRequiredPackagesCheckBox.Checked:=Options.WithRequiredPackages;
|
||||
ScopeComboBox.Text:=Options.Scope;
|
||||
LoadLevelsCheckGroup;
|
||||
LoadSortListBoxes;
|
||||
EndUpdate;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.LoadLevelsCheckGroup;
|
||||
begin
|
||||
LevelsCheckGroup.Checked[0]:=Options.Levels.IndexOf('Packages')>=0;
|
||||
LevelsCheckGroup.Checked[1]:=Options.Levels.IndexOf('Units')>=0;
|
||||
LevelsCheckGroup.Checked[2]:=Options.Levels.IndexOf('Classes')>=0;
|
||||
LevelsCheckGroup.Checked[3]:=Options.Levels.IndexOf('Sections')>=0;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.LoadSortListBoxes;
|
||||
var
|
||||
i: Integer;
|
||||
sl: TStringList;
|
||||
CurItem: string;
|
||||
begin
|
||||
BeginUpdate;
|
||||
sl:=TStringList.Create;
|
||||
|
||||
// SortListBox
|
||||
for i:=0 to Options.SortItems.Count-1 do begin
|
||||
CurItem:=fLocalizedSortItems.Values[Options.SortItems[i]];
|
||||
if CurItem='' then continue;
|
||||
sl.Add(CurItem);
|
||||
end;
|
||||
if SortListBox.ItemIndex>=0 then
|
||||
CurItem:=SortListBox.Items[SortListBox.ItemIndex]
|
||||
else
|
||||
CurItem:='';
|
||||
SortListBox.Items.Assign(sl);
|
||||
if CurItem<>'' then
|
||||
SortListBox.ItemIndex:=sl.IndexOf(CurItem);
|
||||
|
||||
// SortAddsListBox
|
||||
sl.Clear;
|
||||
for i:=0 to fLocalizedSortItems.Count-1 do begin
|
||||
CurItem:=fLocalizedSortItems.Names[i];
|
||||
if Options.SortItems.IndexOf(CurItem)<0 then
|
||||
sl.Add(fLocalizedSortItems.ValueFromIndex[i]);
|
||||
end;
|
||||
if SortAddsListBox.ItemIndex>=0 then
|
||||
CurItem:=SortAddsListBox.Items[SortAddsListBox.ItemIndex]
|
||||
else
|
||||
CurItem:='';
|
||||
SortAddsListBox.Items.Assign(sl);
|
||||
if CurItem<>'' then
|
||||
SortAddsListBox.ItemIndex:=sl.IndexOf(CurItem);
|
||||
|
||||
sl.Free;
|
||||
EndUpdate;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.MoveSortItem(Offset: integer);
|
||||
var
|
||||
i: LongInt;
|
||||
begin
|
||||
if Offset=0 then exit;
|
||||
i:=SortListBox.ItemIndex;
|
||||
if i<0 then exit;
|
||||
if (i+Offset)<0 then exit;
|
||||
if (i+Offset)>=SortListBox.Items.Count then exit;
|
||||
SortListBox.Items.Move(i,i+Offset);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.AddSortItem;
|
||||
var
|
||||
i: LongInt;
|
||||
NewItem: string;
|
||||
begin
|
||||
i:=SortAddsListBox.ItemIndex;
|
||||
if i<0 then exit;
|
||||
NewItem:=SortAddsListBox.Items[i];
|
||||
SortAddsListBox.Items.Delete(i);
|
||||
i:=SortListBox.ItemIndex;
|
||||
if i<0 then i:=SortListBox.Items.Count;
|
||||
SortListBox.Items.Insert(i,NewItem);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.RemoveSortItem;
|
||||
var
|
||||
i: LongInt;
|
||||
NewItem: string;
|
||||
begin
|
||||
i:=SortListBox.ItemIndex;
|
||||
if i<0 then exit;
|
||||
NewItem:=SortListBox.Items[i];
|
||||
SortListBox.Items.Delete(i);
|
||||
i:=SortAddsListBox.ItemIndex;
|
||||
if i<0 then i:=SortAddsListBox.Items.Count;
|
||||
SortAddsListBox.Items.Insert(i,NewItem);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.FillScopeComboBox;
|
||||
var
|
||||
sl: TStringList;
|
||||
i: Integer;
|
||||
begin
|
||||
sl:=TStringList.Create;
|
||||
if PackageGraph<>nil then begin
|
||||
for i:=0 to PackageGraph.Count-1 do
|
||||
sl.Add(PackageGraph.Packages[i].Name);
|
||||
end;
|
||||
sl.Sort;
|
||||
sl.Insert(0,IDEAlias);
|
||||
sl.Insert(1,ProjectAlias);
|
||||
ScopeComboBox.Items.Assign(sl);
|
||||
sl.Free;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.BeginUpdate;
|
||||
begin
|
||||
inc(fUpdateCount);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.EndUpdate;
|
||||
begin
|
||||
dec(fUpdateCount);
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.FormClose(Sender: TObject;
|
||||
var CloseAction: TCloseAction);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
{ TCodeBrowserNode }
|
||||
|
||||
constructor TCodeBrowserNode.Create(TheUnit: TCodeBrowserUnit;
|
||||
TheNode: TCodeTreeNode; TheParent: TCodeBrowserNode);
|
||||
begin
|
||||
FCBUnit:=TheUnit;
|
||||
FNode:=TheNode;
|
||||
FParentNode:=TheParent;
|
||||
end;
|
||||
|
||||
destructor TCodeBrowserNode.Destroy;
|
||||
begin
|
||||
Clear;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserNode.Clear;
|
||||
begin
|
||||
if FChildNodes<>nil then
|
||||
FChildNodes.FreeAndClear;
|
||||
FreeAndNil(FChildNodes);
|
||||
end;
|
||||
|
||||
{ TCodeBrowserUnit }
|
||||
|
||||
constructor TCodeBrowserUnit.Create(const TheFilename: string);
|
||||
begin
|
||||
FFilename:=TheFilename;
|
||||
end;
|
||||
|
||||
destructor TCodeBrowserUnit.Destroy;
|
||||
begin
|
||||
Clear;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserUnit.Clear;
|
||||
begin
|
||||
if FChildNodes<>nil then
|
||||
FChildNodes.FreeAndClear;
|
||||
FreeAndNil(FChildNodes);
|
||||
end;
|
||||
|
||||
{ TCodeBrowserUnitList }
|
||||
|
||||
constructor TCodeBrowserUnitList.Create(TheOwner: TObject;
|
||||
TheParent: TCodeBrowserUnitList);
|
||||
begin
|
||||
FOwner:=TheOwner;
|
||||
FParentList:=TheParent;
|
||||
end;
|
||||
|
||||
destructor TCodeBrowserUnitList.Destroy;
|
||||
begin
|
||||
Clear;
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserUnitList.Clear;
|
||||
begin
|
||||
if FUnits<>nil then
|
||||
FUnits.FreeAndClear;
|
||||
FreeAndNil(FUnits);
|
||||
end;
|
||||
|
||||
{ TCodeBrowserViewOptions }
|
||||
|
||||
procedure TCodeBrowserViewOptions.SetModified(const AValue: boolean);
|
||||
begin
|
||||
if FModified=AValue then exit;
|
||||
FModified:=AValue;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserViewOptions.SetScope(const AValue: string);
|
||||
begin
|
||||
if FScope=AValue then exit;
|
||||
FScope:=AValue;
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserViewOptions.SetLevels(const AValue: TStrings);
|
||||
begin
|
||||
if FLevels=AValue then exit;
|
||||
if FLevels.Text=AValue.Text then exit;
|
||||
FLevels.Assign(AValue);
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserViewOptions.SetSortItems(const AValue: TStrings);
|
||||
begin
|
||||
if FSortItems=AValue then exit;
|
||||
if FSortItems.Text=AValue.Text then exit;
|
||||
FSortItems.Assign(AValue);
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserViewOptions.SetWithRequiredPackages(const AValue: boolean
|
||||
);
|
||||
begin
|
||||
if FWithRequiredPackages=AValue then exit;
|
||||
FWithRequiredPackages:=AValue;
|
||||
Modified:=true;
|
||||
end;
|
||||
|
||||
constructor TCodeBrowserViewOptions.Create;
|
||||
begin
|
||||
FSortItems:=TStringList.Create;
|
||||
FLevels:=TStringList.Create;
|
||||
Clear;
|
||||
end;
|
||||
|
||||
destructor TCodeBrowserViewOptions.Destroy;
|
||||
begin
|
||||
FreeAndNil(FSortItems);
|
||||
FreeAndNil(FLevels);
|
||||
inherited Destroy;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserViewOptions.Clear;
|
||||
begin
|
||||
FLevels.Clear;
|
||||
FSortItems.Text:='Alphabetically';
|
||||
FLevels.Text:='Packages'#13
|
||||
+'Units'#13
|
||||
+'Classes'#13
|
||||
+'Sections';
|
||||
WithRequiredPackages:=false;
|
||||
Scope:='Project';
|
||||
Modified:=false;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserViewOptions.LoadFromConfig(ConfigStore: TConfigStorage;
|
||||
const Path: string);
|
||||
begin
|
||||
Clear;
|
||||
WithRequiredPackages:=
|
||||
ConfigStore.GetValue(Path+'WithRequiredPackages/Value',false);
|
||||
Scope:=ConfigStore.GetValue(Path+'Scope/Value','Project');
|
||||
ConfigStore.GetValue(Path+'SortItems/',fSortItems);
|
||||
ConfigStore.GetValue(Path+'Levels/',FLevels);
|
||||
Modified:=false;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserViewOptions.SaveToConfig(ConfigStore: TConfigStorage;
|
||||
const Path: string);
|
||||
begin
|
||||
ConfigStore.SetDeleteValue(Path+'WithRequiredPackages/Value',
|
||||
WithRequiredPackages,false);
|
||||
ConfigStore.SetDeleteValue(Path+'Scope/Value',Scope,'Project');
|
||||
ConfigStore.SetValue(Path+'SortItems/',fSortItems);
|
||||
ConfigStore.SetValue(Path+'Levels/',FLevels);
|
||||
Modified:=false;
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I codebrowser.lrs}
|
||||
|
||||
end.
|
||||
|
@ -91,7 +91,8 @@ type
|
||||
nmiwEvaluate,
|
||||
// extra
|
||||
nmiwSearchResultsViewName,
|
||||
nmiwAnchorEditor
|
||||
nmiwAnchorEditor,
|
||||
nmiwCodeBrowser
|
||||
);
|
||||
|
||||
const
|
||||
@ -128,7 +129,8 @@ const
|
||||
'EvaluateModify',
|
||||
// extra
|
||||
'SearchResults',
|
||||
'AnchorEditor'
|
||||
'AnchorEditor',
|
||||
'CodeBrowser'
|
||||
);
|
||||
|
||||
type
|
||||
|
@ -471,6 +471,7 @@ begin
|
||||
ecJumpToEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleFormUnit: SetResult(VK_F12,[],VK_UNKNOWN,[]);
|
||||
ecViewAnchorEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCodeBrowser: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCompPalette: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleIDESpeedBtns: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
@ -789,6 +790,7 @@ begin
|
||||
ecJumpToEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleFormUnit: SetResult(VK_F12,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecViewAnchorEditor: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCodeBrowser: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleCompPalette: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
ecToggleIDESpeedBtns: SetResult(VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
||||
@ -1343,6 +1345,7 @@ begin
|
||||
ecViewUnitDependencies : Result:= srkmecViewUnitDependencies;
|
||||
ecViewUnitInfo : Result:= srkmecViewUnitInfo;
|
||||
ecViewAnchorEditor : Result:= srkmecViewAnchorEditor;
|
||||
ecToggleCodeBrowser : Result:= srkmecToggleCodeBrowser;
|
||||
ecToggleCompPalette : Result:= srkmecToggleCompPalette;
|
||||
ecToggleIDESpeedBtns : Result:= srkmecToggleIDESpeedBtns;
|
||||
|
||||
|
@ -246,6 +246,7 @@ resourcestring
|
||||
lisMenuViewObjectInspector = 'Object Inspector';
|
||||
lisMenuViewSourceEditor = 'Source Editor';
|
||||
lisMenuViewCodeExplorer = 'Code Explorer';
|
||||
lisMenuViewCodeBrowser = 'Code Browser';
|
||||
lisMenuJumpTo = 'Jump to';
|
||||
lisMenuViewUnits = 'Units...';
|
||||
lisMenuViewForms = 'Forms...';
|
||||
@ -1657,6 +1658,7 @@ resourcestring
|
||||
srkmecViewUnitDependencies = 'View unit dependencies';
|
||||
srkmecViewUnitInfo = 'View unit information';
|
||||
srkmecViewAnchorEditor = 'View anchor editor';
|
||||
srkmecToggleCodeBrowser = 'View code browser';
|
||||
srkmecToggleCompPalette = 'View component palette';
|
||||
srkmecToggleIDESpeedBtns = 'View IDE speed buttons';
|
||||
|
||||
|
30
ide/main.pp
@ -119,7 +119,7 @@ uses
|
||||
DelphiUnit2Laz, DelphiProject2Laz, LazXMLForms,
|
||||
// rest of the ide
|
||||
Splash, IDEDefs, LazarusIDEStrConsts, LazConf, MsgView, SearchResultView,
|
||||
CodeTemplatesDlg,
|
||||
CodeTemplatesDlg, CodeBrowser,
|
||||
PublishModule, EnvironmentOpts, TransferMacros, KeyMapping, IDETranslations,
|
||||
IDEProcs, ExtToolDialog, ExtToolEditDlg, OutputFilter,
|
||||
BuildLazDialog, MiscOptions, InputHistory, UnitDependencies, ClipBoardHistory,
|
||||
@ -229,6 +229,7 @@ type
|
||||
procedure mnuViewUnitInfoClicked(Sender: TObject);
|
||||
procedure mnuViewLazDocClicked(Sender: TObject);
|
||||
procedure mnuViewCodeExplorerClick(Sender: TObject);
|
||||
procedure mnuViewCodeBrowserClick(Sender: TObject);
|
||||
procedure mnuViewMessagesClick(Sender: TObject);
|
||||
procedure mnuViewSearchResultsClick(Sender: TObject);
|
||||
procedure mnuToggleFormUnitClicked(Sender: TObject);
|
||||
@ -665,6 +666,7 @@ type
|
||||
procedure DoViewUnitDependencies;
|
||||
procedure DoViewUnitInfo;
|
||||
procedure DoShowCodeExplorer;
|
||||
procedure DoShowCodeBrowser;
|
||||
procedure DoShowLazDoc;
|
||||
function CreateNewUniqueFilename(const Prefix, Ext: string;
|
||||
NewOwner: TObject; Flags: TSearchIDEFileFlags; TryWithoutNumber: boolean
|
||||
@ -1158,6 +1160,7 @@ begin
|
||||
|
||||
FreeThenNil(ProjInspector);
|
||||
FreeThenNil(CodeExplorerView);
|
||||
FreeThenNil(CodeBrowserView);
|
||||
FreeAndNil(LazFindReplaceDialog);
|
||||
FreeAndNil(MessagesView);
|
||||
FreeThenNil(AnchorDesigner);
|
||||
@ -1749,6 +1752,8 @@ begin
|
||||
DoViewUnitDependencies;
|
||||
nmiwProjectInspector:
|
||||
DoShowProjectInspector;
|
||||
nmiwCodeBrowser:
|
||||
DoShowCodeBrowser;
|
||||
nmiwCodeExplorerName:
|
||||
DoShowCodeExplorer;
|
||||
nmiwLazDocName:
|
||||
@ -1976,6 +1981,8 @@ begin
|
||||
itmViewInspector.OnClick := @mnuViewInspectorClicked;
|
||||
itmViewSourceEditor.OnClick := @mnuViewSourceEditorClicked;
|
||||
itmViewCodeExplorer.OnClick := @mnuViewCodeExplorerClick;
|
||||
itmViewCodeBrowser.OnClick := @mnuViewCodeBrowserClick;
|
||||
itmViewCodeBrowser.Visible:=false;
|
||||
itmViewLazDoc.OnClick := @mnuViewLazDocClicked; //DBlaszijk 5-sep-05
|
||||
itmViewUnits.OnClick := @mnuViewUnitsClicked;
|
||||
itmViewForms.OnClick := @mnuViewFormsClicked;
|
||||
@ -2490,6 +2497,9 @@ begin
|
||||
ecToggleCodeExpl:
|
||||
DoShowCodeExplorer;
|
||||
|
||||
ecToggleCodeBrowser:
|
||||
DoShowCodeBrowser;
|
||||
|
||||
ecToggleLazDoc:
|
||||
DoShowLazDoc;
|
||||
|
||||
@ -2996,6 +3006,11 @@ begin
|
||||
DoShowCodeExplorer;
|
||||
end;
|
||||
|
||||
Procedure TMainIDE.mnuViewCodeBrowserClick(Sender: TObject);
|
||||
begin
|
||||
DoShowCodeBrowser;
|
||||
end;
|
||||
|
||||
Procedure TMainIDE.mnuViewMessagesClick(Sender: TObject);
|
||||
begin
|
||||
// it was already visible, but user does not see it, try to move in view
|
||||
@ -6801,6 +6816,15 @@ begin
|
||||
CodeExplorerView.Refresh;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoShowCodeBrowser;
|
||||
begin
|
||||
if CodeBrowserView=nil then begin
|
||||
CodeBrowserView:=TCodeBrowserView.Create(OwningComponent);
|
||||
end;
|
||||
|
||||
CodeBrowserView.ShowOnTop;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.DoShowLazDoc;
|
||||
begin
|
||||
SourceNotebook.ShowLazDoc;
|
||||
@ -13100,6 +13124,10 @@ begin
|
||||
begin
|
||||
ALayout.Form.SetBounds(Screen.Width-200,130,170,Max(50,Screen.Height-230));
|
||||
end;
|
||||
nmiwCodeBrowser:
|
||||
begin
|
||||
ALayout.Form.SetBounds(200,100,650,500);
|
||||
end;
|
||||
nmiwClipbrdHistoryName:
|
||||
ALayout.Form.SetBounds(250,Screen.Height-400,400,300);
|
||||
nmiwPkgGraphExplorer:
|
||||
|
@ -179,6 +179,7 @@ type
|
||||
itmViewSourceEditor: TIDEMenuCommand;
|
||||
itmViewCodeExplorer: TIDEMenuCommand;
|
||||
itmViewLazDoc: TIDEMenuCommand;
|
||||
itmViewCodeBrowser: TIDEMenuCommand;
|
||||
//itmViewUnitWindows: TIDEMenuSection;
|
||||
itmViewUnits: TIDEMenuCommand;
|
||||
itmViewForms: TIDEMenuCommand;
|
||||
|
@ -497,6 +497,7 @@ begin
|
||||
CreateMenuItem(ParentMI,itmViewSourceEditor,'itmViewSourceEditor',lisMenuViewSourceEditor);
|
||||
CreateMenuItem(ParentMI,itmViewCodeExplorer,'itmViewCodeExplorer',lisMenuViewCodeExplorer);
|
||||
CreateMenuItem(ParentMI,itmViewLazDoc,'itmViewLazDoc',lisMenuLazDoc); //DBlaszijk 5-sep-05
|
||||
CreateMenuItem(ParentMI,itmViewCodeBrowser,'itmViewCodeBrowser',lisMenuViewCodeBrowser);
|
||||
|
||||
CreateMenuSeparatorSection(mnuView,itmViewUnitWindows,'itmViewUnitWindows');
|
||||
ParentMI:=itmViewUnitWindows;
|
||||
@ -846,7 +847,8 @@ begin
|
||||
itmViewSourceEditor.Command:=GetCommand(ecToggleSourceEditor);
|
||||
itmViewUnits.Command:=GetCommand(ecViewUnits);
|
||||
itmViewCodeExplorer.Command:=GetCommand(ecToggleCodeExpl);
|
||||
//itmViewLazDoc.Command:=GetCommand(ecLazDoc); //DBlaszijk 5-sep-05
|
||||
itmViewLazDoc.Command:=GetCommand(ecToggleLazDoc);
|
||||
itmViewCodeBrowser.Command:=GetCommand(ecToggleCodeBrowser);
|
||||
itmViewUnitDependencies.Command:=GetCommand(ecViewUnitDependencies);
|
||||
itmViewUnitInfo.Command:=GetCommand(ecViewUnitInfo);
|
||||
itmViewForms.Command:=GetCommand(ecViewForms);
|
||||
|
@ -175,8 +175,9 @@ const
|
||||
ecToggleCallStack = ecFirstLazarus + 315;
|
||||
ecToggleSearchResults = ecFirstLazarus + 316;
|
||||
ecViewAnchorEditor = ecFirstLazarus + 317;
|
||||
ecToggleCompPalette = ecFirstLazarus + 318;
|
||||
ecToggleIDESpeedBtns = ecFirstLazarus + 319;
|
||||
ecToggleCodeBrowser = ecFirstLazarus + 318;
|
||||
ecToggleCompPalette = ecFirstLazarus + 319;
|
||||
ecToggleIDESpeedBtns = ecFirstLazarus + 320;
|
||||
|
||||
// sourcenotebook commands
|
||||
ecNextEditor = ecFirstLazarus + 330;
|
||||
|
@ -52,7 +52,7 @@ cd <lazarusdir>/images/
|
||||
6. laz_images.lrs
|
||||
|
||||
cd <lazarusdir>/images/
|
||||
../tools/lazres laz_images.lrs btn_*.xpm pkg_*.xpm menu/menu_*.xpm codeexplorer/*.xpm designer/*.xpm
|
||||
../tools/lazres laz_images.lrs btn_*.xpm pkg_*.xpm arrow_*.xpm menu/menu_*.xpm codeexplorer/*.xpm designer/*.xpm
|
||||
rm ../main.ppu
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 358 B After Width: | Height: | Size: 358 B |
@ -1161,6 +1161,241 @@ LazarusResources.Add('pkg_unit','XPM',[
|
||||
+'; ",'#10'" .%%%%%%%%%%%; ",'#10'" .;;;;;;;;;;;, ",'#10'" '
|
||||
+'"};'#10
|
||||
]);
|
||||
LazarusResources.Add('arrow_down','XPM',[
|
||||
'/* XPM */'#10'static char * unten_xpm[] = {'#10'"25 25 128 2",'#10'" '#9'c '
|
||||
+'None",'#10'". '#9'c #FFFFFF",'#10'"+ '#9'c #E5E5E5",'#10'"@ '#9'c #E3E3E3",'
|
||||
+#10'"# '#9'c #BBBBBB",'#10'"$ '#9'c #B2B2B2",'#10'"% '#9'c #D3D3D3",'#10'"& '
|
||||
+#9'c #5F5F5F",'#10'"* '#9'c #888888",'#10'"= '#9'c #F1F1F1",'#10'"- '#9'c #E'
|
||||
+'8E8E8",'#10'"; '#9'c #ECECEC",'#10'"> '#9'c #E9E9E9",'#10'", '#9'c #EBEBEB"'
|
||||
+','#10'"'' '#9'c #E4E4E4",'#10'") '#9'c #E2E2E2",'#10'"! '#9'c #EDEDED",'#10
|
||||
+'"~ '#9'c #EAEAEA",'#10'"{ '#9'c #F0F0F0",'#10'"] '#9'c #EFEFEF",'#10'"^ '#9
|
||||
+'c #F9F9F9",'#10'"/ '#9'c #F4F4F4",'#10'"( '#9'c #F8F8F8",'#10'"_ '#9'c #303'
|
||||
+'030",'#10'": '#9'c #8D8D8D",'#10'"< '#9'c #DFDFDF",'#10'"[ '#9'c #DDDDDD",'
|
||||
+#10'"} '#9'c #EEEEEE",'#10'"| '#9'c #FAFAFA",'#10'"1 '#9'c #F3F3F3",'#10'"2 '
|
||||
+#9'c #898989",'#10'"3 '#9'c #2F2F2F",'#10'"4 '#9'c #E6E6E6",'#10'"5 '#9'c #E'
|
||||
+'1E1E1",'#10'"6 '#9'c #D4D4D4",'#10'"7 '#9'c #ADADAD",'#10'"8 '#9'c #AFAFAF"'
|
||||
+','#10'"9 '#9'c #AAAAAA",'#10'"0 '#9'c #ABABAB",'#10'"a '#9'c #A6A6A6",'#10
|
||||
+'"b '#9'c #A1A1A1",'#10'"c '#9'c #A2A2A2",'#10'"d '#9'c #A7A7A7",'#10'"e '#9
|
||||
+'c #B4B4B4",'#10'"f '#9'c #DCDCDC",'#10'"g '#9'c #F5F5F5",'#10'"h '#9'c #848'
|
||||
+'484",'#10'"i '#9'c #CFCFCF",'#10'"j '#9'c #747474",'#10'"k '#9'c #535353",'
|
||||
+#10'"l '#9'c #4A4A4A",'#10'"m '#9'c #494949",'#10'"n '#9'c #454545",'#10'"o '
|
||||
+#9'c #484848",'#10'"p '#9'c #444444",'#10'"q '#9'c #464646",'#10'"r '#9'c #4'
|
||||
+'74747",'#10'"s '#9'c #9C9C9C",'#10'"t '#9'c #E0E0E0",'#10'"u '#9'c #313131"'
|
||||
+','#10'"v '#9'c #818181",'#10'"w '#9'c #DADADA",'#10'"x '#9'c #777777",'#10
|
||||
+'"y '#9'c #4D4D4D",'#10'"z '#9'c #666666",'#10'"A '#9'c #686868",'#10'"B '#9
|
||||
+'c #616161",'#10'"C '#9'c #656565",'#10'"D '#9'c #646464",'#10'"E '#9'c #9B9'
|
||||
+'B9B",'#10'"F '#9'c #323232",'#10'"G '#9'c #8A8A8A",'#10'"H '#9'c #9F9F9F",'
|
||||
+#10'"I '#9'c #565656",'#10'"J '#9'c #959595",'#10'"K '#9'c #A0A0A0",'#10'"L '
|
||||
+#9'c #A5A5A5",'#10'"M '#9'c #A4A4A4",'#10'"N '#9'c #B5B5B5",'#10'"O '#9'c #F'
|
||||
+'6F6F6",'#10'"P '#9'c #8B8B8B",'#10'"Q '#9'c #D0D0D0",'#10'"R '#9'c #676767"'
|
||||
+','#10'"S '#9'c #7D7D7D",'#10'"T '#9'c #ACACAC",'#10'"U '#9'c #C0C0C0",'#10
|
||||
+'"V '#9'c #868686",'#10'"W '#9'c #696969",'#10'"X '#9'c #B0B0B0",'#10'"Y '#9
|
||||
+'c #A9A9A9",'#10'"Z '#9'c #909090",'#10'"` '#9'c #D8D8D8",'#10'" .'#9'c #7B7'
|
||||
+'B7B",'#10'"..'#9'c #B1B1B1",'#10'"+.'#9'c #AEAEAE",'#10'"@.'#9'c #5C5C5C",'
|
||||
+#10'"#.'#9'c #B3B3B3",'#10'"$.'#9'c #DEDEDE",'#10'"%.'#9'c #E7E7E7",'#10'"&.'
|
||||
+#9'c #C5C5C5",'#10'"*.'#9'c #878787",'#10'"=.'#9'c #B6B6B6",'#10'"-.'#9'c #C'
|
||||
+'7C7C7",'#10'";.'#9'c #858585",'#10'">.'#9'c #8C8C8C",'#10'",.'#9'c #9D9D9D"'
|
||||
+','#10'"''.'#9'c #828282",'#10'").'#9'c #8E8E8E",'#10'"!.'#9'c #BFBFBF",'#10
|
||||
+'"~.'#9'c #595959",'#10'"{.'#9'c #CECECE",'#10'"].'#9'c #FDFDFD",'#10'"^.'#9
|
||||
+'c #838383",'#10'"/.'#9'c #F7F7F7",'#10'"(.'#9'c #707070",'#10'"_.'#9'c #939'
|
||||
+'393",'#10'":.'#9'c #8F8F8F",'#10'"<.'#9'c #B7B7B7",'#10'"[.'#9'c #FBFBFB",'
|
||||
+#10'"}.'#9'c #7F7F7F",'#10'"|.'#9'c #2D2D2D",'#10'"1.'#9'c #CACACA",'#10'"2.'
|
||||
+#9'c #6B6B6B",'#10'"3.'#9'c #585858",'#10'"4.'#9'c #2E2E2E",'#10'"5.'#9'c #3'
|
||||
+'33333",'#10'"6.'#9'c #383838",'#10'"7.'#9'c #919191",'#10'". . . . . . . . '
|
||||
+'. . . . . . . . . . . . . . . + @ ",'#10'". . . . . . . . . . . . . . . . .'
|
||||
+' . . . . . . # $ ",'#10'". . . . . . . . . . . . . . . . . . . . . . % & * '
|
||||
+'",'#10'". . . = - ; > , ; '' ) ! ~ = , ; ; { ] ^ / ( * _ : ",'#10'". . . < '
|
||||
+'{ [ ! - , ! - } - = { , ! ~ = ] | 1 2 3 * ",'#10'". . . 4 5 6 7 8 9 0 a 0 b'
|
||||
+' c d 0 7 e f 4 g ; 2 3 h ",'#10'". . . < ; i j k l m n o p p q r k s t g } '
|
||||
+'! 2 u v ",'#10'". . . 4 > w x y z A B C D z z B E ( . . ~ 1 * F G ",'#10'".'
|
||||
+' . . 4 , { H I J d K K L L M N @ . . O @ } G u P ",'#10'". . . + > ] Q R S '
|
||||
+'T T 0 T 0 0 U ( . . ~ t > V _ : ",'#10'". . . 4 , = ! E W E X 8 T Y # f . .'
|
||||
+' ] { 4 ! * u Z ",'#10'". . . @ > = { ` D .X ..7 +.U ( . . '' , + ; V u : "'
|
||||
+','#10'". . . f ) , ; { 2 @.s #...U @ . . - $.4 %.} V _ * ",'#10'". . . [ 5 '
|
||||
+'~ ~ } &.B *.#.=.-.. . . %.t %.~ = ;._ >.",'#10'". . . 5 4 } ; } ~ * A ,.U @'
|
||||
+' . . ) 4 $.@ + ~ ''.3 ).",'#10'". . . 5 - { ; ! ! !.~.h {.. . ].'' , @ %.%.'
|
||||
+'; ^.u * ",'#10'". . . %.4 + , 1 /.4 (._.= . . 5 > w w t - ; V F :.",'#10'".'
|
||||
+' . . 4 + '' - } > ( <.-.. . . ~ '' %.; @ < %.*.F h ",'#10'". . . + ) '' - ,'
|
||||
+' ] O ) - . . ] ) + '' %.< $.4 ^._ h ",'#10'". . . @ < @ ~ } 1 { ; { [.g - >'
|
||||
+' - f [ ) + @ }.3 * ",'#10'". . . ) $.) , { ( { } 1 ] + '' ! 4 5 ~ ! ~ @ }.3'
|
||||
+' h ",'#10'". . . ) t ) - ; 1 = { { } > + + > ~ { ; , ! ''.|.^.",'#10'". | 1'
|
||||
+'.''.^.^.^.h ^.2 ).P V ''.^.;.*.;.V ;.*.2 2.u h ",'#10'"= =.3.4._ _ 3 4.u _ '
|
||||
+'_ u 5.F _ 4._ 3 u u _ 3 F 6.V ",'#10'"t # G 2 V ;.v *.;.P V V ;.h P * P P :'
|
||||
+' Z 7.: 2 ).X "};'#10
|
||||
]);
|
||||
LazarusResources.Add('arrow_left','XPM',[
|
||||
'/* XPM */'#10'static char * links_xpm[] = {'#10'"25 25 114 2",'#10'" '#9'c '
|
||||
+'None",'#10'". '#9'c #FFFFFF",'#10'"+ '#9'c #E5E5E5",'#10'"@ '#9'c #E3E3E3",'
|
||||
+#10'"# '#9'c #BBBBBB",'#10'"$ '#9'c #B2B2B2",'#10'"% '#9'c #D3D3D3",'#10'"& '
|
||||
+#9'c #5F5F5F",'#10'"* '#9'c #888888",'#10'"= '#9'c #F1F1F1",'#10'"- '#9'c #E'
|
||||
+'8E8E8",'#10'"; '#9'c #ECECEC",'#10'"> '#9'c #E9E9E9",'#10'", '#9'c #EBEBEB"'
|
||||
+','#10'"'' '#9'c #E4E4E4",'#10'") '#9'c #E2E2E2",'#10'"! '#9'c #EDEDED",'#10
|
||||
+'"~ '#9'c #EAEAEA",'#10'"{ '#9'c #F0F0F0",'#10'"] '#9'c #EFEFEF",'#10'"^ '#9
|
||||
+'c #F9F9F9",'#10'"/ '#9'c #F4F4F4",'#10'"( '#9'c #F8F8F8",'#10'"_ '#9'c #303'
|
||||
+'030",'#10'": '#9'c #8D8D8D",'#10'"< '#9'c #DFDFDF",'#10'"[ '#9'c #DDDDDD",'
|
||||
+#10'"} '#9'c #EEEEEE",'#10'"| '#9'c #FAFAFA",'#10'"1 '#9'c #F3F3F3",'#10'"2 '
|
||||
+#9'c #898989",'#10'"3 '#9'c #2F2F2F",'#10'"4 '#9'c #E6E6E6",'#10'"5 '#9'c #E'
|
||||
+'1E1E1",'#10'"6 '#9'c #E0E0E0",'#10'"7 '#9'c #B3B3B3",'#10'"8 '#9'c #D6D6D6"'
|
||||
+','#10'"9 '#9'c #F5F5F5",'#10'"0 '#9'c #848484",'#10'"a '#9'c #DBDBDB",'#10
|
||||
+'"b '#9'c #CACACA",'#10'"c '#9'c #949494",'#10'"d '#9'c #525252",'#10'"e '#9
|
||||
+'c #585858",'#10'"f '#9'c #B7B7B7",'#10'"g '#9'c #313131",'#10'"h '#9'c #818'
|
||||
+'181",'#10'"i '#9'c #E7E7E7",'#10'"j '#9'c #CBCBCB",'#10'"k '#9'c #868686",'
|
||||
+#10'"l '#9'c #414141",'#10'"m '#9'c #1C1C1C",'#10'"n '#9'c #141414",'#10'"o '
|
||||
+#9'c #6C6C6C",'#10'"p '#9'c #323232",'#10'"q '#9'c #8A8A8A",'#10'"r '#9'c #B'
|
||||
+'1B1B1",'#10'"s '#9'c #757575",'#10'"t '#9'c #3C3C3C",'#10'"u '#9'c #161616"'
|
||||
+','#10'"v '#9'c #2A2A2A",'#10'"w '#9'c #575757",'#10'"x '#9'c #8B8B8B",'#10
|
||||
+'"y '#9'c #C4C4C4",'#10'"z '#9'c #717171",'#10'"A '#9'c #2E2E2E",'#10'"B '#9
|
||||
+'c #151515",'#10'"C '#9'c #191919",'#10'"D '#9'c #2D2D2D",'#10'"E '#9'c #8E8'
|
||||
+'E8E",'#10'"F '#9'c #AAAAAA",'#10'"G '#9'c #A7A7A7",'#10'"H '#9'c #626262",'
|
||||
+#10'"I '#9'c #3A3A3A",'#10'"J '#9'c #656565",'#10'"K '#9'c #8F8F8F",'#10'"L '
|
||||
+#9'c #A6A6A6",'#10'"M '#9'c #ADADAD",'#10'"N '#9'c #B0B0B0",'#10'"O '#9'c #9'
|
||||
+'09090",'#10'"P '#9'c #393939",'#10'"Q '#9'c #282828",'#10'"R '#9'c #6D6D6D"'
|
||||
+','#10'"S '#9'c #9D9D9D",'#10'"T '#9'c #ABABAB",'#10'"U '#9'c #DCDCDC",'#10
|
||||
+'"V '#9'c #C5C5C5",'#10'"W '#9'c #A8A8A8",'#10'"X '#9'c #B5B5B5",'#10'"Y '#9
|
||||
+'c #AEAEAE",'#10'"Z '#9'c #ACACAC",'#10'"` '#9'c #A9A9A9",'#10'" .'#9'c #D2D'
|
||||
+'2D2",'#10'"..'#9'c #AFAFAF",'#10'"+.'#9'c #858585",'#10'"@.'#9'c #8C8C8C",'
|
||||
+#10'"#.'#9'c #C0C0C0",'#10'"$.'#9'c #828282",'#10'"%.'#9'c #DADADA",'#10'"&.'
|
||||
+#9'c #C1C1C1",'#10'"*.'#9'c #838383",'#10'"=.'#9'c #F7F7F7",'#10'"-.'#9'c #D'
|
||||
+'1D1D1",'#10'";.'#9'c #FDFDFD",'#10'">.'#9'c #878787",'#10'",.'#9'c #F6F6F6"'
|
||||
+','#10'"''.'#9'c #F2F2F2",'#10'").'#9'c #DEDEDE",'#10'"!.'#9'c #7F7F7F",'#10
|
||||
+'"~.'#9'c #6B6B6B",'#10'"{.'#9'c #B6B6B6",'#10'"].'#9'c #333333",'#10'"^.'#9
|
||||
+'c #383838",'#10'"/.'#9'c #919191",'#10'". . . . . . . . . . . . . . . . . .'
|
||||
+' . . . . . + @ ",'#10'". . . . . . . . . . . . . . . . . . . . . . . # $ ",'
|
||||
+#10'". . . . . . . . . . . . . . . . . . . . . . % & * ",'#10'". . . = - ; >'
|
||||
+' , ; '' ) ! ~ = , ; ; { ] ^ / ( * _ : ",'#10'". . . < { [ ! - , ! - } - = {'
|
||||
+' , ! ~ = ] | 1 2 3 * ",'#10'". . . 4 5 ] 6 = ; ! 4 ! < 6 - ! ) 7 8 @ 9 ; 2 '
|
||||
+'3 0 ",'#10'". . . < ; > 4 = ; , < > [ a b c d e f = } ! 2 g h ",'#10'". . .'
|
||||
+' 4 > @ > , ! ! [ i j k l m n o '' . ~ 1 * p q ",'#10'". . . 4 , = ! ] { < r'
|
||||
+' s t u n v w } . . @ } q g x ",'#10'". . . + > ] ~ 4 y z A B C D w E F . . '
|
||||
+'. 6 > k _ : ",'#10'". . . 4 , '' G H A B C I J K L M N . . . 4 ! * g O ",'
|
||||
+#10'". . . @ > [ k P Q t R S M F T M F . . . + ; k g : ",'#10'". . . U ) @ V'
|
||||
+' 7 $ W X $ r Y Z M ` . . . i } k _ * ",'#10'". . . [ 5 > i i , ! .f $ ..Y '
|
||||
+'Y M . . . ~ = +._ @.",'#10'". . . 5 4 } ; ! , > ! i #.L Z ..F . . . + ~ $.3'
|
||||
+' E ",'#10'". . . 5 - { ; ! } ~ '' < %.% &.Z T . . . i ; *.g * ",'#10'". . .'
|
||||
+' i 4 + , 1 =.} ~ , @ [ < -.7 . . . - ; k p K ",'#10'". . . 4 + '' - } > ^ ;'
|
||||
+'.] 5 @ 4 '' U . . . < i >.p 0 ",'#10'". . . + ) '' - , ] ,.= + 4 ''.} 6 U .'
|
||||
+' . . ).4 *._ 0 ",'#10'". . . @ < @ ~ } 1 { ! , ~ > - > i U ( . + @ !.3 * ",'
|
||||
+#10'". . . ) ).) , { ( { } 1 ] + '' ! 4 5 ~ ! ~ @ !.3 0 ",'#10'". . . ) 6 ) '
|
||||
+'- ; 1 = { { } > + + > ~ { ; , ! $.D *.",'#10'". | b $.*.*.*.0 *.2 E x k $.*'
|
||||
+'.+.>.+.k +.>.2 ~.g 0 ",'#10'"= {.e A _ _ 3 A g _ _ g ].p _ A _ 3 g g _ 3 p '
|
||||
+'^.k ",'#10'"6 # q 2 k +.h >.+.x k k +.0 x * x x : O /.: 2 E N "};'#10
|
||||
]);
|
||||
LazarusResources.Add('arrow_right','XPM',[
|
||||
'/* XPM */'#10'static char * rechts_xpm[] = {'#10'"25 25 109 2",'#10'" '#9'c'
|
||||
+' None",'#10'". '#9'c #FFFFFF",'#10'"+ '#9'c #E5E5E5",'#10'"@ '#9'c #E3E3E3"'
|
||||
+','#10'"# '#9'c #BBBBBB",'#10'"$ '#9'c #B2B2B2",'#10'"% '#9'c #D3D3D3",'#10
|
||||
+'"& '#9'c #5F5F5F",'#10'"* '#9'c #888888",'#10'"= '#9'c #F1F1F1",'#10'"- '#9
|
||||
+'c #E8E8E8",'#10'"; '#9'c #ECECEC",'#10'"> '#9'c #E9E9E9",'#10'", '#9'c #EBE'
|
||||
+'BEB",'#10'"'' '#9'c #E4E4E4",'#10'") '#9'c #E2E2E2",'#10'"! '#9'c #EDEDED",'
|
||||
+#10'"~ '#9'c #EAEAEA",'#10'"{ '#9'c #F0F0F0",'#10'"] '#9'c #EFEFEF",'#10'"^ '
|
||||
+#9'c #F9F9F9",'#10'"/ '#9'c #F4F4F4",'#10'"( '#9'c #F8F8F8",'#10'"_ '#9'c #3'
|
||||
+'03030",'#10'": '#9'c #8D8D8D",'#10'"< '#9'c #DFDFDF",'#10'"[ '#9'c #DDDDDD"'
|
||||
+','#10'"} '#9'c #EEEEEE",'#10'"| '#9'c #FAFAFA",'#10'"1 '#9'c #F3F3F3",'#10
|
||||
+'"2 '#9'c #898989",'#10'"3 '#9'c #2F2F2F",'#10'"4 '#9'c #E6E6E6",'#10'"5 '#9
|
||||
+'c #E1E1E1",'#10'"6 '#9'c #BFBFBF",'#10'"7 '#9'c #BDBDBD",'#10'"8 '#9'c #E0E'
|
||||
+'0E0",'#10'"9 '#9'c #E7E7E7",'#10'"0 '#9'c #F5F5F5",'#10'"a '#9'c #848484",'
|
||||
+#10'"b '#9'c #939393",'#10'"c '#9'c #575757",'#10'"d '#9'c #747474",'#10'"e '
|
||||
+#9'c #999999",'#10'"f '#9'c #D1D1D1",'#10'"g '#9'c #DEDEDE",'#10'"h '#9'c #D'
|
||||
+'BDBDB",'#10'"i '#9'c #313131",'#10'"j '#9'c #818181",'#10'"k '#9'c #363636"'
|
||||
+','#10'"l '#9'c #5B5B5B",'#10'"m '#9'c #585858",'#10'"n '#9'c #686868",'#10
|
||||
+'"o '#9'c #8E8E8E",'#10'"p '#9'c #CCCCCC",'#10'"q '#9'c #DCDCDC",'#10'"r '#9
|
||||
+'c #F2F2F2",'#10'"s '#9'c #323232",'#10'"t '#9'c #8A8A8A",'#10'"u '#9'c #989'
|
||||
+'898",'#10'"v '#9'c #757575",'#10'"w '#9'c #5E5E5E",'#10'"x '#9'c #808080",'
|
||||
+#10'"y '#9'c #B8B8B8",'#10'"z '#9'c #8B8B8B",'#10'"A '#9'c #B6B6B6",'#10'"B '
|
||||
+#9'c #ACACAC",'#10'"C '#9'c #5C5C5C",'#10'"D '#9'c #828282",'#10'"E '#9'c #8'
|
||||
+'68686",'#10'"F '#9'c #B9B9B9",'#10'"G '#9'c #B5B5B5",'#10'"H '#9'c #B0B0B0"'
|
||||
+','#10'"I '#9'c #ABABAB",'#10'"J '#9'c #949494",'#10'"K '#9'c #7F7F7F",'#10
|
||||
+'"L '#9'c #646464",'#10'"M '#9'c #707070",'#10'"N '#9'c #AAAAAA",'#10'"O '#9
|
||||
+'c #909090",'#10'"P '#9'c #B4B4B4",'#10'"Q '#9'c #B1B1B1",'#10'"R '#9'c #ADA'
|
||||
+'DAD",'#10'"S '#9'c #A9A9A9",'#10'"T '#9'c #8C8C8C",'#10'"U '#9'c #B3B3B3",'
|
||||
+#10'"V '#9'c #C0C0C0",'#10'"W '#9'c #CECECE",'#10'"X '#9'c #F7F7F7",'#10'"Y '
|
||||
+#9'c #C7C7C7",'#10'"Z '#9'c #858585",'#10'"` '#9'c #FCFCFC",'#10'" .'#9'c #F'
|
||||
+'DFDFD",'#10'"..'#9'c #838383",'#10'"+.'#9'c #393939",'#10'"@.'#9'c #D0D0D0"'
|
||||
+','#10'"#.'#9'c #DADADA",'#10'"$.'#9'c #8F8F8F",'#10'"%.'#9'c #878787",'#10
|
||||
+'"&.'#9'c #C3C3C3",'#10'"*.'#9'c #F6F6F6",'#10'"=.'#9'c #FBFBFB",'#10'"-.'#9
|
||||
+'c #2D2D2D",'#10'";.'#9'c #CACACA",'#10'">.'#9'c #6B6B6B",'#10'",.'#9'c #2E2'
|
||||
+'E2E",'#10'"''.'#9'c #333333",'#10'").'#9'c #383838",'#10'"!.'#9'c #919191",'
|
||||
+#10'". . . . . . . . . . . . . . . . . . . . . . . + @ ",'#10'". . . . . . .'
|
||||
+' . . . . . . . . . . . . . . . . # $ ",'#10'". . . . . . . . . . . . . . . '
|
||||
+'. . . . . . . % & * ",'#10'". . . = - ; > , ; '' ) ! ~ = , ; ; { ] ^ / ( * '
|
||||
+'_ : ",'#10'". . . < { [ ! - , ! - } - = { , ! ~ = ] | 1 2 3 * ",'#10'". . .'
|
||||
+' 4 5 6 7 + , ! 4 ! < 8 - ! ] - ] 9 0 ; 2 3 a ",'#10'". . . < ; b c d e f g '
|
||||
+'> [ h @ 4 - 9 ~ ~ } ! 2 i j ",'#10'". . . 4 > a k l m n o p @ > ~ [ q + 4 r'
|
||||
+' ~ 1 * s t ",'#10'". . . 4 , t s 2 u v w l x y h [ ~ + @ ~ @ } t i z ",'#10
|
||||
+'". . . + > 2 _ * A B b d c C D y 8 + '' ~ 8 > E _ : ",'#10'". . . 4 , t i z'
|
||||
+' F G H I J K L m M N q ] 4 ! * i O ",'#10'". . . @ > t i : y A P Q R S u a '
|
||||
+'T 6 9 { + ; E i : ",'#10'". . . q ) E _ z y A G U Q $ V W = . . X 9 } E _ *'
|
||||
+' ",'#10'". . . [ 5 E _ 2 y G P y V Y @ . . . . 1 ~ = Z _ T ",'#10'". . . 5 '
|
||||
+'4 * _ 2 A U V V @ . . . . ` g @ + ~ D 3 o ",'#10'". . . 5 - 2 _ 2 V V q ( .'
|
||||
+' . . .'' , @ 9 9 ; ..i * ",'#10'". . . 9 4 ..+.@.W ( . . . . g 5 > #.#.8 -'
|
||||
+' ; E s $.",'#10'". . . 4 + O o . . . . . 9 '' > ~ '' 9 ; @ < 9 %.s a ",'#10
|
||||
+'". . . + ) &.h . . . *.+ 4 r ] ) + '' 9 < g 4 .._ a ",'#10'". . . @ < < =..'
|
||||
+' . { ! , ~ > - > - q [ ) + @ K 3 * ",'#10'". . . ) g ) , { ( { } 1 ] + '' !'
|
||||
+' 4 5 ~ ! ~ @ K 3 a ",'#10'". . . ) 8 ) - ; 1 = { { } > + + > ~ { ; , ! D -.'
|
||||
+'..",'#10'". | ;.D ......a ..2 o z E D ..Z %.Z E Z %.2 >.i a ",'#10'"= A m ,'
|
||||
+'._ _ 3 ,.i _ _ i ''.s _ ,._ 3 i i _ 3 s ).E ",'#10'"8 # t 2 E Z j %.Z z E E'
|
||||
+' Z a z * z z : O !.: 2 o H "};'#10
|
||||
]);
|
||||
LazarusResources.Add('arrow_up','XPM',[
|
||||
'/* XPM */'#10'static char * oben_xpm[] = {'#10'"25 25 121 2",'#10'" '#9'c N'
|
||||
+'one",'#10'". '#9'c #FFFFFF",'#10'"+ '#9'c #E5E5E5",'#10'"@ '#9'c #E3E3E3",'
|
||||
+#10'"# '#9'c #BBBBBB",'#10'"$ '#9'c #B2B2B2",'#10'"% '#9'c #D3D3D3",'#10'"& '
|
||||
+#9'c #5F5F5F",'#10'"* '#9'c #888888",'#10'"= '#9'c #F1F1F1",'#10'"- '#9'c #E'
|
||||
+'8E8E8",'#10'"; '#9'c #ECECEC",'#10'"> '#9'c #E9E9E9",'#10'", '#9'c #EBEBEB"'
|
||||
+','#10'"'' '#9'c #E4E4E4",'#10'") '#9'c #E2E2E2",'#10'"! '#9'c #EDEDED",'#10
|
||||
+'"~ '#9'c #EAEAEA",'#10'"{ '#9'c #F0F0F0",'#10'"] '#9'c #EFEFEF",'#10'"^ '#9
|
||||
+'c #F9F9F9",'#10'"/ '#9'c #F4F4F4",'#10'"( '#9'c #F8F8F8",'#10'"_ '#9'c #303'
|
||||
+'030",'#10'": '#9'c #8D8D8D",'#10'"< '#9'c #DFDFDF",'#10'"[ '#9'c #DDDDDD",'
|
||||
+#10'"} '#9'c #EEEEEE",'#10'"| '#9'c #FAFAFA",'#10'"1 '#9'c #F3F3F3",'#10'"2 '
|
||||
+#9'c #898989",'#10'"3 '#9'c #2F2F2F",'#10'"4 '#9'c #E6E6E6",'#10'"5 '#9'c #E'
|
||||
+'1E1E1",'#10'"6 '#9'c #E0E0E0",'#10'"7 '#9'c #D9D9D9",'#10'"8 '#9'c #D8D8D8"'
|
||||
+','#10'"9 '#9'c #E7E7E7",'#10'"0 '#9'c #F5F5F5",'#10'"a '#9'c #848484",'#10
|
||||
+'"b '#9'c #9C9C9C",'#10'"c '#9'c #838383",'#10'"d '#9'c #B8B8B8",'#10'"e '#9
|
||||
+'c #313131",'#10'"f '#9'c #818181",'#10'"g '#9'c #5B5B5B",'#10'"h '#9'c #363'
|
||||
+'636",'#10'"i '#9'c #AAAAAA",'#10'"j '#9'c #DCDCDC",'#10'"k '#9'c #F2F2F2",'
|
||||
+#10'"l '#9'c #323232",'#10'"m '#9'c #8A8A8A",'#10'"n '#9'c #292929",'#10'"o '
|
||||
+#9'c #242424",'#10'"p '#9'c #A6A6A6",'#10'"q '#9'c #DEDEDE",'#10'"r '#9'c #8'
|
||||
+'B8B8B",'#10'"s '#9'c #717171",'#10'"t '#9'c #141414",'#10'"u '#9'c #393939"'
|
||||
+','#10'"v '#9'c #9E9E9E",'#10'"w '#9'c #868686",'#10'"x '#9'c #C6C6C6",'#10
|
||||
+'"y '#9'c #191919",'#10'"z '#9'c #696969",'#10'"A '#9'c #ACACAC",'#10'"B '#9
|
||||
+'c #C7C7C7",'#10'"C '#9'c #909090",'#10'"D '#9'c #161616",'#10'"E '#9'c #3C3'
|
||||
+'C3C",'#10'"F '#9'c #9D9D9D",'#10'"G '#9'c #ADADAD",'#10'"H '#9'c #D6D6D6",'
|
||||
+#10'"I '#9'c #414141",'#10'"J '#9'c #1A1A1A",'#10'"K '#9'c #6A6A6A",'#10'"L '
|
||||
+#9'c #B3B3B3",'#10'"M '#9'c #B1B1B1",'#10'"N '#9'c #AEAEAE",'#10'"O '#9'c #B'
|
||||
+'EBEBE",'#10'"P '#9'c #181818",'#10'"Q '#9'c #989898",'#10'"R '#9'c #B4B4B4"'
|
||||
+','#10'"S '#9'c #AFAFAF",'#10'"T '#9'c #A8A8A8",'#10'"U '#9'c #858585",'#10
|
||||
+'"V '#9'c #8C8C8C",'#10'"W '#9'c #D2D2D2",'#10'"X '#9'c #424242",'#10'"Y '#9
|
||||
+'c #151515",'#10'"Z '#9'c #B0B0B0",'#10'"` '#9'c #828282",'#10'" .'#9'c #8E8'
|
||||
+'E8E",'#10'"..'#9'c #1E1E1E",'#10'"+.'#9'c #2E2E2E",'#10'"@.'#9'c #939393",'
|
||||
+#10'"#.'#9'c #A9A9A9",'#10'"$.'#9'c #A7A7A7",'#10'"%.'#9'c #D4D4D4",'#10'"&.'
|
||||
+#9'c #535353",'#10'"*.'#9'c #171717",'#10'"=.'#9'c #5C5C5C",'#10'"-.'#9'c #8'
|
||||
+'F8F8F",'#10'";.'#9'c #484848",'#10'">.'#9'c #575757",'#10'",.'#9'c #CECECE"'
|
||||
+','#10'"''.'#9'c #878787",'#10'").'#9'c #D5D5D5",'#10'"!.'#9'c #7F7F7F",'#10
|
||||
+'"~.'#9'c #FCFCFC",'#10'"{.'#9'c #FBFBFB",'#10'"].'#9'c #FDFDFD",'#10'"^.'#9
|
||||
+'c #FEFEFE",'#10'"/.'#9'c #2D2D2D",'#10'"(.'#9'c #CACACA",'#10'"_.'#9'c #6B6'
|
||||
+'B6B",'#10'":.'#9'c #B6B6B6",'#10'"<.'#9'c #585858",'#10'"[.'#9'c #333333",'
|
||||
+#10'"}.'#9'c #383838",'#10'"|.'#9'c #919191",'#10'". . . . . . . . . . . . .'
|
||||
+' . . . . . . . . . . + @ ",'#10'". . . . . . . . . . . . . . . . . . . . . '
|
||||
+'. . # $ ",'#10'". . . . . . . . . . . . . . . . . . . . . . % & * ",'#10'".'
|
||||
+' . . = - ; > , ; '' ) ! ~ = , ; ; { ] ^ / ( * _ : ",'#10'". . . < { [ ! - ,'
|
||||
+' ! - } - = { , ! ~ = ] | 1 2 3 * ",'#10'". . . 4 5 ] 6 = ; ! 7 7 8 < - ! ] '
|
||||
+'- ] 9 0 ; 2 3 a ",'#10'". . . < ; > 4 = ; , b c d 7 @ 4 - 9 ~ ~ } ! 2 e f "'
|
||||
+','#10'". . . 4 > @ > , ! 4 g h i @ > [ j + 4 k ~ 1 * l m ",'#10'". . . 4 , '
|
||||
+'= ! ] { d n o p j j q ~ + @ ~ @ } m e r ",'#10'". . . + > ] ~ ; ; s t u v <'
|
||||
+' q ) - 4 '' ~ 6 > w _ : ",'#10'". . . 4 , = } { x e y z A B '' ) ~ , ~ { 4 '
|
||||
+'! * e C ",'#10'". . . @ > = { / f D E F A G 5 6 6 + '' , + ; w e : ",'#10'"'
|
||||
+'. . . j ) , ; H I J K L M N O 6 8 ) q 4 9 } w _ * ",'#10'". . . [ 5 ~ ~ 2 P'
|
||||
+' 3 Q R $ S T j 5 4 6 9 ~ = U _ V ",'#10'". . . 5 4 } W X Y g G Z S A A B @ '
|
||||
+''' [ @ + ~ ` 3 .",'#10'". . . 5 - { Q ..+.@.S A #.$.#.A %.+ 5 9 9 ; c e * '
|
||||
+'",'#10'". . . 9 4 8 &.*.=.N Z L $ i $.#.L % W < - ; w l -.",'#10'". . . 4 +'
|
||||
+' Z ;.>.,.~ ~ ~ ~ ~ ~ ~ ~ . . @ < 9 ''.l a ",'#10'". . . + ) d @.).. . . . .'
|
||||
+' . . . . . . ( q 4 c _ a ",'#10'". . . @ < %.6 . . . . . . . . . . . . . + '
|
||||
+'@ !.3 * ",'#10'". . . ) q 5 k . . . . . . ~.{.. ].( . ^.~ @ !.3 a ",'#10'".'
|
||||
+' . . ) 6 ) - ; 1 = { { } > + + > ~ { ; , ! ` /.c ",'#10'". | (.` c c c a c '
|
||||
+'2 .r w ` c U ''.U w U ''.2 _.e a ",'#10'"= :.<.+._ _ 3 +.e _ _ e [.l _ +._'
|
||||
+' 3 e e _ 3 l }.w ",'#10'"6 # m 2 w U f ''.U r w w U a r * r r : C |.: 2 .Z'
|
||||
+' "};'#10
|
||||
]);
|
||||
LazarusResources.Add('menu_breakpoints','XPM',[
|
||||
'/* XPM */'#10'static char * breakpoints_xpm[] = {'#10'"16 16 232 2",'#10'" '
|
||||
+#9'c None",'#10'". '#9'c #FFFFFF",'#10'"+ '#9'c #FFFFCC",'#10'"@ '#9'c #FFFF'
|
||||
|