blob: cc80b15ac9aa0a09ef37096c460a4e3689e79759 (
plain)
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
|
unit DBGuiTestRunner;
// Adds database.ini editing facilities to regular GuiTestRunner form
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils,
Interfaces, Forms,
StdCtrls,
GuiTestRunner, inieditor;
type
{ TDBGuiTestRunnerForm }
TDBGuiTestRunnerForm=class(TGUITestRunner)
private
DBEditButton: TButton;
public
procedure DBEditButtonClick(ASender: TObject);
constructor Create(AOwner: TComponent); override;
end;
var
DBGuiTestRunnerForm: TDBGuiTestRunnerForm;
implementation
{ TDBGuiTestRunnerForm }
procedure TDBGuiTestRunnerForm.DBEditButtonClick(ASender: TObject);
var
DBSelectForm: TFormIniEditor;
begin
DBSelectForm:=TFormIniEditor.Create(nil);
try
DBSelectForm.INIFile:='database.ini';
DBSelectForm.ProfileSelectSection:='Database';
DBSelectForm.ProfileSelectKey:='type';
// We can ignore resulting db selection as the file is saved already:
DBSelectForm.ShowModal;
finally
DBSelectForm.Free;
end;
end;
constructor TDBGuiTestRunnerForm.Create(AOwner: TComponent);
// Add our database.ini edit button to the existing GUI
begin
inherited Create(AOwner);
DBEditButton:=TButton.Create(Self);
DBEditButton.Top:=7;
DBEditButton.Left:=210;
DBEditButton.Height:=32;
DBEditButton.Width:=100;
DBEditButton.Caption:='Edit database.ini...';
DBEditButton.Hint:='Edit database selection settings (effective for next start)';
DBEditButton.OnClick:=@DBEditButtonClick;
// Set this last; now all properties take effect
DBEditButton.Parent:=Self.Panel1;
end;
end.
|