2 * Copyright (C) 2006 Dirk Mueller <mueller@kde.org>
3 * Copyright (C) 2006 Zack Rusin <zack@kde.org>
4 * Copyright (C) 2006 George Staikos <staikos@kde.org>
5 * Copyright (C) 2006 Simon Hausmann <hausmann@kde.org>
6 * Copyright (C) 2006 Rob Buis <buis@kde.org>
7 * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
11 * Redistribution and use in source and binary forms, with or without
12 * modification, are permitted provided that the following conditions
14 * 1. Redistributions of source code must retain the above copyright
15 * notice, this list of conditions and the following disclaimer.
16 * 2. Redistributions in binary form must reproduce the above copyright
17 * notice, this list of conditions and the following disclaimer in the
18 * documentation and/or other materials provided with the distribution.
20 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
21 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
23 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR
24 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
25 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
26 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
27 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
28 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 #include "FrameQtClient.h"
44 class FrameQt : public Frame {
46 FrameQt(Page*, Element*, FrameQtClient*);
49 virtual bool openURL(const KURL&);
50 virtual void openURLRequest(const ResourceRequest&);
51 virtual void submitForm(const ResourceRequest&);
52 virtual void urlSelected(const ResourceRequest&);
54 virtual void setTitle(const String&);
56 virtual ObjectContentType objectContentType(const KURL&, const String& mimeType);
57 virtual Plugin* createPlugin(Element*, const KURL&, const Vector<String>&, const Vector<String>&, const String&);
58 virtual Frame* createFrame(const KURL&, const String& name, Element*, const String& referrer);
60 virtual void scheduleClose();
62 virtual void unfocusWindow();
64 virtual void focusWindow();
66 virtual void saveDocumentState();
67 virtual void restoreDocumentState();
69 virtual void addMessageToConsole(const String& message, unsigned lineNumber, const String& sourceID);
71 virtual void runJavaScriptAlert(const String& message);
72 virtual bool runJavaScriptConfirm(const String& message);
73 virtual bool runJavaScriptPrompt(const String& message, const String& defaultValue, String& result);
74 virtual bool locationbarVisible();
75 virtual bool menubarVisible();
76 virtual bool personalbarVisible();
77 virtual bool statusbarVisible();
78 virtual bool toolbarVisible();
80 virtual void createEmptyDocument();
81 virtual Range* markedTextRange() const;
83 virtual String incomingReferrer() const;
84 virtual String userAgent() const;
86 virtual String mimeTypeForFileName(const String&) const;
88 virtual void markMisspellingsInAdjacentWords(const VisiblePosition&);
89 virtual void markMisspellings(const Selection&);
91 virtual bool lastEventIsMouseUp() const;
93 virtual bool passSubframeEventToSubframe(MouseEventWithHitTestResults&, Frame* subframe = 0);
94 virtual bool passWheelEventToChildWidget(Node*);
96 virtual String overrideMediaType() const;
98 virtual KJS::Bindings::Instance* getEmbedInstanceForWidget(Widget*);
99 virtual KJS::Bindings::Instance* getObjectInstanceForWidget(Widget*);
100 virtual KJS::Bindings::Instance* getAppletInstanceForWidget(Widget*);
101 virtual KJS::Bindings::RootObject* bindingRootObject();
102 virtual Widget* createJavaAppletWidget(const IntSize&, Element*, const HashMap<String, String>& args);
104 virtual void registerCommandForUndo(PassRefPtr<EditCommand>);
105 virtual void registerCommandForRedo(PassRefPtr<EditCommand>);
106 virtual void clearUndoRedoOperations();
107 virtual void issueUndoCommand();
108 virtual void issueRedoCommand();
109 virtual void issueCutCommand();
110 virtual void issueCopyCommand();
111 virtual void issuePasteCommand();
112 virtual void issuePasteAndMatchStyleCommand();
113 virtual void issueTransposeCommand();
114 virtual void respondToChangedSelection(const Selection& oldSelection, bool closeTyping);
115 virtual void respondToChangedContents(const Selection& endingSelection);
116 virtual bool shouldChangeSelection(const Selection& oldSelection, const Selection& newSelection, EAffinity, bool stillSelecting) const;
117 virtual void partClearedInBegin();
119 virtual bool canGoBackOrForward(int distance) const;
120 virtual void handledOnloadEvents();
122 virtual bool canPaste() const;
123 virtual bool canRedo() const;
124 virtual bool canUndo() const;
125 virtual void print();
126 virtual bool shouldInterruptJavaScript();
127 virtual KURL originalRequestURL() const;
129 bool keyEvent(const PlatformKeyboardEvent& keyEvent);
131 void setFrameGeometry(const IntRect&);
136 virtual bool isLoadTypeReload();
137 virtual bool passMouseDownEventToWidget(Widget*);
139 FrameQtClient* m_client;
140 bool m_beginCalled : 1;