IDE: new unit dependencies

git-svn-id: trunk@41782 -
This commit is contained in:
mattias 2013-06-21 13:41:07 +00:00
parent f4fb26c786
commit 24737576de
8 changed files with 2105 additions and 946 deletions

View File

@ -19,7 +19,7 @@
<Description Value="IDE extensions using Codetools."/>
<License Value="GPL2"/>
<Version Major="1" Minor="1"/>
<Files Count="17">
<Files Count="16">
<Item1>
<Filename Value="ppulistdlg.pas"/>
<UnitName Value="PPUListDlg"/>
@ -85,10 +85,6 @@
<Filename Value="newidewnddlg.pas"/>
<UnitName Value="newidewnddlg"/>
</Item16>
<Item17>
<Filename Value="codyunitdepwnd.pas"/>
<UnitName Value="codyunitdepwnd"/>
</Item17>
</Files>
<LazDoc Paths="doc"/>
<i18n>

View File

@ -10,8 +10,7 @@ uses
PPUListDlg, CodyStrConsts, AddAssignMethodDlg, CodyCtrls, CodyFrm,
CodyRegistration, DeclareVarDlg, CodyUtils, CodyNodeInfoDlg,
CodyCopyDeclaration, AddWithBlockDlg, CodyIdentifiersDlg, CodyMiscOptsFrame,
CodyOpts, TemplateIDEDockableWindow, NewIDEWndDlg, CodyUnitDepWnd,
LazarusPackageIntf;
CodyOpts, TemplateIDEDockableWindow, NewIDEWndDlg, LazarusPackageIntf;
implementation

View File

@ -35,7 +35,7 @@ uses
IDECommands, NewIDEWndDlg,
CodeToolManager,
CodyStrConsts, CodyUtils, CodyCtrls, CodyOpts,
PPUListDlg, CodyUnitDepWnd, AddAssignMethodDlg, AddWithBlockDlg,
PPUListDlg, AddAssignMethodDlg, AddWithBlockDlg,
CodyNodeInfoDlg, CodyFrm, DeclareVarDlg, CodyCopyDeclaration,
CodyIdentifiersDlg, CodyMiscOptsFrame;
@ -89,7 +89,6 @@ var
CmdCatView: TIDECommandCategory;
ViewCodyWindowCommand: TIDECommand;
{$IFDEF EnableCodyExperiments}
ViewCodyUnitDependenciesWindowCommand: TIDECommand;
{$ENDIF}
begin
CodyOptions:=TCodyMiscOptions.Create;
@ -182,14 +181,6 @@ begin
.Visible:=false
{$ENDIF};
// Unit dependencies
{$IFDEF EnableCodyExperiments}
ViewCodyUnitDependenciesWindowCommand:=RegisterIDECommand(CmdCatView, 'UnitDependencies',
'Cody Unit Dependencies', CleanIDEShortCut, CleanIDEShortCut, nil, @ShowUnitDependenciesClicked);
RegisterIDEMenuCommand(itmViewMainWindows, 'UnitDependencies',
'Cody Unit Dependencies', nil, nil, ViewCodyUnitDependenciesWindowCommand);
{$ENDIF}
// Components - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
TVIconRes:=LazarusResources.Find('TTreeView');
LazarusResources.Add(TCodyTreeView.ClassName,TVIconRes.ValueType,TVIconRes.Value);

View File

