mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 13:39:25 +02:00
MG: added complete properties checkbox and ecSaveAll
git-svn-id: trunk@1526 -
This commit is contained in:
parent
3d7960e165
commit
43f1cb10d1
@ -53,9 +53,11 @@ type
|
||||
|
||||
TCodeToolManager = class
|
||||
private
|
||||
FAddInheritedCodeToOverrideMethod: boolean;
|
||||
FAdjustTopLineDueToComment: boolean;
|
||||
FCatchExceptions: boolean;
|
||||
FCheckFilesOnDisk: boolean;
|
||||
FCompleteProperties: boolean;
|
||||
FCurCodeTool: TCodeCompletionCodeTool; // current codetool
|
||||
FCursorBeyondEOL: boolean;
|
||||
FErrorCode: TCodeBuffer;
|
||||
@ -83,7 +85,9 @@ type
|
||||
function FindCodeToolForSource(Code: TCodeBuffer): TCustomCodeTool;
|
||||
function GetCodeToolForSource(Code: TCodeBuffer;
|
||||
ExceptionOnError: boolean): TCustomCodeTool;
|
||||
procedure SetAddInheritedCodeToOverrideMethod(const AValue: boolean);
|
||||
procedure SetCheckFilesOnDisk(NewValue: boolean);
|
||||
procedure SetCompleteProperties(const AValue: boolean);
|
||||
procedure SetIndentSize(NewValue: integer);
|
||||
procedure SetVisibleEditorLines(NewValue: integer);
|
||||
procedure SetJumpCentered(NewValue: boolean);
|
||||
@ -140,6 +144,10 @@ type
|
||||
read FSetPropertyVariablename write FSetPropertyVariablename;
|
||||
property VisibleEditorLines: integer
|
||||
read FVisibleEditorLines write SetVisibleEditorLines;
|
||||
property CompleteProperties: boolean
|
||||
read FCompleteProperties write SetCompleteProperties;
|
||||
property AddInheritedCodeToOverrideMethod: boolean
|
||||
read FAddInheritedCodeToOverrideMethod write SetAddInheritedCodeToOverrideMethod;
|
||||
|
||||
// source changing
|
||||
procedure BeginUpdate;
|
||||
@ -300,8 +308,10 @@ begin
|
||||
SourceChangeCache.OnBeforeApplyChanges:=@BeforeApplyingChanges;
|
||||
SourceChangeCache.OnAfterApplyChanges:=@AfterApplyingChanges;
|
||||
GlobalValues:=TExpressionEvaluator.Create;
|
||||
FAddInheritedCodeToOverrideMethod:=true;
|
||||
FAdjustTopLineDueToComment:=true;
|
||||
FCatchExceptions:=true;
|
||||
FCompleteProperties:=true;
|
||||
FCursorBeyondEOL:=true;
|
||||
FIndentSize:=2;
|
||||
FJumpCentered:=true;
|
||||
@ -1278,6 +1288,14 @@ begin
|
||||
FCurCodeTool.CheckFilesOnDisk:=NewValue;
|
||||
end;
|
||||
|
||||
procedure TCodeToolManager.SetCompleteProperties(const AValue: boolean);
|
||||
begin
|
||||
if CompleteProperties=AValue then exit;
|
||||
FCompleteProperties:=AValue;
|
||||
if FCurCodeTool<>nil then
|
||||
FCurCodeTool.CompleteProperties:=AValue;
|
||||
end;
|
||||
|
||||
procedure TCodeToolManager.SetIndentSize(NewValue: integer);
|
||||
begin
|
||||
if NewValue=FIndentSize then exit;
|
||||
@ -1374,8 +1392,11 @@ begin
|
||||
Result.Scanner:=Code.Scanner;
|
||||
FSourceTools.Add(Result);
|
||||
end;
|
||||
TCodeCompletionCodeTool(Result).AdjustTopLineDueToComment:=
|
||||
FAdjustTopLineDueToComment;
|
||||
with TCodeCompletionCodeTool(Result) do begin
|
||||
AdjustTopLineDueToComment:=Self.AdjustTopLineDueToComment;
|
||||
AddInheritedCodeToOverrideMethod:=Self.AddInheritedCodeToOverrideMethod;
|
||||
CompleteProperties:=Self.CompleteProperties;
|
||||
end;
|
||||
Result.CheckFilesOnDisk:=FCheckFilesOnDisk;
|
||||
Result.IndentSize:=FIndentSize;
|
||||
Result.VisibleEditorLines:=FVisibleEditorLines;
|
||||
@ -1386,6 +1407,15 @@ begin
|
||||
Result.OnGetGlobalWriteLockInfo:=@OnToolGetWriteLockInfo;
|
||||
end;
|
||||
|
||||
procedure TCodeToolManager.SetAddInheritedCodeToOverrideMethod(
|
||||
const AValue: boolean);
|
||||
begin
|
||||
if FAddInheritedCodeToOverrideMethod=AValue then exit;
|
||||
FAddInheritedCodeToOverrideMethod:=AValue;
|
||||
if FCurCodeTool<>nil then
|
||||
FCurCodeTool.AddInheritedCodeToOverrideMethod:=AValue;
|
||||
end;
|
||||
|
||||
function TCodeToolManager.OnGetCodeToolForBuffer(Sender: TObject;
|
||||
Code: TCodeBuffer): TFindDeclarationTool;
|
||||
begin
|
||||
|
@ -41,6 +41,8 @@ type
|
||||
FCursorBeyondEOL: boolean;
|
||||
|
||||
// CodeCreation
|
||||
FAddInheritedCodeToOverrideMethod: boolean;
|
||||
FCompleteProperties: boolean;
|
||||
FLineLength: integer;
|
||||
FClassPartInsertPolicy: TClassPartInsertPolicy;
|
||||
FMethodInsertPolicy: TMethodInsertPolicy;
|
||||
@ -79,6 +81,10 @@ type
|
||||
read FCursorBeyondEOL write FCursorBeyondEOL;
|
||||
|
||||
// CodeCreation
|
||||
property CompleteProperties: boolean
|
||||
read FCompleteProperties write FCompleteProperties;
|
||||
property AddInheritedCodeToOverrideMethod: boolean
|
||||
read FAddInheritedCodeToOverrideMethod write FAddInheritedCodeToOverrideMethod;
|
||||
property LineLength: integer read FLineLength write FLineLength;
|
||||
property ClassPartInsertPolicy: TClassPartInsertPolicy
|
||||
read FClassPartInsertPolicy write FClassPartInsertPolicy;
|
||||
@ -124,7 +130,8 @@ type
|
||||
MethodInsertPolicyRadioGroup: TRadioGroup;
|
||||
KeyWordPolicyRadioGroup: TRadioGroup;
|
||||
IdentifierPolicyRadioGroup: TRadioGroup;
|
||||
PropertyPrePostfixesGroupBox: TGroupBox;
|
||||
PropertyCompletionGroupBox: TGroupBox;
|
||||
PropertyCompletionCheckBox: TCheckBox;
|
||||
PropertyReadIdentPrefixLabel: TLabel;
|
||||
PropertyReadIdentPrefixEdit: TEdit;
|
||||
PropertyWriteIdentPrefixLabel: TLabel;
|
||||
@ -150,9 +157,6 @@ type
|
||||
SpacePreviewGroupBox: TGroupBox;
|
||||
SpacePreviewSynEdit: TSynEdit;
|
||||
|
||||
// Defines
|
||||
// ToDo
|
||||
|
||||
// buttons at bottom
|
||||
OkButton: TButton;
|
||||
CancelButton: TButton;
|
||||
@ -309,6 +313,10 @@ begin
|
||||
'CodeToolsOptions/CursorBeyondEOL/Value',true);
|
||||
|
||||
// CodeCreation
|
||||
FAddInheritedCodeToOverrideMethod:=XMLConfig.GetValue(
|
||||
'CodeToolsOptions/AddInheritedCodeToOverrideMethod/Value',true);
|
||||
FCompleteProperties:=XMLConfig.GetValue(
|
||||
'CodeToolsOptions/CompleteProperties/Value',true);
|
||||
FLineLength:=XMLConfig.GetValue(
|
||||
'CodeToolsOptions/LineLengthXMLConfig/Value',80);
|
||||
FClassPartInsertPolicy:=ClassPartPolicyNameToPolicy(XMLConfig.GetValue(
|
||||
@ -368,6 +376,11 @@ begin
|
||||
FCursorBeyondEOL);
|
||||
|
||||
// CodeCreation
|
||||
XMLConfig.SetValue(
|
||||
'CodeToolsOptions/AddInheritedCodeToOverrideMethod/Value',
|
||||
AddInheritedCodeToOverrideMethod);
|
||||
XMLConfig.SetValue(
|
||||
'CodeToolsOptions/CompleteProperties/Value',CompleteProperties);
|
||||
XMLConfig.SetValue(
|
||||
'CodeToolsOptions/LineLengthXMLConfig/Value',FLineLength);
|
||||
XMLConfig.SetValue('CodeToolsOptions/ClassPartInsertPolicy/Value',
|
||||
@ -431,6 +444,8 @@ begin
|
||||
FAdjustTopLineDueToComment:=CodeToolsOpts.FAdjustTopLineDueToComment;
|
||||
FJumpCentered:=CodeToolsOpts.FJumpCentered;
|
||||
FCursorBeyondEOL:=CodeToolsOpts.FCursorBeyondEOL;
|
||||
FAddInheritedCodeToOverrideMethod:=CodeToolsOpts.AddInheritedCodeToOverrideMethod;
|
||||
FCompleteProperties:=CodeToolsOpts.CompleteProperties;
|
||||
|
||||
// CodeCreation
|
||||
FLineLength:=CodeToolsOpts.FLineLength;
|
||||
@ -462,6 +477,8 @@ begin
|
||||
FCursorBeyondEOL:=true;
|
||||
|
||||
// CodeCreation
|
||||
FAddInheritedCodeToOverrideMethod:=true;
|
||||
FCompleteProperties:=true;
|
||||
FLineLength:=80;
|
||||
FClassPartInsertPolicy:=cpipLast;
|
||||
FMethodInsertPolicy:=mipClassOrder;
|
||||
@ -486,6 +503,8 @@ begin
|
||||
and (FAdjustTopLineDueToComment=CodeToolsOpts.FAdjustTopLineDueToComment)
|
||||
and (FJumpCentered=CodeToolsOpts.FJumpCentered)
|
||||
and (FCursorBeyondEOL=CodeToolsOpts.FCursorBeyondEOL)
|
||||
and (AddInheritedCodeToOverrideMethod=CodeToolsOpts.AddInheritedCodeToOverrideMethod)
|
||||
and (CompleteProperties=CodeToolsOpts.CompleteProperties)
|
||||
|
||||
// CodeCreation
|
||||
and (FLineLength=CodeToolsOpts.FLineLength)
|
||||
@ -519,6 +538,8 @@ begin
|
||||
Boss.AdjustTopLineDueToComment:=AdjustTopLineDueToComment;
|
||||
Boss.JumpCentered:=JumpCentered;
|
||||
Boss.CursorBeyondEOL:=CursorBeyondEOL;
|
||||
Boss.AddInheritedCodeToOverrideMethod:=AddInheritedCodeToOverrideMethod;
|
||||
Boss.CompleteProperties:=CompleteProperties;
|
||||
|
||||
// CreateCode - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||
with Boss.SourceChangeCache do begin
|
||||
@ -743,22 +764,33 @@ begin
|
||||
Visible:=true;
|
||||
end;
|
||||
|
||||
PropertyPrePostfixesGroupBox:=TGroupBox.Create(Self);
|
||||
with PropertyPrePostfixesGroupBox do begin
|
||||
Name:='PropertyPrePostfixesGroupBox';
|
||||
PropertyCompletionGroupBox:=TGroupBox.Create(Self);
|
||||
with PropertyCompletionGroupBox do begin
|
||||
Name:='PropertyCompletionGroupBox';
|
||||
Parent:=NoteBook.Page[1];
|
||||
SetBounds(KeyWordPolicyRadioGroup.Left,
|
||||
KeyWordPolicyRadioGroup.Top+KeyWordPolicyRadioGroup.Height+7,
|
||||
Self.ClientWidth-20,100);
|
||||
Caption:='Property completion identifiers';
|
||||
Self.ClientWidth-20,125);
|
||||
Caption:='Property completion';
|
||||
Visible:=true;
|
||||
end;
|
||||
|
||||
PropertyCompletionCheckBox:=TCheckBox.Create(Self);
|
||||
with PropertyCompletionCheckBox do begin
|
||||
Name:='PropertyCompletionCheckBox';
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(6,5,200,Height);
|
||||
Caption:='Complete properties';
|
||||
Visible:=true;
|
||||
end;
|
||||
|
||||
PropertyReadIdentPrefixLabel:=TLabel.Create(Self);
|
||||
with PropertyReadIdentPrefixLabel do begin
|
||||
Name:='PropertyReadIdentPrefixLabel';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
SetBounds(6,5,100,Height);
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(PropertyCompletionCheckBox.Left,
|
||||
PropertyCompletionCheckBox.Top+PropertyCompletionCheckBox.Height+5,
|
||||
100,Height);
|
||||
Caption:='Read prefix';
|
||||
Visible:=true;
|
||||
end;
|
||||
@ -766,7 +798,7 @@ begin
|
||||
PropertyReadIdentPrefixEdit:=TEdit.Create(Self);
|
||||
with PropertyReadIdentPrefixEdit do begin
|
||||
Name:='PropertyReadIdentPrefixEdit';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(110,PropertyReadIdentPrefixLabel.Top,80,Height);
|
||||
Visible:=true;
|
||||
end;
|
||||
@ -774,7 +806,7 @@ begin
|
||||
PropertyWriteIdentPrefixLabel:=TLabel.Create(Self);
|
||||
with PropertyWriteIdentPrefixLabel do begin
|
||||
Name:='PropertyWriteIdentPrefixLabel';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(6,PropertyReadIdentPrefixLabel.Top
|
||||
+PropertyReadIdentPrefixLabel.Height+5,
|
||||
PropertyReadIdentPrefixLabel.Width,Height);
|
||||
@ -785,7 +817,7 @@ begin
|
||||
PropertyWriteIdentPrefixEdit:=TEdit.Create(Self);
|
||||
with PropertyWriteIdentPrefixEdit do begin
|
||||
Name:='PropertyWriteIdentPrefixEdit';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(PropertyReadIdentPrefixEdit.Left,
|
||||
PropertyWriteIdentPrefixLabel.Top,80,Height);
|
||||
Visible:=true;
|
||||
@ -794,7 +826,7 @@ begin
|
||||
PropertyStoredIdentPostfixLabel:=TLabel.Create(Self);
|
||||
with PropertyStoredIdentPostfixLabel do begin
|
||||
Name:='PropertyStoredIdentPostfixLabel';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(6,PropertyWriteIdentPrefixLabel.Top
|
||||
+PropertyWriteIdentPrefixLabel.Height+5,
|
||||
PropertyReadIdentPrefixLabel.Width,Height);
|
||||
@ -805,7 +837,7 @@ begin
|
||||
PropertyStoredIdentPostfixEdit:=TEdit.Create(Self);
|
||||
with PropertyStoredIdentPostfixEdit do begin
|
||||
Name:='PropertyStoredIdentPostfixEdit';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(PropertyReadIdentPrefixEdit.Left,
|
||||
PropertyStoredIdentPostfixLabel.Top,80,Height);
|
||||
Visible:=true;
|
||||
@ -814,8 +846,8 @@ begin
|
||||
PrivatVariablePrefixLabel:=TLabel.Create(Self);
|
||||
with PrivatVariablePrefixLabel do begin
|
||||
Name:='PrivatVariablePrefixLabel';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
SetBounds((PropertyPrePostfixesGroupBox.ClientWidth-20) div 2,
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds((PropertyCompletionGroupBox.ClientWidth-20) div 2,
|
||||
PropertyReadIdentPrefixLabel.Top,120,Height);
|
||||
Caption:='Variable prefix';
|
||||
Visible:=true;
|
||||
@ -824,7 +856,7 @@ begin
|
||||
PrivatVariablePrefixEdit:=TEdit.Create(Self);
|
||||
with PrivatVariablePrefixEdit do begin
|
||||
Name:='PrivatVariablePrefixEdit';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(PrivatVariablePrefixLabel.Left+150,PrivatVariablePrefixLabel.Top,
|
||||
80,Height);
|
||||
Visible:=true;
|
||||
@ -833,7 +865,7 @@ begin
|
||||
SetPropertyVariablenameLabel:=TLabel.Create(Self);
|
||||
with SetPropertyVariablenameLabel do begin
|
||||
Name:='SetPropertyVariablenameLabel';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(PrivatVariablePrefixLabel.Left,
|
||||
PrivatVariablePrefixLabel.Top+PrivatVariablePrefixLabel.Height+5,
|
||||
120,Height);
|
||||
@ -844,7 +876,7 @@ begin
|
||||
SetPropertyVariablenameEdit:=TEdit.Create(Self);
|
||||
with SetPropertyVariablenameEdit do begin
|
||||
Name:='SetPropertyVariablenameEdit';
|
||||
Parent:=PropertyPrePostfixesGroupBox;
|
||||
Parent:=PropertyCompletionGroupBox;
|
||||
SetBounds(PrivatVariablePrefixEdit.Left,
|
||||
PrivatVariablePrefixLabel.Top+PrivatVariablePrefixLabel.Height+5,
|
||||
80,Height);
|
||||
@ -1087,6 +1119,7 @@ begin
|
||||
SetAtomCheckBoxes(Options.DoNotSplitLineAfter,DoNotSplitLineAfterGroupBox);
|
||||
SetAtomCheckBoxes(Options.DoInsertSpaceInFront,DoInsertSpaceInFrontGroupBox);
|
||||
SetAtomCheckBoxes(Options.DoInsertSpaceAfter,DoInsertSpaceAfterGroupBox);
|
||||
PropertyCompletionCheckBox.Checked:=Options.CompleteProperties;
|
||||
PropertyReadIdentPrefixEdit.Text:=Options.PropertyReadIdentPrefix;
|
||||
PropertyWriteIdentPrefixEdit.Text:=Options.PropertyWriteIdentPrefix;
|
||||
PropertyStoredIdentPostfixEdit.Text:=Options.PropertyStoredIdentPostfix;
|
||||
@ -1131,6 +1164,7 @@ begin
|
||||
Options.DoNotSplitLineAfter:=ReadAtomCheckBoxes(DoNotSplitLineAfterGroupBox);
|
||||
Options.DoInsertSpaceInFront:=ReadAtomCheckBoxes(DoInsertSpaceInFrontGroupBox);
|
||||
Options.DoInsertSpaceAfter:=ReadAtomCheckBoxes(DoInsertSpaceAfterGroupBox);
|
||||
Options.CompleteProperties:=PropertyCompletionCheckBox.Checked;
|
||||
Options.PropertyReadIdentPrefix:=
|
||||
ReadIdentifier(PropertyReadIdentPrefixEdit.Text,'Get');
|
||||
Options.PropertyWriteIdentPrefix:=
|
||||
|
22
ide/main.pp
22
ide/main.pp
@ -1838,15 +1838,18 @@ Procedure TMainIDE.OnSrcNotebookProcessCommand(Sender: TObject;
|
||||
begin
|
||||
Handled:=true;
|
||||
case Command of
|
||||
ecBuild,
|
||||
ecBuildAll: DoBuildProject(Command=ecBuildAll);
|
||||
ecSaveAll:
|
||||
DoSaveAll;
|
||||
|
||||
ecBuild,
|
||||
ecBuildAll: DoBuildProject(Command=ecBuildAll);
|
||||
|
||||
ecRun: DoRunProject;
|
||||
ecPause: DoPauseProject;
|
||||
ecStepInto: DoStepIntoProject;
|
||||
ecStepOver: DoStepOverProject;
|
||||
ecRunToCursor: DoRunToCursor;
|
||||
ecStopProgram: DoStopProject;
|
||||
ecRun: DoRunProject;
|
||||
ecPause: DoPauseProject;
|
||||
ecStepInto: DoStepIntoProject;
|
||||
ecStepOver: DoStepOverProject;
|
||||
ecRunToCursor: DoRunToCursor;
|
||||
ecStopProgram: DoStopProject;
|
||||
|
||||
ecFindProcedureDefinition,ecFindProcedureMethod:
|
||||
DoJumpToProcedureSection;
|
||||
@ -6285,6 +6288,9 @@ end.
|
||||
|
||||
{ =============================================================================
|
||||
$Log$
|
||||
Revision 1.246 2002/03/18 12:29:53 lazarus
|
||||
MG: added complete properties checkbox and ecSaveAll
|
||||
|
||||
Revision 1.245 2002/03/14 14:39:39 lazarus
|
||||
MG: implemented run parameters: wd, launching app, sys vars
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user