1 {
2 /***************************************************************************
3 MsgViewEditor.pas
4 -----------------
5
6 ***************************************************************************/
7
8 ***************************************************************************
9 * *
10 * This source is free software; you can redistribute it and/or modify *
11 * it under the terms of the GNU General Public License as published by *
12 * the Free Software Foundation; either version 2 of the License, or *
13 * (at your option) any later version. *
14 * *
15 * This code is distributed in the hope that it will be useful, but *
16 * WITHOUT ANY WARRANTY; without even the implied warranty of *
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
18 * General Public License for more details. *
19 * *
20 * A copy of the GNU General Public License is available on the World *
21 * Wide Web at <http://www.gnu.org/copyleft/gpl.html>. You can also *
22 * obtain it by writing to the Free Software Foundation, *
23 * Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1335, USA. *
24 * *
25 ***************************************************************************
26 }
27 unit MsgViewEditor;
28
29 {$mode objfpc}{$H+}
30
31 interface
32
33 uses
34 Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls,
35 Buttons, ComCtrls, IDEImagesIntf, LazarusIDEStrConsts;
36
37 type
38 { TMessageFilterRule }
39
40 TMessageFilterAction = (
41 mfaHide
42 );
43
44 TMessageFilterRule = class
45 public
46 property Expression: string;
47 property SimpleSyntax: boolean;
48 property Action: TMessageFilterAction;
49 end;
50
51 TMessageFilterRules = class(TList)
52 private
GetItemsnull53 function GetItems(Index: integer): TMessageFilterRule;
54 procedure SetItems(Index: integer; const AValue: TMessageFilterRule);
55 public
56 property Items[Index: integer]: TMessageFilterRule read GetItems write SetItems; default;
57 end;
58
59 { TMsgViewEditorDlg }
60
61 TMsgViewEditorDlg = class(TForm)
62 ActiveFilterSetGroupBox: TGroupBox;
63 AddNewSetButton: TBitBtn;
64 CancelButton: TBitBtn;
65 DeleteSetButton: TBitBtn;
66 OkButton: TBitBtn;
67 RenameSetButton: TBitBtn;
68 RulesListView: TListView;
69 FilterSetGroupBox: TGroupBox;
70 FilterSetsListBox: TListBox;
71 procedure AddNewSetButtonClick(Sender: TObject);
72 procedure DeleteSetButtonClick(Sender: TObject);
73 procedure MsgViewEditorDlgCreate(Sender: TObject);
74 procedure OkButtonClick(Sender: TObject);
75 procedure RenameSetButtonClick(Sender: TObject);
76 private
77 public
78 end;
79
80 var
81 MsgViewEditorDlg: TMsgViewEditorDlg;
82
83 implementation
84
85 {$R *.lfm}
86
87 { TMsgViewEditorDlg }
88
89 procedure TMsgViewEditorDlg.MsgViewEditorDlgCreate(Sender: TObject);
90 begin
91 Caption:= lisMessagesEditor;
92 AddNewSetButton.Caption:=lisAddNewSet;
93 ActiveFilterSetGroupBox.Caption:=lisActiveFilter;
94 RenameSetButton.Caption:=lisRename;
95 DeleteSetButton.Caption:=lisDelete;
96 FilterSetGroupBox.Caption:=lisFilterSets;
97
98 IDEImages.AssignImage(AddNewSetButton, 'laz_add');
99 IDEImages.AssignImage(DeleteSetButton, 'laz_delete');
100 IDEImages.AssignImage(RenameSetButton, 'laz_edit');
101 end;
102
103 procedure TMsgViewEditorDlg.DeleteSetButtonClick(Sender: TObject);
104 begin
105
106 end;
107
108 procedure TMsgViewEditorDlg.AddNewSetButtonClick(Sender: TObject);
109 begin
110
111 end;
112
113 procedure TMsgViewEditorDlg.OkButtonClick(Sender: TObject);
114 begin
115
116 end;
117
118 procedure TMsgViewEditorDlg.RenameSetButtonClick(Sender: TObject);
119 begin
120
121 end;
122
123 { TMessageFilterRules }
124
TMessageFilterRules.GetItemsnull125 function TMessageFilterRules.GetItems(Index: integer): TMessageFilterRule;
126 begin
127 Result:=inherited Items[Index];
128 end;
129
130 procedure TMessageFilterRules.SetItems(Index: integer;
131 const AValue: TMessageFilterRule);
132 begin
133 inherited Items[Index]:=AValue;
134 end;
135
136 end.
137
138