slightly improved the completion menu

This commit is contained in:
Basile Burg 2014-12-11 22:54:35 +01:00
parent 32c1defa71
commit 45d84c2464
1 changed files with 19 additions and 1 deletions

View File

@ -34,6 +34,7 @@ type
tokLst: TLexTokenList;
errLst: TLexErrorList;
fModStart: boolean;
function completionItemPaint(const AKey: string; ACanvas: TCanvas;X, Y: integer; Selected: boolean; Index: integer): boolean;
procedure lexFindToken(const aToken: PLexToken; out doStop: boolean);
procedure memoKeyPress(Sender: TObject; var Key: char);
procedure memoKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
@ -79,10 +80,11 @@ begin
tokLst := TLexTokenList.Create;
errLst := TLexErrorList.Create;
//
completion.OnPaintItem := @completionItemPaint;
fSyncEdit := TSynPluginSyncroEdit.Create(self);
bmp := TBitmap.Create;
try
imgList.GetBitmap(0,bmp);
imgList.GetBitmap(0, bmp);
fSyncEdit.GutterGlyph.Assign(bmp);
finally
bmp.Free;
@ -98,6 +100,22 @@ begin
errLst.Free;
inherited;
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}
{$REGION ICEMultiDocObserver ---------------------------------------------------}