mirror of https://gitlab.com/basile.b/dexed.git
or_3
This commit is contained in:
parent
c4ec74e3e1
commit
5987571333
|
@ -15,8 +15,7 @@ uses
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TCEEditorWidget }
|
{ TCEEditorWidget }
|
||||||
|
TCEEditorWidget = class(TCEWidget, ICEMultiDocObserver, ICEProjectObserver)
|
||||||
TCEEditorWidget = class(TCEWidget, ICEProjectObserver)
|
|
||||||
imgList: TImageList;
|
imgList: TImageList;
|
||||||
PageControl: TExtendedNotebook;
|
PageControl: TExtendedNotebook;
|
||||||
macRecorder: TSynMacroRecorder;
|
macRecorder: TSynMacroRecorder;
|
||||||
|
@ -33,6 +32,7 @@ type
|
||||||
private
|
private
|
||||||
fKeyChanged: boolean;
|
fKeyChanged: boolean;
|
||||||
fProj: TCEProject;
|
fProj: TCEProject;
|
||||||
|
fDoc: TCESynMemo;
|
||||||
|
|
||||||
// http://bugs.freepascal.org/view.php?id=26329
|
// http://bugs.freepascal.org/view.php?id=26329
|
||||||
fSyncEdit: TSynPluginSyncroEdit;
|
fSyncEdit: TSynPluginSyncroEdit;
|
||||||
|
@ -44,7 +44,6 @@ type
|
||||||
procedure memoMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
procedure memoMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
procedure memoChange(Sender: TObject);
|
procedure memoChange(Sender: TObject);
|
||||||
procedure memoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
|
procedure memoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
|
||||||
function getCurrentEditor: TCESynMemo;
|
|
||||||
function getEditor(index: NativeInt): TCESynMemo;
|
function getEditor(index: NativeInt): TCESynMemo;
|
||||||
function getEditorCount: NativeInt;
|
function getEditorCount: NativeInt;
|
||||||
function getEditorIndex: NativeInt;
|
function getEditorIndex: NativeInt;
|
||||||
|
@ -58,16 +57,19 @@ type
|
||||||
procedure focusedEditorChanged;
|
procedure focusedEditorChanged;
|
||||||
function getEditorHint: string;
|
function getEditorHint: string;
|
||||||
//
|
//
|
||||||
|
procedure docNew(const aDoc: TCESynMemo);
|
||||||
|
procedure docClosing(const aDoc: TCESynMemo);
|
||||||
|
procedure docFocused(const aDoc: TCESynMemo);
|
||||||
|
procedure docChanged(const aDoc: TCESynMemo);
|
||||||
|
//
|
||||||
procedure projNew(const aProject: TCEProject);
|
procedure projNew(const aProject: TCEProject);
|
||||||
procedure projClosing(const aProject: TCEProject);
|
procedure projClosing(const aProject: TCEProject);
|
||||||
procedure projFocused(const aProject: TCEProject);
|
procedure projFocused(const aProject: TCEProject);
|
||||||
procedure projChanged(const aProject: TCEProject);
|
procedure projChanged(const aProject: TCEProject);
|
||||||
|
//
|
||||||
procedure projCompile(const aProject: TCEProject); //warning: removed from itf
|
procedure projCompile(const aProject: TCEProject); //warning: removed from itf
|
||||||
procedure projRun(const aProject: TCEProject); //warning: removed from itf
|
procedure projRun(const aProject: TCEProject); //warning: removed from itf
|
||||||
|
|
||||||
//
|
//
|
||||||
property currentEditor: TCESynMemo read getCurrentEditor;
|
|
||||||
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;
|
||||||
|
@ -80,6 +82,7 @@ implementation
|
||||||
uses
|
uses
|
||||||
ce_main, ce_messages;
|
ce_main, ce_messages;
|
||||||
|
|
||||||
|
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||||
constructor TCEEditorWidget.create(aOwner: TComponent);
|
constructor TCEEditorWidget.create(aOwner: TComponent);
|
||||||
var
|
var
|
||||||
bmp: TBitmap;
|
bmp: TBitmap;
|
||||||
|
@ -97,6 +100,8 @@ begin
|
||||||
finally
|
finally
|
||||||
bmp.Free;
|
bmp.Free;
|
||||||
end;
|
end;
|
||||||
|
//
|
||||||
|
EntitiesConnector.addObserver(self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
destructor TCEEditorWidget.destroy;
|
destructor TCEEditorWidget.destroy;
|
||||||
|
@ -105,6 +110,64 @@ begin
|
||||||
errLst.Free;
|
errLst.Free;
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
{$ENDREGION}
|
||||||
|
|
||||||
|
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
||||||
|
procedure TCEEditorWidget.docNew(const aDoc: TCESynMemo);
|
||||||
|
begin
|
||||||
|
fDoc := aDoc;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.docClosing(const aDoc: TCESynMemo);
|
||||||
|
begin
|
||||||
|
fDoc := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.docFocused(const aDoc: TCESynMemo);
|
||||||
|
begin
|
||||||
|
fDoc := aDoc;
|
||||||
|
focusedEditorChanged;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.docChanged(const aDoc: TCESynMemo);
|
||||||
|
begin
|
||||||
|
if fDoc <> aDoc then exit;
|
||||||
|
fKeyChanged := true;
|
||||||
|
beginUpdateByDelay;
|
||||||
|
UpdateByEvent;
|
||||||
|
end;
|
||||||
|
{$ENDREGION}
|
||||||
|
|
||||||
|
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||||
|
procedure TCEEditorWidget.projNew(const aProject: TCEProject);
|
||||||
|
begin
|
||||||
|
fProj := aProject;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.projClosing(const aProject: TCEProject);
|
||||||
|
begin
|
||||||
|
fProj := nil;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.projFocused(const aProject: TCEProject);
|
||||||
|
begin
|
||||||
|
fProj := aProject;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.projChanged(const aProject: TCEProject);
|
||||||
|
begin
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.projCompile(const aProject: TCEProject);
|
||||||
|
begin
|
||||||
|
endUpdateByDelay; // warning not trigered anymore
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TCEEditorWidget.projRun(const aProject: TCEProject);
|
||||||
|
begin
|
||||||
|
endUpdateByDelay; // warning not trigered anymore
|
||||||
|
end;
|
||||||
|
{$ENDREGION}
|
||||||
|
|
||||||
function TCEEditorWidget.getEditorCount: NativeInt;
|
function TCEEditorWidget.getEditorCount: NativeInt;
|
||||||
begin
|
begin
|
||||||
|
@ -118,41 +181,27 @@ begin
|
||||||
else result := -1;
|
else result := -1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCEEditorWidget.getCurrentEditor: TCESynMemo;
|
|
||||||
begin
|
|
||||||
if pageControl.PageCount = 0 then result := nil
|
|
||||||
else result := TCESynMemo(pageControl.ActivePage.Controls[0]);
|
|
||||||
end;
|
|
||||||
|
|
||||||
function TCEEditorWidget.getEditor(index: NativeInt): TCESynMemo;
|
function TCEEditorWidget.getEditor(index: NativeInt): TCESynMemo;
|
||||||
begin
|
begin
|
||||||
result := TCESynMemo(pageControl.Pages[index].Controls[0]);
|
result := TCESynMemo(pageControl.Pages[index].Controls[0]);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.focusedEditorChanged;
|
procedure TCEEditorWidget.focusedEditorChanged;
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := getCurrentEditor;
|
if fDoc = nil then exit;
|
||||||
macRecorder.Editor := curr;
|
|
||||||
fSyncEdit.Editor := curr;
|
|
||||||
completion.Editor := curr;
|
|
||||||
//
|
//
|
||||||
if pageControl.ActivePageIndex <> -1 then
|
macRecorder.Editor := fDoc;
|
||||||
begin
|
fSyncEdit.Editor := fDoc;
|
||||||
//CEMainForm.docFocusedNotify(Self, pageControl.ActivePageIndex);
|
completion.Editor := fDoc;
|
||||||
if (pageControl.ActivePage.Caption = '') then
|
if (pageControl.ActivePage.Caption = '') then
|
||||||
begin
|
begin
|
||||||
fKeyChanged := true;
|
fKeyChanged := true;
|
||||||
beginUpdateByDelay;
|
beginUpdateByDelay;
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.PageControlChange(Sender: TObject);
|
procedure TCEEditorWidget.PageControlChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
//http://bugs.freepascal.org/view.php?id=26320
|
|
||||||
focusedEditorChanged;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.completionExecute(Sender: TObject);
|
procedure TCEEditorWidget.completionExecute(Sender: TObject);
|
||||||
|
@ -189,14 +238,14 @@ begin
|
||||||
memo.OnKeyUp := @memoKeyDown;
|
memo.OnKeyUp := @memoKeyDown;
|
||||||
memo.OnKeyPress := @memoKeyPress;
|
memo.OnKeyPress := @memoKeyPress;
|
||||||
memo.OnMouseDown := @memoMouseDown;
|
memo.OnMouseDown := @memoMouseDown;
|
||||||
memo.OnChange := @memoChange;
|
//memo.OnChange := @memoChange;
|
||||||
|
|
||||||
memo.OnMouseMove := @memoMouseMove;
|
memo.OnMouseMove := @memoMouseMove;
|
||||||
//
|
//
|
||||||
pageControl.ActivePage := sheet;
|
pageControl.ActivePage := sheet;
|
||||||
|
|
||||||
//http://bugs.freepascal.org/view.php?id=26320
|
//http://bugs.freepascal.org/view.php?id=26320
|
||||||
focusedEditorChanged;
|
//focusedEditorChanged;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.removeEditor(const aIndex: NativeInt);
|
procedure TCEEditorWidget.removeEditor(const aIndex: NativeInt);
|
||||||
|
@ -222,7 +271,6 @@ end;
|
||||||
procedure TCEEditorWidget.memoKeyPress(Sender: TObject; var Key: char);
|
procedure TCEEditorWidget.memoKeyPress(Sender: TObject; var Key: char);
|
||||||
var
|
var
|
||||||
pt: Tpoint;
|
pt: Tpoint;
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
fKeyChanged := true;
|
fKeyChanged := true;
|
||||||
if Key = '.' then
|
if Key = '.' then
|
||||||
|
@ -250,65 +298,30 @@ end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.memoChange(Sender: TObject);
|
procedure TCEEditorWidget.memoChange(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
fKeyChanged := true;
|
|
||||||
beginUpdateByDelay;
|
|
||||||
UpdateByEvent;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.projNew(const aProject: TCEProject);
|
|
||||||
begin
|
|
||||||
fProj := aProject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.projClosing(const aProject: TCEProject);
|
|
||||||
begin
|
|
||||||
fProj := nil;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.projFocused(const aProject: TCEProject);
|
|
||||||
begin
|
|
||||||
fProj := aProject;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.projChanged(const aProject: TCEProject);
|
|
||||||
begin
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.projCompile(const aProject: TCEProject);
|
|
||||||
begin
|
|
||||||
endUpdateByDelay; // warning not trigered anymore
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.projRun(const aProject: TCEProject);
|
|
||||||
begin
|
|
||||||
endUpdateByDelay; // warning not trigered anymore
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.getSymbolLoc;
|
procedure TCEEditorWidget.getSymbolLoc;
|
||||||
var
|
var
|
||||||
curr: TCESynMemo;
|
|
||||||
str: TMemoryStream;
|
str: TMemoryStream;
|
||||||
srcpos: Integer;
|
srcpos: Integer;
|
||||||
ftempname, fname: string;
|
ftempname, fname: string;
|
||||||
begin
|
begin
|
||||||
if not dcdOn then exit;
|
if not dcdOn then exit;
|
||||||
//
|
if fDoc = nil then exit;
|
||||||
curr := getCurrentEditor;
|
|
||||||
if curr = nil then exit;
|
|
||||||
//
|
//
|
||||||
str := TMemoryStream.Create;
|
str := TMemoryStream.Create;
|
||||||
try
|
try
|
||||||
ftempname := curr.tempFilename;
|
ftempname := fDoc.tempFilename;
|
||||||
curr.Lines.SaveToStream(str);
|
fDoc.Lines.SaveToStream(str);
|
||||||
str.SaveToFile(ftempname);
|
str.SaveToFile(ftempname);
|
||||||
fname := ftempname;
|
fname := ftempname;
|
||||||
srcpos := curr.SelStart;
|
srcpos := fDoc.SelStart;
|
||||||
if curr.GetWordAtRowCol(curr.LogicalCaretXY) <> '' then
|
if fDoc.GetWordAtRowCol(fDoc.LogicalCaretXY) <> '' then
|
||||||
ce_dcd.getSymbolLoc(fname, srcpos);
|
ce_dcd.getSymbolLoc(fname, srcpos);
|
||||||
if fname <> ftempname then if fileExists(fname) then
|
if fname <> ftempname then if fileExists(fname) then
|
||||||
CEMainForm.openFile(fname);
|
CEMainForm.openFile(fname);
|
||||||
if srcpos <> -1 then
|
if srcpos <> -1 then
|
||||||
getCurrentEditor.SelStart := srcpos;
|
fDoc.SelStart := srcpos; // fDoc probably not be updated
|
||||||
finally
|
finally
|
||||||
str.Free;
|
str.Free;
|
||||||
end;
|
end;
|
||||||
|
@ -316,23 +329,20 @@ end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.getCompletionList;
|
procedure TCEEditorWidget.getCompletionList;
|
||||||
var
|
var
|
||||||
curr: TCESynMemo;
|
|
||||||
str: TMemoryStream;
|
str: TMemoryStream;
|
||||||
srcpos: NativeInt;
|
srcpos: NativeInt;
|
||||||
fname: string;
|
fname: string;
|
||||||
begin
|
begin
|
||||||
if not dcdOn then exit;
|
if not dcdOn then exit;
|
||||||
//
|
if fDoc = nil then exit;
|
||||||
curr := getCurrentEditor;
|
|
||||||
if curr = nil then exit;
|
|
||||||
//
|
//
|
||||||
str := TMemoryStream.Create;
|
str := TMemoryStream.Create;
|
||||||
try
|
try
|
||||||
completion.Position := 0; // previous index could cause an error here.
|
completion.Position := 0; // previous index could cause an error here.
|
||||||
fname := curr.tempFilename;
|
fname := fDoc.tempFilename;
|
||||||
curr.Lines.SaveToStream(str);
|
fDoc.Lines.SaveToStream(str);
|
||||||
str.SaveToFile(fname);
|
str.SaveToFile(fname);
|
||||||
srcpos := curr.SelStart;
|
srcpos := fDoc.SelStart;
|
||||||
completion.ItemList.Clear;
|
completion.ItemList.Clear;
|
||||||
ce_dcd.getCompletion(fname, srcpos, completion.ItemList);
|
ce_dcd.getCompletion(fname, srcpos, completion.ItemList);
|
||||||
finally
|
finally
|
||||||
|
@ -342,7 +352,6 @@ end;
|
||||||
|
|
||||||
function TCEEditorWidget.getEditorHint: string;
|
function TCEEditorWidget.getEditorHint: string;
|
||||||
var
|
var
|
||||||
curr: TCESynMemo;
|
|
||||||
str: TMemoryStream;
|
str: TMemoryStream;
|
||||||
lst: TStringList;
|
lst: TStringList;
|
||||||
srcpos: NativeInt;
|
srcpos: NativeInt;
|
||||||
|
@ -350,18 +359,16 @@ var
|
||||||
begin
|
begin
|
||||||
result := '';
|
result := '';
|
||||||
if not dcdOn then exit;
|
if not dcdOn then exit;
|
||||||
//
|
if fDoc = nil then exit;
|
||||||
curr := getCurrentEditor;
|
|
||||||
if curr = nil then exit;
|
|
||||||
//
|
//
|
||||||
str := TMemoryStream.Create;
|
str := TMemoryStream.Create;
|
||||||
lst := TStringList.Create;
|
lst := TStringList.Create;
|
||||||
try
|
try
|
||||||
fname := curr.tempFilename;
|
fname := fDoc.tempFilename;
|
||||||
curr.Lines.SaveToStream(str);
|
fDoc.Lines.SaveToStream(str);
|
||||||
str.SaveToFile(fname);
|
str.SaveToFile(fname);
|
||||||
srcpos := curr.SelStart;
|
srcpos := fDoc.SelStart;
|
||||||
if curr.GetWordAtRowCol(curr.LogicalCaretXY) <> '' then
|
if fDoc.GetWordAtRowCol(fDoc.LogicalCaretXY) <> '' then
|
||||||
ce_dcd.getHint(fname, srcpos, lst);
|
ce_dcd.getHint(fname, srcpos, lst);
|
||||||
result := lst.Text;
|
result := lst.Text;
|
||||||
finally
|
finally
|
||||||
|
@ -373,31 +380,25 @@ end;
|
||||||
procedure TCEEditorWidget.UpdateByEvent;
|
procedure TCEEditorWidget.UpdateByEvent;
|
||||||
const
|
const
|
||||||
modstr: array[boolean] of string = ('...', 'MODIFIED');
|
modstr: array[boolean] of string = ('...', 'MODIFIED');
|
||||||
var
|
|
||||||
ed: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
ed := getCurrentEditor;
|
if fDoc = nil then exit;
|
||||||
if ed = nil then exit;
|
|
||||||
//
|
//
|
||||||
editorStatus.Panels[0].Text := format('%d : %d',[ed.CaretY, ed.CaretX]);
|
editorStatus.Panels[0].Text := format('%d : %d',[fDoc.CaretY, fDoc.CaretX]);
|
||||||
editorStatus.Panels[1].Text := modstr[ed.modified];
|
editorStatus.Panels[1].Text := modstr[fDoc.modified];
|
||||||
editorStatus.Panels[2].Text := ed.fileName;
|
editorStatus.Panels[2].Text := fDoc.fileName;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.UpdateByDelay;
|
procedure TCEEditorWidget.UpdateByDelay;
|
||||||
var
|
var
|
||||||
dt: PMessageItemData;
|
dt: PMessageItemData;
|
||||||
ed: TCESynMemo;
|
|
||||||
err: TLexError;
|
err: TLexError;
|
||||||
md: string;
|
md: string;
|
||||||
begin
|
begin
|
||||||
ed := getCurrentEditor;
|
if fDoc = nil then exit;
|
||||||
if ed = nil then exit;
|
|
||||||
if not fKeyChanged then exit;
|
if not fKeyChanged then exit;
|
||||||
//
|
//
|
||||||
fKeyChanged := false;
|
fKeyChanged := false;
|
||||||
//CEMainForm.docChangeNotify(Self, editorIndex);
|
if fDoc.Lines.Count = 0 then exit;
|
||||||
if ed.Lines.Count = 0 then exit;
|
|
||||||
//
|
//
|
||||||
if fProj = nil then
|
if fProj = nil then
|
||||||
CEMainForm.MessageWidget.ClearMessages(mcEditor)
|
CEMainForm.MessageWidget.ClearMessages(mcEditor)
|
||||||
|
@ -405,14 +406,14 @@ begin
|
||||||
// if the source is in proj then we want to keep messages to correct mistakes.
|
// if the source is in proj then we want to keep messages to correct mistakes.
|
||||||
end;
|
end;
|
||||||
|
|
||||||
lex(ed.Lines.Text, tokLst);
|
lex(fDoc.Lines.Text, tokLst);
|
||||||
|
|
||||||
if ed.isDSource then
|
if fDoc.isDSource then
|
||||||
begin
|
begin
|
||||||
checkSyntacticErrors(tokLst, errLst);
|
checkSyntacticErrors(tokLst, errLst);
|
||||||
for err in errLst do begin
|
for err in errLst do begin
|
||||||
dt := newMessageData;
|
dt := newMessageData;
|
||||||
dt^.editor := ed;
|
dt^.editor := fDoc;
|
||||||
dt^.position := point(err.position.x, err.position.y);
|
dt^.position := point(err.position.x, err.position.y);
|
||||||
dt^.ctxt := mcEditor;
|
dt^.ctxt := mcEditor;
|
||||||
CEMainForm.MessageWidget.addMessage(format( '%s (@line:%.4d @char:%.4d)',
|
CEMainForm.MessageWidget.addMessage(format( '%s (@line:%.4d @char:%.4d)',
|
||||||
|
@ -421,9 +422,9 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
md := '';
|
md := '';
|
||||||
if ed.isDSource then
|
if fDoc.isDSource then
|
||||||
md := getModuleName(tokLst);
|
md := getModuleName(tokLst);
|
||||||
if md = '' then md := extractFileName(ed.fileName);
|
if md = '' then md := extractFileName(fDoc.fileName);
|
||||||
pageControl.ActivePage.Caption := md;
|
pageControl.ActivePage.Caption := md;
|
||||||
|
|
||||||
CEMainForm.MessageWidget.scrollToBack;
|
CEMainForm.MessageWidget.scrollToBack;
|
||||||
|
|
101
src/ce_main.pas
101
src/ce_main.pas
|
@ -1015,7 +1015,7 @@ end;
|
||||||
procedure TCEMainForm.actFileNewRunExecute(Sender: TObject);
|
procedure TCEMainForm.actFileNewRunExecute(Sender: TObject);
|
||||||
begin
|
begin
|
||||||
newFile;
|
newFile;
|
||||||
fEditWidg.currentEditor.Text :=
|
fDoc.Text :=
|
||||||
'module runnable;' + LineEnding +
|
'module runnable;' + LineEnding +
|
||||||
'' + LineEnding +
|
'' + LineEnding +
|
||||||
'import std.stdio;' + LineEnding +
|
'import std.stdio;' + LineEnding +
|
||||||
|
@ -1098,80 +1098,61 @@ end;
|
||||||
|
|
||||||
{$REGION edit ------------------------------------------------------------------}
|
{$REGION edit ------------------------------------------------------------------}
|
||||||
procedure TCEMainForm.actEdCopyExecute(Sender: TObject);
|
procedure TCEMainForm.actEdCopyExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then curr.CopyToClipboard;
|
fDoc.CopyToClipboard;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdCutExecute(Sender: TObject);
|
procedure TCEMainForm.actEdCutExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then curr.CutToClipboard;
|
fDoc.CutToClipboard;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdPasteExecute(Sender: TObject);
|
procedure TCEMainForm.actEdPasteExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then curr.PasteFromClipboard;
|
fDoc.PasteFromClipboard;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdUndoExecute(Sender: TObject);
|
procedure TCEMainForm.actEdUndoExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then curr.Undo;
|
fDoc.Undo;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdRedoExecute(Sender: TObject);
|
procedure TCEMainForm.actEdRedoExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then curr.Redo;
|
fDoc.Redo;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdMacPlayExecute(Sender: TObject);
|
procedure TCEMainForm.actEdMacPlayExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then fEditWidg.macRecorder.PlaybackMacro(curr);
|
fEditWidg.macRecorder.PlaybackMacro(fDoc);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdMacStartStopExecute(Sender: TObject);
|
procedure TCEMainForm.actEdMacStartStopExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then
|
|
||||||
begin
|
begin
|
||||||
if fEditWidg.macRecorder.State = msRecording then
|
if fEditWidg.macRecorder.State = msRecording then
|
||||||
fEditWidg.macRecorder.Stop
|
fEditWidg.macRecorder.Stop
|
||||||
else fEditWidg.macRecorder.RecordMacro(curr);
|
else fEditWidg.macRecorder.RecordMacro(fDoc);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdIndentExecute(Sender: TObject);
|
procedure TCEMainForm.actEdIndentExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then curr.ExecuteCommand(ecBlockIndent, '', nil);
|
fDoc.ExecuteCommand(ecBlockIndent, '', nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdUnIndentExecute(Sender: TObject);
|
procedure TCEMainForm.actEdUnIndentExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := fEditWidg.currentEditor;
|
if assigned(fDoc) then
|
||||||
if assigned(curr) then curr.ExecuteCommand(ecBlockUnIndent, '', nil);
|
fDoc.ExecuteCommand(ecBlockUnIndent, '', nil);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actEdFindExecute(Sender: TObject);
|
procedure TCEMainForm.actEdFindExecute(Sender: TObject);
|
||||||
|
@ -1184,11 +1165,11 @@ begin
|
||||||
if win = nil then exit;
|
if win = nil then exit;
|
||||||
win.Show;
|
win.Show;
|
||||||
win.BringToFront;
|
win.BringToFront;
|
||||||
ed := fEditWidg.currentEditor;
|
if fDoc = nil then exit;
|
||||||
if ed = nil then exit;
|
//
|
||||||
if ed.SelAvail then
|
if fDoc.SelAvail then
|
||||||
str := ed.SelText
|
str := fDoc.SelText
|
||||||
else str := ed.Identifier;
|
else str := fDoc.Identifier;
|
||||||
ffindwidg.cbToFind.Text := str;
|
ffindwidg.cbToFind.Text := str;
|
||||||
ffindwidg.cbToFindChange(nil);
|
ffindwidg.cbToFindChange(nil);
|
||||||
end;
|
end;
|
||||||
|
@ -1232,9 +1213,12 @@ begin
|
||||||
dt^.ctxt := aCtxt;
|
dt^.ctxt := aCtxt;
|
||||||
dt^.project := fProject;
|
dt^.project := fProject;
|
||||||
dt^.position := getLineFromDmdMessage(msg);
|
dt^.position := getLineFromDmdMessage(msg);
|
||||||
dt^.editor := getFileFromDmdMessage(msg);
|
if openFileFromDmdMessage(msg) then
|
||||||
|
dt^.editor := fDoc
|
||||||
|
else
|
||||||
|
dt^.editor := nil;
|
||||||
if dt^.editor = nil then
|
if dt^.editor = nil then
|
||||||
dt^.editor := EditWidget.currentEditor
|
dt^.editor := fDoc
|
||||||
else
|
else
|
||||||
dt^.ctxt := mcEditor;
|
dt^.ctxt := mcEditor;
|
||||||
fEditWidg.endUpdatebyDelay; // messages would be cleared by the delayed module name detection.
|
fEditWidg.endUpdatebyDelay; // messages would be cleared by the delayed module name detection.
|
||||||
|
@ -1479,15 +1463,12 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actFileOpenContFoldExecute(Sender: TObject);
|
procedure TCEMainForm.actFileOpenContFoldExecute(Sender: TObject);
|
||||||
var
|
|
||||||
curr: TCESynMemo;
|
|
||||||
begin
|
begin
|
||||||
curr := EditWidget.currentEditor;
|
if fDoc = nil then exit;
|
||||||
if curr = nil then exit;
|
if not fileExists(fDoc.fileName) then exit;
|
||||||
if not fileExists(curr.fileName) then exit;
|
|
||||||
//
|
//
|
||||||
DockMaster.GetAnchorSite(fExplWidg).Show;
|
DockMaster.GetAnchorSite(fExplWidg).Show;
|
||||||
fExplWidg.expandPath(extractFilePath(curr.fileName));
|
fExplWidg.expandPath(extractFilePath(fDoc.fileName));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actProjCompileExecute(Sender: TObject);
|
procedure TCEMainForm.actProjCompileExecute(Sender: TObject);
|
||||||
|
@ -1695,7 +1676,7 @@ begin
|
||||||
if not fileExists(fProject.fileName) then exit;
|
if not fileExists(fProject.fileName) then exit;
|
||||||
//
|
//
|
||||||
openFile(fProject.fileName);
|
openFile(fProject.fileName);
|
||||||
EditWidget.currentEditor.Highlighter := LfmSyn;
|
fDoc.Highlighter := LfmSyn;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEMainForm.actProjOptViewExecute(Sender: TObject);
|
procedure TCEMainForm.actProjOptViewExecute(Sender: TObject);
|
||||||
|
@ -1923,24 +1904,24 @@ begin
|
||||||
'CFF', 'CurrentFileFile':
|
'CFF', 'CurrentFileFile':
|
||||||
begin
|
begin
|
||||||
result += '`';
|
result += '`';
|
||||||
if EditWidget.currentEditor <> nil then
|
if fDoc <> nil then
|
||||||
if fileExists(EditWidget.currentEditor.fileName) then
|
if fileExists(fDoc.fileName) then
|
||||||
result += EditWidget.currentEditor.fileName;
|
result += fDoc.fileName;
|
||||||
result += '`';
|
result += '`';
|
||||||
end;
|
end;
|
||||||
'CFP', 'CurrentFilePath':
|
'CFP', 'CurrentFilePath':
|
||||||
begin
|
begin
|
||||||
result += '`';
|
result += '`';
|
||||||
if EditWidget.currentEditor <> nil then
|
if fDoc <> nil then
|
||||||
if fileExists(EditWidget.currentEditor.fileName) then
|
if fileExists(fDoc.fileName) then
|
||||||
result += extractFilePath(EditWidget.currentEditor.fileName);
|
result += extractFilePath(fDoc.fileName);
|
||||||
result += '`';
|
result += '`';
|
||||||
end;
|
end;
|
||||||
'CI', 'CurrentIdentifier':
|
'CI', 'CurrentIdentifier':
|
||||||
begin
|
begin
|
||||||
result += '`';
|
result += '`';
|
||||||
if EditWidget.currentEditor <> nil then
|
if fDoc <> nil then
|
||||||
result += EditWidget.currentEditor.Identifier;
|
result += fDoc.Identifier;
|
||||||
result += '`';
|
result += '`';
|
||||||
end;
|
end;
|
||||||
'CAF', 'CoeditApplicationFile':
|
'CAF', 'CoeditApplicationFile':
|
||||||
|
|
|
@ -85,7 +85,7 @@ type
|
||||||
|
|
||||||
function semanticMsgAna(const aMessg: string): TMessageKind;
|
function semanticMsgAna(const aMessg: string): TMessageKind;
|
||||||
function getLineFromDmdMessage(const aMessage: string): TPoint;
|
function getLineFromDmdMessage(const aMessage: string): TPoint;
|
||||||
function getFileFromDmdMessage(const aMessage: string): TCESynMemo;
|
function openFileFromDmdMessage(const aMessage: string): boolean;
|
||||||
function newMessageData: PMessageItemData;
|
function newMessageData: PMessageItemData;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
@ -250,7 +250,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEProjectMonitor -----------------------------------------------------}
|
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||||
procedure TCEMessagesWidget.projNew(const aProject: TCEProject);
|
procedure TCEMessagesWidget.projNew(const aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
fProj := aProject;
|
fProj := aProject;
|
||||||
|
@ -276,7 +276,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEMultiDocMonitor ----------------------------------------------------}
|
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
||||||
procedure TCEMessagesWidget.docNew(const aDoc: TCESynMemo);
|
procedure TCEMessagesWidget.docNew(const aDoc: TCESynMemo);
|
||||||
begin
|
begin
|
||||||
fDoc := aDoc;
|
fDoc := aDoc;
|
||||||
|
@ -374,7 +374,7 @@ end;
|
||||||
|
|
||||||
procedure TCEMessagesWidget.ClearMessages(aCtxt: TMessageContext);
|
procedure TCEMessagesWidget.ClearMessages(aCtxt: TMessageContext);
|
||||||
var
|
var
|
||||||
i: NativeInt;
|
i: Integer;
|
||||||
dt: TMessageItemData;
|
dt: TMessageItemData;
|
||||||
begin
|
begin
|
||||||
for i := List.Items.Count-1 downto 0 do
|
for i := List.Items.Count-1 downto 0 do
|
||||||
|
@ -542,7 +542,7 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function getFileFromDmdMessage(const aMessage: string): TCESynMemo;
|
function openFileFromDmdMessage(const aMessage: string): boolean;
|
||||||
var
|
var
|
||||||
i: NativeInt;
|
i: NativeInt;
|
||||||
ident: string;
|
ident: string;
|
||||||
|
@ -550,7 +550,7 @@ var
|
||||||
begin
|
begin
|
||||||
ident := '';
|
ident := '';
|
||||||
i := 0;
|
i := 0;
|
||||||
result := nil;
|
result := false;
|
||||||
while(true) do
|
while(true) do
|
||||||
begin
|
begin
|
||||||
inc(i);
|
inc(i);
|
||||||
|
@ -561,7 +561,7 @@ begin
|
||||||
ext := extractFileExt(ident);
|
ext := extractFileExt(ident);
|
||||||
if not (ext = '.d') or (ext = '.di') then exit;
|
if not (ext = '.d') or (ext = '.di') then exit;
|
||||||
CEMainForm.openFile(ident);
|
CEMainForm.openFile(ident);
|
||||||
result := CEMainForm.EditWidget.currentEditor;
|
exit(true);
|
||||||
end;
|
end;
|
||||||
ident += aMessage[i];
|
ident += aMessage[i];
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -7,7 +7,7 @@ interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||||
Menus, ComCtrls, Buttons, ce_widget, lcltype, strutils;
|
Menus, ComCtrls, Buttons, lcltype, strutils, ce_widget, ce_common;
|
||||||
|
|
||||||
type
|
type
|
||||||
TCEMiniExplorerWidget = class(TCEWidget)
|
TCEMiniExplorerWidget = class(TCEWidget)
|
||||||
|
@ -64,7 +64,7 @@ implementation
|
||||||
{$R *.lfm}
|
{$R *.lfm}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
ce_main, ce_common;
|
ce_main;
|
||||||
|
|
||||||
{$REGION Standard Comp/Obj------------------------------------------------------}
|
{$REGION Standard Comp/Obj------------------------------------------------------}
|
||||||
constructor TCEMiniExplorerWidget.create(aIwner: TComponent);
|
constructor TCEMiniExplorerWidget.create(aIwner: TComponent);
|
||||||
|
|
|
@ -54,6 +54,7 @@ begin
|
||||||
EntitiesConnector.addObserver(self);
|
EntitiesConnector.addObserver(self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
procedure TCEProjectConfigurationWidget.projNew(const aProject: TCEProject);
|
procedure TCEProjectConfigurationWidget.projNew(const aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
beginUpdateByEvent;
|
beginUpdateByEvent;
|
||||||
|
|
|
@ -6,7 +6,7 @@ unit ce_project;
|
||||||
interface
|
interface
|
||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, ce_dmdwrap, ce_libman, ce_observer;
|
Classes, SysUtils, ce_common, ce_dmdwrap, ce_libman, ce_observer;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
@ -79,7 +79,7 @@ type
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
ce_common, ce_interfaces, dialogs;
|
ce_interfaces;
|
||||||
|
|
||||||
constructor TCEProject.create(aOwner: TComponent);
|
constructor TCEProject.create(aOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
|
@ -92,8 +92,6 @@ begin
|
||||||
fSrcsCop := TStringList.Create;
|
fSrcsCop := TStringList.Create;
|
||||||
fOptsColl := TCollection.create(TCompilerConfiguration);
|
fOptsColl := TCollection.create(TCompilerConfiguration);
|
||||||
//
|
//
|
||||||
//subjProjNew(TCEProjectSubject(fProjectSubject), self);
|
|
||||||
//
|
|
||||||
reset;
|
reset;
|
||||||
addDefaults;
|
addDefaults;
|
||||||
//
|
//
|
||||||
|
|
|
@ -43,7 +43,6 @@ type
|
||||||
procedure projClosing(const aProject: TCEProject);
|
procedure projClosing(const aProject: TCEProject);
|
||||||
procedure projFocused(const aProject: TCEProject);
|
procedure projFocused(const aProject: TCEProject);
|
||||||
procedure projChanged(const aProject: TCEProject);
|
procedure projChanged(const aProject: TCEProject);
|
||||||
|
|
||||||
//
|
//
|
||||||
function contextName: string; override;
|
function contextName: string; override;
|
||||||
function contextActionCount: integer; override;
|
function contextActionCount: integer; override;
|
||||||
|
@ -107,8 +106,8 @@ end;
|
||||||
{$REGION ICEProjectMonitor -----------------------------------------------------}
|
{$REGION ICEProjectMonitor -----------------------------------------------------}
|
||||||
procedure TCEProjectInspectWidget.projNew(const aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projNew(const aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
//fProject := aProject;
|
fProject := aProject;
|
||||||
//UpdateByEvent;
|
UpdateByEvent;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEProjectInspectWidget.projClosing(const aProject: TCEProject);
|
procedure TCEProjectInspectWidget.projClosing(const aProject: TCEProject);
|
||||||
|
|
|
@ -274,7 +274,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEMultiDocMonitor ----------------------------------------------------}
|
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
||||||
procedure TCESearchWidget.docNew(const aDoc: TCESynMemo);
|
procedure TCESearchWidget.docNew(const aDoc: TCESynMemo);
|
||||||
begin
|
begin
|
||||||
fEditor := aDoc;
|
fEditor := aDoc;
|
||||||
|
|
|
@ -14,7 +14,7 @@ uses
|
||||||
type
|
type
|
||||||
|
|
||||||
{ TCEStaticExplorerWidget }
|
{ TCEStaticExplorerWidget }
|
||||||
TCEStaticExplorerWidget = class(TCEWidget)
|
TCEStaticExplorerWidget = class(TCEWidget, ICEProjectObserver, ICEMultiDocObserver)
|
||||||
btnRefresh: TBitBtn;
|
btnRefresh: TBitBtn;
|
||||||
imgList: TImageList;
|
imgList: TImageList;
|
||||||
Panel1: TPanel;
|
Panel1: TPanel;
|
||||||
|
@ -222,7 +222,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEMultiDocMonitor ----------------------------------------------------}
|
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
||||||
procedure TCEStaticExplorerWidget.docNew(const aDoc: TCESynMemo);
|
procedure TCEStaticExplorerWidget.docNew(const aDoc: TCESynMemo);
|
||||||
begin
|
begin
|
||||||
end;
|
end;
|
||||||
|
@ -249,7 +249,7 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEProjectMonitor -----------------------------------------------------}
|
{$REGION ICEProjectObserver ----------------------------------------------------}
|
||||||
procedure TCEStaticExplorerWidget.projNew(const aProject: TCEProject);
|
procedure TCEStaticExplorerWidget.projNew(const aProject: TCEProject);
|
||||||
begin
|
begin
|
||||||
fProj := aProject;
|
fProj := aProject;
|
||||||
|
|
|
@ -57,7 +57,7 @@ var
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
uses
|
uses
|
||||||
graphics, ce_main, forms, ce_interfaces;
|
graphics, ce_main, ce_interfaces;
|
||||||
|
|
||||||
constructor TCESynMemo.Create(aOwner: TComponent);
|
constructor TCESynMemo.Create(aOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
|
@ -118,6 +118,7 @@ begin
|
||||||
inherited;
|
inherited;
|
||||||
if not Visible then exit;
|
if not Visible then exit;
|
||||||
identifierToD2Syn;
|
identifierToD2Syn;
|
||||||
|
subjDocFocused(TCEMultiDocSubject(fMultiDocSubject), self);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCESynMemo.DoEnter;
|
procedure TCESynMemo.DoEnter;
|
||||||
|
|
|
@ -190,50 +190,6 @@ begin
|
||||||
end;
|
end;
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEMultiDocObserver ----------------------------------------------------}
|
|
||||||
//procedure TCEWidget.docNew(const aDoc: TCESynMemo);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.docFocused(const aDoc: TCESynMemo);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.docChanged(const aDoc: TCESynMemo);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.docClose(const aDoc: TCESynMemo);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
{$ENDREGION}
|
|
||||||
|
|
||||||
{$REGION ICEProjectObserver -----------------------------------------------------}
|
|
||||||
//procedure TCEWidget.projNew(const aProject: TCEProject);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.projChange(const aProject: TCEProject);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.projClose(const aProject: TCEProject);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.projCompile(const aProject: TCEProject);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.projRun(const aProject: TCEProject);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
//
|
|
||||||
//procedure TCEWidget.projFocused(const aProject: TCEProject);
|
|
||||||
//begin
|
|
||||||
//end;
|
|
||||||
{$ENDREGION}
|
|
||||||
|
|
||||||
{$REGION Updaters---------------------------------------------------------------}
|
{$REGION Updaters---------------------------------------------------------------}
|
||||||
procedure TCEWidget.setDelayDur(aValue: Integer);
|
procedure TCEWidget.setDelayDur(aValue: Integer);
|
||||||
begin
|
begin
|
||||||
|
|
Loading…
Reference in New Issue