aboutsummarylogtreecommitdiffstats
path: root/selection_history_dialog.pas
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.