This commit is contained in:
Basile Burg 2014-11-11 15:19:55 +01:00
parent d89a57a933
commit a10f438351
2 changed files with 5 additions and 68 deletions

View File

@ -7,14 +7,13 @@ interface
uses uses
Classes, SysUtils, FileUtil, ExtendedNotebook, Forms, Controls, lcltype, Classes, SysUtils, FileUtil, ExtendedNotebook, Forms, Controls, lcltype,
Graphics, SynEditKeyCmds, ComCtrls, SynEditHighlighter, ExtCtrls, Menus, Graphics, SynEditKeyCmds, ComCtrls, SynEditHighlighter, ExtCtrls, Menus,
SynEditHighlighterFoldBase, SynMacroRecorder, SynPluginSyncroEdit, SynEdit, SynMacroRecorder, SynPluginSyncroEdit, SynEdit, SynCompletion, ce_widget,
SynHighlighterLFM, SynCompletion, AnchorDocking, ce_widget, ce_d2syn, ce_interfaces, ce_interfaces, ce_synmemo, ce_dlang, ce_common, ce_dcd, ce_observer;
ce_synmemo, ce_dlang, ce_project, ce_common, types, ce_dcd, ce_observer;
type type
{ TCEEditorWidget } { TCEEditorWidget }
TCEEditorWidget = class(TCEWidget, ICEMultiDocObserver, ICEProjectObserver) TCEEditorWidget = class(TCEWidget, ICEMultiDocObserver)
imgList: TImageList; imgList: TImageList;
PageControl: TExtendedNotebook; PageControl: TExtendedNotebook;
macRecorder: TSynMacroRecorder; macRecorder: TSynMacroRecorder;
@ -24,18 +23,14 @@ type
var SourceStart, SourceEnd: TPoint; KeyChar: TUTF8Char; Shift: TShiftState); var SourceStart, SourceEnd: TPoint; KeyChar: TUTF8Char; Shift: TShiftState);
procedure completionExecute(Sender: TObject); procedure completionExecute(Sender: TObject);
procedure PageControlChange(Sender: TObject); procedure PageControlChange(Sender: TObject);
procedure PageControlCloseTabClicked(Sender: TObject);
protected protected
procedure UpdateByDelay; override; procedure UpdateByDelay; override;
procedure UpdateByEvent; override; procedure UpdateByEvent; override;
private private
fKeyChanged: boolean; fKeyChanged: boolean;
fProj: TCEProject;
fDoc: TCESynMemo; fDoc: TCESynMemo;
// http://bugs.freepascal.org/view.php?id=26329 // http://bugs.freepascal.org/view.php?id=26329
fSyncEdit: TSynPluginSyncroEdit; fSyncEdit: TSynPluginSyncroEdit;
tokLst: TLexTokenList; tokLst: TLexTokenList;
errLst: TLexErrorList; errLst: TLexErrorList;
procedure memoKeyPress(Sender: TObject; var Key: char); procedure memoKeyPress(Sender: TObject; var Key: char);
@ -61,20 +56,11 @@ type
procedure docFocused(aDoc: TCESynMemo); procedure docFocused(aDoc: TCESynMemo);
procedure docChanged(aDoc: TCESynMemo); procedure docChanged(aDoc: TCESynMemo);
// //
procedure projNew(aProject: TCEProject);
procedure projClosing(aProject: TCEProject);
procedure projFocused(aProject: TCEProject);
procedure projChanged(aProject: TCEProject);
//
procedure projCompile(aProject: TCEProject); //warning: removed from itf
procedure projRun(aProject: TCEProject); //warning: removed from itf
//
property editor[index: NativeInt]: TCESynMemo read getEditor; property editor[index: NativeInt]: TCESynMemo read getEditor;
property editorCount: NativeInt read getEditorCount; property editorCount: NativeInt read getEditorCount;
property editorIndex: NativeInt read getEditorIndex; property editorIndex: NativeInt read getEditorIndex;
end; end;
implementation implementation
{$R *.lfm} {$R *.lfm}
@ -140,42 +126,6 @@ begin
end; end;
{$ENDREGION} {$ENDREGION}
{$REGION ICEProjectObserver ----------------------------------------------------}
procedure TCEEditorWidget.projNew(aProject: TCEProject);
begin
fProj := aProject;
end;
procedure TCEEditorWidget.projClosing(aProject: TCEProject);
begin
if fProj <> aProject then
exit;
fProj := nil;
end;
procedure TCEEditorWidget.projFocused(aProject: TCEProject);
begin
fProj := aProject;
end;
procedure TCEEditorWidget.projChanged(aProject: TCEProject);
begin
if fProj <> aProject then
exit;
fProj := aProject;
end;
procedure TCEEditorWidget.projCompile(aProject: TCEProject);
begin
endUpdateByDelay; // warning not trigered anymore
end;
procedure TCEEditorWidget.projRun(aProject: TCEProject);
begin
endUpdateByDelay; // warning not trigered anymore
end;
{$ENDREGION}
function TCEEditorWidget.getEditorCount: NativeInt; function TCEEditorWidget.getEditorCount: NativeInt;
begin begin
result := pageControl.PageCount; result := pageControl.PageCount;
@ -225,12 +175,6 @@ begin
Value := Value[1..length(Value)-20]; Value := Value[1..length(Value)-20];
end; end;
procedure TCEEditorWidget.PageControlCloseTabClicked(Sender: TObject);
begin
// closeBtn not implemented (Win.)
CEMainForm.actFileClose.Execute;
end;
procedure TCEEditorWidget.addEditor; procedure TCEEditorWidget.addEditor;
var var
sheet: TTabSheet; sheet: TTabSheet;
@ -404,11 +348,6 @@ begin
fKeyChanged := false; fKeyChanged := false;
if fDoc.Lines.Count = 0 then exit; if fDoc.Lines.Count = 0 then exit;
// //
//if fProj = nil then
//CEMainForm.MessageWidget.ClearMessages(mcEditor)
//else begin
// if the source is in proj then we want to keep messages to correct mistakes.
//end;
lex(fDoc.Lines.Text, tokLst); lex(fDoc.Lines.Text, tokLst);

