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