mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2026-01-04 18:50:52 +01:00
FilteredEdit components: forward the Return press correctly when it is not handled by the filtered control
git-svn-id: trunk@35552 -
This commit is contained in:
parent
7e3c33a8a0
commit
e081f88aa0
@ -31,7 +31,7 @@ type
|
||||
protected
|
||||
procedure MoveNext; override;
|
||||
procedure MovePrev; override;
|
||||
procedure ReturnPressed; override;
|
||||
function ReturnPressed: Boolean; override;
|
||||
procedure SortAndFilter; override;
|
||||
procedure ApplyFilterCore; override;
|
||||
function GetDefaultGlyph: TBitmap; override;
|
||||
@ -252,12 +252,14 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TListFilterEdit.ReturnPressed;
|
||||
function TListFilterEdit.ReturnPressed: Boolean;
|
||||
// Retuns true if the Return press was forwarded to the ListBox
|
||||
var
|
||||
Key: Char;
|
||||
begin
|
||||
Key:=Char(VK_RETURN);
|
||||
if Assigned(fFilteredListbox.OnKeyPress) then
|
||||
Result:=Assigned(fFilteredListbox.OnKeyPress);
|
||||
if Result then
|
||||
fFilteredListbox.OnKeyPress(fFilteredListbox, Key);
|
||||
end;
|
||||
|
||||
|
||||
@ -65,7 +65,7 @@ type
|
||||
procedure Notification(AComponent: TComponent; Operation: TOperation); override;
|
||||
procedure MoveNext; override;
|
||||
procedure MovePrev; override;
|
||||
procedure ReturnPressed; override;
|
||||
function ReturnPressed: Boolean; override;
|
||||
procedure SortAndFilter; override;
|
||||
procedure ApplyFilterCore; override;
|
||||
function GetDefaultGlyph: TBitmap; override;
|
||||
@ -520,12 +520,14 @@ begin
|
||||
fFilteredTreeview.MoveToPrevNode;
|
||||
end;
|
||||
|
||||
procedure TTreeFilterEdit.ReturnPressed;
|
||||
function TTreeFilterEdit.ReturnPressed: Boolean;
|
||||
// Retuns true if the Return press was forwarded to the Tree
|
||||
var
|
||||
Key: Char;
|
||||
begin
|
||||
Key:=Char(VK_RETURN);
|
||||
if Assigned(fFilteredTreeview.OnKeyPress) then
|
||||
Result:=Assigned(fFilteredTreeview.OnKeyPress);
|
||||
if Result then
|
||||
fFilteredTreeview.OnKeyPress(fFilteredTreeview, Key);
|
||||
end;
|
||||
|
||||
|
||||
@ -188,7 +188,7 @@ type
|
||||
procedure ApplyFilterCore; virtual; abstract;
|
||||
procedure MoveNext; virtual; abstract;
|
||||
procedure MovePrev; virtual; abstract;
|
||||
procedure ReturnPressed; virtual; abstract;
|
||||
function ReturnPressed: Boolean; virtual; abstract;
|
||||
function GetDefaultGlyphName: String; override;
|
||||
public
|
||||
constructor Create(AOwner: TComponent); override;
|
||||
@ -896,17 +896,20 @@ begin
|
||||
end;
|
||||
|
||||
procedure TCustomControlFilterEdit.KeyDown(var Key: Word; Shift: TShiftState);
|
||||
var
|
||||
Handled: Boolean;
|
||||
begin
|
||||
if (Key in [VK_UP, VK_DOWN, VK_RETURN]) and (Shift = []) then
|
||||
begin
|
||||
Handled:=False;
|
||||
if Shift = [] then
|
||||
case Key of
|
||||
VK_UP: MovePrev;
|
||||
VK_DOWN: MoveNext;
|
||||
VK_RETURN: ReturnPressed;
|
||||
VK_UP: begin MovePrev; Handled:=True; end;
|
||||
VK_DOWN: begin MoveNext; Handled:=True; end;
|
||||
VK_RETURN: Handled:=ReturnPressed;
|
||||
end;
|
||||
Key:=VK_UNKNOWN;
|
||||
end
|
||||
else inherited KeyDown(Key, Shift);
|
||||
if Handled then
|
||||
Key:=VK_UNKNOWN
|
||||
else
|
||||
inherited KeyDown(Key, Shift);
|
||||
end;
|
||||
|
||||
procedure TCustomControlFilterEdit.Change;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user