OnKeyPress GraphWPF.pas
This commit is contained in:
parent
ac0396d5c8
commit
cdec5cb7fb
|
|
@ -769,6 +769,11 @@ namespace PascalABCCompiler.SyntaxTree
|
||||||
sb.Append(" " + pa.ToString() + " ");
|
sb.Append(" " + pa.ToString() + " ");
|
||||||
return sb.ToString();
|
return sb.ToString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool is_extension()
|
||||||
|
{
|
||||||
|
return proc_attributes.proc_attributes.FindIndex(attr => attr.attribute_type == proc_attribute.attr_extension) >=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public partial class function_header
|
public partial class function_header
|
||||||
|
|
|
||||||
14
TestSuite/ExtPropAssignTuple.pas
Normal file
14
TestSuite/ExtPropAssignTuple.pas
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
type
|
||||||
|
TClass = class
|
||||||
|
private
|
||||||
|
fX, fY: integer;
|
||||||
|
|
||||||
|
public
|
||||||
|
property X: integer write (fX, fY) := (3, 4);
|
||||||
|
end;
|
||||||
|
|
||||||
|
begin
|
||||||
|
var d := TClass.Create;
|
||||||
|
d.X := 55;
|
||||||
|
Assert(d.fX=3);
|
||||||
|
end.
|
||||||
8
TestSuite/foreach_arr_seq.pas
Normal file
8
TestSuite/foreach_arr_seq.pas
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
begin
|
||||||
|
var a: array of sequence of byte;
|
||||||
|
SetLength(a,1);
|
||||||
|
a[0] := Seq(byte(1),byte(2));
|
||||||
|
|
||||||
|
foreach var b in a do
|
||||||
|
Assert(b.GetType.Name='Byte[]');
|
||||||
|
end.
|
||||||
|
|
@ -459,6 +459,8 @@ var
|
||||||
OnKeyDown: procedure(k: Key);
|
OnKeyDown: procedure(k: Key);
|
||||||
/// Событие отжатия клавиши
|
/// Событие отжатия клавиши
|
||||||
OnKeyUp: procedure(k: Key);
|
OnKeyUp: procedure(k: Key);
|
||||||
|
/// Событие нажатия символьной клавиши
|
||||||
|
OnKeyPress: procedure(ch: char);
|
||||||
/// Событие изменения размера графического окна
|
/// Событие изменения размера графического окна
|
||||||
OnResize: procedure;
|
OnResize: procedure;
|
||||||
|
|
||||||
|
|
@ -1391,16 +1393,20 @@ begin
|
||||||
end;
|
end;
|
||||||
|
|
||||||
/// --- SystemKeyEvents
|
/// --- SystemKeyEvents
|
||||||
procedure SystemOnKeyDown(sender: Object; e: KeyEventArgs);
|
procedure SystemOnKeyDown(sender: Object; e: KeyEventArgs) :=
|
||||||
begin
|
|
||||||
if OnKeyDown<>nil then
|
if OnKeyDown<>nil then
|
||||||
OnKeyDown(e.Key);
|
OnKeyDown(e.Key);
|
||||||
end;
|
|
||||||
|
|
||||||
procedure SystemOnKeyUp(sender: Object; e: KeyEventArgs) :=
|
procedure SystemOnKeyUp(sender: Object; e: KeyEventArgs) :=
|
||||||
if OnKeyUp<>nil then
|
if OnKeyUp<>nil then
|
||||||
OnKeyUp(e.Key);
|
OnKeyUp(e.Key);
|
||||||
|
|
||||||
|
procedure SystemOnKeyPress(sender: Object; e: TextCompositionEventArgs) :=
|
||||||
|
begin
|
||||||
|
if (OnKeyPress<>nil) and (e.Text<>nil) and (e.Text.Length>0) then
|
||||||
|
OnKeyPress(e.Text[1]);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
|
procedure SystemOnResize(sender: Object; e: SizeChangedEventArgs) :=
|
||||||
if OnResize<>nil then
|
if OnResize<>nil then
|
||||||
OnResize();
|
OnResize();
|
||||||
|
|
@ -1521,6 +1527,7 @@ public
|
||||||
MouseMove += SystemOnMouseMove;
|
MouseMove += SystemOnMouseMove;
|
||||||
KeyDown += SystemOnKeyDown;
|
KeyDown += SystemOnKeyDown;
|
||||||
KeyUp += SystemOnKeyUp;
|
KeyUp += SystemOnKeyUp;
|
||||||
|
Self.TextInput += SystemOnKeyPress;
|
||||||
SizeChanged += SystemOnResize;
|
SizeChanged += SystemOnResize;
|
||||||
|
|
||||||
CompositionTarget.Rendering += RenderFrame;
|
CompositionTarget.Rendering += RenderFrame;
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue