LCL: changed TApplication.AddOnIdleHandler to use TIdleEvent instead of TNotifyEvent, IDE: codebrowser: added resourcestrings

git-svn-id: trunk@10823 -
This commit is contained in:
mattias 2007-03-28 19:01:27 +00:00
parent 12580dd206
commit a46e0d0b54
18 changed files with 179 additions and 124 deletions

View File

@ -121,7 +121,7 @@ Type
function CheckPropInfo(const APropInfo: PPropInfo): boolean; virtual;
procedure CreateHook; virtual;
procedure UpdateIdleHandler; virtual;
procedure OnApplicationIdle(Sender: TObject); virtual;
procedure OnApplicationIdle(Sender: TObject; var Done: Boolean); virtual;
procedure Notification(AComponent: TComponent;
Operation: TOperation); virtual;
procedure GetEditorValues(const NewValue: string); virtual;
@ -1734,9 +1734,11 @@ begin
end;
end;
procedure TCustomPropertyLink.OnApplicationIdle(Sender: TObject);
procedure TCustomPropertyLink.OnApplicationIdle(Sender: TObject;
var Done: Boolean);
begin
if Sender=nil then ;
if Done then ;
if (ploReadOnIdle in FOptions) then begin
// only update if not editing
// => check for editing

View File

@ -372,7 +372,7 @@ type
public
constructor Create;
destructor Destroy; override;
procedure OnIdle(Sender: TObject);
procedure OnIdle(Sender: TObject; var Done: Boolean);
// items
property Items[Index:integer]:TSelectedControl
@ -830,7 +830,7 @@ begin
inherited Destroy;
end;
procedure TControlSelection.OnIdle(Sender: TObject);
procedure TControlSelection.OnIdle(Sender: TObject; var Done: Boolean);
begin
CheckForLCLChanges(true);
end;

View File

@ -26,7 +26,7 @@ type
TestGroupbox: TGROUPBOX;
OutputListbox: TLISTBOX;
OutputGroupBox: TGROUPBOX;
procedure ApplicationOnIdle(Sender: TObject);
procedure ApplicationOnIdle(Sender: TObject; var Done: Boolean);
procedure CloseButtonCLICK(Sender: TObject);
private
FMacroList: TTransferMacroList;
@ -59,7 +59,8 @@ implementation
{ TCheckCompilerOptsDlg }
procedure TCheckCompilerOptsDlg.ApplicationOnIdle(Sender: TObject);
procedure TCheckCompilerOptsDlg.ApplicationOnIdle(Sender: TObject;
var Done: Boolean);
begin
Application.RemoveOnIdleHandler(@ApplicationOnIdle);
DoTest;

View File

@ -32,9 +32,9 @@ object CodeBrowserView: TCodeBrowserView
end
object ScopeWithRequiredPackagesCheckBox: TCheckBox
Left = 328
Height = 20
Height = 22
Top = 3
Width = 249
Width = 275
Caption = 'ScopeWithRequiredPackagesCheckBox'
OnChange = ScopeWithRequiredPackagesCheckBoxChange
TabOrder = 1
@ -60,9 +60,9 @@ object CodeBrowserView: TCodeBrowserView
TabOrder = 1
object ShowPrivateCheckBox: TCheckBox
Left = 12
Height = 20
Height = 22
Top = 8
Width = 154
Width = 167
Caption = 'ShowPrivateCheckBox'
OnChange = ShowPrivateCheckBoxChange
TabOrder = 0
@ -70,9 +70,9 @@ object CodeBrowserView: TCodeBrowserView
end
object ShowProtectedCheckBox: TCheckBox
Left = 272
Height = 20
Height = 22
Top = 8
Width = 168
Width = 184
Caption = 'ShowProtectedCheckBox'
OnChange = ShowProtectedCheckBoxChange
TabOrder = 1
@ -82,7 +82,7 @@ object CodeBrowserView: TCodeBrowserView
object BrowseTreeView: TTreeView
AnchorSideTop.Control = OptionsGroupBox
AnchorSideTop.Side = asrBottom
Height = 298
Height = 296
Top = 246
Width = 634
Align = alBottom
@ -100,8 +100,8 @@ object CodeBrowserView: TCodeBrowserView
Options = [tvoAutoItemHeight, tvoHideSelection, tvoKeepCollapsedNodes, tvoShowButtons, tvoShowLines, tvoToolTips]
end
object StatusBar1: TStatusBar
Height = 20
Top = 544
Height = 22
Top = 542
Width = 634
Panels = <>
end
@ -125,8 +125,8 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideTop.Control = PackageFilterEdit
Left = 424
Height = 22
Top = 3
Width = 23
Top = 4
Width = 86
Color = clBtnFace
GroupIndex = 1
NumGlyphs = 0
@ -138,10 +138,10 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideLeft.Control = PackageFilterBeginsSpeedButton
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = PackageFilterEdit
Left = 447
Left = 510
Height = 22
Top = 3
Width = 23
Top = 4
Width = 86
Color = clBtnFace
GroupIndex = 1
NumGlyphs = 0
@ -156,8 +156,8 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideTop.Side = asrCenter
Left = 424
Height = 22
Top = 31
Width = 23
Top = 32
Width = 86
Color = clBtnFace
GroupIndex = 2
NumGlyphs = 0
@ -170,10 +170,10 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = UnitFilterEdit
AnchorSideTop.Side = asrCenter
Left = 447
Left = 510
Height = 22
Top = 31
Width = 23
Top = 32
Width = 86
Color = clBtnFace
GroupIndex = 2
NumGlyphs = 0
@ -188,8 +188,8 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideTop.Side = asrCenter
Left = 424
Height = 22
Top = 58
Width = 23
Top = 59
Width = 86
Color = clBtnFace
GroupIndex = 3
NumGlyphs = 0
@ -202,10 +202,10 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = IdentifierFilterEdit
AnchorSideTop.Side = asrCenter
Left = 447
Left = 510
Height = 22
Top = 58
Width = 23
Top = 59
Width = 86
Color = clBtnFace
GroupIndex = 3
NumGlyphs = 0
@ -215,9 +215,9 @@ object CodeBrowserView: TCodeBrowserView
end
object ShowPackagesCheckBox: TCheckBox
Left = 6
Height = 20
Height = 22
Top = 4
Width = 170
Width = 185
Caption = 'ShowPackagesCheckBox'
OnChange = ShowPackagesCheckBoxChange
TabOrder = 0
@ -225,9 +225,9 @@ object CodeBrowserView: TCodeBrowserView
end
object ShowUnitsCheckBox: TCheckBox
Left = 6
Height = 20
Height = 22
Top = 32
Width = 142
Width = 155
Caption = 'ShowUnitsCheckBox'
OnChange = ShowUnitsCheckBoxChange
TabOrder = 1
@ -235,9 +235,9 @@ object CodeBrowserView: TCodeBrowserView
end
object ShowIdentifiersCheckBox: TCheckBox
Left = 6
Height = 20
Height = 22
Top = 59
Width = 168
Width = 185
Caption = 'ShowIdentifiersCheckBox'
OnChange = ShowIdentifiersCheckBoxChange
TabOrder = 2
@ -248,7 +248,7 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideTop.Side = asrCenter
Left = 223
Height = 23
Top = 3
Top = 4
Width = 201
OnEditingDone = PackageFilterEditEditingDone
TabOrder = 3
@ -259,7 +259,7 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideTop.Side = asrCenter
Left = 223
Height = 23
Top = 31
Top = 32
Width = 201
OnEditingDone = PackageFilterEditEditingDone
TabOrder = 4
@ -270,7 +270,7 @@ object CodeBrowserView: TCodeBrowserView
AnchorSideTop.Side = asrCenter
Left = 223
Height = 23
Top = 58
Top = 59
Width = 201
OnEditingDone = PackageFilterEditEditingDone
TabOrder = 5

