mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-29 09:50:31 +02:00
implemented character map
git-svn-id: trunk@4498 -
This commit is contained in:
parent
823a00d090
commit
26c5eba0d4
3
.gitattributes
vendored
3
.gitattributes
vendored
@ -308,6 +308,9 @@ ide/aboutfrm.pas svneol=native#text/pascal
|
||||
ide/addtoprojectdlg.pas svneol=native#text/pascal
|
||||
ide/basedebugmanager.pas svneol=native#text/pascal
|
||||
ide/buildlazdialog.pas svneol=native#text/pascal
|
||||
ide/charactermapdlg.lfm svneol=native#text/plain
|
||||
ide/charactermapdlg.lrs svneol=native#text/pascal
|
||||
ide/charactermapdlg.pas svneol=native#text/pascal
|
||||
ide/checkcompileropts.lfm svneol=native#text/plain
|
||||
ide/checkcompileropts.lrs svneol=native#text/pascal
|
||||
ide/checkcompileropts.pas svneol=native#text/pascal
|
||||
|
@ -54,7 +54,7 @@ type
|
||||
fTokenEnd: LongInt; // end of current token
|
||||
fTextAttri: TSynHighlighterAttributes;
|
||||
fTokenPos: Integer;
|
||||
FTokenID: integer;
|
||||
fTokenArrayPos: integer;
|
||||
FTokenKind: TtkTokenKind;
|
||||
fTokens: TList; // list of PPositionTokens
|
||||
function GetTokens(TheLineNumber: integer): PPositionTokens;
|
||||
@ -227,13 +227,13 @@ begin
|
||||
fTokenKind := tkNone;
|
||||
exit;
|
||||
end;
|
||||
inc(fTokenID);
|
||||
inc(fTokenArrayPos);
|
||||
p:=Tokens[fLineNumber];
|
||||
if (p<>nil) and (p^.Count>fTokenID) then begin
|
||||
fTokenEnd := p^.Tokens[fTokenID].Column+1;
|
||||
if (p<>nil) and (p^.Count>fTokenArrayPos) then begin
|
||||
fTokenKind := p^.Tokens[fTokenArrayPos].Kind;
|
||||
fTokenEnd := p^.Tokens[fTokenArrayPos].Column+1;
|
||||
if fTokenEnd>fLineLen+1 then
|
||||
fTokenEnd := fLineLen+1;
|
||||
fTokenKind := p^.Tokens[fTokenID].Kind;
|
||||
if fTokenEnd=fTokenPos then
|
||||
Next;
|
||||
end else begin
|
||||
@ -255,7 +255,7 @@ begin
|
||||
fLine := NewValue;
|
||||
fLineLen := length(fLine);
|
||||
fLineNumber := LineNumber;
|
||||
FTokenID := 0;
|
||||
fTokenArrayPos := 0;
|
||||
fTokenPos := 1;
|
||||
p:=Tokens[fLineNumber];
|
||||
if p<>nil then begin
|
||||
@ -292,6 +292,7 @@ var
|
||||
p: PPositionTokens;
|
||||
TokenIndex, TokenCount: integer;
|
||||
begin
|
||||
if Col<1 then exit;
|
||||
// fill up lines
|
||||
while (Line>=fTokens.Count) do fTokens.Add(nil);
|
||||
// resize Token array
|
||||
|
761
ide/charactermapdlg.lfm
Normal file
761
ide/charactermapdlg.lfm
Normal file
@ -0,0 +1,761 @@
|
||||
object CharacterMapDialog: TCharacterMapDialog
|
||||
CAPTION = 'CharacterMapDialog'
|
||||
CLIENTHEIGHT = 405
|
||||
CLIENTWIDTH = 412
|
||||
KEYPREVIEW = True
|
||||
ONCREATE = CharacterMapDialogCREATE
|
||||
ONDESTROY = CharacterMapDialogDESTROY
|
||||
ONKEYDOWN = CharacterMapDialogKEYDOWN
|
||||
POSITION = poscreencenter
|
||||
HORZSCROLLBAR.PAGE = 413
|
||||
VERTSCROLLBAR.PAGE = 406
|
||||
LEFT = 379
|
||||
HEIGHT = 405
|
||||
TOP = 278
|
||||
WIDTH = 412
|
||||
object OkButton: TBUTTON
|
||||
ANCHORS = [akleft, akbottom]
|
||||
MODALRESULT = 1
|
||||
CAPTION = 'Ok'
|
||||
TABSTOP = True
|
||||
TABORDER = 0
|
||||
LEFT = 112
|
||||
HEIGHT = 25
|
||||
TOP = 374
|
||||
WIDTH = 75
|
||||
end
|
||||
object CancelButton: TBUTTON
|
||||
ANCHORS = [akleft, akbottom]
|
||||
MODALRESULT = 2
|
||||
CAPTION = 'Cancel'
|
||||
TABSTOP = True
|
||||
TABORDER = 1
|
||||
LEFT = 224
|
||||
HEIGHT = 25
|
||||
TOP = 374
|
||||
WIDTH = 75
|
||||
end
|
||||
object CharactersGroupbox: TGROUPBOX
|
||||
ANCHORS = [aktop, akleft, akright, akbottom]
|
||||
CAPTION = 'Characters'
|
||||
CLIENTHEIGHT = 271
|
||||
CLIENTWIDTH = 393
|
||||
PARENTCTL3D = False
|
||||
TABORDER = 2
|
||||
LEFT = 8
|
||||
HEIGHT = 288
|
||||
TOP = 8
|
||||
WIDTH = 397
|
||||
object CharMapSynedit: TSYNEDIT
|
||||
ALIGN = altop
|
||||
ANCHORS = [aktop, akleft, akright, akbottom]
|
||||
COLOR = 16777215
|
||||
FONT.HEIGHT = -15
|
||||
FONT.NAME = 'courier'
|
||||
HEIGHT = 248
|
||||
NAME = 'CharMapSynedit'
|
||||
PARENTCTL3D = False
|
||||
TABORDER = 0
|
||||
WIDTH = 393
|
||||
ONMOUSEDOWN = CharMapSyneditMOUSEDOWN
|
||||
ONMOUSEMOVE = CharMapSyneditMOUSEMOVE
|
||||
BOOKMARKOPTIONS.ONCHANGE = nil
|
||||
GUTTER.VISIBLE = False
|
||||
GUTTER.ONCHANGE = nil
|
||||
KEYSTROKES = <
|
||||
item
|
||||
COMMAND = 3
|
||||
SHORTCUT = 38
|
||||
end
|
||||
item
|
||||
COMMAND = 103
|
||||
SHORTCUT = 8230
|
||||
end
|
||||
item
|
||||
COMMAND = 211
|
||||
SHORTCUT = 16422
|
||||
end
|
||||
item
|
||||
COMMAND = 4
|
||||
SHORTCUT = 40
|
||||
end
|
||||
item
|
||||
COMMAND = 104
|
||||
SHORTCUT = 8232
|
||||
end
|
||||
item
|
||||
COMMAND = 212
|
||||
SHORTCUT = 16424
|
||||
end
|
||||
item
|
||||
COMMAND = 1
|
||||
SHORTCUT = 37
|
||||
end
|
||||
item
|
||||
COMMAND = 101
|
||||
SHORTCUT = 8229
|
||||
end
|
||||
item
|
||||
COMMAND = 5
|
||||
SHORTCUT = 16421
|
||||
end
|
||||
item
|
||||
COMMAND = 105
|
||||
SHORTCUT = 24613
|
||||
end
|
||||
item
|
||||
COMMAND = 2
|
||||
SHORTCUT = 39
|
||||
end
|
||||
item
|
||||
COMMAND = 102
|
||||
SHORTCUT = 8231
|
||||
end
|
||||
item
|
||||
COMMAND = 6
|
||||
SHORTCUT = 16423
|
||||
end
|
||||
item
|
||||
COMMAND = 106
|
||||
SHORTCUT = 24615
|
||||
end
|
||||
item
|
||||
COMMAND = 10
|
||||
SHORTCUT = 34
|
||||
end
|
||||
item
|
||||
COMMAND = 110
|
||||
SHORTCUT = 8226
|
||||
end
|
||||
item
|
||||
COMMAND = 14
|
||||
SHORTCUT = 16418
|
||||
end
|
||||
item
|
||||
COMMAND = 114
|
||||
SHORTCUT = 24610
|
||||
end
|
||||
item
|
||||
COMMAND = 9
|
||||
SHORTCUT = 33
|
||||
end
|
||||
item
|
||||
COMMAND = 109
|
||||
SHORTCUT = 8225
|
||||
end
|
||||
item
|
||||
COMMAND = 13
|
||||
SHORTCUT = 16417
|
||||
end
|
||||
item
|
||||
COMMAND = 113
|
||||
SHORTCUT = 24609
|
||||
end
|
||||
item
|
||||
COMMAND = 7
|
||||
SHORTCUT = 36
|
||||
end
|
||||
item
|
||||
COMMAND = 107
|
||||
SHORTCUT = 8228
|
||||
end
|
||||
item
|
||||
COMMAND = 15
|
||||
SHORTCUT = 16420
|
||||
end
|
||||
item
|
||||
COMMAND = 115
|
||||
SHORTCUT = 24612
|
||||
end
|
||||
item
|
||||
COMMAND = 8
|
||||
SHORTCUT = 35
|
||||
end
|
||||
item
|
||||
COMMAND = 108
|
||||
SHORTCUT = 8227
|
||||
end
|
||||
item
|
||||
COMMAND = 16
|
||||
SHORTCUT = 16419
|
||||
end
|
||||
item
|
||||
COMMAND = 116
|
||||
SHORTCUT = 24611
|
||||
end
|
||||
item
|
||||
COMMAND = 223
|
||||
SHORTCUT = 45
|
||||
end
|
||||
item
|
||||
COMMAND = 201
|
||||
SHORTCUT = 16429
|
||||
end
|
||||
item
|
||||
COMMAND = 604
|
||||
SHORTCUT = 8237
|
||||
end
|
||||
item
|
||||
COMMAND = 502
|
||||
SHORTCUT = 46
|
||||
end
|
||||
item
|
||||
COMMAND = 603
|
||||
SHORTCUT = 8238
|
||||
end
|
||||
item
|
||||
COMMAND = 501
|
||||
SHORTCUT = 8
|
||||
end
|
||||
item
|
||||
COMMAND = 501
|
||||
SHORTCUT = 8200
|
||||
end
|
||||
item
|
||||
COMMAND = 504
|
||||
SHORTCUT = 16392
|
||||
end
|
||||
item
|
||||
COMMAND = 601
|
||||
SHORTCUT = 32776
|
||||
end
|
||||
item
|
||||
COMMAND = 602
|
||||
SHORTCUT = 40968
|
||||
end
|
||||
item
|
||||
COMMAND = 509
|
||||
SHORTCUT = 13
|
||||
end
|
||||
item
|
||||
COMMAND = 199
|
||||
SHORTCUT = 16449
|
||||
end
|
||||
item
|
||||
COMMAND = 201
|
||||
SHORTCUT = 16451
|
||||
end
|
||||
item
|
||||
COMMAND = 610
|
||||
SHORTCUT = 24649
|
||||
end
|
||||
item
|
||||
COMMAND = 509
|
||||
SHORTCUT = 16461
|
||||
end
|
||||
item
|
||||
COMMAND = 510
|
||||
SHORTCUT = 16462
|
||||
end
|
||||
item
|
||||
COMMAND = 503
|
||||
SHORTCUT = 16468
|
||||
end
|
||||
item
|
||||
COMMAND = 611
|
||||
SHORTCUT = 24661
|
||||
end
|
||||
item
|
||||
COMMAND = 604
|
||||
SHORTCUT = 16470
|
||||
end
|
||||
item
|
||||
COMMAND = 603
|
||||
SHORTCUT = 16472
|
||||
end
|
||||
item
|
||||
COMMAND = 507
|
||||
SHORTCUT = 16473
|
||||
end
|
||||
item
|
||||
COMMAND = 506
|
||||
SHORTCUT = 24665
|
||||
end
|
||||
item
|
||||
COMMAND = 601
|
||||
SHORTCUT = 16474
|
||||
end
|
||||
item
|
||||
COMMAND = 602
|
||||
SHORTCUT = 24666
|
||||
end
|
||||
item
|
||||
COMMAND = 301
|
||||
SHORTCUT = 16432
|
||||
end
|
||||
item
|
||||
COMMAND = 302
|
||||
SHORTCUT = 16433
|
||||
end
|
||||
item
|
||||
COMMAND = 303
|
||||
SHORTCUT = 16434
|
||||
end
|
||||
item
|
||||
COMMAND = 304
|
||||
SHORTCUT = 16435
|
||||
end
|
||||
item
|
||||
COMMAND = 305
|
||||
SHORTCUT = 16436
|
||||
end
|
||||
item
|
||||
COMMAND = 306
|
||||
SHORTCUT = 16437
|
||||
end
|
||||
item
|
||||
COMMAND = 307
|
||||
SHORTCUT = 16438
|
||||
end
|
||||
item
|
||||
COMMAND = 308
|
||||
SHORTCUT = 16439
|
||||
end
|
||||
item
|
||||
COMMAND = 309
|
||||
SHORTCUT = 16440
|
||||
end
|
||||
item
|
||||
COMMAND = 310
|
||||
SHORTCUT = 16441
|
||||
end
|
||||
item
|
||||
COMMAND = 351
|
||||
SHORTCUT = 24624
|
||||
end
|
||||
item
|
||||
COMMAND = 352
|
||||
SHORTCUT = 24625
|
||||
end
|
||||
item
|
||||
COMMAND = 353
|
||||
SHORTCUT = 24626
|
||||
end
|
||||
item
|
||||
COMMAND = 354
|
||||
SHORTCUT = 24627
|
||||
end
|
||||
item
|
||||
COMMAND = 355
|
||||
SHORTCUT = 24628
|
||||
end
|
||||
item
|
||||
COMMAND = 356
|
||||
SHORTCUT = 24629
|
||||
end
|
||||
item
|
||||
COMMAND = 357
|
||||
SHORTCUT = 24630
|
||||
end
|
||||
item
|
||||
COMMAND = 358
|
||||
SHORTCUT = 24631
|
||||
end
|
||||
item
|
||||
COMMAND = 359
|
||||
SHORTCUT = 24632
|
||||
end
|
||||
item
|
||||
COMMAND = 360
|
||||
SHORTCUT = 24633
|
||||
end
|
||||
item
|
||||
COMMAND = 231
|
||||
SHORTCUT = 24654
|
||||
end
|
||||
item
|
||||
COMMAND = 232
|
||||
SHORTCUT = 24643
|
||||
end
|
||||
item
|
||||
COMMAND = 233
|
||||
SHORTCUT = 24652
|
||||
end
|
||||
item
|
||||
COMMAND = 612
|
||||
SHORTCUT = 9
|
||||
end
|
||||
item
|
||||
COMMAND = 613
|
||||
SHORTCUT = 8201
|
||||
end
|
||||
item
|
||||
COMMAND = 250
|
||||
SHORTCUT = 24642
|
||||
end>
|
||||
LINES.Strings = (
|
||||
'CharMapSynedit'
|
||||
)
|
||||
OPTIONS = [eoautoindent, eonocaret, eonoselection, eoscrollpasteol, eoshowscrollhint, eosmarttabs, eotabstospaces, eotrimtrailingspaces]
|
||||
READONLY = True
|
||||
SELECTEDCOLOR.ONCHANGE = nil
|
||||
CURSOR = 65532
|
||||
HEIGHT = 248
|
||||
WIDTH = 393
|
||||
end
|
||||
object CharInfoLabel: TLABEL
|
||||
ALIGN = albottom
|
||||
ANCHORS = [akleft, akright, akbottom]
|
||||
CAPTION = 'CharInfoLabel'
|
||||
LAYOUT = tltop
|
||||
HEIGHT = 20
|
||||
TOP = 251
|
||||
WIDTH = 393
|
||||
end
|
||||
end
|
||||
object TextGroupbox: TGROUPBOX
|
||||
ANCHORS = [akleft, akright, akbottom]
|
||||
CAPTION = 'Text'
|
||||
CLIENTHEIGHT = 53
|
||||
CLIENTWIDTH = 393
|
||||
PARENTCTL3D = False
|
||||
TABORDER = 3
|
||||
LEFT = 8
|
||||
HEIGHT = 70
|
||||
TOP = 296
|
||||
WIDTH = 397
|
||||
object TextSynedit: TSYNEDIT
|
||||
ALIGN = alclient
|
||||
COLOR = 16777215
|
||||
FONT.HEIGHT = -15
|
||||
FONT.NAME = 'courier'
|
||||
HEIGHT = 53
|
||||
NAME = 'TextSynedit'
|
||||
PARENTCTL3D = False
|
||||
TABORDER = 0
|
||||
WIDTH = 393
|
||||
BOOKMARKOPTIONS.ONCHANGE = nil
|
||||
GUTTER.VISIBLE = False
|
||||
GUTTER.ONCHANGE = nil
|
||||
KEYSTROKES = <
|
||||
item
|
||||
COMMAND = 3
|
||||
SHORTCUT = 38
|
||||
end
|
||||
item
|
||||
COMMAND = 103
|
||||
SHORTCUT = 8230
|
||||
end
|
||||
item
|
||||
COMMAND = 211
|
||||
SHORTCUT = 16422
|
||||
end
|
||||
item
|
||||
COMMAND = 4
|
||||
SHORTCUT = 40
|
||||
end
|
||||
item
|
||||
COMMAND = 104
|
||||
SHORTCUT = 8232
|
||||
end
|
||||
item
|
||||
COMMAND = 212
|
||||
SHORTCUT = 16424
|
||||
end
|
||||
item
|
||||
COMMAND = 1
|
||||
SHORTCUT = 37
|
||||
end
|
||||
item
|
||||
COMMAND = 101
|
||||
SHORTCUT = 8229
|
||||
end
|
||||
item
|
||||
COMMAND = 5
|
||||
SHORTCUT = 16421
|
||||
end
|
||||
item
|
||||
COMMAND = 105
|
||||
SHORTCUT = 24613
|
||||
end
|
||||
item
|
||||
COMMAND = 2
|
||||
SHORTCUT = 39
|
||||
end
|
||||
item
|
||||
COMMAND = 102
|
||||
SHORTCUT = 8231
|
||||
end
|
||||
item
|
||||
COMMAND = 6
|
||||
SHORTCUT = 16423
|
||||
end
|
||||
item
|
||||
COMMAND = 106
|
||||
SHORTCUT = 24615
|
||||
end
|
||||
item
|
||||
COMMAND = 10
|
||||
SHORTCUT = 34
|
||||
end
|
||||
item
|
||||
COMMAND = 110
|
||||
SHORTCUT = 8226
|
||||
end
|
||||
item
|
||||
COMMAND = 14
|
||||
SHORTCUT = 16418
|
||||
end
|
||||
item
|
||||
COMMAND = 114
|
||||
SHORTCUT = 24610
|
||||
end
|
||||
item
|
||||
COMMAND = 9
|
||||
SHORTCUT = 33
|
||||
end
|
||||
item
|
||||
COMMAND = 109
|
||||
SHORTCUT = 8225
|
||||
end
|
||||
item
|
||||
COMMAND = 13
|
||||
SHORTCUT = 16417
|
||||
end
|
||||
item
|
||||
COMMAND = 113
|
||||
SHORTCUT = 24609
|
||||
end
|
||||
item
|
||||
COMMAND = 7
|
||||
SHORTCUT = 36
|
||||
end
|
||||
item
|
||||
COMMAND = 107
|
||||
SHORTCUT = 8228
|
||||
end
|
||||
item
|
||||
COMMAND = 15
|
||||
SHORTCUT = 16420
|
||||
end
|
||||
item
|
||||
COMMAND = 115
|
||||
SHORTCUT = 24612
|
||||
end
|
||||
item
|
||||
COMMAND = 8
|
||||
SHORTCUT = 35
|
||||
end
|
||||
item
|
||||
COMMAND = 108
|
||||
SHORTCUT = 8227
|
||||
end
|
||||
item
|
||||
COMMAND = 16
|
||||
SHORTCUT = 16419
|
||||
end
|
||||
item
|
||||
COMMAND = 116
|
||||
SHORTCUT = 24611
|
||||
end
|
||||
item
|
||||
COMMAND = 223
|
||||
SHORTCUT = 45
|
||||
end
|
||||
item
|
||||
COMMAND = 201
|
||||
SHORTCUT = 16429
|
||||
end
|
||||
item
|
||||
COMMAND = 604
|
||||
SHORTCUT = 8237
|
||||
end
|
||||
item
|
||||
COMMAND = 502
|
||||
SHORTCUT = 46
|
||||
end
|
||||
item
|
||||
COMMAND = 603
|
||||
SHORTCUT = 8238
|
||||
end
|
||||
item
|
||||
COMMAND = 501
|
||||
SHORTCUT = 8
|
||||
end
|
||||
item
|
||||
COMMAND = 501
|
||||
SHORTCUT = 8200
|
||||
end
|
||||
item
|
||||
COMMAND = 504
|
||||
SHORTCUT = 16392
|
||||
end
|
||||
item
|
||||
COMMAND = 601
|
||||
SHORTCUT = 32776
|
||||
end
|
||||
item
|
||||
COMMAND = 602
|
||||
SHORTCUT = 40968
|
||||
end
|
||||
item
|
||||
COMMAND = 509
|
||||
SHORTCUT = 13
|
||||
end
|
||||
item
|
||||
COMMAND = 199
|
||||
SHORTCUT = 16449
|
||||
end
|
||||
item
|
||||
COMMAND = 201
|
||||
SHORTCUT = 16451
|
||||
end
|
||||
item
|
||||
COMMAND = 610
|
||||
SHORTCUT = 24649
|
||||
end
|
||||
item
|
||||
COMMAND = 509
|
||||
SHORTCUT = 16461
|
||||
end
|
||||
item
|
||||
COMMAND = 510
|
||||
SHORTCUT = 16462
|
||||
end
|
||||
item
|
||||
COMMAND = 503
|
||||
SHORTCUT = 16468
|
||||
end
|
||||
item
|
||||
COMMAND = 611
|
||||
SHORTCUT = 24661
|
||||
end
|
||||
item
|
||||
COMMAND = 604
|
||||
SHORTCUT = 16470
|
||||
end
|
||||
item
|
||||
COMMAND = 603
|
||||
SHORTCUT = 16472
|
||||
end
|
||||
item
|
||||
COMMAND = 507
|
||||
SHORTCUT = 16473
|
||||
end
|
||||
item
|
||||
COMMAND = 506
|
||||
SHORTCUT = 24665
|
||||
end
|
||||
item
|
||||
COMMAND = 601
|
||||
SHORTCUT = 16474
|
||||
end
|
||||
item
|
||||
COMMAND = 602
|
||||
SHORTCUT = 24666
|
||||
end
|
||||
item
|
||||
COMMAND = 301
|
||||
SHORTCUT = 16432
|
||||
end
|
||||
item
|
||||
COMMAND = 302
|
||||
SHORTCUT = 16433
|
||||
end
|
||||
item
|
||||
COMMAND = 303
|
||||
SHORTCUT = 16434
|
||||
end
|
||||
item
|
||||
COMMAND = 304
|
||||
SHORTCUT = 16435
|
||||
end
|
||||
item
|
||||
COMMAND = 305
|
||||
SHORTCUT = 16436
|
||||
end
|
||||
item
|
||||
COMMAND = 306
|
||||
SHORTCUT = 16437
|
||||
end
|
||||
item
|
||||
COMMAND = 307
|
||||
SHORTCUT = 16438
|
||||
end
|
||||
item
|
||||
COMMAND = 308
|
||||
SHORTCUT = 16439
|
||||
end
|
||||
item
|
||||
COMMAND = 309
|
||||
SHORTCUT = 16440
|
||||
end
|
||||
item
|
||||
COMMAND = 310
|
||||
SHORTCUT = 16441
|
||||
end
|
||||
item
|
||||
COMMAND = 351
|
||||
SHORTCUT = 24624
|
||||
end
|
||||
item
|
||||
COMMAND = 352
|
||||
SHORTCUT = 24625
|
||||
end
|
||||
item
|
||||
COMMAND = 353
|
||||
SHORTCUT = 24626
|
||||
end
|
||||
item
|
||||
COMMAND = 354
|
||||
SHORTCUT = 24627
|
||||
end
|
||||
item
|
||||
COMMAND = 355
|
||||
SHORTCUT = 24628
|
||||
end
|
||||
item
|
||||
COMMAND = 356
|
||||
SHORTCUT = 24629
|
||||
end
|
||||
item
|
||||
COMMAND = 357
|
||||
SHORTCUT = 24630
|
||||
end
|
||||
item
|
||||
COMMAND = 358
|
||||
SHORTCUT = 24631
|
||||
end
|
||||
item
|
||||
COMMAND = 359
|
||||
SHORTCUT = 24632
|
||||
end
|
||||
item
|
||||
COMMAND = 360
|
||||
SHORTCUT = 24633
|
||||
end
|
||||
item
|
||||
COMMAND = 231
|
||||
SHORTCUT = 24654
|
||||
end
|
||||
item
|
||||
COMMAND = 232
|
||||
SHORTCUT = 24643
|
||||
end
|
||||
item
|
||||
COMMAND = 233
|
||||
SHORTCUT = 24652
|
||||
end
|
||||
item
|
||||
COMMAND = 612
|
||||
SHORTCUT = 9
|
||||
end
|
||||
item
|
||||
COMMAND = 613
|
||||
SHORTCUT = 8201
|
||||
end
|
||||
item
|
||||
COMMAND = 250
|
||||
SHORTCUT = 24642
|
||||
end>
|
||||
LINES.Strings = (
|
||||
'TextSynedit'
|
||||
)
|
||||
OPTIONS = [eoautoindent, eobrackethighlight, eodragdropediting, eoscrollpasteol, eoshowscrollhint, eosmarttabs, eotabstospaces, eotrimtrailingspaces]
|
||||
SELECTEDCOLOR.ONCHANGE = nil
|
||||
CURSOR = 65532
|
||||
HEIGHT = 53
|
||||
WIDTH = 393
|
||||
end
|
||||
end
|
||||
end
|
127
ide/charactermapdlg.lrs
Normal file
127
ide/charactermapdlg.lrs
Normal file
@ -0,0 +1,127 @@
|
||||
{ This is an automatically generated lazarus resource file }
|
||||
|
||||
LazarusResources.Add('TCharacterMapDialog','FORMDATA',[
|
||||
'TPF0'#19'TCharacterMapDialog'#18'CharacterMapDialog'#7'CAPTION'#6#18'Charact'
|
||||
+'erMapDialog'#12'CLIENTHEIGHT'#3#149#1#11'CLIENTWIDTH'#3#156#1#10'KEYPREVIEW'
|
||||
+#9#8'ONCREATE'#7#24'CharacterMapDialogCREATE'#9'ONDESTROY'#7#25'CharacterMap'
|
||||
+'DialogDESTROY'#9'ONKEYDOWN'#7#25'CharacterMapDialogKEYDOWN'#8'POSITION'#7#14
|
||||
+'poscreencenter'#18'HORZSCROLLBAR.PAGE'#3#157#1#18'VERTSCROLLBAR.PAGE'#3#150
|
||||
+#1#4'LEFT'#3'{'#1#6'HEIGHT'#3#149#1#3'TOP'#3#22#1#5'WIDTH'#3#156#1#0#7'TBUTT'
|
||||
+'ON'#8'OkButton'#7'ANCHORS'#11#6'akleft'#8'akbottom'#0#11'MODALRESULT'#2#1#7
|
||||
+'CAPTION'#6#2'Ok'#7'TABSTOP'#9#8'TABORDER'#2#0#4'LEFT'#2'p'#6'HEIGHT'#2#25#3
|
||||
+'TOP'#3'v'#1#5'WIDTH'#2'K'#0#0#7'TBUTTON'#12'CancelButton'#7'ANCHORS'#11#6'a'
|
||||
+'kleft'#8'akbottom'#0#11'MODALRESULT'#2#2#7'CAPTION'#6#6'Cancel'#7'TABSTOP'#9
|
||||
+#8'TABORDER'#2#1#4'LEFT'#3#224#0#6'HEIGHT'#2#25#3'TOP'#3'v'#1#5'WIDTH'#2'K'#0
|
||||
+#0#9'TGROUPBOX'#18'CharactersGroupbox'#7'ANCHORS'#11#5'aktop'#6'akleft'#7'ak'
|
||||
+'right'#8'akbottom'#0#7'CAPTION'#6#10'Characters'#12'CLIENTHEIGHT'#3#15#1#11
|
||||
+'CLIENTWIDTH'#3#137#1#11'PARENTCTL3D'#8#8'TABORDER'#2#2#4'LEFT'#2#8#6'HEIGHT'
|
||||
+#3' '#1#3'TOP'#2#8#5'WIDTH'#3#141#1#0#8'TSYNEDIT'#14'CharMapSynedit'#5'ALIGN'
|
||||
+#7#5'altop'#7'ANCHORS'#11#5'aktop'#6'akleft'#7'akright'#8'akbottom'#0#5'COLO'
|
||||
+'R'#4#255#255#255#0#11'FONT.HEIGHT'#2#241#9'FONT.NAME'#6#7'courier'#6'HEIGHT'
|
||||
+#3#248#0#4'NAME'#6#14'CharMapSynedit'#11'PARENTCTL3D'#8#8'TABORDER'#2#0#5'WI'
|
||||
+'DTH'#3#137#1#11'ONMOUSEDOWN'#7#23'CharMapSyneditMOUSEDOWN'#11'ONMOUSEMOVE'#7
|
||||
+#23'CharMapSyneditMOUSEMOVE'#24'BOOKMARKOPTIONS.ONCHANGE'#13#14'GUTTER.VISIB'
|
||||
+'LE'#8#15'GUTTER.ONCHANGE'#13#10'KEYSTROKES'#14#1#7'COMMAND'#2#3#8'SHORTCUT'
|
||||
+#2'&'#0#1#7'COMMAND'#2'g'#8'SHORTCUT'#3'& '#0#1#7'COMMAND'#3#211#0#8'SHORTCU'
|
||||
+'T'#3'&@'#0#1#7'COMMAND'#2#4#8'SHORTCUT'#2'('#0#1#7'COMMAND'#2'h'#8'SHORTCUT'
|
||||
+#3'( '#0#1#7'COMMAND'#3#212#0#8'SHORTCUT'#3'(@'#0#1#7'COMMAND'#2#1#8'SHORTCU'
|
||||
+'T'#2'%'#0#1#7'COMMAND'#2'e'#8'SHORTCUT'#3'% '#0#1#7'COMMAND'#2#5#8'SHORTCUT'
|
||||
+#3'%@'#0#1#7'COMMAND'#2'i'#8'SHORTCUT'#3'%`'#0#1#7'COMMAND'#2#2#8'SHORTCUT'#2
|
||||
+''''#0#1#7'COMMAND'#2'f'#8'SHORTCUT'#3''' '#0#1#7'COMMAND'#2#6#8'SHORTCUT'#3
|
||||
+'''@'#0#1#7'COMMAND'#2'j'#8'SHORTCUT'#3'''`'#0#1#7'COMMAND'#2#10#8'SHORTCUT'
|
||||
+#2'"'#0#1#7'COMMAND'#2'n'#8'SHORTCUT'#3'" '#0#1#7'COMMAND'#2#14#8'SHORTCUT'#3
|
||||
+'"@'#0#1#7'COMMAND'#2'r'#8'SHORTCUT'#3'"`'#0#1#7'COMMAND'#2#9#8'SHORTCUT'#2
|
||||
+'!'#0#1#7'COMMAND'#2'm'#8'SHORTCUT'#3'! '#0#1#7'COMMAND'#2#13#8'SHORTCUT'#3
|
||||
+'!@'#0#1#7'COMMAND'#2'q'#8'SHORTCUT'#3'!`'#0#1#7'COMMAND'#2#7#8'SHORTCUT'#2
|
||||
+'$'#0#1#7'COMMAND'#2'k'#8'SHORTCUT'#3'$ '#0#1#7'COMMAND'#2#15#8'SHORTCUT'#3
|
||||
+'$@'#0#1#7'COMMAND'#2's'#8'SHORTCUT'#3'$`'#0#1#7'COMMAND'#2#8#8'SHORTCUT'#2
|
||||
+'#'#0#1#7'COMMAND'#2'l'#8'SHORTCUT'#3'# '#0#1#7'COMMAND'#2#16#8'SHORTCUT'#3
|
||||
+'#@'#0#1#7'COMMAND'#2't'#8'SHORTCUT'#3'#`'#0#1#7'COMMAND'#3#223#0#8'SHORTCUT'
|
||||
+#2'-'#0#1#7'COMMAND'#3#201#0#8'SHORTCUT'#3'-@'#0#1#7'COMMAND'#3'\'#2#8'SHORT'
|
||||
+'CUT'#3'- '#0#1#7'COMMAND'#3#246#1#8'SHORTCUT'#2'.'#0#1#7'COMMAND'#3'['#2#8
|
||||
+'SHORTCUT'#3'. '#0#1#7'COMMAND'#3#245#1#8'SHORTCUT'#2#8#0#1#7'COMMAND'#3#245
|
||||
+#1#8'SHORTCUT'#3#8' '#0#1#7'COMMAND'#3#248#1#8'SHORTCUT'#3#8'@'#0#1#7'COMMAN'
|
||||
+'D'#3'Y'#2#8'SHORTCUT'#4#8#128#0#0#0#1#7'COMMAND'#3'Z'#2#8'SHORTCUT'#4#8#160
|
||||
+#0#0#0#1#7'COMMAND'#3#253#1#8'SHORTCUT'#2#13#0#1#7'COMMAND'#3#199#0#8'SHORTC'
|
||||
+'UT'#3'A@'#0#1#7'COMMAND'#3#201#0#8'SHORTCUT'#3'C@'#0#1#7'COMMAND'#3'b'#2#8
|
||||
+'SHORTCUT'#3'I`'#0#1#7'COMMAND'#3#253#1#8'SHORTCUT'#3'M@'#0#1#7'COMMAND'#3
|
||||
+#254#1#8'SHORTCUT'#3'N@'#0#1#7'COMMAND'#3#247#1#8'SHORTCUT'#3'T@'#0#1#7'COMM'
|
||||
+'AND'#3'c'#2#8'SHORTCUT'#3'U`'#0#1#7'COMMAND'#3'\'#2#8'SHORTCUT'#3'V@'#0#1#7
|
||||
+'COMMAND'#3'['#2#8'SHORTCUT'#3'X@'#0#1#7'COMMAND'#3#251#1#8'SHORTCUT'#3'Y@'#0
|
||||
+#1#7'COMMAND'#3#250#1#8'SHORTCUT'#3'Y`'#0#1#7'COMMAND'#3'Y'#2#8'SHORTCUT'#3
|
||||
+'Z@'#0#1#7'COMMAND'#3'Z'#2#8'SHORTCUT'#3'Z`'#0#1#7'COMMAND'#3'-'#1#8'SHORTCU'
|
||||
+'T'#3'0@'#0#1#7'COMMAND'#3'.'#1#8'SHORTCUT'#3'1@'#0#1#7'COMMAND'#3'/'#1#8'SH'
|
||||
+'ORTCUT'#3'2@'#0#1#7'COMMAND'#3'0'#1#8'SHORTCUT'#3'3@'#0#1#7'COMMAND'#3'1'#1
|
||||
+#8'SHORTCUT'#3'4@'#0#1#7'COMMAND'#3'2'#1#8'SHORTCUT'#3'5@'#0#1#7'COMMAND'#3
|
||||
+'3'#1#8'SHORTCUT'#3'6@'#0#1#7'COMMAND'#3'4'#1#8'SHORTCUT'#3'7@'#0#1#7'COMMAN'
|
||||
+'D'#3'5'#1#8'SHORTCUT'#3'8@'#0#1#7'COMMAND'#3'6'#1#8'SHORTCUT'#3'9@'#0#1#7'C'
|
||||
+'OMMAND'#3'_'#1#8'SHORTCUT'#3'0`'#0#1#7'COMMAND'#3'`'#1#8'SHORTCUT'#3'1`'#0#1
|
||||
+#7'COMMAND'#3'a'#1#8'SHORTCUT'#3'2`'#0#1#7'COMMAND'#3'b'#1#8'SHORTCUT'#3'3`'
|
||||
+#0#1#7'COMMAND'#3'c'#1#8'SHORTCUT'#3'4`'#0#1#7'COMMAND'#3'd'#1#8'SHORTCUT'#3
|
||||
+'5`'#0#1#7'COMMAND'#3'e'#1#8'SHORTCUT'#3'6`'#0#1#7'COMMAND'#3'f'#1#8'SHORTCU'
|
||||
+'T'#3'7`'#0#1#7'COMMAND'#3'g'#1#8'SHORTCUT'#3'8`'#0#1#7'COMMAND'#3'h'#1#8'SH'
|
||||
+'ORTCUT'#3'9`'#0#1#7'COMMAND'#3#231#0#8'SHORTCUT'#3'N`'#0#1#7'COMMAND'#3#232
|
||||
+#0#8'SHORTCUT'#3'C`'#0#1#7'COMMAND'#3#233#0#8'SHORTCUT'#3'L`'#0#1#7'COMMAND'
|
||||
+#3'd'#2#8'SHORTCUT'#2#9#0#1#7'COMMAND'#3'e'#2#8'SHORTCUT'#3#9' '#0#1#7'COMMA'
|
||||
+'ND'#3#250#0#8'SHORTCUT'#3'B`'#0#0#13'LINES.Strings'#1#6#14'CharMapSynedit'#0
|
||||
+#7'OPTIONS'#11#12'eoautoindent'#9'eonocaret'#13'eonoselection'#15'eoscrollpa'
|
||||
,'steol'#16'eoshowscrollhint'#11'eosmarttabs'#14'eotabstospaces'#20'eotrimtra'
|
||||
+'ilingspaces'#0#8'READONLY'#9#22'SELECTEDCOLOR.ONCHANGE'#13#6'CURSOR'#4#252
|
||||
+#255#0#0#6'HEIGHT'#3#248#0#5'WIDTH'#3#137#1#0#0#6'TLABEL'#13'CharInfoLabel'#5
|
||||
+'ALIGN'#7#8'albottom'#7'ANCHORS'#11#6'akleft'#7'akright'#8'akbottom'#0#7'CAP'
|
||||
+'TION'#6#13'CharInfoLabel'#6'LAYOUT'#7#5'tltop'#6'HEIGHT'#2#20#3'TOP'#3#251#0
|
||||
+#5'WIDTH'#3#137#1#0#0#0#9'TGROUPBOX'#12'TextGroupbox'#7'ANCHORS'#11#6'akleft'
|
||||
+#7'akright'#8'akbottom'#0#7'CAPTION'#6#4'Text'#12'CLIENTHEIGHT'#2'5'#11'CLIE'
|
||||
+'NTWIDTH'#3#137#1#11'PARENTCTL3D'#8#8'TABORDER'#2#3#4'LEFT'#2#8#6'HEIGHT'#2
|
||||
+'F'#3'TOP'#3'('#1#5'WIDTH'#3#141#1#0#8'TSYNEDIT'#11'TextSynedit'#5'ALIGN'#7#8
|
||||
+'alclient'#5'COLOR'#4#255#255#255#0#11'FONT.HEIGHT'#2#241#9'FONT.NAME'#6#7'c'
|
||||
+'ourier'#6'HEIGHT'#2'5'#4'NAME'#6#11'TextSynedit'#11'PARENTCTL3D'#8#8'TABORD'
|
||||
+'ER'#2#0#5'WIDTH'#3#137#1#24'BOOKMARKOPTIONS.ONCHANGE'#13#14'GUTTER.VISIBLE'
|
||||
+#8#15'GUTTER.ONCHANGE'#13#10'KEYSTROKES'#14#1#7'COMMAND'#2#3#8'SHORTCUT'#2'&'
|
||||
+#0#1#7'COMMAND'#2'g'#8'SHORTCUT'#3'& '#0#1#7'COMMAND'#3#211#0#8'SHORTCUT'#3
|
||||
+'&@'#0#1#7'COMMAND'#2#4#8'SHORTCUT'#2'('#0#1#7'COMMAND'#2'h'#8'SHORTCUT'#3'('
|
||||
+' '#0#1#7'COMMAND'#3#212#0#8'SHORTCUT'#3'(@'#0#1#7'COMMAND'#2#1#8'SHORTCUT'#2
|
||||
+'%'#0#1#7'COMMAND'#2'e'#8'SHORTCUT'#3'% '#0#1#7'COMMAND'#2#5#8'SHORTCUT'#3'%'
|
||||
+'@'#0#1#7'COMMAND'#2'i'#8'SHORTCUT'#3'%`'#0#1#7'COMMAND'#2#2#8'SHORTCUT'#2
|
||||
+''''#0#1#7'COMMAND'#2'f'#8'SHORTCUT'#3''' '#0#1#7'COMMAND'#2#6#8'SHORTCUT'#3
|
||||
+'''@'#0#1#7'COMMAND'#2'j'#8'SHORTCUT'#3'''`'#0#1#7'COMMAND'#2#10#8'SHORTCUT'
|
||||
+#2'"'#0#1#7'COMMAND'#2'n'#8'SHORTCUT'#3'" '#0#1#7'COMMAND'#2#14#8'SHORTCUT'#3
|
||||
+'"@'#0#1#7'COMMAND'#2'r'#8'SHORTCUT'#3'"`'#0#1#7'COMMAND'#2#9#8'SHORTCUT'#2
|
||||
+'!'#0#1#7'COMMAND'#2'm'#8'SHORTCUT'#3'! '#0#1#7'COMMAND'#2#13#8'SHORTCUT'#3
|
||||
+'!@'#0#1#7'COMMAND'#2'q'#8'SHORTCUT'#3'!`'#0#1#7'COMMAND'#2#7#8'SHORTCUT'#2
|
||||
+'$'#0#1#7'COMMAND'#2'k'#8'SHORTCUT'#3'$ '#0#1#7'COMMAND'#2#15#8'SHORTCUT'#3
|
||||
+'$@'#0#1#7'COMMAND'#2's'#8'SHORTCUT'#3'$`'#0#1#7'COMMAND'#2#8#8'SHORTCUT'#2
|
||||
+'#'#0#1#7'COMMAND'#2'l'#8'SHORTCUT'#3'# '#0#1#7'COMMAND'#2#16#8'SHORTCUT'#3
|
||||
+'#@'#0#1#7'COMMAND'#2't'#8'SHORTCUT'#3'#`'#0#1#7'COMMAND'#3#223#0#8'SHORTCUT'
|
||||
+#2'-'#0#1#7'COMMAND'#3#201#0#8'SHORTCUT'#3'-@'#0#1#7'COMMAND'#3'\'#2#8'SHORT'
|
||||
+'CUT'#3'- '#0#1#7'COMMAND'#3#246#1#8'SHORTCUT'#2'.'#0#1#7'COMMAND'#3'['#2#8
|
||||
+'SHORTCUT'#3'. '#0#1#7'COMMAND'#3#245#1#8'SHORTCUT'#2#8#0#1#7'COMMAND'#3#245
|
||||
+#1#8'SHORTCUT'#3#8' '#0#1#7'COMMAND'#3#248#1#8'SHORTCUT'#3#8'@'#0#1#7'COMMAN'
|
||||
+'D'#3'Y'#2#8'SHORTCUT'#4#8#128#0#0#0#1#7'COMMAND'#3'Z'#2#8'SHORTCUT'#4#8#160
|
||||
+#0#0#0#1#7'COMMAND'#3#253#1#8'SHORTCUT'#2#13#0#1#7'COMMAND'#3#199#0#8'SHORTC'
|
||||
+'UT'#3'A@'#0#1#7'COMMAND'#3#201#0#8'SHORTCUT'#3'C@'#0#1#7'COMMAND'#3'b'#2#8
|
||||
+'SHORTCUT'#3'I`'#0#1#7'COMMAND'#3#253#1#8'SHORTCUT'#3'M@'#0#1#7'COMMAND'#3
|
||||
+#254#1#8'SHORTCUT'#3'N@'#0#1#7'COMMAND'#3#247#1#8'SHORTCUT'#3'T@'#0#1#7'COMM'
|
||||
+'AND'#3'c'#2#8'SHORTCUT'#3'U`'#0#1#7'COMMAND'#3'\'#2#8'SHORTCUT'#3'V@'#0#1#7
|
||||
+'COMMAND'#3'['#2#8'SHORTCUT'#3'X@'#0#1#7'COMMAND'#3#251#1#8'SHORTCUT'#3'Y@'#0
|
||||
+#1#7'COMMAND'#3#250#1#8'SHORTCUT'#3'Y`'#0#1#7'COMMAND'#3'Y'#2#8'SHORTCUT'#3
|
||||
+'Z@'#0#1#7'COMMAND'#3'Z'#2#8'SHORTCUT'#3'Z`'#0#1#7'COMMAND'#3'-'#1#8'SHORTCU'
|
||||
+'T'#3'0@'#0#1#7'COMMAND'#3'.'#1#8'SHORTCUT'#3'1@'#0#1#7'COMMAND'#3'/'#1#8'SH'
|
||||
+'ORTCUT'#3'2@'#0#1#7'COMMAND'#3'0'#1#8'SHORTCUT'#3'3@'#0#1#7'COMMAND'#3'1'#1
|
||||
+#8'SHORTCUT'#3'4@'#0#1#7'COMMAND'#3'2'#1#8'SHORTCUT'#3'5@'#0#1#7'COMMAND'#3
|
||||
+'3'#1#8'SHORTCUT'#3'6@'#0#1#7'COMMAND'#3'4'#1#8'SHORTCUT'#3'7@'#0#1#7'COMMAN'
|
||||
+'D'#3'5'#1#8'SHORTCUT'#3'8@'#0#1#7'COMMAND'#3'6'#1#8'SHORTCUT'#3'9@'#0#1#7'C'
|
||||
+'OMMAND'#3'_'#1#8'SHORTCUT'#3'0`'#0#1#7'COMMAND'#3'`'#1#8'SHORTCUT'#3'1`'#0#1
|
||||
+#7'COMMAND'#3'a'#1#8'SHORTCUT'#3'2`'#0#1#7'COMMAND'#3'b'#1#8'SHORTCUT'#3'3`'
|
||||
+#0#1#7'COMMAND'#3'c'#1#8'SHORTCUT'#3'4`'#0#1#7'COMMAND'#3'd'#1#8'SHORTCUT'#3
|
||||
+'5`'#0#1#7'COMMAND'#3'e'#1#8'SHORTCUT'#3'6`'#0#1#7'COMMAND'#3'f'#1#8'SHORTCU'
|
||||
+'T'#3'7`'#0#1#7'COMMAND'#3'g'#1#8'SHORTCUT'#3'8`'#0#1#7'COMMAND'#3'h'#1#8'SH'
|
||||
+'ORTCUT'#3'9`'#0#1#7'COMMAND'#3#231#0#8'SHORTCUT'#3'N`'#0#1#7'COMMAND'#3#232
|
||||
+#0#8'SHORTCUT'#3'C`'#0#1#7'COMMAND'#3#233#0#8'SHORTCUT'#3'L`'#0#1#7'COMMAND'
|
||||
+#3'd'#2#8'SHORTCUT'#2#9#0#1#7'COMMAND'#3'e'#2#8'SHORTCUT'#3#9' '#0#1#7'COMMA'
|
||||
+'ND'#3#250#0#8'SHORTCUT'#3'B`'#0#0#13'LINES.Strings'#1#6#11'TextSynedit'#0#7
|
||||
+'OPTIONS'#11#12'eoautoindent'#18'eobrackethighlight'#17'eodragdropediting'#15
|
||||
+'eoscrollpasteol'#16'eoshowscrollhint'#11'eosmarttabs'#14'eotabstospaces'#20
|
||||
+'eotrimtrailingspaces'#0#22'SELECTEDCOLOR.ONCHANGE'#13#6'CURSOR'#4#252#255#0
|
||||
+#0#6'HEIGHT'#2'5'#5'WIDTH'#3#137#1#0#0#0#0
|
||||
]);
|
246
ide/charactermapdlg.pas
Normal file
246
ide/charactermapdlg.pas
Normal file
@ -0,0 +1,246 @@
|
||||
{
|
||||
/***************************************************************************
|
||||
charactermapdlg.pas
|
||||
-------------------
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
***************************************************************************
|
||||
* *
|
||||
* This source is free software; you can redistribute it and/or modify *
|
||||
* it under the terms of the GNU General Public License as published by *
|
||||
* the Free Software Foundation; either version 2 of the License, or *
|
||||
* (at your option) any later version. *
|
||||
* *
|
||||
* This code is distributed in the hope that it will be useful, but *
|
||||
* WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
|
||||
* General Public License for more details. *
|
||||
* *
|
||||
* A copy of the GNU General Public License is available on the World *
|
||||
* Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
|
||||
* obtain it by writing to the Free Software Foundation, *
|
||||
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
|
||||
* *
|
||||
***************************************************************************
|
||||
|
||||
Author: Mattias Gaertner
|
||||
|
||||
Abstract:
|
||||
Dialog for character map.
|
||||
}
|
||||
unit CharacterMapDlg;
|
||||
|
||||
{$mode objfpc}{$H+}
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, LResources, Forms, Controls, Graphics, Dialogs, Buttons,
|
||||
SynEdit, StdCtrls, LCLType, GraphType, LazarusIDEStrConsts, EditorOptions,
|
||||
SynEditHighlighter, SynHighlighterPosition;
|
||||
|
||||
type
|
||||
TCharacterMapDialog = class(TForm)
|
||||
CharactersGroupbox: TGROUPBOX;
|
||||
CharInfoLabel: TLABEL;
|
||||
TextSynedit: TSYNEDIT;
|
||||
TextGroupbox: TGROUPBOX;
|
||||
OkButton: TBUTTON;
|
||||
CancelButton: TBUTTON;
|
||||
CharMapSynedit: TSYNEDIT;
|
||||
procedure CharMapSyneditMOUSEDOWN(Sender: TOBject; Button: TMouseButton;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
procedure CharMapSyneditMOUSEMOVE(Sender: TObject; Shift: TShiftState; X,
|
||||
Y: Integer);
|
||||
procedure CharacterMapDialogCREATE(Sender: TObject);
|
||||
procedure CharacterMapDialogDESTROY(Sender: TObject);
|
||||
procedure CharacterMapDialogKEYDOWN(Sender: TObject; var Key: Word;
|
||||
Shift: TShiftState);
|
||||
private
|
||||
FPositionHighlighter: TSynPositionHighlighter;
|
||||
FCharacters: string;
|
||||
FHighlightAttr: TSynHighlighterAttributes;
|
||||
FHighlightAttrID: Integer;
|
||||
FTextAttrID: Integer;
|
||||
procedure FillCharMap;
|
||||
procedure SelectCharacter(Row, Col: integer);
|
||||
procedure HighlightCharacter(Row, Col: integer);
|
||||
function GetCharacterInfo(Row, Col: integer): string;
|
||||
procedure SetCharacters(const AValue: string);
|
||||
procedure SetSynEditSettings;
|
||||
function RowColValid(Row, Col: integer): boolean;
|
||||
function GetCharOrd(Row, Col: integer): integer;
|
||||
function RowColToSynEditRowCol(Row, Col: integer): TPoint;
|
||||
procedure SynEditXYToRowCol(X, Y: integer; var Row, Col: integer);
|
||||
public
|
||||
property Characters: string read FCharacters write SetCharacters;
|
||||
end;
|
||||
|
||||
function ShowCharacterMap(var s: string): boolean;
|
||||
|
||||
implementation
|
||||
|
||||
function ShowCharacterMap(var s: string): boolean;
|
||||
var
|
||||
CharacterMapDialog: TCharacterMapDialog;
|
||||
begin
|
||||
CharacterMapDialog:=TCharacterMapDialog.Create(Application);
|
||||
Result:=CharacterMapDialog.ShowModal=mrOk;
|
||||
if Result then
|
||||
s:=CharacterMapDialog.Characters;
|
||||
CharacterMapDialog.Free;
|
||||
end;
|
||||
|
||||
{ TCharacterMapDialog }
|
||||
|
||||
procedure TCharacterMapDialog.CharacterMapDialogKEYDOWN(Sender: TObject;
|
||||
var Key: Word; Shift: TShiftState);
|
||||
begin
|
||||
if Key=VK_ESCAPE then ModalResult:=mrCancel;
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.CharMapSyneditMOUSEMOVE(Sender: TObject;
|
||||
Shift: TShiftState; X, Y: Integer);
|
||||
var
|
||||
Row: Integer;
|
||||
Col: Integer;
|
||||
begin
|
||||
SynEditXYToRowCol(X,Y,Row,Col);
|
||||
HighlightCharacter(Row,Col);
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.FillCharMap;
|
||||
var
|
||||
y: Integer;
|
||||
x: Integer;
|
||||
CurLine: String;
|
||||
CharOrd: Integer;
|
||||
CurChar: string;
|
||||
begin
|
||||
CharMapSynedit.Lines.Clear;
|
||||
for y:=0 to 13 do begin
|
||||
CurLine:='';
|
||||
for x:=0 to 15 do begin
|
||||
CharOrd:=(y+2)*16+x;
|
||||
CurChar:=chr(CharOrd)+' ';
|
||||
CurLine:=CurLine+CurChar;
|
||||
end;
|
||||
CharMapSynedit.Lines.Add(CurLine);
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.SelectCharacter(Row, Col: integer);
|
||||
begin
|
||||
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.HighlightCharacter(Row, Col: integer);
|
||||
var
|
||||
s: String;
|
||||
HighlightPos: TPoint;
|
||||
begin
|
||||
s:=GetCharacterInfo(Row,Col);
|
||||
//writeln('TCharacterMapDialog.HighlightCharacter Row=',Row,' Col=',Col,' ',s);
|
||||
CharInfoLabel.Caption:=s;
|
||||
FPositionHighlighter.ClearAllTokens;
|
||||
if RowColValid(Row,Col) then begin
|
||||
HighlightPos:=RowColToSynEditRowCol(Row,Col);
|
||||
FPositionHighlighter.AddToken(HighlightPos.Y-1,HighlightPos.X-1,
|
||||
FTextAttrID);
|
||||
FPositionHighlighter.AddToken(HighlightPos.Y-1,HighlightPos.X+1,
|
||||
FHighlightAttrID);
|
||||
end;
|
||||
end;
|
||||
|
||||
function TCharacterMapDialog.GetCharacterInfo(Row, Col: integer): string;
|
||||
var
|
||||
CharOrd: Integer;
|
||||
begin
|
||||
if RowColValid(Row,Col) then begin
|
||||
CharOrd:=GetCharOrd(Row,Col);
|
||||
Result:='Dezimal='+IntToStr(CharOrd)+' Hex='+HexStr(CharOrd,2);
|
||||
end else begin
|
||||
Result:='-';
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.SetCharacters(const AValue: string);
|
||||
begin
|
||||
if FCharacters=AValue then exit;
|
||||
FCharacters:=AValue;
|
||||
TextSynedit.Lines.Text:=AValue;
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.SetSynEditSettings;
|
||||
begin
|
||||
EditorOpts.GetSynEditSettings(CharMapSynedit);
|
||||
EditorOpts.GetSynEditSettings(TextSynedit);
|
||||
end;
|
||||
|
||||
function TCharacterMapDialog.RowColValid(Row, Col: integer): boolean;
|
||||
begin
|
||||
Result:=(Row>=1) and (Row<=14) and (Col>=1) and (Col<=16);
|
||||
end;
|
||||
|
||||
function TCharacterMapDialog.GetCharOrd(Row, Col: integer): integer;
|
||||
begin
|
||||
Result:=(Row+1)*16+Col-1;
|
||||
end;
|
||||
|
||||
function TCharacterMapDialog.RowColToSynEditRowCol(Row, Col: integer): TPoint;
|
||||
begin
|
||||
Result.X:=Col*2-1;
|
||||
Result.Y:=Row;
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.SynEditXYToRowCol(X, Y: integer; var Row,
|
||||
Col: integer);
|
||||
var
|
||||
RowColumn: TPoint;
|
||||
begin
|
||||
RowColumn:=CharMapSynedit.PixelsToRowColumn(Point(X,Y));
|
||||
Row:=RowColumn.Y;
|
||||
Col:=RowColumn.X div 2;
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.CharacterMapDialogCREATE(Sender: TObject);
|
||||
begin
|
||||
Caption:=lisCharacterMap;
|
||||
FHighlightAttr:=TSynHighlighterAttributes.Create('Highlight');
|
||||
with FHighlightAttr do begin
|
||||
Foreground:=clBlue;
|
||||
Style:=Style+[fsBold];
|
||||
end;
|
||||
FPositionHighlighter:=TSynPositionHighlighter.Create(Self);
|
||||
FHighlightAttrID:=FPositionHighlighter.GetCopiedTokenID(FHighlightAttr);
|
||||
FTextAttrID:=
|
||||
FPositionHighlighter.GetCopiedTokenID(FPositionHighlighter.TextAttri);
|
||||
CharMapSynedit.Highlighter:=FPositionHighlighter;
|
||||
SetSynEditSettings;
|
||||
FillCharMap;
|
||||
TextSynedit.Lines.Clear;
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.CharMapSyneditMOUSEDOWN(Sender: TOBject;
|
||||
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
var
|
||||
Row: Integer;
|
||||
Col: Integer;
|
||||
begin
|
||||
SynEditXYToRowCol(X,Y,Row,Col);
|
||||
if not RowColValid(Row,Col) then exit;
|
||||
Characters:=Characters+chr(GetCharOrd(Row,Col));
|
||||
end;
|
||||
|
||||
procedure TCharacterMapDialog.CharacterMapDialogDESTROY(Sender: TObject);
|
||||
begin
|
||||
FreeAndNil(FPositionHighlighter);
|
||||
FreeAndNil(FHighlightAttr);
|
||||
end;
|
||||
|
||||
initialization
|
||||
{$I charactermapdlg.lrs}
|
||||
|
||||
end.
|
||||
|
@ -90,19 +90,20 @@ const
|
||||
ecSelectParagraph = ecUserFirst + 60;
|
||||
|
||||
// insert text
|
||||
ecInsertGPLNotice = ecUserFirst + 80;
|
||||
ecInsertLGPLNotice = ecUserFirst + 81;
|
||||
ecInsertUserName = ecUserFirst + 82;
|
||||
ecInsertDateTime = ecUserFirst + 83;
|
||||
ecInsertChangeLogEntry = ecUserFirst + 84;
|
||||
ecInsertCVSAuthor = ecUserFirst + 85;
|
||||
ecInsertCVSDate = ecUserFirst + 86;
|
||||
ecInsertCVSHeader = ecUserFirst + 87;
|
||||
ecInsertCVSID = ecUserFirst + 88;
|
||||
ecInsertCVSLog = ecUserFirst + 89;
|
||||
ecInsertCVSName = ecUserFirst + 90;
|
||||
ecInsertCVSRevision = ecUserFirst + 91;
|
||||
ecInsertCVSSource = ecUserFirst + 92;
|
||||
ecInsertCharacter = ecUserFirst + 80;
|
||||
ecInsertGPLNotice = ecUserFirst + 81;
|
||||
ecInsertLGPLNotice = ecUserFirst + 82;
|
||||
ecInsertUserName = ecUserFirst + 83;
|
||||
ecInsertDateTime = ecUserFirst + 84;
|
||||
ecInsertChangeLogEntry = ecUserFirst + 85;
|
||||
ecInsertCVSAuthor = ecUserFirst + 86;
|
||||
ecInsertCVSDate = ecUserFirst + 87;
|
||||
ecInsertCVSHeader = ecUserFirst + 88;
|
||||
ecInsertCVSID = ecUserFirst + 89;
|
||||
ecInsertCVSLog = ecUserFirst + 90;
|
||||
ecInsertCVSName = ecUserFirst + 91;
|
||||
ecInsertCVSRevision = ecUserFirst + 92;
|
||||
ecInsertCVSSource = ecUserFirst + 93;
|
||||
|
||||
// codetools
|
||||
ecWordCompletion = ecUserFirst + 100;
|
||||
@ -556,6 +557,7 @@ begin
|
||||
ecSelectCodeBlock : Result:= lismenuselectcodeblock;
|
||||
ecSelectLine : Result:= lismenuselectline;
|
||||
ecSelectParagraph : Result:= lismenuselectparagraph;
|
||||
ecInsertCharacter : Result:= srkmecInsertCharacter;
|
||||
ecInsertGPLNotice : Result:= srkmecInsertGPLNotice;
|
||||
ecInsertLGPLNotice : Result:= srkmecInsertLGPLNotice;
|
||||
ecInsertUserName : Result:= srkmecInsertUserName;
|
||||
@ -1335,6 +1337,7 @@ begin
|
||||
Add(C,'Delete whole text',ecClearAll,VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
Add(C,'Break line and move cursor',ecLineBreak,VK_RETURN,[],VK_UNKNOWN,[]);
|
||||
Add(C,'Break line, leave cursor',ecInsertLine,VK_N,[ssCtrl],VK_UNKNOWN,[]);
|
||||
Add(C,'Insert from Character Map',ecInsertCharacter,VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
Add(C,'Insert GPL notice',ecInsertGPLNotice,VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
Add(C,'Insert LGPL notice',ecInsertLGPLNotice,VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
Add(C,'Insert username',ecInsertUserName,VK_UNKNOWN,[],VK_UNKNOWN,[]);
|
||||
|
@ -137,6 +137,7 @@ resourcestring
|
||||
lisMenuSelectCodeBlock = 'Select code block';
|
||||
lisMenuSelectLine = 'Select line';
|
||||
lisMenuSelectParagraph = 'Select paragraph';
|
||||
lisMenuInsertCharacter = 'Insert from Character Map';
|
||||
lisMenuInsertText = 'Insert text';
|
||||
lisMenuInsertCVSKeyword = 'CVS keyword';
|
||||
lisMenuInsertGeneral = 'General';
|
||||
@ -1084,6 +1085,7 @@ resourcestring
|
||||
|
||||
// edit menu
|
||||
srkmecSelectionTabs2Spaces = 'Convert tabs to spaces in selection';
|
||||
srkmecInsertCharacter = 'Insert from Charactermap';
|
||||
srkmecInsertGPLNotice = 'Insert GPL notice';
|
||||
srkmecInsertLGPLNotice = 'Insert LGPL notice';
|
||||
srkmecInsertUserName = 'Insert current username';
|
||||
@ -2212,6 +2214,7 @@ resourcestring
|
||||
lisMenuTemplateContents = 'Contents';
|
||||
lisMenuTemplateTutorial = 'Tutorial';
|
||||
lisMenuTemplateAbout = 'About';
|
||||
lisCharacterMap = 'Character Map';
|
||||
|
||||
implementation
|
||||
end.
|
||||
|
10
ide/main.pp
10
ide/main.pp
@ -131,6 +131,7 @@ type
|
||||
procedure mnuEditSelectLineClick(Sender: TObject);
|
||||
procedure mnuEditSelectParagraphClick(Sender: TObject);
|
||||
procedure mnuEditCompleteCodeClicked(Sender: TObject);
|
||||
procedure mnuEditInsertCharacterClicked(Sender: TObject);
|
||||
|
||||
// edit->insert text->CVS keyword
|
||||
procedure mnuEditInsertCVSAuthorClick(Sender: TObject);
|
||||
@ -1444,6 +1445,7 @@ begin
|
||||
itmEditSelectLine.OnClick:=@mnuEditSelectLineClick;
|
||||
itmEditSelectParagraph.OnClick:=@mnuEditSelectParagraphClick;
|
||||
itmEditCompleteCode.OnClick:=@mnuEditCompleteCodeClicked;
|
||||
itmEditInsertCharacter.OnClick:=@mnuEditInsertCharacterClicked;
|
||||
|
||||
// insert text->CVS keyword
|
||||
itmEditInsertCVSAuthor.OnClick:=@mnuEditInsertCVSAuthorClick;
|
||||
@ -9287,6 +9289,11 @@ begin
|
||||
DoCompleteCodeAtCursor;
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuEditInsertCharacterClicked(Sender: TObject);
|
||||
begin
|
||||
DoEditMenuCommand(ecInsertCharacter);
|
||||
end;
|
||||
|
||||
procedure TMainIDE.mnuEditInsertCVSAuthorClick(Sender: TObject);
|
||||
begin
|
||||
DoEditMenuCommand(ecInsertCVSAuthor);
|
||||
@ -9426,6 +9433,9 @@ end.
|
||||
|
||||
{ =============================================================================
|
||||
$Log$
|
||||
Revision 1.640 2003/08/18 18:07:53 mattias
|
||||
implemented character map
|
||||
|
||||
Revision 1.639 2003/08/18 10:02:36 mattias
|
||||
fixed win32 lazconf and improved enclose selection
|
||||
|
||||
|
@ -225,6 +225,7 @@ type
|
||||
itmEditSelectCodeBlock: TMenuItem;
|
||||
itmEditSelectLine: TMenuItem;
|
||||
itmEditSelectParagraph: TMenuItem;
|
||||
itmEditInsertCharacter: TMenuItem;
|
||||
itmEditInsertText: TMenuItem;
|
||||
itmEditCompleteCode: TMenuItem;
|
||||
|
||||
@ -750,6 +751,11 @@ begin
|
||||
itmEditSelect.Add(itmEditSelectParagraph);
|
||||
end;
|
||||
|
||||
itmEditInsertCharacter := TMenuItem.Create(Self);
|
||||
itmEditInsertCharacter.Name:='itmEditInsertCharacter';
|
||||
itmEditInsertCharacter.Caption := lisMenuInsertCharacter;
|
||||
mnuEdit.Add(itmEditInsertCharacter);
|
||||
|
||||
itmEditInsertText := TMenuItem.Create(Self);
|
||||
itmEditInsertText.Name:='itmEditInsertText';
|
||||
itmEditInsertText.Caption := lisMenuInsertText;
|
||||
|
@ -55,7 +55,7 @@ uses
|
||||
MsgView, InputHistory, LazarusIDEStrConsts, BaseDebugManager, Debugger,
|
||||
TypInfo, LResources, LazConf, EnvironmentOpts, Compiler,
|
||||
SortSelectionDlg, EncloseSelectionDlg, ClipBoardHistory, DiffDialog,
|
||||
SourceEditProcs, SourceMarks;
|
||||
SourceEditProcs, SourceMarks, CharacterMapDlg;
|
||||
|
||||
type
|
||||
TSourceNoteBook = class;
|
||||
@ -240,6 +240,7 @@ type
|
||||
procedure SelectLine;
|
||||
procedure SelectParagraph;
|
||||
function CommentText(const Txt: string; CommentType: TCommentType): string;
|
||||
procedure InsertCharacterFromMap;
|
||||
procedure InsertGPLNotice(CommentType: TCommentType);
|
||||
procedure InsertLGPLNotice(CommentType: TCommentType);
|
||||
procedure InsertUsername;
|
||||
@ -1082,6 +1083,9 @@ Begin
|
||||
ecSelectParagraph:
|
||||
SelectParagraph;
|
||||
|
||||
ecInsertCharacter:
|
||||
InsertCharacterFromMap;
|
||||
|
||||
ecInsertGPLNotice:
|
||||
InsertGPLNotice(comtDefault);
|
||||
|
||||
@ -1321,6 +1325,14 @@ begin
|
||||
Result:=IDEProcs.CommentText(Txt,CommentType);
|
||||
end;
|
||||
|
||||
procedure TSourceEditor.InsertCharacterFromMap;
|
||||
var
|
||||
NewChars: string;
|
||||
begin
|
||||
if not ShowCharacterMap(NewChars) then exit;
|
||||
FEditor.SelText:=NewChars;
|
||||
end;
|
||||
|
||||
procedure TSourceEditor.InsertGPLNotice(CommentType: TCommentType);
|
||||
var
|
||||
Txt: string;
|
||||
|
Loading…
Reference in New Issue
Block a user