mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-27 17:53:57 +02:00
IDE: codebrowser: added progressbar
git-svn-id: trunk@14194 -
This commit is contained in:
parent
5d5e0293b2
commit
e97e5ab6b0
@ -25,7 +25,7 @@ object CodeBrowserView: TCodeBrowserView
|
||||
TabOrder = 0
|
||||
object ScopeComboBox: TComboBox
|
||||
Left = 3
|
||||
Height = 25
|
||||
Height = 29
|
||||
Width = 315
|
||||
AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending]
|
||||
MaxLength = 0
|
||||
@ -68,7 +68,7 @@ object CodeBrowserView: TCodeBrowserView
|
||||
Left = 12
|
||||
Height = 22
|
||||
Top = 8
|
||||
Width = 164
|
||||
Width = 165
|
||||
Caption = 'ShowPrivateCheckBox'
|
||||
OnChange = ShowPrivateCheckBoxChange
|
||||
TabOrder = 0
|
||||
@ -78,7 +78,7 @@ object CodeBrowserView: TCodeBrowserView
|
||||
Left = 272
|
||||
Height = 22
|
||||
Top = 8
|
||||
Width = 182
|
||||
Width = 183
|
||||
Caption = 'ShowProtectedCheckBox'
|
||||
OnChange = ShowProtectedCheckBoxChange
|
||||
TabOrder = 1
|
||||
@ -88,7 +88,7 @@ object CodeBrowserView: TCodeBrowserView
|
||||
object BrowseTreeView: TTreeView
|
||||
AnchorSideTop.Control = OptionsGroupBox
|
||||
AnchorSideTop.Side = asrBottom
|
||||
Height = 297
|
||||
Height = 277
|
||||
Top = 246
|
||||
Width = 634
|
||||
Align = alBottom
|
||||
@ -285,6 +285,14 @@ object CodeBrowserView: TCodeBrowserView
|
||||
Text = 'IdentifierFilterEdit'
|
||||
end
|
||||
end
|
||||
object ProgressBar1: TProgressBar
|
||||
Height = 20
|
||||
Top = 523
|
||||
Width = 634
|
||||
Align = alBottom
|
||||
Max = 10000
|
||||
TabOrder = 5
|
||||
end
|
||||
object ImageList1: TImageList
|
||||
Height = 18
|
||||
Width = 18
|
||||
|
@ -9,7 +9,7 @@ LazarusResources.Add('TCodeBrowserView','FORMDATA',[
|
||||
+'TGroupBox'#13'ScopeGroupBox'#4'Left'#2#6#6'Height'#2'2'#3'Top'#2#6#5'Width'
|
||||
+#3'n'#2#5'Align'#7#5'alTop'#20'BorderSpacing.Around'#2#6#7'Caption'#6#13'Sco'
|
||||
+'peGroupBox'#12'ClientHeight'#2#31#11'ClientWidth'#3'j'#2#8'TabOrder'#2#0#0#9
|
||||
+'TComboBox'#13'ScopeComboBox'#4'Left'#2#3#6'Height'#2#25#5'Width'#3';'#1#16
|
||||
+'TComboBox'#13'ScopeComboBox'#4'Left'#2#3#6'Height'#2#29#5'Width'#3';'#1#16
|
||||
+'AutoCompleteText'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9
|
||||
+'MaxLength'#2#0#10'OnDropDown'#7#21'ScopeComboBoxDropDown'#13'OnEditingDone'
|
||||
+#7#24'ScopeComboBoxEditingDone'#8'TabOrder'#2#0#4'Text'#6#13'ScopeComboBox'#0
|
||||
@ -24,14 +24,14 @@ LazarusResources.Add('TCodeBrowserView','FORMDATA',[
|
||||
+'op'#6'akLeft'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'
|
||||
+#2#6#19'BorderSpacing.Right'#2#6#7'Caption'#6#15'OptionsGroupBox'#12'ClientH'
|
||||
+'eight'#2#31#11'ClientWidth'#3'j'#2#8'TabOrder'#2#1#0#9'TCheckBox'#19'ShowPr'
|
||||
+'ivateCheckBox'#4'Left'#2#12#6'Height'#2#22#3'Top'#2#8#5'Width'#3#164#0#7'Ca'
|
||||
+'ivateCheckBox'#4'Left'#2#12#6'Height'#2#22#3'Top'#2#8#5'Width'#3#165#0#7'Ca'
|
||||
+'ption'#6#19'ShowPrivateCheckBox'#8'OnChange'#7#25'ShowPrivateCheckBoxChange'
|
||||
+#8'TabOrder'#2#0#11'UseOnChange'#9#0#0#9'TCheckBox'#21'ShowProtectedCheckBox'
|
||||
+#4'Left'#3#16#1#6'Height'#2#22#3'Top'#2#8#5'Width'#3#182#0#7'Caption'#6#21'S'
|
||||
+#4'Left'#3#16#1#6'Height'#2#22#3'Top'#2#8#5'Width'#3#183#0#7'Caption'#6#21'S'
|
||||
+'howProtectedCheckBox'#8'OnChange'#7#27'ShowProtectedCheckBoxChange'#8'TabOr'
|
||||
+'der'#2#1#11'UseOnChange'#9#0#0#0#9'TTreeView'#14'BrowseTreeView'#21'AnchorS'
|
||||
+'ideTop.Control'#7#15'OptionsGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'
|
||||
+#6'Height'#3')'#1#3'Top'#3#246#0#5'Width'#3'z'#2#5'Align'#7#8'alBottom'#7'An'
|
||||
+#6'Height'#3#21#1#3'Top'#3#246#0#5'Width'#3'z'#2#5'Align'#7#8'alBottom'#7'An'
|
||||
+'chors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'#0#17'BorderSpacing.Top'
|
||||
+#2#6#17'DefaultItemHeight'#2#19#6'Images'#7#10'ImageList1'#14'ParentShowHint'
|
||||
+#8#9'PopupMenu'#7#10'PopupMenu1'#8'ShowHint'#9#8'ShowRoot'#8#8'TabOrder'#2#2
|
||||
@ -98,27 +98,29 @@ LazarusResources.Add('TCodeBrowserView','FORMDATA',[
|
||||
+#5'TEdit'#20'IdentifierFilterEdit'#21'AnchorSideTop.Control'#7#23'ShowIdenti'
|
||||
+'fiersCheckBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#223#0#6'Heig'
|
||||
+'ht'#2#23#3'Top'#2';'#5'Width'#3#201#0#13'OnEditingDone'#7#28'PackageFilterE'
|
||||
+'ditEditingDone'#8'TabOrder'#2#5#4'Text'#6#20'IdentifierFilterEdit'#0#0#0#10
|
||||
+'TImageList'#10'ImageList1'#6'Height'#2#18#5'Width'#2#18#4'left'#3'*'#1#3'to'
|
||||
+'p'#3#196#0#0#0#10'TPopupMenu'#10'PopupMenu1'#7'OnPopup'#7#15'PopupMenu1Popu'
|
||||
+'p'#4'left'#3#248#0#3'top'#3#196#0#0#9'TMenuItem'#23'CopyDescriptionMenuItem'
|
||||
+#7'Caption'#6#23'CopyDescriptionMenuItem'#7'OnClick'#7#28'CopyDescriptionMen'
|
||||
+'uItemClick'#0#0#9'TMenuItem'#22'CopyIdentifierMenuItem'#7'Caption'#6#22'Cop'
|
||||
+'yIdentifierMenuItem'#7'OnClick'#7#27'CopyIdentifierMenuItemClick'#0#0#9'TMe'
|
||||
+'nuItem'#21'CopySeparatorMenuItem'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#25'Exp'
|
||||
+'andAllPackagesMenuItem'#7'Caption'#6#25'ExpandAllPackagesMenuItem'#7'OnClic'
|
||||
+'k'#7#30'ExpandAllPackagesMenuItemClick'#0#0#9'TMenuItem'#27'CollapseAllPack'
|
||||
+'agesMenuItem'#7'Caption'#6#27'CollapseAllPackagesMenuItem'#7'OnClick'#7' Co'
|
||||
+'llapseAllPackagesMenuItemClick'#0#0#9'TMenuItem'#28'AllPackagesSeparatorMen'
|
||||
+'uItem'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#22'ExpandAllUnitsMenuItem'#7'Capt'
|
||||
+'ion'#6#22'ExpandAllUnitsMenuItem'#7'OnClick'#7#27'ExpandAllUnitsMenuItemCli'
|
||||
+'ck'#0#0#9'TMenuItem'#24'CollapseAllUnitsMenuItem'#7'Caption'#6#24'CollapseA'
|
||||
+'llUnitsMenuItem'#7'OnClick'#7#29'CollapseAllUnitsMenuItemClick'#0#0#9'TMenu'
|
||||
+'Item'#25'AllUnitsSeparatorMenuItem'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#24'E'
|
||||
+'xpandAllClassesMenuItem'#7'Caption'#6#24'ExpandAllClassesMenuItem'#7'OnClic'
|
||||
+'k'#7#29'ExpandAllClassesMenuItemClick'#0#0#9'TMenuItem'#26'CollapseAllClass'
|
||||
+'esMenuItem'#7'Caption'#6#26'CollapseAllClassesMenuItem'#7'OnClick'#7#31'Col'
|
||||
+'lapseAllClassesMenuItemClick'#0#0#9'TMenuItem'#27'AllClassesSeparatorMenuIt'
|
||||
+'em'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#14'ExportMenuItem'#7'Caption'#6#14'E'
|
||||
+'xportMenuItem'#7'OnClick'#7#19'ExportMenuItemClick'#0#0#0#0
|
||||
+'ditEditingDone'#8'TabOrder'#2#5#4'Text'#6#20'IdentifierFilterEdit'#0#0#0#12
|
||||
+'TProgressBar'#12'ProgressBar1'#6'Height'#2#20#3'Top'#3#11#2#5'Width'#3'z'#2
|
||||
+#5'Align'#7#8'alBottom'#3'Max'#3#16''''#8'TabOrder'#2#5#0#0#10'TImageList'#10
|
||||
+'ImageList1'#6'Height'#2#18#5'Width'#2#18#4'left'#3'*'#1#3'top'#3#196#0#0#0
|
||||
+#10'TPopupMenu'#10'PopupMenu1'#7'OnPopup'#7#15'PopupMenu1Popup'#4'left'#3#248
|
||||
+#0#3'top'#3#196#0#0#9'TMenuItem'#23'CopyDescriptionMenuItem'#7'Caption'#6#23
|
||||
+'CopyDescriptionMenuItem'#7'OnClick'#7#28'CopyDescriptionMenuItemClick'#0#0#9
|
||||
+'TMenuItem'#22'CopyIdentifierMenuItem'#7'Caption'#6#22'CopyIdentifierMenuIte'
|
||||
+'m'#7'OnClick'#7#27'CopyIdentifierMenuItemClick'#0#0#9'TMenuItem'#21'CopySep'
|
||||
+'aratorMenuItem'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#25'ExpandAllPackagesMenu'
|
||||
+'Item'#7'Caption'#6#25'ExpandAllPackagesMenuItem'#7'OnClick'#7#30'ExpandAllP'
|
||||
+'ackagesMenuItemClick'#0#0#9'TMenuItem'#27'CollapseAllPackagesMenuItem'#7'Ca'
|
||||
+'ption'#6#27'CollapseAllPackagesMenuItem'#7'OnClick'#7' CollapseAllPackagesM'
|
||||
+'enuItemClick'#0#0#9'TMenuItem'#28'AllPackagesSeparatorMenuItem'#7'Caption'#6
|
||||
+#1'-'#0#0#9'TMenuItem'#22'ExpandAllUnitsMenuItem'#7'Caption'#6#22'ExpandAllU'
|
||||
+'nitsMenuItem'#7'OnClick'#7#27'ExpandAllUnitsMenuItemClick'#0#0#9'TMenuItem'
|
||||
+#24'CollapseAllUnitsMenuItem'#7'Caption'#6#24'CollapseAllUnitsMenuItem'#7'On'
|
||||
+'Click'#7#29'CollapseAllUnitsMenuItemClick'#0#0#9'TMenuItem'#25'AllUnitsSepa'
|
||||
+'ratorMenuItem'#7'Caption'#6#1'-'#0#0#9'TMenuItem'#24'ExpandAllClassesMenuIt'
|
||||
+'em'#7'Caption'#6#24'ExpandAllClassesMenuItem'#7'OnClick'#7#29'ExpandAllClas'
|
||||
+'sesMenuItemClick'#0#0#9'TMenuItem'#26'CollapseAllClassesMenuItem'#7'Caption'
|
||||
+#6#26'CollapseAllClassesMenuItem'#7'OnClick'#7#31'CollapseAllClassesMenuItem'
|
||||
+'Click'#0#0#9'TMenuItem'#27'AllClassesSeparatorMenuItem'#7'Caption'#6#1'-'#0
|
||||
+#0#9'TMenuItem'#14'ExportMenuItem'#7'Caption'#6#14'ExportMenuItem'#7'OnClick'
|
||||
+#7#19'ExportMenuItemClick'#0#0#0#0
|
||||
]);
|
||||
|
@ -274,6 +274,7 @@ type
|
||||
PackageFilterContainsSpeedButton: TSpeedButton;
|
||||
PackageFilterEdit: TEdit;
|
||||
PopupMenu1: TPopupMenu;
|
||||
ProgressBar1: TProgressBar;
|
||||
ScopeComboBox: TComboBox;
|
||||
ScopeGroupBox: TGroupBox;
|
||||
ScopeWithRequiredPackagesCheckBox: TCheckBox;
|
||||
@ -427,6 +428,26 @@ function StringToCodeBrowserTextFilter(const s: string): TCodeBrowserTextFilter;
|
||||
|
||||
implementation
|
||||
|
||||
const
|
||||
ProgressGetScopeStart=0;
|
||||
ProgressGetScopeSize=10;
|
||||
ProgressGatherPackagesStart=ProgressGetScopeStart+ProgressGetScopeSize;
|
||||
ProgressGatherPackagesSize=30;
|
||||
ProgressFreeUnusedPkgStart=ProgressGatherPackagesStart+ProgressGatherPackagesSize;
|
||||
ProgressFreeUnusedPkgSize=100;
|
||||
ProgressAddNewUnitListsStart=ProgressFreeUnusedPkgStart+ProgressFreeUnusedPkgSize;
|
||||
ProgressAddNewUnitListsSize=300;
|
||||
ProgressGatherFileListsStart=ProgressAddNewUnitListsStart+ProgressAddNewUnitListsSize;
|
||||
ProgressGatherFileListsSize=300;
|
||||
ProgressGatherOutdatedFilesStart=ProgressGatherFileListsStart+ProgressGatherFileListsSize;
|
||||
ProgressGatherOutdatedFilesSize=300;
|
||||
ProgressUpdateUnitsStart=ProgressGatherOutdatedFilesStart+ProgressGatherOutdatedFilesSize;
|
||||
ProgressUpdateUnitsSize=3000;
|
||||
ProgressGetViewOptionsStart=ProgressUpdateUnitsStart+ProgressUpdateUnitsSize;
|
||||
ProgressGetViewOptionsSize=10;
|
||||
ProgressUpdateTreeViewStart=ProgressGetViewOptionsStart+ProgressGetViewOptionsSize;
|
||||
ProgressUpdateTreeViewSize=1000;
|
||||
ProgressTotal=ProgressUpdateTreeViewStart+ProgressUpdateTreeViewSize;
|
||||
|
||||
function CompareUnitListOwners(Data1, Data2: Pointer): integer;
|
||||
begin
|
||||
@ -516,6 +537,8 @@ begin
|
||||
IdentifierFilterBeginsSpeedButton.Hint:=lisIdentifierBeginsWith;
|
||||
IdentifierFilterContainsSpeedButton.Caption:=lisContains;
|
||||
IdentifierFilterContainsSpeedButton.Hint:=lisIdentifierContains;
|
||||
|
||||
ProgressBar1.Max:=ProgressTotal;
|
||||
|
||||
InitImageList;
|
||||
LoadOptions;
|
||||
@ -811,6 +834,7 @@ begin
|
||||
else
|
||||
UpdateNeeded:=false;
|
||||
Done:=true;
|
||||
ProgressBar1.Position:=ProgressTotal;
|
||||
exit;
|
||||
end;
|
||||
if ord(OldStage)<ord(cbwsFinished) then begin
|
||||
@ -822,6 +846,7 @@ end;
|
||||
procedure TCodeBrowserView.WorkGetScopeOptions;
|
||||
begin
|
||||
DebugLn(['TCodeBrowserView.WorkGetScopeOptions START']);
|
||||
ProgressBar1.Position:=ProgressGetScopeStart;
|
||||
Options.WithRequiredPackages:=ScopeWithRequiredPackagesCheckBox.Checked;
|
||||
Options.Scope:=ScopeComboBox.Text;
|
||||
|
||||
@ -830,6 +855,7 @@ begin
|
||||
fStage:=cbwsGatherPackages
|
||||
else
|
||||
fStage:=cbwsGetViewOptions;
|
||||
ProgressBar1.Position:=ProgressGetScopeStart+ProgressGetScopeSize;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.WorkGatherPackages;
|
||||
@ -905,6 +931,7 @@ begin
|
||||
|
||||
// this stage finished -> next stage
|
||||
fStage:=cbwsFreeUnusedPackages;
|
||||
ProgressBar1.Position:=ProgressGatherPackagesStart+ProgressGatherPackagesSize;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.WorkFreeUnusedPackages;
|
||||
@ -938,11 +965,13 @@ var
|
||||
UnusedPackage: TCodeBrowserUnitList;
|
||||
begin
|
||||
DebugLn(['TCodeBrowserView.WorkFreeUnusedPackages START']);
|
||||
|
||||
// find an unused package
|
||||
UnusedPackage:=FindUnusedUnitList;
|
||||
if UnusedPackage=nil then begin
|
||||
// this stage finished -> next stage
|
||||
fStage:=cbwsAddNewPackages;
|
||||
ProgressBar1.Position:=ProgressFreeUnusedPkgStart+ProgressFreeUnusedPkgSize;
|
||||
exit;
|
||||
end;
|
||||
|
||||
@ -955,6 +984,7 @@ var
|
||||
Node: TAvgLvlTreeNode;
|
||||
List: TCodeBrowserUnitList;
|
||||
begin
|
||||
ProgressBar1.Position:=ProgressAddNewUnitListsStart;
|
||||
if (FWorkingParserRoot<>nil) and (FWorkingParserRoot.UnitLists<>nil)
|
||||
and (FParserRoot<>nil) then begin
|
||||
Node:=FWorkingParserRoot.UnitLists.FindLowest;
|
||||
@ -971,6 +1001,7 @@ begin
|
||||
|
||||
// this stage finished -> next stage
|
||||
fStage:=cbwsGatherFiles;
|
||||
ProgressBar1.Position:=ProgressAddNewUnitListsStart+ProgressAddNewUnitListsSize;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.WorkGatherFileLists;
|
||||
@ -1011,6 +1042,7 @@ begin
|
||||
if List=nil then begin
|
||||
// this stage finished -> next stage
|
||||
fStage:=cbwsGatherOutdatedFiles;
|
||||
ProgressBar1.Position:=ProgressGatherFileListsStart+ProgressGatherFileListsSize;
|
||||
exit;
|
||||
end;
|
||||
|
||||
@ -1294,6 +1326,7 @@ begin
|
||||
|
||||
// this stage finished -> next stage
|
||||
fStage:=cbwsUpdateUnits;
|
||||
ProgressBar1.Position:=ProgressGatherOutdatedFilesStart+ProgressGatherOutdatedFilesSize;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.WorkUpdateUnits;
|
||||
@ -1325,6 +1358,7 @@ begin
|
||||
if AnUnit=nil then begin
|
||||
// this stage finished -> next stage
|
||||
fStage:=cbwsGetViewOptions;
|
||||
ProgressBar1.Position:=ProgressUpdateUnitsStart+ProgressUpdateUnitsSize;
|
||||
exit;
|
||||
end;
|
||||
|
||||
@ -1451,13 +1485,16 @@ begin
|
||||
fStage:=cbwsUpdateTreeView
|
||||
else
|
||||
fStage:=cbwsFinished;
|
||||
ProgressBar1.Position:=ProgressGetViewOptionsStart+ProgressGetViewOptionsSize;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.WorkUpdateTreeView;
|
||||
begin
|
||||
ProgressBar1.Position:=ProgressUpdateTreeViewStart;
|
||||
UpdateTreeView;
|
||||
// this stage finished -> next stage
|
||||
fStage:=cbwsFinished;
|
||||
ProgressBar1.Position:=ProgressUpdateTreeViewStart+ProgressUpdateTreeViewSize;
|
||||
end;
|
||||
|
||||
procedure TCodeBrowserView.FreeUnitList(List: TCodeBrowserUnitList);
|
||||
|
Loading…
Reference in New Issue
Block a user