View File

@ -12,32 +12,32 @@ LazarusResources.Add('TCodeBrowserView','FORMDATA',[
+'xt'#11#22'cbactEndOfLineComplete'#20'cbactSearchAscending'#0#9'MaxLength'#2
+#0#10'OnDropDown'#7#21'ScopeComboBoxDropDown'#13'OnEditingDone'#7#24'ScopeCo'
+'mboBoxEditingDone'#8'TabOrder'#2#0#4'Text'#6#13'ScopeComboBox'#0#0#9'TCheck'
+'Box!ScopeWithRequiredPackagesCheckBox'#4'Left'#3'H'#1#6'Height'#2#20#3'Top'
+#2#3#5'Width'#3#249#0#7'Caption'#6'!ScopeWithRequiredPackagesCheckBox'#8'OnC'
+'hange'#7'''ScopeWithRequiredPackagesCheckBoxChange'#8'TabOrder'#2#1#11'UseO'
+'nChange'#9#0#0#0#9'TGroupBox'#15'OptionsGroupBox'#22'AnchorSideLeft.Control'
+'Box!ScopeWithRequiredPackagesCheckBox'#4'Left'#3'H'#1#6'Height'#2#22#3'Top'
+#2#3#5'Width'#3#19#1#7'Caption'#6'!ScopeWithRequiredPackagesCheckBox'#8'OnCh'
+'ange'#7'''ScopeWithRequiredPackagesCheckBoxChange'#8'TabOrder'#2#1#11'UseOn'
+'Change'#9#0#0#0#9'TGroupBox'#15'OptionsGroupBox'#22'AnchorSideLeft.Control'
+#7#5'Owner'#21'AnchorSideTop.Control'#7#14'LevelsGroupBox'#18'AnchorSideTop.'
+'Side'#7#9'asrBottom'#23'AnchorSideRight.Control'#7#5'Owner'#20'AnchorSideRi'
+'ght.Side'#7#9'asrBottom'#21'AnchorSideBottom.Side'#7#9'asrBottom'#4'Left'#2
+#6#6'Height'#2'2'#3'Top'#3#190#0#5'Width'#3'n'#2#7'Anchors'#11#5'akTop'#6'ak'
+'Left'#7'akRight'#0#18'BorderSpacing.Left'#2#6#17'BorderSpacing.Top'#2#6#19
+'BorderSpacing.Right'#2#6#7'Caption'#6#15'OptionsGroupBox'#8'TabOrder'#2#1#0
+#9'TCheckBox'#19'ShowPrivateCheckBox'#4'Left'#2#12#6'Height'#2#20#3'Top'#2#8
+#5'Width'#3#154#0#7'Caption'#6#19'ShowPrivateCheckBox'#8'OnChange'#7#25'Show'
+#9'TCheckBox'#19'ShowPrivateCheckBox'#4'Left'#2#12#6'Height'#2#22#3'Top'#2#8
+#5'Width'#3#167#0#7'Caption'#6#19'ShowPrivateCheckBox'#8'OnChange'#7#25'Show'
+'PrivateCheckBoxChange'#8'TabOrder'#2#0#11'UseOnChange'#9#0#0#9'TCheckBox'#21
+'ShowProtectedCheckBox'#4'Left'#3#16#1#6'Height'#2#20#3'Top'#2#8#5'Width'#3
+#168#0#7'Caption'#6#21'ShowProtectedCheckBox'#8'OnChange'#7#27'ShowProtected'
+'ShowProtectedCheckBox'#4'Left'#3#16#1#6'Height'#2#22#3'Top'#2#8#5'Width'#3
+#184#0#7'Caption'#6#21'ShowProtectedCheckBox'#8'OnChange'#7#27'ShowProtected'
+'CheckBoxChange'#8'TabOrder'#2#1#11'UseOnChange'#9#0#0#0#9'TTreeView'#14'Bro'
+'wseTreeView'#21'AnchorSideTop.Control'#7#15'OptionsGroupBox'#18'AnchorSideT'
+'op.Side'#7#9'asrBottom'#6'Height'#3'*'#1#3'Top'#3#246#0#5'Width'#3'z'#2#5'A'
+'op.Side'#7#9'asrBottom'#6'Height'#3'('#1#3'Top'#3#246#0#5'Width'#3'z'#2#5'A'
+'lign'#7#8'alBottom'#7'Anchors'#11#5'akTop'#6'akLeft'#7'akRight'#8'akBottom'
+#0#17'BorderSpacing.Top'#2#6#17'DefaultItemHeight'#2#16#6'Images'#7#10'Image'
+'List1'#14'ParentShowHint'#8#9'PopupMenu'#7#10'PopupMenu1'#8'ShowHint'#9#8'S'
+'howRoot'#8#8'TabOrder'#2#2#11'OnMouseDown'#7#23'BrowseTreeViewMouseDown'#10
+'OnShowHint'#7#22'BrowseTreeViewShowHint'#7'Options'#11#17'tvoAutoItemHeight'
+#16'tvoHideSelection'#21'tvoKeepCollapsedNodes'#14'tvoShowButtons'#12'tvoSho'
+'wLines'#11'tvoToolTips'#0#0#0#10'TStatusBar'#10'StatusBar1'#6'Height'#2#20#3
+'Top'#3' '#2#5'Width'#3'z'#2#6'Panels'#14#0#0#0#9'TGroupBox'#14'LevelsGroupB'
+'wLines'#11'tvoToolTips'#0#0#0#10'TStatusBar'#10'StatusBar1'#6'Height'#2#22#3
+'Top'#3#30#2#5'Width'#3'z'#2#6'Panels'#14#0#0#0#9'TGroupBox'#14'LevelsGroupB'
+'ox'#22'AnchorSideLeft.Control'#7#5'Owner'#21'AnchorSideTop.Control'#7#13'Sc'
+'opeGroupBox'#18'AnchorSideTop.Side'#7#9'asrBottom'#23'AnchorSideRight.Contr'
+'ol'#7#5'Owner'#20'AnchorSideRight.Side'#7#9'asrBottom'#4'Left'#2#6#6'Height'
@ -46,55 +46,55 @@ LazarusResources.Add('TCodeBrowserView','FORMDATA',[
+#3#0#12'TSpeedButton'#30'PackageFilterBeginsSpeedButton'#22'AnchorSideLeft.C'
+'ontrol'#7#17'PackageFilterEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21'A'
+'nchorSideTop.Control'#7#17'PackageFilterEdit'#4'Left'#3#168#1#6'Height'#2#22
+#3'Top'#2#3#5'Width'#2#23#5'Color'#7#9'clBtnFace'#10'GroupIndex'#2#1#9'NumGl'
+#3'Top'#2#4#5'Width'#2'V'#5'Color'#7#9'clBtnFace'#10'GroupIndex'#2#1#9'NumGl'
+'yphs'#2#0#7'OnClick'#7#28'PackageFilterEditEditingDone'#8'ShowHint'#9#14'Pa'
+'rentShowHint'#8#0#0#12'TSpeedButton PackageFilterContainsSpeedButton'#22'An'
+'chorSideLeft.Control'#7#30'PackageFilterBeginsSpeedButton'#19'AnchorSideLef'
+'t.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#17'PackageFilterEdit'#4
+'Left'#3#191#1#6'Height'#2#22#3'Top'#2#3#5'Width'#2#23#5'Color'#7#9'clBtnFac'
+'Left'#3#254#1#6'Height'#2#22#3'Top'#2#4#5'Width'#2'V'#5'Color'#7#9'clBtnFac'
+'e'#10'GroupIndex'#2#1#9'NumGlyphs'#2#0#7'OnClick'#7#28'PackageFilterEditEdi'
+'tingDone'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpeedButton'#27'UnitFi'
+'lterBeginsSpeedButton'#22'AnchorSideLeft.Control'#7#14'UnitFilterEdit'#19'A'
+'nchorSideLeft.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'UnitFilte'
+'rEdit'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#168#1#6'Height'#2#22
+#3'Top'#2#31#5'Width'#2#23#5'Color'#7#9'clBtnFace'#10'GroupIndex'#2#2#9'NumG'
+#3'Top'#2' '#5'Width'#2'V'#5'Color'#7#9'clBtnFace'#10'GroupIndex'#2#2#9'NumG'
+'lyphs'#2#0#7'OnClick'#7#28'PackageFilterEditEditingDone'#8'ShowHint'#9#14'P'
+'arentShowHint'#8#0#0#12'TSpeedButton'#29'UnitFilterContainsSpeedButton'#22
+'AnchorSideLeft.Control'#7#27'UnitFilterBeginsSpeedButton'#19'AnchorSideLeft'
+'.Side'#7#9'asrBottom'#21'AnchorSideTop.Control'#7#14'UnitFilterEdit'#18'Anc'
+'horSideTop.Side'#7#9'asrCenter'#4'Left'#3#191#1#6'Height'#2#22#3'Top'#2#31#5
+'Width'#2#23#5'Color'#7#9'clBtnFace'#10'GroupIndex'#2#2#9'NumGlyphs'#2#0#7'O'
+'horSideTop.Side'#7#9'asrCenter'#4'Left'#3#254#1#6'Height'#2#22#3'Top'#2' '#5
+'Width'#2'V'#5'Color'#7#9'clBtnFace'#10'GroupIndex'#2#2#9'NumGlyphs'#2#0#7'O'
+'nClick'#7#28'PackageFilterEditEditingDone'#8'ShowHint'#9#14'ParentShowHint'
,#8#0#0#12'TSpeedButton!IdentifierFilterBeginsSpeedButton'#22'AnchorSideLeft.'
+'Control'#7#20'IdentifierFilterEdit'#19'AnchorSideLeft.Side'#7#9'asrBottom'
+#21'AnchorSideTop.Control'#7#20'IdentifierFilterEdit'#18'AnchorSideTop.Side'
+#7#9'asrCenter'#4'Left'#3#168#1#6'Height'#2#22#3'Top'#2':'#5'Width'#2#23#5'C'
+#7#9'asrCenter'#4'Left'#3#168#1#6'Height'#2#22#3'Top'#2';'#5'Width'#2'V'#5'C'
+'olor'#7#9'clBtnFace'#10'GroupIndex'#2#3#9'NumGlyphs'#2#0#7'OnClick'#7#28'Pa'
+'ckageFilterEditEditingDone'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#12'TSpee'
+'dButton#IdentifierFilterContainsSpeedButton'#22'AnchorSideLeft.Control'#7'!'
+'IdentifierFilterBeginsSpeedButton'#19'AnchorSideLeft.Side'#7#9'asrBottom'#21
+'AnchorSideTop.Control'#7#20'IdentifierFilterEdit'#18'AnchorSideTop.Side'#7#9
+'asrCenter'#4'Left'#3#191#1#6'Height'#2#22#3'Top'#2':'#5'Width'#2#23#5'Color'
+'asrCenter'#4'Left'#3#254#1#6'Height'#2#22#3'Top'#2';'#5'Width'#2'V'#5'Color'
+#7#9'clBtnFace'#10'GroupIndex'#2#3#9'NumGlyphs'#2#0#7'OnClick'#7#28'PackageF'
+'ilterEditEditingDone'#8'ShowHint'#9#14'ParentShowHint'#8#0#0#9'TCheckBox'#20
+'ShowPackagesCheckBox'#4'Left'#2#6#6'Height'#2#20#3'Top'#2#4#5'Width'#3#170#0
+'ShowPackagesCheckBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2#4#5'Width'#3#185#0
+#7'Caption'#6#20'ShowPackagesCheckBox'#8'OnChange'#7#26'ShowPackagesCheckBox'
+'Change'#8'TabOrder'#2#0#11'UseOnChange'#9#0#0#9'TCheckBox'#17'ShowUnitsChec'
+'kBox'#4'Left'#2#6#6'Height'#2#20#3'Top'#2' '#5'Width'#3#142#0#7'Caption'#6
+'kBox'#4'Left'#2#6#6'Height'#2#22#3'Top'#2' '#5'Width'#3#155#0#7'Caption'#6
+#17'ShowUnitsCheckBox'#8'OnChange'#7#23'ShowUnitsCheckBoxChange'#8'TabOrder'
+#2#1#11'UseOnChange'#9#0#0#9'TCheckBox'#23'ShowIdentifiersCheckBox'#4'Left'#2
+#6#6'Height'#2#20#3'Top'#2';'#5'Width'#3#168#0#7'Caption'#6#23'ShowIdentifie'
+#6#6'Height'#2#22#3'Top'#2';'#5'Width'#3#185#0#7'Caption'#6#23'ShowIdentifie'
+'rsCheckBox'#8'OnChange'#7#29'ShowIdentifiersCheckBoxChange'#8'TabOrder'#2#2
+#11'UseOnChange'#9#0#0#5'TEdit'#17'PackageFilterEdit'#21'AnchorSideTop.Contr'
+'ol'#7#20'ShowPackagesCheckBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'
+#3#223#0#6'Height'#2#23#3'Top'#2#3#5'Width'#3#201#0#13'OnEditingDone'#7#28'P'
+#3#223#0#6'Height'#2#23#3'Top'#2#4#5'Width'#3#201#0#13'OnEditingDone'#7#28'P'
+'ackageFilterEditEditingDone'#8'TabOrder'#2#3#4'Text'#6#17'PackageFilterEdit'
+#0#0#5'TEdit'#14'UnitFilterEdit'#21'AnchorSideTop.Control'#7#17'ShowUnitsChe'
+'ckBox'#18'AnchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#223#0#6'Height'#2#23
+#3'Top'#2#31#5'Width'#3#201#0#13'OnEditingDone'#7#28'PackageFilterEditEditin'
+#3'Top'#2' '#5'Width'#3#201#0#13'OnEditingDone'#7#28'PackageFilterEditEditin'
+'gDone'#8'TabOrder'#2#4#4'Text'#6#14'UnitFilterEdit'#0#0#5'TEdit'#20'Identif'
+'ierFilterEdit'#21'AnchorSideTop.Control'#7#23'ShowIdentifiersCheckBox'#18'A'
+'nchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#223#0#6'Height'#2#23#3'Top'#2':'
+'nchorSideTop.Side'#7#9'asrCenter'#4'Left'#3#223#0#6'Height'#2#23#3'Top'#2';'
+#5'Width'#3#201#0#13'OnEditingDone'#7#28'PackageFilterEditEditingDone'#8'Tab'
+'Order'#2#5#4'Text'#6#20'IdentifierFilterEdit'#0#0#0#10'TImageList'#10'Image'
+'List1'#4'left'#3'*'#1#3'top'#3#196#0#0#0#10'TPopupMenu'#10'PopupMenu1'#7'On'

View File

@ -307,7 +307,7 @@ type
procedure ScopeComboBoxDropDown(Sender: TObject);
procedure ScopeComboBoxEditingDone(Sender: TObject);
procedure ScopeWithRequiredPackagesCheckBoxChange(Sender: TObject);
procedure OnIdle(Sender: TObject);
procedure OnIdle(Sender: TObject; var Done: Boolean);
procedure ShowIdentifiersCheckBoxChange(Sender: TObject);
procedure ShowPackagesCheckBoxChange(Sender: TObject);
procedure ShowPrivateCheckBoxChange(Sender: TObject);
@ -364,7 +364,7 @@ type
procedure SetVisibleIdentifiers(const AValue: PtrInt);
procedure SetVisiblePackages(const AValue: integer);
procedure SetVisibleUnits(const AValue: integer);
procedure Work;
procedure Work(var Done: Boolean);
procedure WorkGetScopeOptions;
procedure WorkGatherPackages;
procedure WorkFreeUnusedPackages;
@ -479,38 +479,44 @@ procedure TCodeBrowserView.FormCreate(Sender: TObject);
begin
FOptions:=TCodeBrowserViewOptions.Create;
FIDEDescription:='Lazarus IDE';
FProjectDescription:='Project';
FIDEDescription:=lisLazarusIDE;
FProjectDescription:=dlgEnvProject;
Name:=NonModalIDEWindowNames[nmiwCodeBrowser];
Caption := 'Code browser';
Caption := lisCodeBrowser;
EnvironmentOptions.IDEWindowLayoutList.Apply(Self,Name);
ScopeGroupBox.Caption:='Scope';
ScopeWithRequiredPackagesCheckBox.Caption:='With required packages';
LevelsGroupBox.Caption:='Levels';
ShowPackagesCheckBox.Caption:='Show packages';
ShowUnitsCheckBox.Caption:='Show units';
ShowIdentifiersCheckBox.Caption:='Show identifiers';
ScopeGroupBox.Caption:=dlgScope;
ScopeWithRequiredPackagesCheckBox.Caption:=lisWithRequiredPackages;
LevelsGroupBox.Caption:=lisLevels;
ShowPackagesCheckBox.Caption:=lisShowPackages;
ShowUnitsCheckBox.Caption:=lisShowUnits;
ShowIdentifiersCheckBox.Caption:=lisShowIdentifiers;
OptionsGroupBox.Caption:='Filter';
ShowPrivateCheckBox.Caption:='Private';
ShowProtectedCheckBox.Caption:='Protected';
OptionsGroupBox.Caption:=lisFilter;
ShowPrivateCheckBox.Caption:=lisPrivate;
ShowProtectedCheckBox.Caption:=lisProtected;
ExpandAllPackagesMenuItem.Caption:='Expand all packages';
CollapseAllPackagesMenuItem.Caption:='Collapse all packages';
ExpandAllUnitsMenuItem.Caption:='Expand all units';
CollapseAllUnitsMenuItem.Caption:='Collapse all units';
ExpandAllClassesMenuItem.Caption:='Expand all classes';
CollapseAllClassesMenuItem.Caption:='Collapse all classes';
ExportMenuItem.Caption:='Export ...';
ExpandAllPackagesMenuItem.Caption:=lisExpandAllPackages;
CollapseAllPackagesMenuItem.Caption:=lisCollapseAllPackages;
ExpandAllUnitsMenuItem.Caption:=lisExpandAllUnits;
CollapseAllUnitsMenuItem.Caption:=lisCollapseAllUnits;
ExpandAllClassesMenuItem.Caption:=lisExpandAllClasses;
CollapseAllClassesMenuItem.Caption:=lisCollapseAllClasses;
ExportMenuItem.Caption:=lisExport;
PackageFilterBeginsSpeedButton.Hint:='Package name begins with ...';
PackageFilterContainsSpeedButton.Hint:='Package name contains ...';
UnitFilterBeginsSpeedButton.Hint:='Unit name begins with ...';
UnitFilterContainsSpeedButton.Hint:='Unit name contains ...';
IdentifierFilterBeginsSpeedButton.Hint:='Identifier begins with ...';
IdentifierFilterContainsSpeedButton.Hint:='Identifier contains ...';
PackageFilterBeginsSpeedButton.Caption:=lisBegins;
PackageFilterBeginsSpeedButton.Hint:=lisPackageNameBeginsWith;
PackageFilterContainsSpeedButton.Caption:=lisContains;
PackageFilterContainsSpeedButton.Hint:=lisPackageNameContains;
UnitFilterBeginsSpeedButton.Caption:=lisBegins;
UnitFilterBeginsSpeedButton.Hint:=lisUnitNameBeginsWith;
UnitFilterContainsSpeedButton.Caption:=lisContains;
UnitFilterContainsSpeedButton.Hint:=lisUnitNameContains;
IdentifierFilterBeginsSpeedButton.Caption:=lisBegins;
IdentifierFilterBeginsSpeedButton.Hint:=lisIdentifierBeginsWith;
IdentifierFilterContainsSpeedButton.Caption:=lisContains;
IdentifierFilterContainsSpeedButton.Hint:=lisIdentifierContains;
InitImageList;
LoadOptions;
@ -590,14 +596,14 @@ begin
InvalidateStage(cbwsGetScopeOptions);
end;
procedure TCodeBrowserView.OnIdle(Sender: TObject);
procedure TCodeBrowserView.OnIdle(Sender: TObject; var Done: Boolean);
var
AControl: TWinControl;
begin
AControl:=FindOwnerControl(GetFocus);
if (AControl=nil) or (GetFirstParentForm(AControl)<>Self) then exit;
// this form is focused -> let's work
Work;
Work(Done);
end;
procedure TCodeBrowserView.ShowIdentifiersCheckBoxChange(Sender: TObject);
@ -775,7 +781,7 @@ begin
FVisibleUnits:=AValue;
end;
procedure TCodeBrowserView.Work;
procedure TCodeBrowserView.Work(var Done: Boolean);
// do some work
// This is called during OnIdle, so progress in small steps
var
@ -794,9 +800,11 @@ begin
cbwsUpdateTreeView: WorkUpdateTreeView;
else
UpdateNeeded:=false;
Done:=true;
exit;
end;
if ord(OldStage)<ord(cbwsFinished) then begin
Done:=false;
UpdateStatusBar(fStage<cbwsFinished);
end;
end;
@ -1268,7 +1276,7 @@ begin
if fOutdatedFiles<>nil then
fOutdatedFiles.Clear;
AddFiles(ParserRoot);
// this stage finished -> next stage
fStage:=cbwsUpdateUnits;
end;
@ -1779,7 +1787,7 @@ var
Node:=SrcList.UnitLists.FindLowest;
while Node<>nil do begin
SubList:=TCodeBrowserUnitList(Node.Data);
AddUnitLists(SubList,NewList);
AddUnitLists(SubList,DestParentList);// DestParentList because: as sibling not child!
Node:=SrcList.UnitLists.FindSuccessor(Node);
end;
end;
@ -1801,8 +1809,10 @@ var
CurUnitName: String;
CurTool: TCodeTool;
CurNode: TCodeBrowserNode;
ExpandParent: Boolean;
begin
if CodeNode=nil then exit;
ExpandParent:=true;
//DebugLn(['AddTreeNodes ',DbgSName(CodeNode)]);
if CodeNode is TCodeBrowserUnitList then begin
// unit list
@ -1880,10 +1890,13 @@ var
Node:=CurNode.ChildNodes.FindSuccessor(Node);
end;
end;
// do not expand unit nodes
if (TObject(ParentViewNode.Data) is TCodeBrowserUnit) then
ExpandParent:=false;
end;
end;
ParentViewNode.Expanded:=true;
ParentViewNode.Expanded:=ExpandParent;
end;
var

View File

@ -49,7 +49,7 @@ type
{ TCodeContextFrm }
TCodeContextFrm = class(THintWindow)
procedure ApplicationIdle(Sender: TObject);
procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
@ -110,7 +110,7 @@ end;
{ TCodeContextFrm }
procedure TCodeContextFrm.ApplicationIdle(Sender: TObject);
procedure TCodeContextFrm.ApplicationIdle(Sender: TObject; var Done: Boolean);
begin
if not Visible then exit;
UpdateHints;

View File

@ -875,6 +875,7 @@ resourcestring
dlgAutoSave = 'Auto save';
dlgEdFiles = 'Editor files';
dlgEnvProject = 'Project';
lisCodeBrowser = 'Code browser';
dlgIntvInSec = 'Interval in secs';
dlgDesktopFiles = 'Desktop files';
dlgSaveDFile = 'Save desktop settings to file';
@ -1349,6 +1350,29 @@ resourcestring
dlgFromCursor = 'From Cursor';
dlgEntireScope = 'Entire Scope';
dlgScope = 'Scope';
lisWithRequiredPackages = 'With required packages';
lisLevels = 'Levels';
lisShowPackages = 'Show packages';
lisShowUnits = 'Show units';
lisShowIdentifiers = 'Show identifiers';
lisFilter = 'Filter';
lisPrivate = 'Private';
lisProtected = 'Protected';
lisExpandAllPackages = 'Expand all packages';
lisCollapseAllPackages = 'Collapse all packages';
lisExpandAllUnits = 'Expand all units';
lisCollapseAllUnits = 'Collapse all units';
lisExpandAllClasses = 'Expand all classes';
lisCollapseAllClasses = 'Collapse all classes';
lisExport = 'Export ...';
lisBegins = 'begins';
lisIdentifierBeginsWith = 'Identifier begins with ...';
lisUnitNameBeginsWith = 'Unit name begins with ...';
lisPackageNameBeginsWith = 'Package name begins with ...';
lisContains = 'contains';
lisIdentifierContains = 'Identifier contains ...';
lisUnitNameContains = 'Unit name contains ...';
lisPackageNameContains = 'Package name contains ...';
lisFRIinCurrentUnit = 'in current unit';
lisFRIinMainProject = 'in main project';
lisFRIinProjectPackageOwningCurrentUnit = 'in project/package owning '
@ -3357,6 +3381,7 @@ resourcestring
lisPListNone = '<None>';
lisUIClearIncludedByReference = 'Clear include cache';
lisChangeParent = 'Change parent ...';
lisLazarusIDE = 'Lazarus IDE';
implementation
end.

View File

@ -127,7 +127,7 @@ type
procedure FormatButtonClick(Sender: TObject);
procedure LinkChange(Sender: TObject);
procedure LinkListBoxClick(Sender: TObject);
procedure ApplicationIdle(Sender: TObject);
procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
procedure MoveToInheritedButtonClick(Sender: TObject);
private
FCaretXY: TPoint;
@ -390,7 +390,7 @@ begin
LinkTextEdit.Text := Copy(strTmp, 1, Length(strTmp) - Length('</link>'));
end;
procedure TLazDocForm.ApplicationIdle(Sender: TObject);
procedure TLazDocForm.ApplicationIdle(Sender: TObject; var Done: Boolean);
begin
if ldffInheritedNeedsUpdate in FFlags then
UpdateInherited

View File

@ -140,7 +140,7 @@ type
procedure MainIDEFormClose(Sender: TObject; var CloseAction: TCloseAction);
procedure MainIDEFormCloseQuery(Sender: TObject; var CanClose: boolean);
procedure OnApplicationUserInput(Sender: TObject; Msg: Cardinal);
procedure OnApplicationIdle(Sender: TObject);
procedure OnApplicationIdle(Sender: TObject; var Done: Boolean);
procedure OnApplicationActivate(Sender: TObject);
procedure OnApplicationKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
@ -8445,6 +8445,9 @@ begin
Result:=mrCancel;
exit;
end;
Result:=DoSaveAll([sfCheckAmbiguousFiles]);
if Result<>mrOk then exit;
MessagesView.BeginBlock;
try
@ -12219,7 +12222,7 @@ begin
end;
end;
procedure TMainIDE.OnApplicationIdle(Sender: TObject);
procedure TMainIDE.OnApplicationIdle(Sender: TObject; var Done: Boolean);
var
SrcEdit: TSourceEditor;
AnUnitInfo: TUnitInfo;

View File

@ -45,7 +45,7 @@ type
procedure FormDestroy(Sender: TObject);
private
public
procedure ApplicationIdle(Sender: TObject);
procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
end;
var
@ -65,7 +65,7 @@ type
StartTime: TDateTime;
StartTimeValid: boolean;
constructor Create;
procedure ApplicationIdle(Sender: TObject);
procedure ApplicationIdle(Sender: TObject; var Done: Boolean);
end;
{ TProgressWait }
@ -75,7 +75,7 @@ begin
Application.AddOnIdleHandler(@ApplicationIdle);
end;
procedure TProgressWait.ApplicationIdle(Sender: TObject);
procedure TProgressWait.ApplicationIdle(Sender: TObject; var Done: Boolean);
begin
StartTimeValid:=false;
end;
@ -139,7 +139,8 @@ begin
Application.RemoveOnIdleHandler(@ApplicationIdle);
end;
procedure TIDEProgressDialog.ApplicationIdle(Sender: TObject);
procedure TIDEProgressDialog.ApplicationIdle(Sender: TObject;
var Done: Boolean);
begin
// IDE got idle => progress dialog is not used anymore
if Screen.FormIndex(Self)>=0 then begin

View File

@ -324,7 +324,7 @@ type
procedure SetAutoStartEvent(const AValue: TIdleTimerAutoEvent);
protected
procedure SetAutoEnabled(const AValue: boolean); virtual;
procedure DoOnIdle(Sender: TObject); virtual;
procedure DoOnIdle(Sender: TObject; var Done: Boolean); virtual;
procedure DoOnIdleEnd(Sender: TObject); virtual;
procedure DoOnUserInput(Sender: TObject; Msg: Cardinal); virtual;
procedure Loaded; override;

View File

@ -966,7 +966,7 @@ type
procedure Deactivate;
protected
function GetConsoleApplication: boolean; override;
procedure NotifyIdleHandler;
procedure NotifyIdleHandler(var Done: Boolean);
procedure NotifyIdleEndHandler;
procedure NotifyActivateHandler;
procedure NotifyDeactivateHandler;
@ -1027,8 +1027,8 @@ type
var Key: Word; Shift: TShiftState);
procedure ControlKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure ControlKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
procedure AddOnIdleHandler(Handler: TNotifyEvent; AsLast: Boolean=true);
procedure RemoveOnIdleHandler(Handler: TNotifyEvent);
procedure AddOnIdleHandler(Handler: TIdleEvent; AsLast: Boolean=true);
procedure RemoveOnIdleHandler(Handler: TIdleEvent);
procedure AddOnIdleEndHandler(Handler: TNotifyEvent; AsLast: Boolean=true);
procedure RemoveOnIdleEndHandler(Handler: TNotifyEvent);
procedure AddOnUserInputHandler(Handler: TOnUserInputEvent;

View File

@ -286,7 +286,8 @@ begin
Done := True;
if (FIdleLockCount=0) then begin
if Assigned(FOnIdle) then FOnIdle(Self, Done);
NotifyIdleHandler;
if Done then
NotifyIdleHandler(Done);
end;
if Done
then begin
@ -523,11 +524,20 @@ begin
end;
{------------------------------------------------------------------------------
procedure TApplication.NotifyIdleHandler;
procedure TApplication.NotifyIdleHandler(var Done: Boolean);
Done = true will wait for the next message
Done = false will repeat calling the OnIdle handlers
------------------------------------------------------------------------------}
procedure TApplication.NotifyIdleHandler;
procedure TApplication.NotifyIdleHandler(var Done: Boolean);
var
i: LongInt;
begin
FApplicationHandlers[ahtIdle].CallNotifyEvents(Self);
i:=FApplicationHandlers[ahtIdle].Count;
while FApplicationHandlers[ahtIdle].NextDownIndex(i) do begin
TIdleEvent(FApplicationHandlers[ahtIdle][i])(Self,Done);
if not Done then exit;
end;
end;
{------------------------------------------------------------------------------
@ -1310,13 +1320,13 @@ begin
FLastKeyDownKey := VK_UNKNOWN;
end;
procedure TApplication.AddOnIdleHandler(Handler: TNotifyEvent;
procedure TApplication.AddOnIdleHandler(Handler: TIdleEvent;
AsLast: Boolean);
begin
AddHandler(ahtIdle,TMethod(Handler),AsLast);
end;
procedure TApplication.RemoveOnIdleHandler(Handler: TNotifyEvent);
procedure TApplication.RemoveOnIdleHandler(Handler: TIdleEvent);
begin
RemoveHandler(ahtIdle,TMethod(Handler));
end;

View File

@ -534,9 +534,9 @@ procedure TCustomForm.WMSize(var Message: TLMSize);
var
OldState: TWindowState;
begin
//{$IFDEF CHECK_POSITION}
{$IFDEF CHECK_POSITION}
DebugLn('[TCustomForm.WMSize] ',DbgSName(Self),' Message.SizeType=',dbgs(Message.SizeType),' Message.Width=',dbgs(Message.Width),' Message.Height=',dbgs(Message.Height));
//{$ENDIF}
{$ENDIF}
Assert(False, 'Trace:WMSIZE in TCustomForm');
if not (csDesigning in ComponentState) then begin
OldState:=FWindowState;
@ -569,7 +569,7 @@ begin
FRestoredTop := Top;
FRestoredWidth := Width;
FRestoredHeight := Height;
DebugLn('[TCustomForm.WMSize] saving restored bounds ',DbgSName(Self),' ',dbgs(FRestoredWidth),'x',dbgs(FRestoredHeight));
//DebugLn('[TCustomForm.WMSize] saving restored bounds ',DbgSName(Self),' ',dbgs(FRestoredWidth),'x',dbgs(FRestoredHeight));
end;
End;

View File

@ -28,7 +28,7 @@ begin
UpdateHandlers;
end;
procedure TIdleTimer.DoOnIdle(Sender: TObject);
procedure TIdleTimer.DoOnIdle(Sender: TObject; var Done: Boolean);
begin
if not AutoEnabled then exit;
// automatic start, stop or restart

View File

@ -138,7 +138,7 @@ type
procedure IDEComponentPaletteOpenUnit(Sender: TObject);
// LCL
procedure OnApplicationIdle(Sender: TObject);
procedure OnApplicationIdle(Sender: TObject; var Done: Boolean);
// package links
function PkgLinksDependencyOwnerGetPkgFilename(PkgLinks: TPackageLinks;
@ -969,7 +969,7 @@ begin
end;
end;
procedure TPkgManager.OnApplicationIdle(Sender: TObject);
procedure TPkgManager.OnApplicationIdle(Sender: TObject; var Done: Boolean);
begin
if (Screen.ActiveCustomForm<>nil)
and (fsModal in Screen.ActiveCustomForm.FormState) then exit;

View File

@ -5,7 +5,7 @@ Section: devel
Priority: optional
Maintainer: Mattias Gaertner <mattias@freepascal.org>
Architecture: i386
Depends: fp-compiler (>=FPCVERSION), fpc-src (>=FPCVERSION), fp-ide (>=FPCVERSION), fp-units-base (>=FPCVERSION), fp-units-db (>=FPCVERSION), fp-units-fcl (>=FPCVERSION), fp-units-fv (>=FPCVERSION), fp-units-gfx (>=FPCVERSION), fp-units-gnome1 (>=FPCVERSION), fp-units-gtk (>=FPCVERSION), fp-units-gtk2 (>=FPCVERSION), fp-units-misc (>=FPCVERSION), fp-units-net (>=FPCVERSION), fp-units-rtl (>=FPCVERSION), fp-utils (>=FPCVERSION), libgdk-pixbuf-dev (>=0.17.0), libgtk1.2-dev, debhelper (>=4.0.0)
Depends: fp-compiler (>=FPCVERSION), fpc-src (>=FPCVERSION), fp-ide (>=FPCVERSION), fp-units-base (>=FPCVERSION), fp-units-db (>=FPCVERSION), fp-units-fcl (>=FPCVERSION), fp-units-fv (>=FPCVERSION), fp-units-gfx (>=FPCVERSION), fp-units-gnome1 (>=FPCVERSION), fp-units-gtk (>=FPCVERSION), fp-units-gtk2 (>=FPCVERSION), fp-units-misc (>=FPCVERSION), fp-units-net (>=FPCVERSION), fp-units-rtl (>=FPCVERSION), fp-utils (>=FPCVERSION), libgdk-pixbuf-dev (>=0.17.0), libgtk1.2-dev
Description: RAD tool for freepascal
Lazarus is a free and opensource IDE and RAD tool for Free Pascal using the
Lazarus component library LCL. The LCL is included in this package too.