mirror of https://gitlab.com/basile.b/dexed.git
refactoring, removed code completion features from ce_editor
This commit is contained in:
parent
edd48e92dc
commit
ef033ed030
|
@ -7,9 +7,8 @@ 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,
|
||||||
SynMacroRecorder, SynPluginSyncroEdit, SynEdit, SynCompletion,
|
SynMacroRecorder, SynPluginSyncroEdit, SynEdit, SynHighlighterMulti,
|
||||||
SynHighlighterMulti, ce_widget, ce_interfaces, ce_synmemo, ce_dlang,
|
ce_widget, ce_interfaces, ce_synmemo, ce_dlang, ce_common, ce_dcd, ce_observer;
|
||||||
ce_common, ce_dcd, ce_observer;
|
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
@ -26,10 +25,6 @@ type
|
||||||
PageControl: TExtendedNotebook;
|
PageControl: TExtendedNotebook;
|
||||||
macRecorder: TSynMacroRecorder;
|
macRecorder: TSynMacroRecorder;
|
||||||
editorStatus: TStatusBar;
|
editorStatus: TStatusBar;
|
||||||
completion: TSynCompletion;
|
|
||||||
procedure completionCodeCompletion(var Value: string; SourceValue: string;
|
|
||||||
var SourceStart, SourceEnd: TPoint; KeyChar: TUTF8Char; Shift: TShiftState);
|
|
||||||
procedure completionExecute(Sender: TObject);
|
|
||||||
procedure PageControlChange(Sender: TObject);
|
procedure PageControlChange(Sender: TObject);
|
||||||
protected
|
protected
|
||||||
procedure updateDelayed; override;
|
procedure updateDelayed; override;
|
||||||
|
@ -43,14 +38,12 @@ type
|
||||||
{$IFDEF LINUX}
|
{$IFDEF LINUX}
|
||||||
procedure pageCloseBtnClick(Sender: TObject);
|
procedure pageCloseBtnClick(Sender: TObject);
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
function completionItemPaint(const AKey: string; ACanvas: TCanvas;X, Y: integer; Selected: boolean; Index: integer): boolean;
|
|
||||||
procedure lexFindToken(const aToken: PLexToken; out doStop: boolean);
|
procedure lexFindToken(const aToken: PLexToken; out doStop: boolean);
|
||||||
procedure memoKeyPress(Sender: TObject; var Key: char);
|
procedure memoKeyPress(Sender: TObject; var Key: char);
|
||||||
procedure memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
procedure memoMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
procedure memoMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
procedure memoCtrlClick(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
procedure memoCtrlClick(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||||
procedure memoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
|
procedure memoMouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
|
||||||
procedure getCompletionList;
|
|
||||||
procedure getSymbolLoc;
|
procedure getSymbolLoc;
|
||||||
procedure focusedEditorChanged;
|
procedure focusedEditorChanged;
|
||||||
//
|
//
|
||||||
|
@ -89,7 +82,6 @@ begin
|
||||||
//
|
//
|
||||||
fTokList := TLexTokenList.Create;
|
fTokList := TLexTokenList.Create;
|
||||||
fErrList := TLexErrorList.Create;
|
fErrList := TLexErrorList.Create;
|
||||||
completion.OnPaintItem := @completionItemPaint;
|
|
||||||
{$IFDEF LINUX}
|
{$IFDEF LINUX}
|
||||||
PageControl.OnCloseTabClicked := @pageCloseBtnClick;
|
PageControl.OnCloseTabClicked := @pageCloseBtnClick;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
@ -111,22 +103,6 @@ begin
|
||||||
fErrList.Free;
|
fErrList.Free;
|
||||||
inherited;
|
inherited;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCEEditorWidget.completionItemPaint(const AKey: string; ACanvas: TCanvas;X, Y: integer; Selected: boolean; Index: integer): boolean;
|
|
||||||
var
|
|
||||||
lft, rgt: string;
|
|
||||||
len: Integer;
|
|
||||||
begin
|
|
||||||
// warning: '20' depends on ce_dcd, case knd of, string literals length
|
|
||||||
result := true;
|
|
||||||
lft := AKey[1 .. length(AKey)-20];
|
|
||||||
rgt := AKey[length(AKey)-19 .. length(AKey)];
|
|
||||||
ACanvas.Font.Style := [fsBold];
|
|
||||||
len := ACanvas.TextExtent(lft).cx;
|
|
||||||
ACanvas.TextOut(2 + X , Y, lft);
|
|
||||||
ACanvas.Font.Style := [fsItalic];
|
|
||||||
ACanvas.TextOut(2 + X + len + 2, Y, rgt);
|
|
||||||
end;
|
|
||||||
{$ENDREGION}
|
{$ENDREGION}
|
||||||
|
|
||||||
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
{$REGION ICEMultiDocObserver ---------------------------------------------------}
|
||||||
|
@ -141,7 +117,6 @@ begin
|
||||||
aDoc.Parent := sheet;
|
aDoc.Parent := sheet;
|
||||||
//
|
//
|
||||||
aDoc.OnKeyDown := @memoKeyDown;
|
aDoc.OnKeyDown := @memoKeyDown;
|
||||||
aDoc.OnKeyUp := @memoKeyDown;
|
|
||||||
aDoc.OnKeyPress := @memoKeyPress;
|
aDoc.OnKeyPress := @memoKeyPress;
|
||||||
aDoc.OnMouseDown := @memoMouseDown;
|
aDoc.OnMouseDown := @memoMouseDown;
|
||||||
aDoc.OnMouseMove := @memoMouseMove;
|
aDoc.OnMouseMove := @memoMouseMove;
|
||||||
|
@ -255,7 +230,6 @@ begin
|
||||||
if fDoc = nil then exit;
|
if fDoc = nil then exit;
|
||||||
//
|
//
|
||||||
macRecorder.Editor:= fDoc;
|
macRecorder.Editor:= fDoc;
|
||||||
completion.Editor := fDoc;
|
|
||||||
if (pageControl.ActivePage.Caption = '') then
|
if (pageControl.ActivePage.Caption = '') then
|
||||||
begin
|
begin
|
||||||
fKeyChanged := true;
|
fKeyChanged := true;
|
||||||
|
@ -268,27 +242,11 @@ begin
|
||||||
updateImperative;
|
updateImperative;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.completionExecute(Sender: TObject);
|
|
||||||
begin
|
|
||||||
getCompletionList;
|
|
||||||
completion.TheForm.Font.Size := fDoc.Font.Size;
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.completionCodeCompletion(var Value: string;
|
|
||||||
SourceValue: string; var SourceStart, SourceEnd: TPoint; KeyChar: TUTF8Char;
|
|
||||||
Shift: TShiftState);
|
|
||||||
begin
|
|
||||||
// warning: '20' depends on ce_dcd, case knd of, string literals length
|
|
||||||
Value := Value[1..length(Value)-20];
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
procedure TCEEditorWidget.memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
|
||||||
begin
|
begin
|
||||||
updateImperative;
|
case Key of
|
||||||
case Byte(Key) of
|
|
||||||
VK_CLEAR,VK_RETURN,VK_BACK : fKeyChanged := true;
|
VK_CLEAR,VK_RETURN,VK_BACK : fKeyChanged := true;
|
||||||
//VK_OEM_PERIOD, VK_DECIMAL: completion.Execute('.', fDoc.ClientToScreen(
|
VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT: updateImperative;
|
||||||
// point(fDoc.CaretXPix, top + fDoc.CaretYPix)));
|
|
||||||
end;
|
end;
|
||||||
if fKeyChanged then
|
if fKeyChanged then
|
||||||
beginDelayedUpdate
|
beginDelayedUpdate
|
||||||
|
@ -351,15 +309,6 @@ begin
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure TCEEditorWidget.getCompletionList;
|
|
||||||
begin
|
|
||||||
if not DcdWrapper.available then exit;
|
|
||||||
//
|
|
||||||
completion.Position := 0;
|
|
||||||
completion.ItemList.Clear;
|
|
||||||
DcdWrapper.getComplAtCursor(completion.ItemList);
|
|
||||||
end;
|
|
||||||
|
|
||||||
procedure TCEEditorWidget.updateImperative;
|
procedure TCEEditorWidget.updateImperative;
|
||||||
const
|
const
|
||||||
modstr: array[boolean] of string = ('...', 'MODIFIED');
|
modstr: array[boolean] of string = ('...', 'MODIFIED');
|
||||||
|
|
Loading…
Reference in New Issue