@ -221,10 +221,6 @@ type
FFindInFilesMaskHistory: TStringList;
FMaxFindHistory: Integer;
// Unit dependencies
FUnitDependenciesHistory: TStringList; // root files
FMaxUnitDependenciesHistory: integer;
// FPC config cache
FFPCConfigCache: TFPCConfigCache;
@ -250,9 +246,8 @@ type
function AddToReplaceHistory(const AReplaceStr: String): boolean;
function AddToFindInFilesPathHistory(const APathStr: String): boolean;
function AddToFindInFilesMaskHistory(const AMaskStr: String): boolean;
// Unit dependencies
function AddToUnitDependenciesHistory(const ARootFilename: String): boolean;
// fpc units
function LastFPCUnitLinksValid: boolean;
function LastFPCUnitLinksNeedsUpdate(const Options, SearchPath,
FPCSrcDir: string): boolean;
@ -284,11 +279,6 @@ type
property FindAutoComplete: boolean read FFindAutoComplete
write FFindAutoComplete;
// Unit dependencies
property UnitDependenciesHistory: TStringList read FUnitDependenciesHistory;
property MaxUnitDependenciesHistory: integer
read FMaxUnitDependenciesHistory write FMaxUnitDependenciesHistory;
// FPC config cache
property FPCConfigCache: TFPCConfigCache read FFPCConfigCache;
@ -428,10 +418,6 @@ begin
FFindInFilesSearchOptions:=LazFindInFileSearchOptionsDefault;
FFindOptions:=LazFindSearchOptionsDefault;
// unit dependencies
FUnitDependenciesHistory:=TStringList.Create;
FMaxUnitDependenciesHistory:=20;
// file dialog
FFileDialogSettings.HistoryList:=TStringList.Create;
FFileDialogSettings.MaxHistory:=20;
@ -455,7 +441,6 @@ begin
FreeAndNil(FIgnores);
FreeAndNil(FHistoryLists);
FreeAndNil(FFileDialogSettings.HistoryList);
FreeAndNil(FUnitDependenciesHistory);
FreeAndNil(FFindHistory);
FreeAndNil(FReplaceHistory);
FreeAndNil(FFindInFilesPathHistory);
@ -527,8 +512,6 @@ begin
Include(FFindOptions,FindOption);
end;
// unit dependencies
LoadRecentList(XMLConfig,FUnitDependenciesHistory,Path+'UnitDependencies/History/',rltFile);
// fpc config cache
FFPCConfigCache.LoadFromXMLConfig(XMLConfig,'FPCConfigCache/');
// file dialog
@ -605,8 +588,6 @@ begin
FindOption in LazFindSearchOptionsDefault);
end;
// unit dependencies
SaveRecentList(XMLConfig,FUnitDependenciesHistory,Path+'UnitDependencies/History/');
// fpc config cache
FFPCConfigCache.SaveToXMLConfig(XMLConfig,'FPCConfigCache/');
// file dialog
@ -719,12 +700,6 @@ begin
Result:= AddToRecentList(AMaskStr,FFindInFilesMaskHistory,FMaxFindHistory,rltFile);
end;
function TInputHistories.AddToUnitDependenciesHistory(const ARootFilename: String): boolean;
begin
Result:=AddToRecentList(ARootFilename,FUnitDependenciesHistory,
FMaxUnitDependenciesHistory,rltFile);
end;
function TInputHistories.LastFPCUnitLinksValid: boolean;
begin
Result:=FFPCConfigCache.Valid(false);

View File

@ -574,11 +574,6 @@ type
procedure CheckDirIsInIncludeSearchPath(UnitInfo: TUnitInfo;
AllowAddingDependencies: boolean; out DependencyAdded: boolean);
// unit dependencies events
procedure UnitDependenciesViewAccessingSources(Sender: TObject);
function UnitDependenciesViewGetProjectMainFilename(Sender: TObject): string;
procedure UnitDependenciesViewOpenFile(Sender: TObject; const Filename: string);
// code explorer events
procedure OnCodeExplorerGetDirectivesTree(Sender: TObject;
var ADirectivesTool: TDirectivesTool);
@ -5908,27 +5903,7 @@ end;
procedure TMainIDE.DoViewUnitDependencies(Show: boolean);
begin
if UnitDependenciesView=nil then begin
UnitDependenciesView:=TUnitDependenciesView.Create(OwningComponent);
UnitDependenciesView.OnAccessingSources:=
@UnitDependenciesViewAccessingSources;
UnitDependenciesView.OnGetProjectMainFilename:=
@UnitDependenciesViewGetProjectMainFilename;
UnitDependenciesView.OnOpenFile:=@UnitDependenciesViewOpenFile;
end;
if (Project1 <> nil) and (not UnitDependenciesView.RootValid) then begin
if Project1.MainUnitID>=0 then begin
UnitDependenciesView.BeginUpdate;
UnitDependenciesView.RootFilename:=Project1.MainUnitInfo.Filename;
UnitDependenciesView.RootShortFilename:=
ExtractFilename(Project1.MainUnitInfo.Filename);
UnitDependenciesView.EndUpdate;
end;
end;
if Show then
IDEWindowCreators.ShowForm(UnitDependenciesView,true);
ShowUnitDependencies(true,Show);
end;
procedure TMainIDE.DoViewJumpHistory(Show: boolean);
@ -6101,7 +6076,7 @@ begin
else if ItIs(NonModalIDEWindowNames[nmiwUnitDependenciesName]) then
begin
DoViewUnitDependencies(false);
AForm:=UnitDependenciesView;
AForm:=UnitDependenciesWindow;
end
else if ItIs(NonModalIDEWindowNames[nmiwCodeExplorerName]) then
begin
@ -9660,24 +9635,6 @@ end;
// -----------------------------------------------------------------------------
procedure TMainIDE.UnitDependenciesViewAccessingSources(Sender: TObject);
begin
SaveSourceEditorChangesToCodeCache(nil);
end;
function TMainIDE.UnitDependenciesViewGetProjectMainFilename(Sender: TObject): string;
begin
if (Project1<>nil) and (Project1.MainUnitID>=0) then
Result:=Project1.MainUnitInfo.Filename
else
Result:='';
end;
procedure TMainIDE.UnitDependenciesViewOpenFile(Sender: TObject; const Filename: string);
begin
DoOpenEditorFile(Filename,-1,-1,[]);
end;
procedure TMainIDE.OnCodeExplorerGetDirectivesTree(Sender: TObject;
var ADirectivesTool: TDirectivesTool);
var

