WebCore:
[WebKit-https.git] / WebKit / mac / WebView / WebHTMLViewInternal.h
1 /*
2  * Copyright (C) 2005 Apple Computer, Inc.  All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * 1.  Redistributions of source code must retain the above copyright
9  *     notice, this list of conditions and the following disclaimer. 
10  * 2.  Redistributions in binary form must reproduce the above copyright
11  *     notice, this list of conditions and the following disclaimer in the
12  *     documentation and/or other materials provided with the distribution. 
13  * 3.  Neither the name of Apple Computer, Inc. ("Apple") nor the names of
14  *     its contributors may be used to endorse or promote products derived
15  *     from this software without specific prior written permission. 
16  *
17  * THIS SOFTWARE IS PROVIDED BY APPLE AND ITS CONTRIBUTORS "AS IS" AND ANY
18  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20  * DISCLAIMED. IN NO EVENT SHALL APPLE OR ITS CONTRIBUTORS BE LIABLE FOR ANY
21  * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22  * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24  * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27  */
28
29 // Things internal to the WebKit framework; not SPI.
30
31 #import <WebKit/WebHTMLViewPrivate.h>
32
33 @class WebTextCompleteController;
34 @class DOMDocumentFragment;
35 @class DOMElement;
36
37 namespace WebCore {
38     class KeyboardEvent;
39     class CachedImage;
40 }
41
42 struct WebHTMLViewInterpretKeyEventsParameters;
43
44 @interface WebHTMLViewPrivate : NSObject
45 {
46 @public
47     BOOL closed;
48     BOOL needsLayout;
49     BOOL needsToApplyStyles;
50     BOOL ignoringMouseDraggedEvents;
51     BOOL printing;
52     BOOL avoidingPrintOrphan;
53     
54     id savedSubviews;
55     BOOL subviewsSetAside;
56
57     NSEvent *mouseDownEvent; // Kept after handling the event.
58     BOOL handlingMouseDownEvent;
59     NSEvent *keyDownEvent; // Kept after handling the event.
60     
61     NSSize lastLayoutSize;
62     
63     NSPoint lastScrollPosition;
64
65     WebPluginController *pluginController;
66     
67     NSString *toolTip;
68     NSToolTipTag lastToolTipTag;
69     id trackingRectOwner;
70     void *trackingRectUserData;
71     
72     NSTimer *autoscrollTimer;
73     NSEvent *autoscrollTriggerEvent;
74     
75     NSArray* pageRects;
76
77     NSMutableDictionary* highlighters;
78
79     BOOL resigningFirstResponder;
80     BOOL nextResponderDisabledOnce;
81     
82     WebTextCompleteController *compController;
83     
84     BOOL transparentBackground;
85
86     WebHTMLViewInterpretKeyEventsParameters *interpretKeyEventsParameters;
87     BOOL receivedNOOP;
88     
89     WebDataSource *dataSource;
90     WebCore::CachedImage *promisedDragTIFFDataSource;
91     
92     CFRunLoopTimerRef updateActiveStateTimer;
93     CFRunLoopTimerRef updateMouseoverTimer;
94
95     SEL selectorForDoCommandBySelector;
96
97 #ifndef NDEBUG
98     BOOL enumeratingSubviews;
99 #endif
100 }
101 - (void)clear;
102 @end
103
104 @interface WebHTMLView (WebInternal)
105 - (void)_selectionChanged;
106 - (void)_updateFontPanel;
107 - (BOOL)_canSmartCopyOrDelete;
108 #ifndef __LP64__
109 - (void)_pauseNullEventsForAllNetscapePlugins;
110 - (void)_resumeNullEventsForAllNetscapePlugins;
111 #endif
112 - (id<WebHTMLHighlighter>)_highlighterForType:(NSString*)type;
113 - (WebFrame *)_frame;
114 - (void)paste:(id)sender;
115 - (void)closeIfNotCurrentView;
116 - (void)_lookUpInDictionaryFromMenu:(id)sender;
117 - (void)_hoverFeedbackSuspendedChanged;
118 - (BOOL)_interceptEditingKeyEvent:(WebCore::KeyboardEvent *)event shouldSaveCommand:(BOOL)shouldSave;
119 - (DOMDocumentFragment*)_documentFragmentFromPasteboard:(NSPasteboard *)pasteboard;
120 - (NSEvent *)_mouseDownEvent;
121 #ifndef BUILDING_ON_TIGER
122 - (BOOL)isGrammarCheckingEnabled;
123 - (void)setGrammarCheckingEnabled:(BOOL)flag;
124 - (void)toggleGrammarChecking:(id)sender;
125 #endif
126 - (WebCore::CachedImage*)promisedDragTIFFDataSource;
127 - (void)setPromisedDragTIFFDataSource:(WebCore::CachedImage*)source;
128 - (void)_web_layoutIfNeededRecursive;
129 @end