root/trunk/Controllers/JVTranscriptCriterionController.h

Revision 3418, 4.3 kB (checked in by timothy, 2 years ago)

Turing on more warnings and fixing more of them.

  • Property svn:executable set to *
Line 
1 #import "JVChatWindowController.h"
2
3 typedef enum JVTranscriptCriterionFormat { // cooresponds to the nib tab view identifiers
4         JVTranscriptTextCriterionFormat = 1,
5         JVTranscriptDateCriterionFormat,
6         JVTranscriptBooleanCriterionFormat,
7         JVTranscriptListCriterionFormat
8 } JVTranscriptCriterionFormat;
9
10 typedef enum JVTranscriptCriterionKind { // corresponds to the nib menu tags
11         JVTranscriptMessageBodyCriterionKind = 1,
12         JVTranscriptSenderNameCriterionKind,
13         JVTranscriptDateReceivedCriterionKind,
14         JVTranscriptSenderInBuddyListCriterionKind,
15         JVTranscriptSenderNotInBuddyListCriterionKind,
16         JVTranscriptSenderIgnoredCriterionKind,
17         JVTranscriptSenderNotIgnoredCriterionKind,
18         JVTranscriptMessageIgnoredCriterionKind,
19         JVTranscriptMessageNotIgnoredCriterionKind,
20         JVTranscriptMessageAddressedToMeCriterionKind,
21         JVTranscriptMessageNotAddressedToMeCriterionKind,
22         JVTranscriptMessageHighlightedCriterionKind,
23         JVTranscriptMessageNotHighlightedCriterionKind,
24         JVTranscriptMessageIsActionCriterionKind,
25         JVTranscriptMessageIsNotActionCriterionKind,
26         JVTranscriptMessageFromMeCriterionKind,
27         JVTranscriptMessageNotFromMeCriterionKind,
28         JVTranscriptSourceIsChatRoomCriterionKind,
29         JVTranscriptSourceIsNotChatRoomCriterionKind,
30         JVTranscriptSourceIsPrivateChatCriterionKind,
31         JVTranscriptSourceIsNotPrivateChatCriterionKind,
32         JVTranscriptSourceNameCriterionKind,
33         JVTranscriptSourceServerAddressCriterionKind,
34         JVTranscriptEveryMessageCriterionKind
35 } JVTranscriptCriterionKind;
36
37 typedef enum JVTranscriptCriterionOperation { // corresponds to the nib menu tags
38         JVTranscriptNoCriterionOperation = 0,
39         JVTranscriptTextMatchCriterionOperation = 1,
40         JVTranscriptTextDoesNotMatchCriterionOperation,
41         JVTranscriptTextContainsCriterionOperation,
42         JVTranscriptTextDoesNotContainCriterionOperation,
43         JVTranscriptTextBeginsWithCriterionOperation,
44         JVTranscriptTextEndsWithCriterionOperation,
45         JVTranscriptIsEqualCriterionOperation,
46         JVTranscriptIsLessThanCriterionOperation,
47         JVTranscriptIsGreaterThanCriterionOperation,
48         JVTranscriptIsNotEqualCriterionOperation
49 } JVTranscriptCriterionOperation;
50
51 typedef enum JVTranscriptCriterionQueryUnits { // corresponds to the nib menu tags
52         JVTranscriptNoCriterionQueryUnits = 0,
53         JVTranscriptSecondCriterionQueryUnits = 1,
54         JVTranscriptMinuteCriterionQueryUnits,
55         JVTranscriptHourCriterionQueryUnits,
56         JVTranscriptDayCriterionQueryUnits,
57         JVTranscriptWeekCriterionQueryUnits,
58         JVTranscriptMonthCriterionQueryUnits
59 } JVTranscriptCriterionQueryUnits;
60
61 @class JVChatMessage;
62
63 @interface JVTranscriptCriterionController : NSObject <NSCopying, NSMutableCopying, NSCoding> {
64         @private
65         IBOutlet NSView *subview;
66         IBOutlet NSTabView *tabView;
67
68         IBOutlet NSMenu *kindMenu;
69         IBOutlet NSMenu *expandedKindMenu;
70
71         IBOutlet NSPopUpButton *textKindButton;
72         IBOutlet NSPopUpButton *dateKindButton;
73         IBOutlet NSPopUpButton *booleanKindButton;
74         IBOutlet NSPopUpButton *listKindButton;
75
76         IBOutlet NSPopUpButton *textOperationButton;
77         IBOutlet NSPopUpButton *dateOperationButton;
78         IBOutlet NSPopUpButton *listOperationButton;
79
80         IBOutlet NSTextField *textQuery;
81         IBOutlet NSTextField *dateQuery;
82         IBOutlet NSPopUpButton *listQuery;
83
84         IBOutlet NSPopUpButton *dateUnitsButton;
85
86         JVTranscriptCriterionKind _kind;
87         JVTranscriptCriterionFormat _format;
88         JVTranscriptCriterionOperation _operation;
89         JVTranscriptCriterionQueryUnits _queryUnits;
90
91         id _query;
92
93         BOOL _smartTranscriptCriterion;
94         BOOL _changed;
95 }
96 + (id) controller;
97
98 - (NSView *) view;
99
100 - (JVTranscriptCriterionFormat) format;
101
102 - (JVTranscriptCriterionKind) kind;
103 - (void) setKind:(JVTranscriptCriterionKind) kind;
104
105 - (IBAction) selectCriterionKind:(id) sender;
106 - (IBAction) selectCriterionOperation:(id) sender;
107 - (IBAction) selectCriterionQueryUnits:(id) sender;
108 - (IBAction) changeQuery:(id) sender;
109 - (IBAction) noteOtherChanges:(id) sender;
110
111 - (BOOL) changedSinceLastMatch;
112 - (BOOL) matchMessage:(JVChatMessage *) message fromChatView:(id <JVChatViewController>) chatView ignoringCase:(BOOL) ignoreCase;
113
114 - (id) query;
115 - (void) setQuery:(id) query;
116
117 - (JVTranscriptCriterionOperation) operation;
118 - (void) setOperation:(JVTranscriptCriterionOperation) operation;
119
120 - (JVTranscriptCriterionQueryUnits) queryUnits;
121 - (void) setQueryUnits:(JVTranscriptCriterionQueryUnits) units;
122
123 - (BOOL) usesSmartTranscriptCriterion;
124 - (void) setUsesSmartTranscriptCriterion:(BOOL) use;
125
126 - (NSView *) firstKeyView;
127 - (NSView *) lastKeyView;
128 @end
Note: See TracBrowser for help on using the browser.