source: trunk/Forms/UMessagesForm.pas@ 3

Last change on this file since 3 was 2, checked in by george, 15 years ago
File size: 2.1 KB
Line 
1unit UMessagesForm;
2
3{$mode objfpc}{$H+}
4
5interface
6
7uses
8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
9 ComCtrls, UCoolDocking, UProject, UCompiler;
10
11type
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
29var
30 MessagesForm: TMessagesForm;
31
32implementation
33
34{$R *.lfm}
35
36uses
37 UMainForm, UCodeForm;
38
39{ TMessagesForm }
40
41procedure TMessagesForm.ListBoxMessagesSelectionChange(Sender: TObject;
42 User: boolean);
43begin
44
45end;
46
47procedure TMessagesForm.ListView1Click(Sender: TObject);
48begin
49 ListView1SelectItem(Self, ListView1.Selected, ListView1.Selected.Selected);
50end;
51
52procedure TMessagesForm.ListView1Data(Sender: TObject; Item: TListItem);
53begin
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;
61end;
62
63procedure TMessagesForm.ListView1SelectItem(Sender: TObject; Item: TListItem;
64 Selected: Boolean);
65var
66 ProjectFile: TProjectFile;
67 P: TPoint;
68begin
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;
79end;
80
81procedure TMessagesForm.Reload;
82begin
83 ListView1.Items.Count := MainForm.Compiler.ErrorMessages.Count;
84 ListView1.Refresh;
85end;
86
87end.
88
Note: See TracBrowser for help on using the repository browser.