1 | unit UMessagesForm;
|
---|
2 |
|
---|
3 | {$mode objfpc}{$H+}
|
---|
4 |
|
---|
5 | interface
|
---|
6 |
|
---|
7 | uses
|
---|
8 | Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
---|
9 | ComCtrls, UCoolDocking, UProject, UCompiler;
|
---|
10 |
|
---|
11 | type
|
---|
12 |
|
---|
13 | { TMessagesForm }
|
---|
14 |
|
---|
15 | TMessagesForm = class(TForm)
|
---|
16 | CoolDockClient1: TCoolDockClient;
|
---|
17 | ListView1: TListView;
|
---|
18 | procedure ListBoxMessagesSelectionChange(Sender: TObject; User: boolean);
|
---|
19 | procedure ListView1Click(Sender: TObject);
|
---|
20 | procedure ListView1Data(Sender: TObject; Item: TListItem);
|
---|
21 | procedure ListView1SelectItem(Sender: TObject; Item: TListItem;
|
---|
22 | Selected: Boolean);
|
---|
23 | private
|
---|
24 | { private declarations }
|
---|
25 | public
|
---|
26 | procedure Reload;
|
---|
27 | end;
|
---|
28 |
|
---|
29 | var
|
---|
30 | MessagesForm: TMessagesForm;
|
---|
31 |
|
---|
32 | implementation
|
---|
33 |
|
---|
34 | {$R *.lfm}
|
---|
35 |
|
---|
36 | uses
|
---|
37 | UMainForm, UCodeForm;
|
---|
38 |
|
---|
39 | { TMessagesForm }
|
---|
40 |
|
---|
41 | procedure TMessagesForm.ListBoxMessagesSelectionChange(Sender: TObject;
|
---|
42 | User: boolean);
|
---|
43 | begin
|
---|
44 |
|
---|
45 | end;
|
---|
46 |
|
---|
47 | procedure TMessagesForm.ListView1Click(Sender: TObject);
|
---|
48 | begin
|
---|
49 | ListView1SelectItem(Self, ListView1.Selected, ListView1.Selected.Selected);
|
---|
50 | end;
|
---|
51 |
|
---|
52 | procedure TMessagesForm.ListView1Data(Sender: TObject; Item: TListItem);
|
---|
53 | begin
|
---|
54 | with MainForm, CodeForm do
|
---|
55 | with TErrorMessage(Compiler.ErrorMessages[Item.Index]) do begin
|
---|
56 | Item.Caption := FileName;
|
---|
57 | Item.Data := Compiler.ErrorMessages[Item.Index];
|
---|
58 | Item.SubItems.Add(IntToStr(Position.X) + ',' + IntToStr(Position.Y));
|
---|
59 | Item.SubItems.Add(Text);
|
---|
60 | end;
|
---|
61 | end;
|
---|
62 |
|
---|
63 | procedure TMessagesForm.ListView1SelectItem(Sender: TObject; Item: TListItem;
|
---|
64 | Selected: Boolean);
|
---|
65 | var
|
---|
66 | ProjectFile: TProjectFile;
|
---|
67 | P: TPoint;
|
---|
68 | begin
|
---|
69 | with MainForm, CodeForm do
|
---|
70 | if Assigned(ListView1.Selected) then
|
---|
71 | with TErrorMessage(ListView1.Selected.Data) do begin
|
---|
72 | ProjectFile := Project.SearchFile(FileName);
|
---|
73 | if Assigned(ProjectFile) then
|
---|
74 | SynEditSource.Lines.Assign(ProjectFile.Source);
|
---|
75 | SynEditSource.CaretXY := Position;
|
---|
76 | TForm(SynEditSource.Owner).Show;
|
---|
77 | SynEditSource.SetFocus;
|
---|
78 | end;
|
---|
79 | end;
|
---|
80 |
|
---|
81 | procedure TMessagesForm.Reload;
|
---|
82 | begin
|
---|
83 | ListView1.Items.Count := MainForm.Compiler.ErrorMessages.Count;
|
---|
84 | ListView1.Refresh;
|
---|
85 | end;
|
---|
86 |
|
---|
87 | end.
|
---|
88 |
|
---|