Reviewed by Darin
[WebKit-https.git] / WebKit / 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
35 @interface WebHTMLViewPrivate : NSObject
36 {
37 @public
38     BOOL closed;
39     BOOL needsLayout;
40     BOOL needsToApplyStyles;
41     BOOL showsURLsInToolTips;
42     BOOL ignoringMouseDraggedEvents;
43     BOOL printing;
44     BOOL initiatedDrag;
45     // Is WebCore handling drag destination duties (DHTML dragging)?
46     BOOL webCoreHandlingDrag;
47     NSDragOperation webCoreDragOp;
48     // Offset from lower left corner of dragged image to mouse location (when we're the drag source)
49     NSPoint dragOffset;
50     
51     id savedSubviews;
52     BOOL subviewsSetAside;
53
54     NSEvent *mouseDownEvent; // Kept after handling the event.
55     BOOL handlingMouseDownEvent;
56     NSEvent *keyDownEvent; // Kept only during handling of the event.
57
58     NSURL *draggingImageURL;
59     unsigned dragSourceActionMask;
60     
61     NSSize lastLayoutSize;
62     NSSize lastLayoutFrameSize;
63     BOOL laidOutAtLeastOnce;
64     
65     NSPoint lastScrollPosition;
66
67     WebPluginController *pluginController;
68     
69     NSString *toolTip;
70     NSToolTipTag lastToolTipTag;
71     id trackingRectOwner;
72     void *trackingRectUserData;
73     
74     NSTimer *autoscrollTimer;
75     NSEvent *autoscrollTriggerEvent;
76     
77     NSArray* pageRects;
78
79     NSMutableDictionary* highlighters;
80
81     BOOL descendantBecomingFirstResponder;
82     BOOL resigningFirstResponder;
83     BOOL ignoreMarkedTextSelectionChange;
84     BOOL startNewKillRingSequence;
85     BOOL nextResponderDisabledOnce;
86     BOOL willBecomeFirstResponderForNodeFocus;
87     
88     WebTextCompleteController *compController;
89     
90     BOOL transparentBackground;
91
92     NSTextView *firstResponderTextViewAtMouseDownTime;
93     
94     WebDataSource *dataSource;
95 }
96 @end
97
98 @interface WebHTMLView (WebInternal)
99 - (void)_selectionChanged;
100 - (void)_formControlIsBecomingFirstResponder:(NSView *)formControl;
101 - (void)_formControlIsResigningFirstResponder:(NSView *)formControl;
102 - (void)_updateFontPanel;
103 - (unsigned int)_delegateDragSourceActionMask;
104 - (BOOL)_canSmartCopyOrDelete;
105 - (BOOL)_textViewWasFirstResponderAtMouseDownTime:(NSTextView *)textView;
106 - (void)_pauseNullEventsForAllNetscapePlugins;
107 - (void)_resumeNullEventsForAllNetscapePlugins;
108 - (void)_willMakeFirstResponderForNodeFocus;
109 - (id<WebHTMLHighlighter>)_highlighterForType:(NSString*)type;
110 - (WebFrame *)_frame;
111 - (void)_setInitiatedDrag:(BOOL)flag;
112 - (BOOL)_initiatedDrag;
113 - (void)copy:(id)sender;
114 - (void)cut:(id)sender;
115 - (void)paste:(id)sender;
116 - (void)pasteAsPlainText:(id)sender;
117 #if !BUILDING_ON_TIGER
118 - (BOOL)isGrammarCheckingEnabled;
119 - (void)setGrammarCheckingEnabled:(BOOL)flag;
120 - (void)toggleGrammarChecking:(id)sender;
121 #endif
122 @end
123