root/trunk/Views/JVStyleView.h

Revision 3333, 2.7 kB (checked in by timothy, 2 years ago)

Improved style loading. Uses WebKit?'s loadRequest to load the mian file now, might help the blank chat room bug. Also adjusts the scroll to bottom logic, fixing #468.

Line 
1 @class JVMarkedScroller;
2 @class JVChatTranscript;
3 @class JVChatMessage;
4 @class JVStyle;
5 @class JVEmoticonSet;
6
7 @protocol JVChatTranscriptElement;
8
9 extern NSString *JVStyleViewDidClearNotification;
10 extern NSString *JVStyleViewDidChangeStylesNotification;
11
12 @interface JVStyleView : WebView {
13         IBOutlet NSTextView *nextTextView;
14         BOOL _forwarding;
15         BOOL _switchingStyles;
16         BOOL _ready;
17         BOOL _mainFrameReady;
18         BOOL _contentFrameReady;
19         JVChatTranscript *_transcript;
20         JVStyle *_style;
21         NSString *_styleVariant;
22         NSMutableDictionary *_styleParameters;
23         JVEmoticonSet *_emoticons;
24         DOMHTMLDocument *_mainDocument;
25         DOMHTMLDocument *_domDocument;
26         DOMHTMLElement *_body;
27         NSString *_bodyTemplate;
28         unsigned long _scrollbackLimit;
29         BOOL _requiresFullMessage;
30         BOOL _rememberScrollPosition;
31         unsigned long _lastScrollPosition;
32 }
33 - (void) setTranscript:(JVChatTranscript *) transcript;
34 - (JVChatTranscript *) transcript;
35
36 - (void) setStyle:(JVStyle *) style;
37 - (void) setStyle:(JVStyle *) style withVariant:(NSString *) variant;
38 - (JVStyle *) style;
39
40 - (void) setStyleVariant:(NSString *) variant;
41 - (NSString *) styleVariant;
42
43 - (void) setBodyTemplate:(NSString *) bodyTemplate;
44 - (NSString *) bodyTemplate;
45
46 - (void) addBanner:(NSString *) name;
47
48 - (void) setStyleParameters:(NSDictionary *) parameters;
49 - (NSDictionary *) styleParameters;
50
51 - (void) setEmoticons:(JVEmoticonSet *) emoticons;
52 - (JVEmoticonSet *) emoticons;
53
54 - (void) setScrollbackLimit:(unsigned long) limit;
55 - (unsigned long) scrollbackLimit;
56
57 - (void) reloadCurrentStyle;
58 - (void) clear;
59 - (void) mark;
60
61 - (BOOL) appendChatMessage:(JVChatMessage *) message;
62 - (BOOL) appendChatTranscriptElement:(id <JVChatTranscriptElement>) element;
63
64 - (void) highlightMessage:(JVChatMessage *) message;
65 - (void) clearHighlightForMessage:(JVChatMessage *) message;
66 - (void) clearAllMessageHighlights;
67
68 - (void) highlightString:(NSString *) string inMessage:(JVChatMessage *) message;
69 - (void) clearStringHighlightsForMessage:(JVChatMessage *) message;
70 - (void) clearAllStringHighlights;
71
72 - (void) markScrollbarForMessage:(JVChatMessage *) message;
73 - (void) markScrollbarForMessage:(JVChatMessage *) message usingMarkIdentifier:(NSString *) identifier andColor:(NSColor *) color;
74 - (void) markScrollbarForMessages:(NSArray *) messages;
75
76 - (void) clearScrollbarMarks;
77 - (void) clearScrollbarMarksWithIdentifier:(NSString *) identifier;
78
79 - (JVMarkedScroller *) verticalMarkedScroller;
80 - (IBAction) jumpToMark:(id) sender;
81 - (IBAction) jumpToPreviousHighlight:(id) sender;
82 - (IBAction) jumpToNextHighlight:(id) sender;
83 - (void) jumpToMessage:(JVChatMessage *) message;
84 - (void) scrollToBottom;
85 - (BOOL) scrolledNearBottom;
86
87 - (NSTextView *) nextTextView;
88 - (void) setNextTextView:(NSTextView *) textView;
89 @end
Note: See TracBrowser for help on using the browser.