diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog index 0fdb0bbcb3e007a56d8d91b05b958756ecb892e2..704632ac754d27fac0665a07517747324345e859 100644 --- a/WebCore/ChangeLog +++ b/WebCore/ChangeLog @@ -1,3 +1,96 @@ +2006-03-03 Eric Seidel + + Reviewed by mjs. + + Wire up WidgetWin, CursorWin, ScrollViewWin. + Stub out methods for selection and cursors. + + * Viewer/ImageDocument.h: + * WebCore.vcproj/WebCore/WebCore.vcproj: + * bridge/win/FrameWin.cpp: + * khtml/ecma/kjs_proxy.cpp: + (WebCore::KJSProxyImpl::initScriptIfNeeded): + * platform/IntRect.h: + (WebCore::IntRect::IntRect): + * platform/Widget.h: + * platform/win/CursorWin.cpp: + (WebCore::eastResizeCursor): + (WebCore::northResizeCursor): + (WebCore::northEastResizeCursor): + (WebCore::northWestResizeCursor): + (WebCore::southResizeCursor): + (WebCore::southEastResizeCursor): + (WebCore::southWestResizeCursor): + (WebCore::westResizeCursor): + * platform/win/IntRectWin.cpp: + (WebCore::IntRect::IntRect): + (WebCore::IntRect::operator RECT): + * platform/win/MouseEventWin.cpp: + * platform/win/ScrollViewWin.cpp: Added. + (WebCore::ScrollView::updateContents): + * platform/win/TemporaryLinkStubs.cpp: + (QTextEdit::textWithHardLineBreaks): + (QLineEdit::setPlaceholderString): + (QScrollBar::scroll): + (GraphicsContext::beginTransparencyLayer): + (Widget::setIsSelected): + (QLineEdit::selectedText): + (QComboBox::sizeHint): + (KWQFileButton::focusPolicy): + (QTextEdit::focusPolicy): + (QSlider::focusPolicy): + (QListBox::focusPolicy): + (QLineEdit::focusPolicy): + (WebCore::moveCursor): + (ScrollView::scrollBy): + (KWQKCookieJar::cookieEnabled): + (WebCore::TransferJob::TransferJob): + (WebCore::screenDepth): + (WebCore::usableScreenRect): + (FrameWin::getObjectInstanceForWidget): + (FrameWin::getEmbedInstanceForWidget): + (FrameWin::getAppletInstanceForWidget): + (FrameWin::passMouseDownEventToWidget): + (FrameWin::issuePasteCommand): + (FrameWin::issueTransposeCommand): + (QSlider::setFont): + (QLineEdit::setFont): + (QListBox::setFont): + (QFontMetrics::QFontMetrics): + (QComboBox::setFont): + (QTextEdit::setFont): + (QTextEdit::setWritingDirection): + (QFontMetrics::setFontDescription): + (QFontMetrics::checkSelectionPoint): + (FrameWin::addMessageToConsole): + (FrameWin::shouldChangeSelection): + (ScrollView::resizeContents): + (ScrollView::visibleHeight): + (ScrollView::visibleWidth): + (ScrollView::setContentsPos): + (ScrollView::contentsX): + (ScrollView::contentsY): + (ScrollView::contentsHeight): + (ScrollView::contentsWidth): + (ScrollView::viewportToContents): + * platform/win/WidgetWin.cpp: Added. + (WebCore::Widget::Widget): + (WebCore::Widget::~Widget): + (WebCore::Widget::windowHandle): + (WebCore::Widget::setWindowHandle): + (WebCore::Widget::setActiveWindow): + (WebCore::Widget::frameGeometry): + (WebCore::Widget::hasFocus): + (WebCore::Widget::setFocus): + (WebCore::Widget::clearFocus): + (WebCore::Widget::font): + (WebCore::Widget::setFont): + (WebCore::Widget::setCursor): + (WebCore::Widget::show): + (WebCore::Widget::hide): + (WebCore::Widget::setFrameGeometry): + (WebCore::Widget::mapFromGlobal): + 2006-03-03 Maciej Stachowiak Reviewed by Eric. @@ -44,7 +137,6 @@ (GraphicsContext::drawText): (GraphicsContext::drawLineForText): ->>>>>>> .r13111 2006-03-02 Maciej Stachowiak Rubber stamped by Eric. diff --git a/WebCore/WebCore.vcproj/Image Viewer/ImageDocument.h b/WebCore/WebCore.vcproj/Image Viewer/ImageDocument.h index 38f318c8225c23e7c1d79e2b00968985e402c46c..dace2ee06eef6a62df066c1f583c21ef0762a9b7 100755 --- a/WebCore/WebCore.vcproj/Image Viewer/ImageDocument.h +++ b/WebCore/WebCore.vcproj/Image Viewer/ImageDocument.h @@ -1,26 +1,26 @@ -/* - * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +/* + * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ // ImageDocument.h : interface of the ImageDocument class @@ -50,7 +50,7 @@ public: public: virtual void Serialize(CArchive& ar); - virtual bool shouldStopAnimation(const WebCore::Image*) { return false; } + virtual bool shouldStopAnimation(const WebCore::Image*) { return false; } virtual void animationAdvanced(const WebCore::Image*); WebCore::Image* image() const { return m_image; } diff --git a/WebCore/WebCore.vcproj/WebCore/WebCore.vcproj b/WebCore/WebCore.vcproj/WebCore/WebCore.vcproj index 11a9c3b2122cda48978debed566231e22bb05c36..53a2d98479258b8979beabd8126f494e9de03373 100644 --- a/WebCore/WebCore.vcproj/WebCore/WebCore.vcproj +++ b/WebCore/WebCore.vcproj/WebCore/WebCore.vcproj @@ -1783,6 +1783,10 @@ + + @@ -1795,6 +1799,10 @@ RelativePath="..\..\platform\win\MouseEventWin.cpp" > + + @@ -1807,6 +1815,10 @@ RelativePath="..\..\platform\win\TemporaryLinkStubs.cpp" > + + put(m_script->globalExec(), "debug", new TestFunctionImp(), Internal); QString userAgent = m_frame->userAgent(); - if (userAgent.find(QString::fromLatin1("Microsoft")) >= 0 || - userAgent.find(QString::fromLatin1("MSIE")) >= 0) + if (userAgent.find("Microsoft") >= 0 || userAgent.find("MSIE") >= 0) m_script->setCompatMode(Interpreter::IECompat); else // If we find "Mozilla" but not "(compatible, ...)" we are a real Netscape - if (userAgent.find(QString::fromLatin1("Mozilla")) >= 0 && - userAgent.find(QString::fromLatin1("compatible")) == -1) + if (userAgent.find("Mozilla") >= 0 && userAgent.find("compatible") == -1) m_script->setCompatMode(Interpreter::NetscapeCompat); } diff --git a/WebCore/platform/IntRect.h b/WebCore/platform/IntRect.h index 7a35533526b9eb1f86c69098ffb54f5b9dd43062..4a18962c36c70e312f999d11a09dfbd1f6c4cb28 100644 --- a/WebCore/platform/IntRect.h +++ b/WebCore/platform/IntRect.h @@ -50,9 +50,6 @@ namespace WebCore { class IntRect { public: IntRect() { } -#if WIN32 - IntRect(const RECT&); -#endif IntRect(const IntPoint& location, const IntSize& size) : m_location(location), m_size(size) { } IntRect(int x, int y, int width, int height) @@ -103,6 +100,11 @@ public: } void inflate(int d) { inflateX(d); inflateY(d); } +#if WIN32 + IntRect(const RECT&); + operator RECT() const; +#endif + #if __APPLE__ operator CGRect() const; diff --git a/WebCore/platform/Widget.h b/WebCore/platform/Widget.h index 030a3976bb63520b42d1a1eb435f4fa43bda9cba..e23aa576cb1ad5ff786e987da7bbb450fb5ab88a 100644 --- a/WebCore/platform/Widget.h +++ b/WebCore/platform/Widget.h @@ -40,6 +40,10 @@ class NSView; #endif #endif +#if WIN32 +typedef struct HWND__ *HWND; +#endif + namespace WebCore { class Cursor; @@ -116,6 +120,12 @@ namespace WebCore { void setIsSelected(bool isSelected); +#if WIN32 + Widget(HWND); + HWND windowHandle(); + void setWindowHandle(HWND); +#endif + #if __APPLE__ Widget(NSView* view); diff --git a/WebCore/platform/win/CursorWin.cpp b/WebCore/platform/win/CursorWin.cpp index ba339aa258ac54771624a9b043fe6b40aa1036e9..107afcf417d574d0fc476693ff5eb1e3c6bb9241 100644 --- a/WebCore/platform/win/CursorWin.cpp +++ b/WebCore/platform/win/CursorWin.cpp @@ -23,17 +23,11 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#import "config.h" -#import "Cursor.h" +#include "config.h" +#include "Cursor.h" namespace WebCore { -Cursor::Cursor(Image* /*image*/) - : m_impl(0) -{ - // FIXME: Implement custom cursors. -} - Cursor::Cursor(const Cursor& other) : m_impl(other.m_impl) { @@ -66,12 +60,6 @@ const Cursor& handCursor() return c; } -const Cursor& moveCursor() -{ - static Cursor c; // FIXME - return c; -} - const Cursor& iBeamCursor() { static Cursor c = LoadCursor(0, IDC_IBEAM); @@ -92,49 +80,49 @@ const Cursor& helpCursor() const Cursor& eastResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_HELP); return c; } const Cursor& northResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_HELP); return c; } const Cursor& northEastResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_SIZENESW); return c; } const Cursor& northWestResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_SIZENWSE); return c; } const Cursor& southResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_SIZENS); return c; } const Cursor& southEastResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_SIZENWSE); return c; } const Cursor& southWestResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_SIZENESW); return c; } const Cursor& westResizeCursor() { - static Cursor c; // FIXME + static Cursor c = LoadCursor(0, IDC_SIZEWE); return c; } diff --git a/WebCore/platform/win/IntRectWin.cpp b/WebCore/platform/win/IntRectWin.cpp index 9efafac0147e0ceb17017f0f236ae1df28a5ad05..b6061c13fbf462eba1e30195e513361f5f4b814c 100644 --- a/WebCore/platform/win/IntRectWin.cpp +++ b/WebCore/platform/win/IntRectWin.cpp @@ -30,8 +30,14 @@ namespace WebCore { IntRect::IntRect(const RECT& r) - : m_location(IntPoint(r.left, r.top)), m_size(IntSize(r.right, r.bottom)) + : m_location(IntPoint(r.left, r.top)), m_size(IntSize(r.right-r.left, r.bottom-r.top)) { } +IntRect::operator RECT() const +{ + RECT rect = {m_location.x(), m_location.y(), m_location.x() + m_size.width(), m_location.y() + m_size.height()}; + return rect; +} + } diff --git a/WebCore/platform/win/ScrollViewWin.cpp b/WebCore/platform/win/ScrollViewWin.cpp new file mode 100644 index 0000000000000000000000000000000000000000..f5eaf98ee83903b61e6543a731ea49ac5ecf7881 --- /dev/null +++ b/WebCore/platform/win/ScrollViewWin.cpp @@ -0,0 +1,41 @@ +/* + * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "ScrollView.h" +#include "IntRect.h" +#include + +namespace WebCore { + +void ScrollView::updateContents(const IntRect& dirtyRect, bool now) +{ + RECT repaintRect = RECT(dirtyRect); + InvalidateRect(windowHandle(), &repaintRect, true); + if (now) + UpdateWindow(windowHandle()); +} + +} \ No newline at end of file diff --git a/WebCore/platform/win/TemporaryLinkStubs.cpp b/WebCore/platform/win/TemporaryLinkStubs.cpp index a0eae5b40fdfe2c5d32a59e2ff163e0c216d2b21..b9cedf1213ab38170755bf7e117707b734bf8b7e 100644 --- a/WebCore/platform/win/TemporaryLinkStubs.cpp +++ b/WebCore/platform/win/TemporaryLinkStubs.cpp @@ -1,383 +1,353 @@ -#include "config.h" - -#define WIN32_COMPILE_HACK - -#include -#include -#include "NodeImpl.h" -#include "KWQLineEdit.h" -#include "Font.h" -#include "KWQFileButton.h" -#include "KWQTextEdit.h" -#include "KWQComboBox.h" -#include "IntPoint.h" -#include "Widget.h" -#include "KWQFontMetrics.h" -#include "GraphicsContext.h" -#include "KWQSlider.h" -#include "Cursor.h" -#include "loader.h" -#include "KWQKJobClasses.h" -#include "FrameView.h" -#include "KWQScrollBar.h" -#include "KWQObject.h" -#include "KWQSignal.h" -#include "dom2_events.h" -#include "KWQKJavaAppletWidget.h" -#include "KWQScrollBar.h" -#include "Path.h" -#include "MouseEvent.h" -#include "KWQKCookieJar.h" -#include "Screen.h" -#include "History.h" -#include "KWQKLocale.h" -#include "PlugInInfoStore.h" -#include "render_theme.h" -#include "FrameWin.h" -#include "BrowserExtensionWin.h" - -using namespace WebCore; - -static void notImplemented() { puts("Not yet implemented"); _CrtDbgBreak(); } - -void QLineEdit::selectAll() { notImplemented(); } -void Widget::enableFlushDrawing() { notImplemented(); } -void GraphicsContext::drawHighlightForText(int,int,int,int,int,QChar const*,int,int,int,int,Color const&,TextDirection,bool,int,int,bool) { notImplemented(); } -String QTextEdit::textWithHardLineBreaks() const { notImplemented(); return String(); } -IntPoint Widget::mapFromGlobal(IntPoint const&) const { notImplemented(); return IntPoint(); } -int QLineEdit::cursorPosition() const { notImplemented(); return 0; } -Color GraphicsContext::selectedTextBackgroundColor() const { notImplemented(); return Color(); } -void QSlider::setValue(double) { notImplemented(); } -void QLineEdit::addSearchResult() { notImplemented(); } -void KWQFileButton::click(bool) { notImplemented(); } -void QLineEdit::setWritingDirection(TextDirection) { notImplemented(); } -void GraphicsContext::drawFocusRing(Color const&) { notImplemented(); } -IntSize KWQFileButton::sizeForCharacterWidth(int) const { notImplemented(); return IntSize(); } -IntSize QTextEdit::sizeWithColumnsAndRows(int,int) const { notImplemented(); return IntSize(); } -void QComboBox::clear() { notImplemented(); } -int GraphicsContext::misspellingLineThickness() const { notImplemented(); return 0; } -void QComboBox::setFrameGeometry(IntRect const&) { notImplemented(); } -int QLineEdit::maxLength() const { notImplemented(); return 0; } -bool Widget::isEnabled() const { notImplemented(); return 0; } -void QTextEdit::setText(String const&) { notImplemented(); } -void Widget::paint(GraphicsContext*,IntRect const&) { notImplemented(); } -void GraphicsContext::addRoundedRectClip(IntRect const&,IntSize const&,IntSize const&,IntSize const&,IntSize const&) { notImplemented(); } -IntPoint FrameView::viewportToGlobal(IntPoint const&) const { notImplemented(); return IntPoint(); } -int QTextEdit::selectionEnd() { notImplemented(); return 0; } -void QTextEdit::setScrollBarModes(ScrollBarMode,ScrollBarMode) { notImplemented(); } -void QTextEdit::setReadOnly(bool) { notImplemented(); } -void QListBox::appendItem(QString const&,KWQListBoxItemType,bool) { notImplemented(); } -void QLineEdit::setPlaceholderString(String const&) { notImplemented(); } -Cursor::Cursor(Cursor const&) { notImplemented(); } -Widget::FocusPolicy Widget::focusPolicy() const { notImplemented(); return NoFocus; } -void ScrollView::removeChild(Widget*) { notImplemented(); } -void QTextEdit::selectAll() { notImplemented(); } -void GraphicsContext::endTransparencyLayer() { notImplemented(); } -void ScrollView::addChild(Widget*,int,int) { notImplemented(); } -void QTextEdit::setDisabled(bool) { notImplemented(); } -bool QScrollBar::scroll(KWQScrollDirection,KWQScrollGranularity,float) { notImplemented(); return 0; } -Widget::~Widget() { notImplemented(); } -IntSize QListBox::sizeForNumberOfLines(int) const { notImplemented(); return IntSize(); } -int QLineEdit::selectionStart() const { notImplemented(); return 0; } -QLineEdit::QLineEdit(QLineEdit::Type) { notImplemented(); } -void FrameView::updateBorder() { notImplemented(); } -bool QLineEdit::hasSelectedText() const { notImplemented(); return 0; } -QScrollBar::QScrollBar(Qt::Orientation,Widget*) { notImplemented(); } -void QListBox::doneAppendingItems() { notImplemented(); } -QTextEdit::QTextEdit(Widget*) { notImplemented(); } -bool ScrollView::inWindow() const { notImplemented(); return 0; } -bool QScrollBar::setValue(int) { notImplemented(); return 0; } -bool QTextEdit::hasSelectedText() const { notImplemented(); return 0; } -int QTextEdit::selectionStart() { notImplemented(); return 0; } -int ScrollView::scrollXOffset() const { notImplemented(); return 0; } -bool QListBox::isSelected(int) const { notImplemented(); return 0; } -void QLineEdit::setReadOnly(bool) { notImplemented(); } -QComboBox::~QComboBox() { notImplemented(); } -Cursor::Cursor(Image*) { notImplemented(); } -Widget::FocusPolicy QComboBox::focusPolicy() const { notImplemented(); return NoFocus; } -void GraphicsContext::clearShadow() { notImplemented(); } -void QTextEdit::setLineHeight(int) { notImplemented(); } -void QScrollBar::setKnobProportion(int,int) { notImplemented(); } -KWQFileButton::KWQFileButton(Frame*) { notImplemented(); } -IntRect QFontMetrics::boundingRect(int,int,int,int,int,QString const&,int,int) const { notImplemented(); return IntRect(); } -void QTextEdit::setSelectionStart(int) { notImplemented(); } -void GraphicsContext::beginTransparencyLayer(float) { notImplemented(); } -IntRect Widget::frameGeometry() const { notImplemented(); return IntRect(); } -void QListBox::setSelected(int,bool) { notImplemented(); } -void GraphicsContext::addFocusRingRect(int,int,int,int) { notImplemented(); } -void QTextEdit::setCursorPosition(int,int) { notImplemented(); } -void Widget::setEnabled(bool) { notImplemented(); } -void QTextEdit::setSelectionEnd(int) { notImplemented(); } -void QComboBox::populate() { notImplemented(); } -void QTextEdit::setAlignment(Qt::AlignmentFlags) { notImplemented(); } -void QLineEdit::setCursorPosition(int) { notImplemented(); } -KJavaAppletWidget::KJavaAppletWidget(IntSize const&,Frame*,KXMLCore::HashMap const&) { notImplemented(); } -QListBox::QListBox() { notImplemented(); } -QString QLineEdit::selectedText() const { notImplemented(); return QString(); } -void Widget::setIsSelected(bool) { notImplemented(); } -String QLineEdit::text() const { notImplemented(); return String(); } -void Widget::unlockDrawingFocus() { notImplemented(); } -void QLineEdit::setLiveSearch(bool) { notImplemented(); } -QComboBox::QComboBox() { notImplemented(); } -void QSlider::setMaxValue(double) { notImplemented(); } -void Widget::lockDrawingFocus() { notImplemented(); } -void QTextEdit::setSelectionRange(int,int) { notImplemented(); } -void ScrollView::scrollPointRecursively(int,int) { notImplemented(); } -IntSize QLineEdit::sizeForCharacterWidth(int) const { notImplemented(); return IntSize(); } -IntRect QFontMetrics::selectionRectForText(int,int,int,int,int,QChar const*,int,int,int,int,bool,bool,int,int,bool) const { notImplemented(); return IntRect(); } -void QTextEdit::getCursorPosition(int*,int*) const { notImplemented(); } -bool FrameView::isFrameView() const { notImplemented(); return 0; } -void QScrollBar::setSteps(int,int) { notImplemented(); } -void QLineEdit::setMaxLength(int) { notImplemented(); } -void QLineEdit::setAutoSaveName(String const&) { notImplemented(); } -int QComboBox::baselinePosition(int) const { notImplemented(); return 0; } -void QComboBox::appendItem(QString const&,KWQListBoxItemType,bool) { notImplemented(); } -void GraphicsContext::setShadow(int,int,int,Color const&) { notImplemented(); } -void Widget::setDrawingAlpha(float) { notImplemented(); } -QSlider::QSlider() { notImplemented(); } -int ScrollView::scrollYOffset() const { notImplemented(); return 0; } -void QComboBox::setCurrentItem(int) { notImplemented(); } -void QComboBox::setWritingDirection(TextDirection) { notImplemented(); } -IntSize QComboBox::sizeHint() const { notImplemented(); return IntSize(); } -void Widget::setFrameGeometry(IntRect const&) { notImplemented(); } -void QLineEdit::setSelection(int,int) { notImplemented(); } -void QLineEdit::setMaxResults(int) { notImplemented(); } -void QListBox::clear() { notImplemented(); } -bool QLineEdit::edited() const { notImplemented(); return 0; } -void GraphicsContext::clearFocusRing() { notImplemented(); } -String QTextEdit::text() const { notImplemented(); return String(); } -void Widget::disableFlushDrawing() { notImplemented(); } -void GraphicsContext::initFocusRing(int,int) { notImplemented(); } -void QSlider::setMinValue(double) { notImplemented(); } -void QTextEdit::setWordWrap(QTextEdit::WrapStyle) { notImplemented(); } -void GraphicsContext::drawLineForMisspelling(int,int,int) { notImplemented(); } -void QLineEdit::setText(String const&) { notImplemented(); } -double QSlider::value() const { notImplemented(); return 0; } -void QListBox::setSelectionMode(QListBox::SelectionMode) { notImplemented(); } -void KWQFileButton::setFilename(QString const&) { notImplemented(); } -void QLineEdit::setEdited(bool) { notImplemented(); } -IntRect QComboBox::frameGeometry() const { notImplemented(); return IntRect(); } -void QListBox::setWritingDirection(TextDirection) { notImplemented(); } -void QLineEdit::setAlignment(Qt::AlignmentFlags) { notImplemented(); } -WebCore::Widget::FocusPolicy KWQFileButton::focusPolicy() const { notImplemented(); return NoFocus; } -bool QLineEdit::checksDescendantsForFocus() const { notImplemented(); return false; } -int KWQFileButton::baselinePosition(int) const { notImplemented(); return 0; } -QSlider::~QSlider() { notImplemented(); } -void KWQFileButton::setFrameGeometry(WebCore::IntRect const&) { notImplemented(); } -QListBox::~QListBox() { notImplemented(); } -WebCore::IntRect KWQFileButton::frameGeometry() const { notImplemented(); return IntRect(); } -KWQFileButton::~KWQFileButton() { notImplemented(); } -WebCore::Widget::FocusPolicy QTextEdit::focusPolicy() const { notImplemented(); return NoFocus; } -WebCore::Widget::FocusPolicy QSlider::focusPolicy() const { notImplemented(); return NoFocus; } -void QListBox::setEnabled(bool) { notImplemented(); } -bool QListBox::checksDescendantsForFocus() const { notImplemented(); return 0; } -WebCore::Widget::FocusPolicy QListBox::focusPolicy() const { notImplemented(); return NoFocus; } -int QLineEdit::baselinePosition(int) const { notImplemented(); return 0; } -WebCore::IntSize QSlider::sizeHint() const { notImplemented(); return IntSize(); } -QLineEdit::~QLineEdit() { notImplemented(); } -QTextEdit::~QTextEdit() { notImplemented(); } -bool QTextEdit::checksDescendantsForFocus() const { notImplemented(); return false; } -WebCore::Widget::FocusPolicy QLineEdit::focusPolicy() const { notImplemented(); return NoFocus; } -QScrollBar::~QScrollBar() { notImplemented(); } -Path::Path(){ notImplemented(); } -Path::Path(const IntRect&, Type){ notImplemented(); } -Path::Path(const IntPointArray&){ notImplemented(); } -Path::~Path(){ notImplemented(); } -Path::Path(const Path&){ notImplemented(); } -Path& Path::operator=(const Path&){ notImplemented(); return*this; } -bool Path::contains(const IntPoint&) const{ notImplemented(); return false; } -void Path::translate(int, int){ notImplemented(); } -IntRect Path::boundingRect() const { notImplemented(); return IntRect(); } -static Cursor localCursor; -const Cursor& WebCore::crossCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::handCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::moveCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::iBeamCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::waitCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::helpCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::eastResizeCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::northResizeCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::northEastResizeCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::northWestResizeCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::southResizeCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::southEastResizeCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::southWestResizeCursor() { notImplemented(); return localCursor; } -const Cursor& WebCore::westResizeCursor() { notImplemented(); return localCursor; } -WebCore::MouseEvent::MouseEvent() { notImplemented(); } -void QLineEdit::setColors(Color const&,Color const&) { notImplemented(); } -void QTextEdit::setColors(Color const&,Color const&) { notImplemented(); } -QString searchableIndexIntroduction() { notImplemented(); return QString(); } -void KWQKCookieJar::setCookie(KURL const&,KURL const&,QString const&) { notImplemented(); } -QString KWQKCookieJar::cookie(KURL const&) { notImplemented(); return QString(); } -IntRect WebCore::screenRect(Widget*) { notImplemented(); return IntRect(); } -void ScrollView::scrollBy(int,int) { notImplemented(); } -void WebCore::Widget::clearFocus() { notImplemented(); } -int KWQFindNextSentenceFromIndex(QChar const*,int,int,bool) { notImplemented(); return 0; } -void KWQFindSentenceBoundary(QChar const*,int,int,int*,int*) { notImplemented(); } -int KWQFindNextWordFromIndex(QChar const*,int,int,bool) { notImplemented(); return 0; } -void KWQFindWordBoundary(QChar const*,int,int,int*,int*) { notImplemented(); } -bool KWQKCookieJar::cookieEnabled() { notImplemented(); return false; } -void WebCore::Widget::setFocus() { notImplemented(); } -void WebCore::TransferJob::kill() { notImplemented(); } -void WebCore::TransferJob::addMetaData(KXMLCore::HashMap const&) { notImplemented(); } -QString WebCore::TransferJob::queryMetaData(QString const&) const { notImplemented(); return QString(); } -int WebCore::TransferJob::error() const { notImplemented(); return 0; } -QString WebCore::TransferJob::errorText() const { notImplemented(); return "Houston, we have a problem."; } -bool WebCore::TransferJob::isErrorPage() const { notImplemented(); return 0; } -WebCore::TransferJob::TransferJob(WebCore::TransferJobClient*, const String&, KURL const&,WebCore::FormData const&) { notImplemented(); } -void WebCore::Widget::hide() { notImplemented(); } -PluginInfo*PlugInInfoStore::createPluginInfoForPluginAtIndex(unsigned) { notImplemented(); return 0;} -unsigned PlugInInfoStore::pluginCount() const { notImplemented(); return 0; } -void WebCore::refreshPlugins(bool) { notImplemented(); } -int WebCore::screenDepth(WebCore::Widget*) { notImplemented(); return 96; } -static QFontMetrics localFontMetrics; -float QFontMetrics::xHeight() const { notImplemented(); return 0; } -IntRect WebCore::usableScreenRect(WebCore::Widget*) { notImplemented(); return IntRect(0,0,800,600); } -void Widget::setActiveWindow() { notImplemented(); } -RenderTheme* WebCore::theme() { notImplemented(); return 0; } -Array KWQServeSynchronousRequest(Loader*,DocLoader*,TransferJob*,KURL&,QString&) { notImplemented(); return 0; } -Widget* WebCore::FrameView::topLevelWidget() const { notImplemented(); return 0; } -void FrameWin::respondToChangedContents(void) { notImplemented(); } -void FrameWin::unfocusWindow(void) { notImplemented(); } -bool FrameWin::locationbarVisible(void) { notImplemented(); return 0; } -void FrameWin::respondToChangedSelection(WebCore::SelectionController const&,bool) { notImplemented(); } -void FrameWin::clearUndoRedoOperations(void) { notImplemented(); } -void FrameWin::issueRedoCommand(void) { notImplemented(); } -KJS::Bindings::Instance * FrameWin::getObjectInstanceForWidget(WebCore::Widget *) { notImplemented(); return 0; } -KJS::Bindings::Instance * FrameWin::getEmbedInstanceForWidget(WebCore::Widget *) { notImplemented(); return 0; } -bool FrameWin::canRedo(void)const { notImplemented(); return 0; } -bool FrameWin::canUndo(void)const { notImplemented(); return 0; } -bool FrameWin::runJavaScriptPrompt(String const&,String const&,String &) { notImplemented(); return 0; } -void FrameWin::recordFormValue(QString const&,QString const&,WebCore::HTMLFormElementImpl *) { notImplemented(); } -void FrameWin::registerCommandForRedo(WebCore::EditCommandPtr const&) { notImplemented(); } -void FrameWin::runJavaScriptAlert(String const&) { notImplemented(); } -bool FrameWin::runJavaScriptConfirm(String const&) { notImplemented(); return 0; } -bool FrameWin::openURL(KURL const&) { notImplemented(); return 0; } -void FrameWin::urlSelected(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } -void FrameWin::saveDocumentState(void) { notImplemented(); } -void FrameWin::print(void) { notImplemented(); } -KJS::Bindings::Instance * FrameWin::getAppletInstanceForWidget(WebCore::Widget *) { notImplemented(); return 0; } -bool FrameWin::passMouseDownEventToWidget(WebCore::Widget *) { notImplemented(); return 0; } -void FrameWin::registerCommandForUndo(WebCore::EditCommandPtr const&) { notImplemented(); } -void FrameWin::issueCutCommand(void) { notImplemented(); } -void FrameWin::issueCopyCommand(void) { notImplemented(); } -void FrameWin::openURLRequest(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } -void FrameWin::addMessageToConsole(String const&,unsigned int,String const&) { notImplemented(); } -bool FrameWin::passWheelEventToChildWidget(WebCore::NodeImpl *) { notImplemented(); return 0; } -void FrameWin::issueUndoCommand(void) { notImplemented(); } -QString FrameWin::mimeTypeForFileName(QString const&)const { notImplemented(); return QString(); } -void FrameWin::clearRecordedFormValues(void) { notImplemented(); } -void FrameWin::issuePasteCommand(void) { notImplemented(); } -bool FrameWin::shouldChangeSelection(WebCore::SelectionController const&,WebCore::SelectionController const&,WebCore::EAffinity,bool)const { notImplemented(); return 0; } -void FrameWin::scheduleClose(void) { notImplemented(); } -void FrameWin::markMisspellingsInAdjacentWords(WebCore::VisiblePosition const&) { notImplemented(); } -void FrameWin::markMisspellings(WebCore::SelectionController const&) { notImplemented(); } -bool FrameWin::menubarVisible(void) { notImplemented(); return 0; } -bool FrameWin::personalbarVisible(void) { notImplemented(); return 0; } -bool FrameWin::statusbarVisible(void) { notImplemented(); return 0; } -bool FrameWin::toolbarVisible(void) { notImplemented(); return 0; } -void FrameWin::issueTransposeCommand(void) { notImplemented(); } -QString FrameWin::userAgent(void)const { notImplemented(); return QString(); } -void FrameWin::submitForm(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } -bool FrameWin::canPaste(void)const { notImplemented(); return 0; } -QString FrameWin::incomingReferrer(void)const { notImplemented(); return QString(); } -enum WebCore::ObjectContentType FrameWin::objectContentType(KURL const&,QString const&) { notImplemented(); return (ObjectContentType)0; } -WebCore::Frame * FrameWin::createFrame(KURL const&,QString const&,WebCore::RenderPart *,String const&) { notImplemented(); return 0; } -bool FrameWin::canGoBackOrForward(int)const { notImplemented(); return 0; } -void FrameWin::issuePasteAndMatchStyleCommand(void) { notImplemented(); } -WebCore::Plugin * FrameWin::createPlugin(KURL const&,QStringList const&,QStringList const&,QString const&) { notImplemented(); return 0; } -String FrameWin::generateFrameName(void) { notImplemented(); return String(); } -void BrowserExtensionWin::setTypedIconURL(KURL const&,QString const&) { notImplemented(); } -void BrowserExtensionWin::openURLRequest(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } -int BrowserExtensionWin::getHistoryLength(void) { notImplemented(); return 0; } -bool BrowserExtensionWin::canRunModal(void) { notImplemented(); return 0; } -void BrowserExtensionWin::openURLNotify(void) { notImplemented(); } -void BrowserExtensionWin::createNewWindow(KURL const&,struct WebCore::URLArgs const&,struct WebCore::WindowArgs const&,WebCore::Frame * &) { notImplemented(); } -bool BrowserExtensionWin::canRunModalNow(void) { notImplemented(); return 0; } -void BrowserExtensionWin::runModal(void) { notImplemented(); } -void BrowserExtensionWin::goBackOrForward(int) { notImplemented(); } -void BrowserExtensionWin::setIconURL(KURL const&) { notImplemented(); } -void BrowserExtensionWin::createNewWindow(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } -void QSlider::setFont(class WebCore::Font const&) { notImplemented(); } -void QLineEdit::setFont(class WebCore::Font const&) { notImplemented(); } -static WebCore::Font localFont; -void QListBox::setFont(class WebCore::Font const&) { notImplemented(); } -QFontMetrics::QFontMetrics(class WebCore::FontDescription const&) { notImplemented(); } -void WebCore::Widget::setFont(class WebCore::Font const&) { notImplemented(); } -void QComboBox::setFont(class WebCore::Font const&) { notImplemented(); } -void QTextEdit::setFont(class WebCore::Font const&) { notImplemented(); } -void QTextEdit::setWritingDirection(enum WebCore::TextDirection) { notImplemented(); } -int QFontMetrics::checkSelectionPoint(class QChar const *,int,int,int,int,int,int,int,int,bool,int,bool,bool,bool)const { notImplemented(); return 0; } -GraphicsContext::GraphicsContext() { notImplemented(); } - -// Completely empty stubs (mostly to allow DRT to run): -bool WebCore::historyContains(QString const&) { return false; } -QString submitButtonDefaultLabel() { return "Submit"; } -QString inputElementAltText() { return QString(); } -QString resetButtonDefaultLabel() { return "Reset"; } -QString KLocale::language() { return "en"; } - -Cursor::~Cursor() { } - -QFontMetrics::QFontMetrics() { } -QFontMetrics::~QFontMetrics() { } -QFontMetrics::QFontMetrics(QFontMetrics const&) { } -QFontMetrics& QFontMetrics::operator=(QFontMetrics const&) { return localFontMetrics; } -float QFontMetrics::floatWidth(QChar const*,int,int,int,int,int,int,int,bool) const { return 14.0; } -int QFontMetrics::lineSpacing() const { return 10; } -int QFontMetrics::ascent() const { return 10; } -int QFontMetrics::height() const { return 10; } -int QFontMetrics::width(QString const&,int,int,int) const { return 10; } -int QFontMetrics::descent() const { return 10; } -void QFontMetrics::setFontDescription(class WebCore::FontDescription const&) { } -bool QFontMetrics::isFixedPitch(void)const { return 0; } - -void FrameWin::restoreDocumentState() { } -void FrameWin::partClearedInBegin() { } -void FrameWin::createEmptyDocument() { } -QString FrameWin::overrideMediaType() const { return QString(); } -void FrameWin::setTitle(String const&) { } -void FrameWin::handledOnloadEvents() { } -RangeImpl* FrameWin::markedTextRange() const { return 0; } -bool FrameWin::passSubframeEventToSubframe(WebCore::MouseEventWithHitTestResults&) { return false; } -bool FrameWin::lastEventIsMouseUp() const { return false; } - -BrowserExtensionWin::BrowserExtensionWin(WebCore::Frame*) { } - -bool KWQCheckIfReloading(WebCore::DocLoader*) { return false; } -void KWQCheckCacheObjectStatus(DocLoader*, CachedObject*) { } - -Widget::Widget() { } -void Widget::show() { } -void Widget::setCursor(Cursor const&) { } - -void ScrollView::resizeContents(int,int) { } -WebCore::ScrollBarMode ScrollView::hScrollBarMode() const { return ScrollBarAlwaysOff; } -WebCore::ScrollBarMode ScrollView::vScrollBarMode() const { return ScrollBarAlwaysOff; } -void ScrollView::suppressScrollBars(bool,bool) { } -void ScrollView::setHScrollBarMode(ScrollBarMode) { } -void ScrollView::setVScrollBarMode(ScrollBarMode) { } -void ScrollView::setScrollBarsMode(ScrollBarMode) { } -int ScrollView::visibleHeight() const { return 600; } -int ScrollView::visibleWidth() const { return 800; } -void ScrollView::setContentsPos(int,int) { } -int ScrollView::contentsX() const { return 0; } -int ScrollView::contentsY() const { return 0; } -int ScrollView::contentsHeight() const { return 600; } -int ScrollView::contentsWidth() const { return 800; } -void ScrollView::viewportToContents(int x1, int y1, int& x2, int& y2) { x2 = x1; y2 = y2; } - -void ScrollView::updateContents(const IntRect&,bool) { } -void ScrollView::setStaticBackground(bool) { } - -TransferJob::TransferJob(WebCore::TransferJobClient*,const String&,KURL const&) { } -void TransferJob::addMetaData(QString const&,QString const&) { } -bool TransferJob::start(class WebCore::DocLoader *){ return false; } - -Font const& GraphicsContext::font() const { return localFont; } -void GraphicsContext::setFont(Font const&) { } -void GraphicsContext::drawText(int,int,int,int,int,int,int,QString const&) { } -void GraphicsContext::drawText(int,int,int,int,QChar const*,int,int,int,int,Color const&,TextDirection,bool,int,int,bool) { } -void GraphicsContext::drawLineForText(int,int,int,int) { } -QFontMetrics GraphicsContext::fontMetrics() const { return QFontMetrics(); } - +#include "config.h" + +#define WIN32_COMPILE_HACK + +#include +#include +#include "NodeImpl.h" +#include "KWQLineEdit.h" +#include "Font.h" +#include "KWQFileButton.h" +#include "KWQTextEdit.h" +#include "KWQComboBox.h" +#include "IntPoint.h" +#include "Widget.h" +#include "KWQFontMetrics.h" +#include "GraphicsContext.h" +#include "KWQSlider.h" +#include "Cursor.h" +#include "loader.h" +#include "KWQKJobClasses.h" +#include "FrameView.h" +#include "KWQScrollBar.h" +#include "KWQObject.h" +#include "KWQSignal.h" +#include "dom2_events.h" +#include "KWQKJavaAppletWidget.h" +#include "KWQScrollBar.h" +#include "Path.h" +#include "MouseEvent.h" +#include "KWQKCookieJar.h" +#include "Screen.h" +#include "History.h" +#include "KWQKLocale.h" +#include "PlugInInfoStore.h" +#include "render_theme.h" +#include "FrameWin.h" +#include "BrowserExtensionWin.h" + +using namespace WebCore; + +static void notImplemented() { puts("Not yet implemented"); _CrtDbgBreak(); } + +void QLineEdit::selectAll() { notImplemented(); } +void Widget::enableFlushDrawing() { notImplemented(); } +void GraphicsContext::drawHighlightForText(int,int,int,int,int,QChar const*,int,int,int,int,Color const&,TextDirection,bool,int,int,bool) { notImplemented(); } +String QTextEdit::textWithHardLineBreaks() const { notImplemented(); return String(); } +int QLineEdit::cursorPosition() const { notImplemented(); return 0; } +Color GraphicsContext::selectedTextBackgroundColor() const { notImplemented(); return Color(); } +void QSlider::setValue(double) { notImplemented(); } +void QLineEdit::addSearchResult() { notImplemented(); } +void KWQFileButton::click(bool) { notImplemented(); } +void QLineEdit::setWritingDirection(TextDirection) { notImplemented(); } +void GraphicsContext::drawFocusRing(Color const&) { notImplemented(); } +IntSize KWQFileButton::sizeForCharacterWidth(int) const { notImplemented(); return IntSize(); } +IntSize QTextEdit::sizeWithColumnsAndRows(int,int) const { notImplemented(); return IntSize(); } +void QComboBox::clear() { notImplemented(); } +int GraphicsContext::misspellingLineThickness() const { notImplemented(); return 0; } +void QComboBox::setFrameGeometry(IntRect const&) { notImplemented(); } +int QLineEdit::maxLength() const { notImplemented(); return 0; } +bool Widget::isEnabled() const { notImplemented(); return 0; } +void QTextEdit::setText(String const&) { notImplemented(); } +void Widget::paint(GraphicsContext*,IntRect const&) { notImplemented(); } +void GraphicsContext::addRoundedRectClip(IntRect const&,IntSize const&,IntSize const&,IntSize const&,IntSize const&) { notImplemented(); } +IntPoint FrameView::viewportToGlobal(IntPoint const&) const { notImplemented(); return IntPoint(); } +int QTextEdit::selectionEnd() { notImplemented(); return 0; } +void QTextEdit::setScrollBarModes(ScrollBarMode,ScrollBarMode) { notImplemented(); } +void QTextEdit::setReadOnly(bool) { notImplemented(); } +void QListBox::appendItem(QString const&,KWQListBoxItemType,bool) { notImplemented(); } +void QLineEdit::setPlaceholderString(String const&) { notImplemented(); } +Widget::FocusPolicy Widget::focusPolicy() const { notImplemented(); return NoFocus; } +void ScrollView::removeChild(Widget*) { notImplemented(); } +void QTextEdit::selectAll() { notImplemented(); } +void GraphicsContext::endTransparencyLayer() { notImplemented(); } +void ScrollView::addChild(Widget*,int,int) { notImplemented(); } +void QTextEdit::setDisabled(bool) { notImplemented(); } +bool QScrollBar::scroll(KWQScrollDirection,KWQScrollGranularity,float) { notImplemented(); return 0; } +IntSize QListBox::sizeForNumberOfLines(int) const { notImplemented(); return IntSize(); } +int QLineEdit::selectionStart() const { notImplemented(); return 0; } +QLineEdit::QLineEdit(QLineEdit::Type) { notImplemented(); } +void FrameView::updateBorder() { notImplemented(); } +bool QLineEdit::hasSelectedText() const { notImplemented(); return 0; } +QScrollBar::QScrollBar(Qt::Orientation,Widget*) { notImplemented(); } +void QListBox::doneAppendingItems() { notImplemented(); } +QTextEdit::QTextEdit(Widget*) { notImplemented(); } +bool ScrollView::inWindow() const { notImplemented(); return 0; } +bool QScrollBar::setValue(int) { notImplemented(); return 0; } +bool QTextEdit::hasSelectedText() const { notImplemented(); return 0; } +int QTextEdit::selectionStart() { notImplemented(); return 0; } +int ScrollView::scrollXOffset() const { notImplemented(); return 0; } +bool QListBox::isSelected(int) const { notImplemented(); return 0; } +void QLineEdit::setReadOnly(bool) { notImplemented(); } +QComboBox::~QComboBox() { notImplemented(); } +Cursor::Cursor(Image*) { notImplemented(); } +Widget::FocusPolicy QComboBox::focusPolicy() const { notImplemented(); return NoFocus; } +void GraphicsContext::clearShadow() { notImplemented(); } +void QTextEdit::setLineHeight(int) { notImplemented(); } +void QScrollBar::setKnobProportion(int,int) { notImplemented(); } +KWQFileButton::KWQFileButton(Frame*) { notImplemented(); } +IntRect QFontMetrics::boundingRect(int,int,int,int,int,QString const&,int,int) const { notImplemented(); return IntRect(); } +void QTextEdit::setSelectionStart(int) { notImplemented(); } +void GraphicsContext::beginTransparencyLayer(float) { notImplemented(); } +void QListBox::setSelected(int,bool) { notImplemented(); } +void GraphicsContext::addFocusRingRect(int,int,int,int) { notImplemented(); } +void QTextEdit::setCursorPosition(int,int) { notImplemented(); } +void Widget::setEnabled(bool) { notImplemented(); } +void QTextEdit::setSelectionEnd(int) { notImplemented(); } +void QComboBox::populate() { notImplemented(); } +void Widget::setIsSelected(bool) { notImplemented(); } +void QTextEdit::setAlignment(Qt::AlignmentFlags) { notImplemented(); } +void QLineEdit::setCursorPosition(int) { notImplemented(); } +KJavaAppletWidget::KJavaAppletWidget(IntSize const&,Frame*,KXMLCore::HashMap const&) { notImplemented(); } +QListBox::QListBox() { notImplemented(); } +QString QLineEdit::selectedText() const { notImplemented(); return QString(); } +String QLineEdit::text() const { notImplemented(); return String(); } +void Widget::unlockDrawingFocus() { notImplemented(); } +void QLineEdit::setLiveSearch(bool) { notImplemented(); } +QComboBox::QComboBox() { notImplemented(); } +void QSlider::setMaxValue(double) { notImplemented(); } +void Widget::lockDrawingFocus() { notImplemented(); } +void QTextEdit::setSelectionRange(int,int) { notImplemented(); } +void ScrollView::scrollPointRecursively(int,int) { notImplemented(); } +IntSize QLineEdit::sizeForCharacterWidth(int) const { notImplemented(); return IntSize(); } +IntRect QFontMetrics::selectionRectForText(int,int,int,int,int,QChar const*,int,int,int,int,bool,bool,int,int,bool) const { notImplemented(); return IntRect(); } +void QTextEdit::getCursorPosition(int*,int*) const { notImplemented(); } +bool FrameView::isFrameView() const { notImplemented(); return 0; } +void QScrollBar::setSteps(int,int) { notImplemented(); } +void QLineEdit::setMaxLength(int) { notImplemented(); } +void QLineEdit::setAutoSaveName(String const&) { notImplemented(); } +int QComboBox::baselinePosition(int) const { notImplemented(); return 0; } +void QComboBox::appendItem(QString const&,KWQListBoxItemType,bool) { notImplemented(); } +void GraphicsContext::setShadow(int,int,int,Color const&) { notImplemented(); } +void Widget::setDrawingAlpha(float) { notImplemented(); } +QSlider::QSlider() { notImplemented(); } +int ScrollView::scrollYOffset() const { notImplemented(); return 0; } +void QComboBox::setCurrentItem(int) { notImplemented(); } +void QComboBox::setWritingDirection(TextDirection) { notImplemented(); } +IntSize QComboBox::sizeHint() const { notImplemented(); return IntSize(); } +void QLineEdit::setSelection(int,int) { notImplemented(); } +void QLineEdit::setMaxResults(int) { notImplemented(); } +void QListBox::clear() { notImplemented(); } +bool QLineEdit::edited() const { notImplemented(); return 0; } +void GraphicsContext::clearFocusRing() { notImplemented(); } +String QTextEdit::text() const { notImplemented(); return String(); } +void Widget::disableFlushDrawing() { notImplemented(); } +void GraphicsContext::initFocusRing(int,int) { notImplemented(); } +void QSlider::setMinValue(double) { notImplemented(); } +void QTextEdit::setWordWrap(QTextEdit::WrapStyle) { notImplemented(); } +void GraphicsContext::drawLineForMisspelling(int,int,int) { notImplemented(); } +void QLineEdit::setText(String const&) { notImplemented(); } +double QSlider::value() const { notImplemented(); return 0; } +void QListBox::setSelectionMode(QListBox::SelectionMode) { notImplemented(); } +void KWQFileButton::setFilename(QString const&) { notImplemented(); } +void QLineEdit::setEdited(bool) { notImplemented(); } +IntRect QComboBox::frameGeometry() const { notImplemented(); return IntRect(); } +void QListBox::setWritingDirection(TextDirection) { notImplemented(); } +void QLineEdit::setAlignment(Qt::AlignmentFlags) { notImplemented(); } +Widget::FocusPolicy KWQFileButton::focusPolicy() const { notImplemented(); return NoFocus; } +bool QLineEdit::checksDescendantsForFocus() const { notImplemented(); return false; } +int KWQFileButton::baselinePosition(int) const { notImplemented(); return 0; } +QSlider::~QSlider() { notImplemented(); } +void KWQFileButton::setFrameGeometry(WebCore::IntRect const&) { notImplemented(); } +QListBox::~QListBox() { notImplemented(); } +WebCore::IntRect KWQFileButton::frameGeometry() const { notImplemented(); return IntRect(); } +KWQFileButton::~KWQFileButton() { notImplemented(); } +Widget::FocusPolicy QTextEdit::focusPolicy() const { notImplemented(); return NoFocus; } +Widget::FocusPolicy QSlider::focusPolicy() const { notImplemented(); return NoFocus; } +void QListBox::setEnabled(bool) { notImplemented(); } +bool QListBox::checksDescendantsForFocus() const { notImplemented(); return 0; } +Widget::FocusPolicy QListBox::focusPolicy() const { notImplemented(); return NoFocus; } +int QLineEdit::baselinePosition(int) const { notImplemented(); return 0; } +WebCore::IntSize QSlider::sizeHint() const { notImplemented(); return IntSize(); } +QLineEdit::~QLineEdit() { notImplemented(); } +QTextEdit::~QTextEdit() { notImplemented(); } +bool QTextEdit::checksDescendantsForFocus() const { notImplemented(); return false; } +Widget::FocusPolicy QLineEdit::focusPolicy() const { notImplemented(); return NoFocus; } +QScrollBar::~QScrollBar() { notImplemented(); } +Path::Path(){ notImplemented(); } +Path::Path(const IntRect&, Type){ notImplemented(); } +Path::Path(const IntPointArray&){ notImplemented(); } +Path::~Path(){ notImplemented(); } +Path::Path(const Path&){ notImplemented(); } +Path& Path::operator=(const Path&){ notImplemented(); return*this; } +bool Path::contains(const IntPoint&) const{ notImplemented(); return false; } +void Path::translate(int, int){ notImplemented(); } +IntRect Path::boundingRect() const { notImplemented(); return IntRect(); } +static Cursor localCursor; +const Cursor& WebCore::moveCursor() { notImplemented(); return localCursor; } +WebCore::MouseEvent::MouseEvent() { notImplemented(); } +void QLineEdit::setColors(Color const&,Color const&) { notImplemented(); } +void QTextEdit::setColors(Color const&,Color const&) { notImplemented(); } +QString searchableIndexIntroduction() { notImplemented(); return QString(); } +void KWQKCookieJar::setCookie(KURL const&,KURL const&,QString const&) { notImplemented(); } +QString KWQKCookieJar::cookie(KURL const&) { notImplemented(); return QString(); } +IntRect WebCore::screenRect(Widget*) { notImplemented(); return IntRect(); } +void ScrollView::scrollBy(int,int) { notImplemented(); } +int KWQFindNextSentenceFromIndex(QChar const*,int,int,bool) { notImplemented(); return 0; } +void KWQFindSentenceBoundary(QChar const*,int,int,int*,int*) { notImplemented(); } +int KWQFindNextWordFromIndex(QChar const*,int,int,bool) { notImplemented(); return 0; } +void KWQFindWordBoundary(QChar const*,int,int,int*,int*) { notImplemented(); } +bool KWQKCookieJar::cookieEnabled() { notImplemented(); return false; } +void WebCore::TransferJob::kill() { notImplemented(); } +void WebCore::TransferJob::addMetaData(KXMLCore::HashMap const&) { notImplemented(); } +QString WebCore::TransferJob::queryMetaData(QString const&) const { notImplemented(); return QString(); } +int WebCore::TransferJob::error() const { notImplemented(); return 0; } +QString WebCore::TransferJob::errorText() const { notImplemented(); return "Houston, we have a problem."; } +bool WebCore::TransferJob::isErrorPage() const { notImplemented(); return 0; } +WebCore::TransferJob::TransferJob(WebCore::TransferJobClient*, const String&, KURL const&,WebCore::FormData const&) { notImplemented(); } +PluginInfo*PlugInInfoStore::createPluginInfoForPluginAtIndex(unsigned) { notImplemented(); return 0;} +unsigned PlugInInfoStore::pluginCount() const { notImplemented(); return 0; } +void WebCore::refreshPlugins(bool) { notImplemented(); } +int WebCore::screenDepth(Widget*) { notImplemented(); return 96; } +static QFontMetrics localFontMetrics; +float QFontMetrics::xHeight() const { notImplemented(); return 0; } +IntRect WebCore::usableScreenRect(Widget*) { notImplemented(); return IntRect(0,0,800,600); } +RenderTheme* WebCore::theme() { notImplemented(); return 0; } +Array KWQServeSynchronousRequest(Loader*,DocLoader*,TransferJob*,KURL&,QString&) { notImplemented(); return 0; } +Widget* WebCore::FrameView::topLevelWidget() const { notImplemented(); return 0; } +void FrameWin::respondToChangedContents(void) { notImplemented(); } +void FrameWin::unfocusWindow(void) { notImplemented(); } +bool FrameWin::locationbarVisible(void) { notImplemented(); return 0; } +void FrameWin::respondToChangedSelection(WebCore::SelectionController const&,bool) { notImplemented(); } +void FrameWin::clearUndoRedoOperations(void) { notImplemented(); } +void FrameWin::issueRedoCommand(void) { notImplemented(); } +KJS::Bindings::Instance * FrameWin::getObjectInstanceForWidget(Widget *) { notImplemented(); return 0; } +KJS::Bindings::Instance * FrameWin::getEmbedInstanceForWidget(Widget *) { notImplemented(); return 0; } +bool FrameWin::canRedo(void)const { notImplemented(); return 0; } +bool FrameWin::canUndo(void)const { notImplemented(); return 0; } +bool FrameWin::runJavaScriptPrompt(String const&,String const&,String &) { notImplemented(); return 0; } +void FrameWin::recordFormValue(QString const&,QString const&,WebCore::HTMLFormElementImpl *) { notImplemented(); } +void FrameWin::registerCommandForRedo(WebCore::EditCommandPtr const&) { notImplemented(); } +void FrameWin::runJavaScriptAlert(String const&) { notImplemented(); } +bool FrameWin::runJavaScriptConfirm(String const&) { notImplemented(); return 0; } +bool FrameWin::openURL(KURL const&) { notImplemented(); return 0; } +void FrameWin::urlSelected(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } +void FrameWin::saveDocumentState(void) { notImplemented(); } +void FrameWin::print(void) { notImplemented(); } +KJS::Bindings::Instance * FrameWin::getAppletInstanceForWidget(Widget *) { notImplemented(); return 0; } +bool FrameWin::passMouseDownEventToWidget(Widget *) { notImplemented(); return 0; } +void FrameWin::registerCommandForUndo(WebCore::EditCommandPtr const&) { notImplemented(); } +void FrameWin::issueCutCommand(void) { notImplemented(); } +void FrameWin::issueCopyCommand(void) { notImplemented(); } +void FrameWin::openURLRequest(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } +bool FrameWin::passWheelEventToChildWidget(WebCore::NodeImpl *) { notImplemented(); return 0; } +void FrameWin::issueUndoCommand(void) { notImplemented(); } +QString FrameWin::mimeTypeForFileName(QString const&)const { notImplemented(); return QString(); } +void FrameWin::clearRecordedFormValues(void) { notImplemented(); } +void FrameWin::issuePasteCommand(void) { notImplemented(); } +void FrameWin::scheduleClose(void) { notImplemented(); } +void FrameWin::markMisspellingsInAdjacentWords(WebCore::VisiblePosition const&) { notImplemented(); } +void FrameWin::markMisspellings(WebCore::SelectionController const&) { notImplemented(); } +bool FrameWin::menubarVisible(void) { notImplemented(); return 0; } +bool FrameWin::personalbarVisible(void) { notImplemented(); return 0; } +bool FrameWin::statusbarVisible(void) { notImplemented(); return 0; } +bool FrameWin::toolbarVisible(void) { notImplemented(); return 0; } +void FrameWin::issueTransposeCommand(void) { notImplemented(); } +void FrameWin::submitForm(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } +bool FrameWin::canPaste(void)const { notImplemented(); return 0; } +QString FrameWin::incomingReferrer(void)const { notImplemented(); return QString(); } +enum WebCore::ObjectContentType FrameWin::objectContentType(KURL const&,QString const&) { notImplemented(); return (ObjectContentType)0; } +WebCore::Frame * FrameWin::createFrame(KURL const&,QString const&,WebCore::RenderPart *,String const&) { notImplemented(); return 0; } +bool FrameWin::canGoBackOrForward(int)const { notImplemented(); return 0; } +void FrameWin::issuePasteAndMatchStyleCommand(void) { notImplemented(); } +WebCore::Plugin * FrameWin::createPlugin(KURL const&,QStringList const&,QStringList const&,QString const&) { notImplemented(); return 0; } +String FrameWin::generateFrameName(void) { notImplemented(); return String(); } +void BrowserExtensionWin::setTypedIconURL(KURL const&,QString const&) { notImplemented(); } +void BrowserExtensionWin::openURLRequest(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } +int BrowserExtensionWin::getHistoryLength(void) { notImplemented(); return 0; } +bool BrowserExtensionWin::canRunModal(void) { notImplemented(); return 0; } +void BrowserExtensionWin::openURLNotify(void) { notImplemented(); } +void BrowserExtensionWin::createNewWindow(KURL const&,struct WebCore::URLArgs const&,struct WebCore::WindowArgs const&,WebCore::Frame * &) { notImplemented(); } +bool BrowserExtensionWin::canRunModalNow(void) { notImplemented(); return 0; } +void BrowserExtensionWin::runModal(void) { notImplemented(); } +void BrowserExtensionWin::goBackOrForward(int) { notImplemented(); } +void BrowserExtensionWin::setIconURL(KURL const&) { notImplemented(); } +void BrowserExtensionWin::createNewWindow(KURL const&,struct WebCore::URLArgs const&) { notImplemented(); } +void QSlider::setFont(WebCore::Font const&) { notImplemented(); } +void QLineEdit::setFont(WebCore::Font const&) { notImplemented(); } +static WebCore::Font localFont; +void QListBox::setFont(WebCore::Font const&) { notImplemented(); } +QFontMetrics::QFontMetrics(WebCore::FontDescription const&) { notImplemented(); } +void QComboBox::setFont(WebCore::Font const&) { notImplemented(); } +void QTextEdit::setFont(WebCore::Font const&) { notImplemented(); } +void QTextEdit::setWritingDirection(enum WebCore::TextDirection) { notImplemented(); } +GraphicsContext::GraphicsContext() { notImplemented(); } + +// Completely empty stubs (mostly to allow DRT to run): +bool WebCore::historyContains(QString const&) { return false; } +QString submitButtonDefaultLabel() { return "Submit"; } +QString inputElementAltText() { return QString(); } +QString resetButtonDefaultLabel() { return "Reset"; } +QString KLocale::language() { return "en"; } + +QFontMetrics::QFontMetrics() { } +QFontMetrics::~QFontMetrics() { } +QFontMetrics::QFontMetrics(QFontMetrics const&) { } +QFontMetrics& QFontMetrics::operator=(QFontMetrics const&) { return localFontMetrics; } +float QFontMetrics::floatWidth(QChar const*,int,int,int,int,int,int,int,bool) const { return 14.0; } +int QFontMetrics::lineSpacing() const { return 10; } +int QFontMetrics::ascent() const { return 10; } +int QFontMetrics::height() const { return 10; } +int QFontMetrics::width(QString const&,int,int,int) const { return 10; } +int QFontMetrics::descent() const { return 10; } +void QFontMetrics::setFontDescription(WebCore::FontDescription const&) { } +bool QFontMetrics::isFixedPitch(void)const { return 0; } +int QFontMetrics::checkSelectionPoint(QChar const*,int,int,int,int,int,int,int,int,bool,int,bool,bool,bool) const { return 0; } + + +void FrameWin::restoreDocumentState() { } +void FrameWin::partClearedInBegin() { } +void FrameWin::createEmptyDocument() { } +QString FrameWin::overrideMediaType() const { return QString(); } +void FrameWin::setTitle(String const&) { } +void FrameWin::handledOnloadEvents() { } +RangeImpl* FrameWin::markedTextRange() const { return 0; } +bool FrameWin::passSubframeEventToSubframe(WebCore::MouseEventWithHitTestResults&) { return false; } +bool FrameWin::lastEventIsMouseUp() const { return false; } +void FrameWin::addMessageToConsole(String const&,unsigned int,String const&) { } +bool FrameWin::shouldChangeSelection(SelectionController const&,SelectionController const&,WebCore::EAffinity,bool)const { return 0; } + + +BrowserExtensionWin::BrowserExtensionWin(WebCore::Frame*) { } + +bool KWQCheckIfReloading(WebCore::DocLoader*) { return false; } +void KWQCheckCacheObjectStatus(DocLoader*, CachedObject*) { } + +void ScrollView::resizeContents(int w,int h) { resize(w, h); } +WebCore::ScrollBarMode ScrollView::hScrollBarMode() const { return ScrollBarAlwaysOff; } +WebCore::ScrollBarMode ScrollView::vScrollBarMode() const { return ScrollBarAlwaysOff; } +void ScrollView::suppressScrollBars(bool,bool) { } +void ScrollView::setHScrollBarMode(ScrollBarMode) { } +void ScrollView::setVScrollBarMode(ScrollBarMode) { } +void ScrollView::setScrollBarsMode(ScrollBarMode) { } +int ScrollView::visibleHeight() const { return 800; } +int ScrollView::visibleWidth() const { return 1000; } +void ScrollView::setContentsPos(int x,int y) { move(x, y); } +int ScrollView::contentsX() const { return x(); } +int ScrollView::contentsY() const { return y(); } +int ScrollView::contentsHeight() const { return 800; } +int ScrollView::contentsWidth() const { return 1000; } +void ScrollView::viewportToContents(int x1, int y1, int& x2, int& y2) { x2 = x1; y2 = y1; } +void ScrollView::setStaticBackground(bool) { } + +TransferJob::TransferJob(WebCore::TransferJobClient*,const String&,KURL const&) { } +void TransferJob::addMetaData(QString const&,QString const&) { } +bool TransferJob::start(class WebCore::DocLoader *){ return false; } + +Font const& GraphicsContext::font() const { return localFont; } +void GraphicsContext::setFont(Font const&) { } +void GraphicsContext::drawText(int,int,int,int,int,int,int,QString const&) { } +void GraphicsContext::drawText(int,int,int,int,QChar const*,int,int,int,int,Color const&,TextDirection,bool,int,int,bool) { } +void GraphicsContext::drawLineForText(int,int,int,int) { } +QFontMetrics GraphicsContext::fontMetrics() const { return QFontMetrics(); } + diff --git a/WebCore/platform/win/WidgetWin.cpp b/WebCore/platform/win/WidgetWin.cpp new file mode 100644 index 0000000000000000000000000000000000000000..3496dc323606ab17894972939105c5e710583f51 --- /dev/null +++ b/WebCore/platform/win/WidgetWin.cpp @@ -0,0 +1,136 @@ +/* + * Copyright (C) 2006 Apple Computer, Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "Widget.h" + +#include "Cursor.h" +#include "GraphicsContext.h" +#include "FrameWin.h" +#include "Font.h" + +namespace WebCore { + +class WidgetPrivate +{ +public: + HWND windowHandle; + Font font; +}; + +Widget::Widget() + : data(new WidgetPrivate) +{ + data->windowHandle = 0; +} + +Widget::Widget(HWND hWnd) + : data(new WidgetPrivate) +{ + data->windowHandle = hWnd; +} + +Widget::~Widget() +{ + delete data; +} + +HWND Widget::windowHandle() +{ + return data->windowHandle; +} + +void Widget::setWindowHandle(HWND hWnd) +{ + data->windowHandle = hWnd; +} + +void Widget::setActiveWindow() +{ + BringWindowToTop(data->windowHandle); +} + +IntRect Widget::frameGeometry() const +{ + RECT frame; + if (GetWindowRect(data->windowHandle, &frame)) + return frame; + return IntRect(); +} + +bool Widget::hasFocus() const +{ + return (data->windowHandle == GetForegroundWindow()); +} + +void Widget::setFocus() +{ + SetFocus(data->windowHandle); +} + +void Widget::clearFocus() +{ + FrameWin::clearDocumentFocus(this); + SetFocus(0); +} + +const Font& Widget::font() const +{ + return data->font; +} + +void Widget::setFont(const Font& font) +{ + data->font = font; +} + +void Widget::setCursor(const Cursor& cursor) +{ + SetProp(data->windowHandle, L"PROP_CURSOR", cursor.impl()); +} + +void Widget::show() +{ + ShowWindow(data->windowHandle, SW_SHOWNA); +} + +void Widget::hide() +{ + ShowWindow(data->windowHandle, SW_HIDE); +} + +void Widget::setFrameGeometry(const IntRect &rect) +{ + MoveWindow(data->windowHandle, rect.x(), rect.y(), rect.width(), rect.height(), false); +} + +IntPoint Widget::mapFromGlobal(const IntPoint &p) const +{ + POINT point = p; + ScreenToClient(data->windowHandle, &point); + return point; +} + +}