source: trunk/UFormSearch.pas

Last change on this file was 13, checked in by chronos, 10 years ago
  • Added: Basic parsing of "Depends on" expressions.
File size: 1.8 KB
Line 
1unit UFormSearch;
2
3{$mode delphi}
4
5interface
6
7uses
8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
9 ComCtrls, Contnrs;
10
11type
12
13 { TFormSearch }
14
15 TFormSearch = class(TForm)
16 ButtonSearch: TButton;
17 EditText: TEdit;
18 ListView1: TListView;
19 procedure ButtonSearchClick(Sender: TObject);
20 procedure EditTextKeyPress(Sender: TObject; var Key: char);
21 procedure ListView1DblClick(Sender: TObject);
22 procedure ListView1KeyPress(Sender: TObject; var Key: char);
23 private
24 { private declarations }
25 public
26 { public declarations }
27 end;
28
29var
30 FormSearch: TFormSearch;
31
32implementation
33
34uses
35 UFormMain, UKConfig;
36
37{$R *.lfm}
38
39{ TFormSearch }
40
41procedure TFormSearch.ButtonSearchClick(Sender: TObject);
42var
43 List: TObjectList;
44 NewItem: TListItem;
45 I: Integer;
46begin
47 try
48 List := TObjectList.Create;
49 List.OwnsObjects := False;
50 FormMain.Config.TopNode.Search(EditText.Text, List);
51 ListView1.Items.Clear;
52 ListView1.Items.BeginUpdate;
53 for I := 0 to List.Count - 1 do
54 with TMenuNode(List[I]) do begin
55 NewItem := ListView1.Items.Add;
56 NewItem.Data := List[I];
57 NewItem.Caption := ID;
58 NewItem.SubItems.Add(Name);
59 NewItem.SubItems.Add(GetabsoluteName);
60 end;
61 finally
62 ListView1.Items.EndUpdate;
63 List.Free;
64 end;
65end;
66
67procedure TFormSearch.EditTextKeyPress(Sender: TObject; var Key: char);
68begin
69 if Key = #13 then ButtonSearch.Click;
70end;
71
72procedure TFormSearch.ListView1DblClick(Sender: TObject);
73begin
74 if Assigned(ListView1.Selected) then
75 FormMain.FocusTreeNode(ListView1.Selected.Data);
76end;
77
78procedure TFormSearch.ListView1KeyPress(Sender: TObject; var Key: char);
79begin
80 if (Key = #13) and Assigned(ListView1.Selected) then
81 FormMain.FocusTreeNode(ListView1.Selected.Data);
82end;
83
84end.
85
Note: See TracBrowser for help on using the repository browser.