Menu

[r7]: / formsearchtrace.pas  Maximize  Restore  History

Download this file

130 lines (109 with data), 4.6 kB

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
{---------------------------------------------------------------------}
{ }
{ Firebird database server profiler tool (FBProfiler) }
{ }
{ Copyright (c) 2013-2018 Bel Air Informatique (www.belair-info.fr) }
{ Copyright (c) 2013-2018 Serguei Tarassov (www.arbinada.com) }
{ }
{ FBProfiler uses IBX For Lazarus components (Firebird Express) }
{ FBProfiler was firstly released for public domain }
{ on October 31 of 2015 (Halloween) so any donations are welcome. }
{ }
{ The contents of this file are subject to the InterBase }
{ Public License Version 1.0 (the "License"); you may not }
{ use this file except in compliance with the License. You }
{ may obtain a copy of the License at }
{ http://www.firebirdsql.org/en/interbase-public-license/ }
{ Software distributed under the License is distributed on }
{ an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either }
{ express or implied. See the License for the specific language }
{ governing rights and limitations under the License. }
{ }
{---------------------------------------------------------------------}
unit FormSearchTrace;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
ExtCtrls, Spin, Buttons, ActnList, DMMain;
type
{ TFrmSearchTrace }
TFrmSearchTrace = class(TForm)
ActionOK: TAction;
ActionList1: TActionList;
BtnCancel: TBitBtn;
BtnOK: TBitBtn;
ChkDuration: TCheckBox;
ChkPlan: TCheckBox;
ChkSQL: TCheckBox;
EdtDurationMax: TSpinEdit;
EdtDurationMin: TSpinEdit;
EdtPlan: TEdit;
EdtSQL: TEdit;
Label1: TLabel;
Label2: TLabel;
procedure ActionList1Update(AAction: TBasicAction; var Handled: Boolean);
procedure ActionOKExecute(Sender: TObject);
procedure EdtDurationMaxEditingDone(Sender: TObject);
procedure EdtDurationMinEditingDone(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
procedure InitByFilter(const Filter: TTraceFilter);
procedure SaveFilter(Filter: TTraceFilter);
public
{ public declarations }
end;
var
FrmSearchTrace: TFrmSearchTrace;
implementation
{$R *.lfm}
{ TFrmSearchTrace }
procedure TFrmSearchTrace.InitByFilter(const Filter: TTraceFilter);
begin
ChkDuration.Checked := Filter.DurationMsFilter;
EdtDurationMin.Value := Filter.DurationMsMin;
EdtDurationMax.Value := Filter.DurationMsMax;
ChkPlan.Checked := Filter.PlanFilter;
EdtPlan.Text := Filter.PlanExpr;
ChkSQL.Checked := Filter.SQLFilter;
EdtSQL.Text := Filter.SQLExpr;
end;
procedure TFrmSearchTrace.SaveFilter(Filter: TTraceFilter);
begin
Filter.DurationMsFilter := ChkDuration.Checked;
Filter.DurationMsMin := EdtDurationMin.Value;
Filter.DurationMsMax := EdtDurationMax.Value;
Filter.PlanFilter := ChkPlan.Checked;
Filter.PlanExpr := EdtPlan.Text;
Filter.SQLFilter := ChkSQL.Checked;
Filter.SQLExpr := EdtSQL.Text;
end;
procedure TFrmSearchTrace.FormCreate(Sender: TObject);
begin
if DataModuleMain.CurrTraceFilter = nil then
DataModuleMain.CurrTraceFilter := TTraceFilter.Create;
InitByFilter(DataModuleMain.CurrTraceFilter);
end;
procedure TFrmSearchTrace.ActionOKExecute(Sender: TObject);
begin
SaveFilter(DataModuleMain.CurrTraceFilter);
end;
procedure TFrmSearchTrace.EdtDurationMaxEditingDone(Sender: TObject);
begin
if EdtDurationMax.Value < EdtDurationMin.Value then
EdtDurationMax.Value := EdtDurationMin.Value;
end;
procedure TFrmSearchTrace.EdtDurationMinEditingDone(Sender: TObject);
begin
if EdtDurationMin.Value > EdtDurationMax.Value then
EdtDurationMin.Value := EdtDurationMax.Value;
end;
procedure TFrmSearchTrace.ActionList1Update(AAction: TBasicAction; var Handled: Boolean);
begin
EdtDurationMin.Enabled := ChkDuration.Checked;
EdtDurationMax.Enabled := ChkDuration.Checked;
EdtPlan.Enabled := ChkPlan.Checked;
EdtSQL.Enabled := ChkSQL.Checked;
Handled := true;
end;
end.
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.