View File

@ -678,6 +678,7 @@ begin
CreateMenuItem(ParentMI,itmViewCodeExplorer,'itmViewCodeExplorer',lisMenuViewCodeExplorer, 'menu_view_code_explorer');
CreateMenuItem(ParentMI,itmViewFPDocEditor,'itmViewFPDocEditor',lisFPDocEditor);
CreateMenuItem(ParentMI,itmViewCodeBrowser,'itmViewCodeBrowser',lisMenuViewCodeBrowser, 'menu_view_code_browser');
CreateMenuItem(ParentMI,itmSourceUnitDependencies,'itmSourceUnitDependencies',lisMenuViewUnitDependencies);
CreateMenuItem(ParentMI,itmViewRestrictionBrowser,'itmViewRestrictionBrowser',lisMenuViewRestrictionBrowser, 'menu_view_rectriction_browser');
CreateMenuItem(ParentMI,itmViewComponents,'itmViewComponents',lisMenuViewComponents);
CreateMenuItem(ParentMI,itmJumpHistory,'itmJumpHistory',lisMenuViewJumpHistory);
@ -798,7 +799,6 @@ begin
CreateMenuSeparatorSection(mnuSource,itmSourceTools,'itmSourceTools');
ParentMI:=itmSourceTools;
CreateMenuItem(ParentMI,itmSourceUnitInfo,'itmViewUnitInfo',lisMenuViewUnitInfo, 'menu_view_unit_info');
CreateMenuItem(ParentMI,itmSourceUnitDependencies,'itmSourceUnitDependencies',lisMenuViewUnitDependencies);
end;
end;

View File

