mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-26 16:13:56 +02:00
SynEdit: AutoComplet versus synComplete example
git-svn-id: trunk@27179 -
This commit is contained in:
parent
a03f7f1ffc
commit
74594dcf8c
@ -837,25 +837,60 @@ object Form1: TForm1
|
||||
Top = 1
|
||||
Width = 5
|
||||
end
|
||||
object Memo2: TMemo
|
||||
object Panel3: TPanel
|
||||
Left = 288
|
||||
Height = 276
|
||||
Top = 1
|
||||
Width = 270
|
||||
Align = alClient
|
||||
Lines.Strings = (
|
||||
'For TsynComplete press ctrl-space.'
|
||||
''
|
||||
'values are'
|
||||
'Personal Computer'
|
||||
'Personal'
|
||||
'Computer'
|
||||
'Police Constable'
|
||||
'Police'
|
||||
'Constable'
|
||||
)
|
||||
ReadOnly = True
|
||||
Caption = 'Panel3'
|
||||
ClientHeight = 276
|
||||
ClientWidth = 270
|
||||
TabOrder = 2
|
||||
object Memo2: TMemo
|
||||
Left = 1
|
||||
Height = 236
|
||||
Top = 39
|
||||
Width = 268
|
||||
Align = alClient
|
||||
Lines.Strings = (
|
||||
'For TsynComplete press ctrl-space.'
|
||||
''
|
||||
'values are'
|
||||
'Personal Computer'
|
||||
'Personal'
|
||||
'Computer'
|
||||
'Police Constable'
|
||||
'Police'
|
||||
'Constable'
|
||||
)
|
||||
ReadOnly = True
|
||||
TabOrder = 0
|
||||
end
|
||||
object chkSearch: TCheckBox
|
||||
Left = 1
|
||||
Height = 19
|
||||
Top = 20
|
||||
Width = 268
|
||||
Align = alTop
|
||||
Caption = 'Use/Filter in SearchPosition'
|
||||
Checked = True
|
||||
OnChange = chkSearchChange
|
||||
State = cbChecked
|
||||
TabOrder = 1
|
||||
end
|
||||
object chkExec: TCheckBox
|
||||
Left = 1
|
||||
Height = 19
|
||||
Top = 1
|
||||
Width = 268
|
||||
Align = alTop
|
||||
Caption = 'Filter in Execute'
|
||||
Checked = True
|
||||
OnChange = chkExecChange
|
||||
State = cbChecked
|
||||
TabOrder = 2
|
||||
end
|
||||
end
|
||||
end
|
||||
object SynAutoComplete1: TSynAutoComplete
|
||||
|
@ -13,16 +13,21 @@ type
|
||||
{ TForm1 }
|
||||
|
||||
TForm1 = class(TForm)
|
||||
chkSearch: TCheckBox;
|
||||
chkExec: TCheckBox;
|
||||
Label1: TLabel;
|
||||
Label2: TLabel;
|
||||
Memo1: TMemo;
|
||||
Memo2: TMemo;
|
||||
Panel1: TPanel;
|
||||
Panel2: TPanel;
|
||||
Panel3: TPanel;
|
||||
Splitter1: TSplitter;
|
||||
Splitter2: TSplitter;
|
||||
SynAutoComplete1: TSynAutoComplete;
|
||||
SynEdit1: TSynEdit;
|
||||
procedure chkExecChange(Sender: TObject);
|
||||
procedure chkSearchChange(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure Memo1Change(Sender: TObject);
|
||||
private
|
||||
@ -56,18 +61,37 @@ procedure TForm1.DoExecute(Sender: TObject);
|
||||
end;
|
||||
begin
|
||||
SynCompletion.ItemList.Clear;
|
||||
if chkExec.Checked then begin
|
||||
Add('Personal Computer');
|
||||
Add('Personal');
|
||||
Add('Computer');
|
||||
Add('Police Constable');
|
||||
Add('Police');
|
||||
Add('Constable');
|
||||
end else begin
|
||||
SynCompletion.ItemList.Add('Personal Computer');
|
||||
SynCompletion.ItemList.Add('Personal');
|
||||
SynCompletion.ItemList.Add('Computer');
|
||||
SynCompletion.ItemList.Add('Police Constable');
|
||||
SynCompletion.ItemList.Add('Police');
|
||||
SynCompletion.ItemList.Add('Constable');
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TForm1.DoSearchPosition(var APosition: integer);
|
||||
procedure Add(s: String);
|
||||
begin
|
||||
if pos(lowercase(SynCompletion.CurrentString), lowercase(s)) = 1 then
|
||||
SynCompletion.ItemList.Add(s);
|
||||
end;
|
||||
begin
|
||||
SynCompletion.ItemList.Clear;
|
||||
Add('Personal Computer');
|
||||
Add('Personal');
|
||||
Add('Computer');
|
||||
Add('Police Constable');
|
||||
Add('Police');
|
||||
Add('Constable');
|
||||
end;
|
||||
|
||||
procedure TForm1.DoSearchPosition(var APosition: integer);
|
||||
begin
|
||||
DoExecute(nil);
|
||||
APosition := 0;
|
||||
end;
|
||||
|
||||
@ -81,5 +105,19 @@ begin
|
||||
SynCompletion.OnSearchPosition := @DoSearchPosition;
|
||||
end;
|
||||
|
||||
procedure TForm1.chkExecChange(Sender: TObject);
|
||||
begin
|
||||
SynEdit1.SetFocus;
|
||||
end;
|
||||
|
||||
procedure TForm1.chkSearchChange(Sender: TObject);
|
||||
begin
|
||||
if chkSearch.Checked then
|
||||
SynCompletion.OnSearchPosition := @DoSearchPosition
|
||||
else
|
||||
SynCompletion.OnSearchPosition := nil;
|
||||
SynEdit1.SetFocus;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user