View File

@ -6,8 +6,8 @@ interface
uses uses
Classes, SysUtils, SynEdit, SynMemo, ce_d2syn, SynEditHighlighter, controls, Classes, SysUtils, SynEdit, SynMemo, ce_d2syn, SynEditHighlighter, controls,
lcltype, LazSynEditText, SynPluginSyncroEdit, SynEditKeyCmds, ce_project, lcltype, LazSynEditText, SynEditKeyCmds, SynHighlighterLFM, SynEditMouseCmds,
SynHighlighterLFM, SynEditMouseCmds, ce_common, ce_observer; ce_common, ce_observer;
type type
TCESynMemo = class(TSynMemo) TCESynMemo = class(TSynMemo)
@ -15,7 +15,6 @@ type
fFilename: string; fFilename: string;
fModified: boolean; fModified: boolean;
fFileDate: double; fFileDate: double;
fAssocProject: TCEProject;
fIsDSource: boolean; fIsDSource: boolean;
fIsConfig: boolean; fIsConfig: boolean;
fIdentifier: string; fIdentifier: string;
@ -45,7 +44,6 @@ type
property Identifier: string read fIdentifier; property Identifier: string read fIdentifier;
property fileName: string read fFilename; property fileName: string read fFilename;
property modified: boolean read fModified; property modified: boolean read fModified;
property project: TCEProject read fAssocProject write fAssocProject;
property tempFilename: string read fTempFileName; property tempFilename: string read fTempFileName;
// //
property isDSource: boolean read fIsDSource; property isDSource: boolean read fIsDSource;