@ -1,92 +1,412 @@
object UnitDependenciesView: TUnitDependenciesView
Left = 560
Height = 300
Top = 359
Width = 400
ActiveControl = UnitHistoryList
Caption = 'UnitDependenciesView'
ClientHeight = 300
ClientWidth = 400
KeyPreview = True
object UnitDependenciesWindow: TUnitDependenciesWindow
Left = 497
Height = 440
Top = 150
Width = 620
Caption = 'UnitDependenciesWindow'
ClientHeight = 440
ClientWidth = 620
OnCreate = FormCreate
OnDestroy = FormDestroy
Position = poScreenCenter
LCLVersion = '0.9.29'
object ToolBar: TToolBar
LCLVersion = '1.1'
object MainPageControl: TPageControl
Left = 0
Height = 48
Height = 414
Top = 0
Width = 400
ButtonHeight = 46
ButtonWidth = 47
Caption = 'ToolBar'
ParentShowHint = False
ShowCaptions = True
ShowHint = True
Width = 620
ActivePage = UnitsTabSheet
Align = alClient
TabIndex = 0
TabOrder = 0
object ShowProjectButton: TToolButton
Left = 219
Top = 2
Caption = 'ShowProjectButton'
OnClick = ShowProjectButtonClick
object UnitsTabSheet: TTabSheet
Caption = 'UnitsTabSheet'
ClientHeight = 375
ClientWidth = 614
object ScopePanel: TPanel
Left = 0
Height = 47
Top = 0
Width = 614
Align = alTop
AutoSize = True
ClientHeight = 47
ClientWidth = 614
TabOrder = 0
object SearchCustomFilesCheckBox: TCheckBox
AnchorSideLeft.Control = ScopePanel
AnchorSideTop.Control = SearchCustomFilesComboBox
AnchorSideTop.Side = asrCenter
Left = 3
Height = 18
Top = 4
Width = 201
BorderSpacing.Around = 2
Caption = 'SearchCustomFilesCheckBox'
OnChange = SearchCustomFilesCheckBoxChange
ParentShowHint = False
ShowHint = True
TabOrder = 0
end
object SearchCustomFilesBrowseButton: TButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = SearchCustomFilesComboBox
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = ScopePanel
AnchorSideRight.Side = asrBottom
Left = 543
Height = 20
Top = 3
Width = 70
Anchors = [akTop, akRight]
AutoSize = True
Caption = 'Browse'
OnClick = SearchCustomFilesBrowseButtonClick
TabOrder = 1
end
object SearchCustomFilesComboBox: TComboBox
AnchorSideLeft.Control = SearchCustomFilesCheckBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = ScopePanel
AnchorSideRight.Control = SearchCustomFilesBrowseButton
Left = 206
Height = 21
Top = 3
Width = 335
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Around = 2
ItemHeight = 0
OnChange = SearchCustomFilesComboBoxChange
TabOrder = 2
Text = 'SearchCustomFilesComboBox'
end
object SearchPkgsCheckBox: TCheckBox
AnchorSideLeft.Control = ScopePanel
AnchorSideTop.Control = SearchCustomFilesComboBox
AnchorSideTop.Side = asrBottom
Left = 3
Height = 18
Top = 26
Width = 153
BorderSpacing.Around = 2
Caption = 'SearchPkgsCheckBox'
OnChange = SearchPkgsCheckBoxChange
TabOrder = 3
end
object SearchSrcEditCheckBox: TCheckBox
AnchorSideLeft.Control = SearchPkgsCheckBox
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = SearchPkgsCheckBox
AnchorSideTop.Side = asrCenter
Left = 173
Height = 18
Top = 26
Width = 167
BorderSpacing.Left = 15
BorderSpacing.Around = 2
Caption = 'SearchSrcEditCheckBox'
Checked = True
OnChange = SearchSrcEditCheckBoxChange
State = cbChecked
TabOrder = 4
end
end
object AllUnitsGroupBox: TGroupBox
Left = 0
Height = 328
Top = 47
Width = 248
Align = alLeft
Caption = 'AllUnitsGroupBox'
ClientHeight = 306
ClientWidth = 240
TabOrder = 1
object AllUnitsShowGroupNodesSpeedButton: TSpeedButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = AllUnitsFilterEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = AllUnitsShowDirsSpeedButton
Left = 194
Height = 22
Top = 0
Width = 23
AllowAllUp = True
Anchors = [akTop, akRight]
GroupIndex = 12
OnClick = AllUnitsShowGroupNodesSpeedButtonClick
ShowHint = True
ParentShowHint = False
end
object AllUnitsShowDirsSpeedButton: TSpeedButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = AllUnitsFilterEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = AllUnitsGroupBox
AnchorSideRight.Side = asrBottom
Left = 217
Height = 22
Top = 0
Width = 23
AllowAllUp = True
Anchors = [akTop, akRight]
GroupIndex = 13
OnClick = AllUnitsShowDirsSpeedButtonClick
ShowHint = True
ParentShowHint = False
end
object AllUnitsFilterEdit: TEdit
AnchorSideLeft.Control = AllUnitsGroupBox
AnchorSideTop.Control = AllUnitsGroupBox
AnchorSideRight.Control = AllUnitsShowGroupNodesSpeedButton
Left = 0
Height = 22
Top = 0
Width = 194
Anchors = [akTop, akLeft, akRight]
OnChange = AllUnitsFilterEditChange
OnEnter = AllUnitsFilterEditEnter
OnExit = AllUnitsFilterEditExit
TabOrder = 0
Text = 'AllUnitsFilterEdit'
end
object AllUnitsSearchNextSpeedButton: TSpeedButton
AnchorSideTop.Control = AllUnitsSearchEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = AllUnitsSearchPrevSpeedButton
Left = 194
Height = 22
Top = 284
Width = 23
Anchors = [akTop, akRight]
OnClick = AllUnitsSearchNextSpeedButtonClick
ShowHint = True
ParentShowHint = False
end
object AllUnitsSearchPrevSpeedButton: TSpeedButton
AnchorSideTop.Control = AllUnitsSearchEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = AllUnitsGroupBox
AnchorSideRight.Side = asrBottom
Left = 217
Height = 22
Top = 284
Width = 23
Anchors = [akTop, akRight]
OnClick = AllUnitsSearchPrevSpeedButtonClick
ShowHint = True
ParentShowHint = False
end
object AllUnitsTreeView: TTreeView
AnchorSideLeft.Control = AllUnitsGroupBox
AnchorSideTop.Control = AllUnitsFilterEdit
AnchorSideTop.Side = asrBottom
AnchorSideRight.Control = AllUnitsGroupBox
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = AllUnitsSearchEdit
Left = 0
Height = 262
Top = 22
Width = 240
Anchors = [akTop, akLeft, akRight, akBottom]
DefaultItemHeight = 18
HotTrack = True
MultiSelect = True
ParentShowHint = False
PopupMenu = UnitsTVPopupMenu
ReadOnly = True
RightClickSelect = True
ShowHint = True
ShowRoot = False
TabOrder = 1
OnAdvancedCustomDrawItem = AllUnitsTreeViewAdvancedCustomDrawItem
OnMouseDown = UnitsTreeViewMouseDown
OnSelectionChanged = AllUnitsTreeViewSelectionChanged
OnShowHint = UnitsTreeViewShowHint
Options = [tvoAllowMultiselect, tvoAutoItemHeight, tvoHideSelection, tvoHotTrack, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoToolTips, tvoThemedDraw]
end
object AllUnitsSearchEdit: TEdit
AnchorSideLeft.Control = AllUnitsGroupBox
AnchorSideRight.Control = AllUnitsSearchNextSpeedButton
AnchorSideBottom.Control = AllUnitsGroupBox
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 22
Top = 284
Width = 194
Anchors = [akLeft, akRight, akBottom]
OnChange = AllUnitsSearchEditChange
OnEnter = AllUnitsSearchEditEnter
OnExit = AllUnitsSearchEditExit
TabOrder = 2
Text = 'AllUnitsSearchEdit'
end
end
object UnitsSplitter: TSplitter
Left = 248
Height = 328
Top = 47
Width = 5
end
object SelectedUnitsGroupBox: TGroupBox
Left = 253
Height = 328
Top = 47
Width = 361
Align = alClient
Caption = 'SelectedUnitsGroupBox'
ClientHeight = 306
ClientWidth = 353
TabOrder = 3
object SelUnitsSearchNextSpeedButton: TSpeedButton
AnchorSideTop.Control = SelUnitsSearchEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = SelUnitsSearchPrevSpeedButton
Left = 307
Height = 22
Top = 284
Width = 23
Anchors = [akTop, akRight]
OnClick = SelUnitsSearchNextSpeedButtonClick
ShowHint = True
ParentShowHint = False
end
object SelUnitsSearchPrevSpeedButton: TSpeedButton
AnchorSideTop.Control = SelUnitsSearchEdit
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = SelectedUnitsGroupBox
AnchorSideRight.Side = asrBottom
Left = 330
Height = 22
Top = 284
Width = 23
Anchors = [akTop, akRight]
OnClick = SelUnitsSearchPrevSpeedButtonClick
ShowHint = True
ParentShowHint = False
end
object SelUnitsSearchEdit: TEdit
AnchorSideLeft.Control = SelectedUnitsGroupBox
AnchorSideRight.Control = SelUnitsSearchNextSpeedButton
AnchorSideBottom.Control = SelectedUnitsGroupBox
AnchorSideBottom.Side = asrBottom
Left = 0
Height = 22
Top = 284
Width = 307
Anchors = [akLeft, akRight, akBottom]
OnChange = SelUnitsSearchEditChange
OnEnter = SelUnitsSearchEditEnter
OnExit = SelUnitsSearchEditExit
TabOrder = 0
Text = 'SelUnitsSearchEdit'
end
object SelUnitsTreeView: TTreeView
AnchorSideLeft.Control = SelectedUnitsGroupBox
AnchorSideTop.Control = SelectedUnitsGroupBox
AnchorSideRight.Control = SelectedUnitsGroupBox
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = SelUnitsSearchEdit
Left = 0
Height = 284
Top = 0
Width = 353
Anchors = [akTop, akLeft, akRight, akBottom]
DefaultItemHeight = 18
HotTrack = True
ParentShowHint = False
PopupMenu = UnitsTVPopupMenu
ReadOnly = True
RightClickSelect = True
ShowHint = True
ShowRoot = False
TabOrder = 1
OnExpanding = SelUnitsTreeViewExpanding
OnMouseDown = UnitsTreeViewMouseDown
OnShowHint = UnitsTreeViewShowHint
Options = [tvoAutoItemHeight, tvoHideSelection, tvoHotTrack, tvoKeepCollapsedNodes, tvoReadOnly, tvoRightClickSelect, tvoShowButtons, tvoShowLines, tvoToolTips, tvoThemedDraw]
end
end
end
object SelectUnitButton: TToolButton
Left = 1
Top = 2
Caption = 'SelectUnitButton'
OnClick = SelectUnitButtonClick
object GroupsTabSheet: TTabSheet
Caption = 'GroupsTabSheet'
ClientHeight = 378
ClientWidth = 616
object GroupsSplitter: TSplitter
Cursor = crVSplit
Left = 0
Height = 5
Top = 0
Width = 665
Align = alTop
ResizeAnchor = akTop
end
end
object RefreshButton: TToolButton
Left = 119
Top = 2
end
object StatusPanel: TPanel
Left = 0
Height = 26
Top = 414
Width = 620
Align = alBottom
AutoSize = True
ClientHeight = 26
ClientWidth = 620
TabOrder = 1
object ProgressBar1: TProgressBar
AnchorSideLeft.Control = StatsLabel
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = RefreshButton
AnchorSideTop.Side = asrCenter
AnchorSideRight.Control = RefreshButton
AnchorSideBottom.Side = asrBottom
Left = 77
Height = 20
Top = 3
Width = 425
Anchors = [akTop, akLeft, akRight]
TabOrder = 0
end
object RefreshButton: TButton
Left = 504
Height = 20
Top = 3
Width = 113
Align = alRight
AutoSize = True
BorderSpacing.Around = 2
Caption = 'RefreshButton'
OnClick = RefreshButtonClick
TabOrder = 1
end
object StatsLabel: TLabel
AnchorSideLeft.Control = StatusPanel
AnchorSideTop.Control = RefreshButton
AnchorSideTop.Side = asrCenter
Left = 7
Height = 16
Top = 5
Width = 64
BorderSpacing.Left = 6
BorderSpacing.Right = 6
Caption = 'StatsLabel'
ParentColor = False
end
end
object UnitHistoryList: TComboBox
Left = 6
Height = 27
Top = 54
Width = 388
Align = alTop
BorderSpacing.Around = 6
ItemHeight = 0
OnEditingDone = UnitHistoryListEditingDone
TabOrder = 1
Text = 'UnitHistoryList'
end
object CloseButton: TBitBtn
AnchorSideRight.Control = Owner
AnchorSideRight.Side = asrBottom
AnchorSideBottom.Control = Owner
AnchorSideBottom.Side = asrBottom
Left = 309
Height = 30
Top = 264
Width = 85
Anchors = [akRight, akBottom]
AutoSize = True
BorderSpacing.Around = 6
Caption = '&Close'
Constraints.MinWidth = 75
Kind = bkClose
NumGlyphs = 0
TabOrder = 2
end
object UnitTreeView: TTreeView
AnchorSideBottom.Control = CloseButton
Left = 6
Height = 171
Top = 87
Width = 388
Align = alTop
Anchors = [akTop, akLeft, akRight, akBottom]
BorderSpacing.Around = 6
DefaultItemHeight = 19
ReadOnly = True
TabOrder = 3
OnAdvancedCustomDrawItem = UnitTreeViewAdvancedCustomDrawItem
OnCollapsing = UnitTreeViewCollapsing
OnExpanding = UnitTreeViewExpanding
OnMouseDown = UnitTreeViewMouseDown
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoReadOnly, tvoShowButtons, tvoShowLines, tvoShowRoot, tvoToolTips, tvoThemedDraw]
object UnitsTVPopupMenu: TPopupMenu
OnPopup = UnitsTVPopupMenuPopup
left = 120
top = 193
object UnitsTVCopyFilenameMenuItem: TMenuItem
Caption = 'UnitsTVCopyFilenameMenuItem'
OnClick = UnitsTVCopyFilenameMenuItemClick
end
object UnitsTVExpandAllMenuItem: TMenuItem
Caption = 'UnitsTVExpandAllMenuItem'
OnClick = UnitsTVExpandAllMenuItemClick
end
object UnitsTVCollapseAllMenuItem: TMenuItem
Caption = 'UnitsTVCollapseAllMenuItem'
OnClick = UnitsTVCollapseAllMenuItemClick
end
end
end

File diff suppressed because it is too large Load Diff