blob: 08bc9d4a16e2761d20ebff093a053e9e71448198 (
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
|
unit selection_history_dialog;
{$mode ObjFPC}{$H+}
interface
uses
Classes, SysUtils, Forms, Controls, Graphics,
Dialogs, StdCtrls, ActnList, types_for_app;
type
{ TfrmSelectionHistory }
TfrmSelectionHistory = class(TForm)
acOk: TAction;
acCancel: TAction;
alActions: TActionList;
btnCancel: TButton;
btnOK: TButton;
lboSelectionHistory: TListBox;
procedure acCancelExecute(Sender: TObject);
procedure acOkExecute(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
public
selected_record : PBufferHistoryRecord; // additional info
InsertedText : String; // result - chosen fragment
end;
var
frmSelectionHistory: TfrmSelectionHistory;
implementation
{$R *.lfm}
{ TfrmSelectionHistory }
procedure TfrmSelectionHistory.acOkExecute(Sender: TObject);
begin
// get additional info
selected_record := PBufferHistoryRecord( lboSelectionHistory.Items.Objects[ lboSelectionHistory.ItemIndex ] );
// use dereference
InsertedText := selected_record^.value ; { IntToStr(lboSelectionHistory.ItemIndex); }
// set modal result
ModalResult := mrOk;
end;
procedure TfrmSelectionHistory.FormCreate(Sender: TObject);
begin
InsertedText := ''; // no insertion fragment by default
end;
procedure TfrmSelectionHistory.acCancelExecute(Sender: TObject);
begin
InsertedText := '';
ModalResult := mrCancel; // if cancel
end;
end.
|