From 9d29e1876c7d65aa17eb43358f5e2919c50d8883 Mon Sep 17 00:00:00 2001 From: Ansgar Becker Date: Thu, 4 Mar 2010 20:18:26 +0000 Subject: [PATCH] Turn filter input box into a TButtonedEdit, and add a "X" button to the right edge which clears its content. --- source/main.dfm | 8 +++++++- source/main.pas | 10 +++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/source/main.dfm b/source/main.dfm index 3ba362ce..cbba216e 100644 --- a/source/main.dfm +++ b/source/main.dfm @@ -468,13 +468,19 @@ object MainForm: TMainForm Flat = True OnClick = actFilterPanelExecute end - object editFilterVT: TEdit + object editFilterVT: TButtonedEdit Left = 70 Top = 3 Width = 154 Height = 21 + Images = ImageListMain + RightButton.Enabled = False + RightButton.Hint = 'Clear filter' + RightButton.ImageIndex = 26 + RightButton.Visible = True TabOrder = 0 OnChange = editFilterVTChange + OnRightButtonClick = editFilterVTRightButtonClick end end object PageControlMain: TPageControl diff --git a/source/main.pas b/source/main.pas index 4bb59f6c..0986764c 100644 --- a/source/main.pas +++ b/source/main.pas @@ -350,7 +350,7 @@ type pnlProcessView: TPanel; SynMemoProcessView: TSynMemo; pnlFilterVT: TPanel; - editFilterVT: TEdit; + editFilterVT: TButtonedEdit; lblFilterVT: TLabel; lblFilterVTInfo: TLabel; menuEditVariable: TMenuItem; @@ -735,6 +735,7 @@ type procedure actDataShowAllExecute(Sender: TObject); procedure AnyGridInitNode(Sender: TBaseVirtualTree; ParentNode, Node: PVirtualNode; var InitialStates: TVirtualNodeInitStates); + procedure editFilterVTRightButtonClick(Sender: TObject); private FDelimiter: String; FileNameSessionLog: String; @@ -5982,6 +5983,13 @@ begin // Reset typing timer TimerFilterVT.Enabled := False; TimerFilterVT.Enabled := True; + editFilterVT.RightButton.Enabled := editFilterVT.Text <> ''; +end; + + +procedure TMainForm.editFilterVTRightButtonClick(Sender: TObject); +begin + (Sender as TButtonedEdit).Clear; end;