10bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch/*
20bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
30bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006 Zack Rusin <zack@kde.org>
40bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2006 Apple Computer, Inc.
50bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2007 Ryan Leavengood <leavengood@gmail.com>
60bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Copyright (C) 2007 Andrea Anzani <andrea.anzani@gmail.com>
70bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
80bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * All rights reserved.
90bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * Redistribution and use in source and binary forms, with or without
110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * modification, are permitted provided that the following conditions
120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * are met:
130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 1. Redistributions of source code must retain the above copyright
140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *    notice, this list of conditions and the following disclaimer.
150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * 2. Redistributions in binary form must reproduce the above copyright
160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *    notice, this list of conditions and the following disclaimer in the
170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *    documentation and/or other materials provided with the distribution.
180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch *
190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY
200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE COMPUTER, INC. OR
230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch */
310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "config.h"
330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "EditorClientHaiku.h"
340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "Document.h"
360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "Editor.h"
370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "FocusController.h"
380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "Frame.h"
390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "KeyboardEvent.h"
405af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke#include "NotImplemented.h"
410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "Page.h"
420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch#include "PlatformKeyboardEvent.h"
43dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include "WindowsKeyboardCodes.h"
440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochnamespace WebCore {
470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochEditorClientHaiku::EditorClientHaiku()
490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    : m_editing(false)
500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    , m_inUndoRedo(false)
510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::setPage(Page* page)
550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_page = page;
570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::pageDestroyed()
600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldDeleteRange(Range*)
650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldShowDeleteInterface(HTMLElement*)
710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::smartInsertDeleteEnabled()
770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::isSelectTrailingWhitespaceEnabled()
830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::isContinuousSpellCheckingEnabled()
890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::toggleContinuousSpellChecking()
950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::isGrammarCheckingEnabled()
1000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
1030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::toggleGrammarChecking()
1060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochint EditorClientHaiku::spellCheckerDocumentTag()
1110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return 0;
1140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldBeginEditing(WebCore::Range*)
1170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
1200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldEndEditing(WebCore::Range*)
1230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
1260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldInsertNode(Node*, Range*, EditorInsertAction)
1290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
1320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldInsertText(const String&, Range*, EditorInsertAction)
1350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
1380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldChangeSelectedRange(Range* fromRange, Range* toRange,
1410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                                  EAffinity, bool stillSelecting)
1420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
1450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldApplyStyle(WebCore::CSSStyleDeclaration*,
1480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                      WebCore::Range*)
1490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
1520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::shouldMoveRangeAfterDelete(Range*, Range*)
1550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return true;
1580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::didBeginEditing()
1610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_editing = true;
1640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::respondToChangedContents()
1670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::respondToChangedSelection()
1720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1760bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::didEndEditing()
1770bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_editing = false;
1800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::didWriteSelectionToPasteboard()
1830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::didSetSelectionTypesForPasteboard()
1880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::registerCommandForUndo(WTF::PassRefPtr<WebCore::EditCommand> cmd)
1930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
1950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
1960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
1970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::registerCommandForRedo(WTF::PassRefPtr<WebCore::EditCommand>)
1980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
1990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
2000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
2010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::clearUndoRedoOperations()
2030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
2040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
2050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
2060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
20781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochbool EditorClientHaiku::canCopyCut(bool defaultValue) const
20881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
20981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return defaultValue;
21081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
21181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
21281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochbool EditorClientHaiku::canPaste(bool defaultValue) const
21381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
21481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    return defaultValue;
21581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
21681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
2170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::canUndo() const
2180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
2190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
2200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
2210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
2220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::canRedo() const
2240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
2250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
2260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
2270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
2280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::undo()
2300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
2310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
2320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_inUndoRedo = true;
2330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_inUndoRedo = false;
2340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
2350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::redo()
2370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
2380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
2390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_inUndoRedo = true;
2400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_inUndoRedo = false;
2410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
2420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::handleKeyboardEvent(KeyboardEvent* event)
2440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
2450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    Frame* frame = m_page->focusController()->focusedOrMainFrame();
2460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (!frame || !frame->document()->focusedNode())
2470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        return;
2480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    const PlatformKeyboardEvent* kevent = event->keyEvent();
2500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (!kevent || kevent->type() == PlatformKeyboardEvent::KeyUp)
2510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        return;
2520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
25381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    Node* start = frame->selection()->start().containerNode();
2540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    if (!start)
2550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        return;
2560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
2572daae5fd11344eaa88a0d92b0f6d65f8d2255c00Ben Murdoch    if (start->isContentEditable()) {
2585af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke        switch (kevent->windowsVirtualKeyCode()) {
2590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_BACK:
260cad810f21b803229eb11403f9209855525a25d57Steve Block            frame->editor()->deleteWithDirection(DirectionBackward,
2610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                                 kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
2620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                                 false, true);
2630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_DELETE:
265cad810f21b803229eb11403f9209855525a25d57Steve Block            frame->editor()->deleteWithDirection(DirectionForward,
2660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                                 kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
2670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                                 false, true);
2680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_LEFT:
2705af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke            frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
271cad810f21b803229eb11403f9209855525a25d57Steve Block                                       DirectionLeft,
2720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
2730bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       true);
2740bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2750bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_RIGHT:
2765af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke            frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
277cad810f21b803229eb11403f9209855525a25d57Steve Block                                       DirectionRight,
2780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       kevent->ctrlKey() ? WordGranularity : CharacterGranularity,
2790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       true);
2800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_UP:
2825af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke            frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
283cad810f21b803229eb11403f9209855525a25d57Steve Block                                       DirectionBackward,
2840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
2850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       true);
2860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_DOWN:
2885af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke            frame->selection()->modify(kevent->shiftKey() ? SelectionController::AlterationExtend : SelectionController::AlterationMove,
289cad810f21b803229eb11403f9209855525a25d57Steve Block                                       DirectionForward,
2900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       kevent->ctrlKey() ? ParagraphGranularity : LineGranularity,
2910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                                       true);
2920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2935af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke        case VK_PRIOR: // PageUp
2940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            frame->editor()->command("MoveUpByPageAndModifyCaret");
2950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2965af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke        case VK_NEXT: // PageDown
2970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            frame->editor()->command("MoveDownByPageAndModifyCaret");
2980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
2990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_RETURN:
3000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            frame->editor()->command("InsertLineBreak");
3010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
3020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_TAB:
3030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            return;
3040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        default:
3050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            if (!kevent->ctrlKey() && !kevent->altKey() && !kevent->text().isEmpty()) {
3060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                if (kevent->text().length() == 1) {
3070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    UChar ch = kevent->text()[0];
3080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    // Don't insert null or control characters as they can result in unexpected behaviour
3090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    if (ch < ' ')
3100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                        break;
3110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                }
3120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                frame->editor()->insertText(kevent->text(), event);
3130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            } else if (kevent->ctrlKey()) {
3140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                switch (kevent->windowsVirtualKeyCode()) {
3150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_A:
3160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("SelectAll");
3170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_B:
3190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("ToggleBold");
3200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_C:
3220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("Copy");
3230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_I:
3250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("ToggleItalic");
3260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_V:
3280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("Paste");
3290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_X:
3310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("Cut");
3320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_Y:
3340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("Redo");
3350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                case VK_Z:
3370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    frame->editor()->command("Undo");
3380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    break;
3390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                default:
3400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                    return;
3410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                }
3425af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke            } else
3435af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                return;
3440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        }
3450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    } else {
3460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        switch (kevent->windowsVirtualKeyCode()) {
3470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_UP:
3480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            frame->editor()->command("MoveUp");
3490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
3500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_DOWN:
3510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            frame->editor()->command("MoveDown");
3520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
3535af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke        case VK_PRIOR: // PageUp
3540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            frame->editor()->command("MoveUpByPageAndModifyCaret");
3550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
3565af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke        case VK_NEXT: // PageDown
3570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            frame->editor()->command("MoveDownByPageAndModifyCaret");
3580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
3590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_HOME:
3600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            if (kevent->ctrlKey())
3610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                frame->editor()->command("MoveToBeginningOfDocument");
3620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
3630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        case VK_END:
3640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            if (kevent->ctrlKey())
3650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                frame->editor()->command("MoveToEndOfDocument");
3660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            break;
3670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        default:
3680bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch            if (kevent->ctrlKey()) {
3695af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                switch (kevent->windowsVirtualKeyCode()) {
3705af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                case VK_A:
3715af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                    frame->editor()->command("SelectAll");
3725af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                    break;
3735af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                case VK_C: case VK_X:
3745af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                    frame->editor()->command("Copy");
3755af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                    break;
3765af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                default:
3775af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                    return;
3780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch                }
3795af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke            } else
3805af96e2c7b73ebc627c6894727826a7576d31758Leon Clarke                return;
3810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch        }
3820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    }
3830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    event->setDefaultHandled();
3840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
3850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::handleInputMethodKeydown(KeyboardEvent*)
3870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
3880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
3890bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
3900bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3910bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::textFieldDidBeginEditing(Element*)
3920bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
3930bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_editing = true;
3940bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
3950bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
3960bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::textFieldDidEndEditing(Element*)
3970bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
3980bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    m_editing = false;
3990bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4000bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4010bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::textDidChangeInTextField(Element*)
4020bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4030bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4040bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4050bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4060bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::doTextFieldCommandFromEvent(Element*, KeyboardEvent*)
4070bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4080bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
4090bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4100bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4110bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::textWillBeDeletedInTextField(Element*)
4120bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4130bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4140bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4150bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4160bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::textDidChangeInTextArea(Element*)
4170bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4180bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4190bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4200bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4210bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::ignoreWordInSpellDocument(const String&)
4220bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4230bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4240bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4250bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4260bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::learnWord(const String&)
4270bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4280bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4290bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4300bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4310bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::checkSpellingOfString(const UChar*, int, int*, int*)
4320bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4330bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4340bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4350bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4360bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben MurdochString EditorClientHaiku::getAutoCorrectSuggestionForMisspelledWord(const String& misspelledWord)
4370bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4380bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4390bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return String();
4400bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4410bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4420bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::checkGrammarOfString(const UChar*, int, Vector<GrammarDetail>&, int*, int*)
4430bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4440bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4450bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4460bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4470bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::updateSpellingUIWithGrammarString(const String&, const GrammarDetail&)
4480bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4490bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4500bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4510bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4520bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::updateSpellingUIWithMisspelledWord(const String&)
4530bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4540bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4550bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4560bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4570bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::showSpellingUI(bool)
4580bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4590bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4600bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4610bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4620bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::spellingUIIsShowing()
4630bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4640bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4650bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return false;
4660bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4670bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
468f05b935882198ccf7d81675736e3aeb089c5113aBen Murdochvoid EditorClientHaiku::getGuessesForWord(const String& word, const String& context, Vector<String>& guesses)
4690bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4700bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4710bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4720bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
473967717af5423377c967781471ee106e2bb4e11c8Ben Murdochvoid EditorClientHaiku::willSetInputMethodState()
474967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch{
475967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch    notImplemented();
476967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch}
477967717af5423377c967781471ee106e2bb4e11c8Ben Murdoch
4780bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochvoid EditorClientHaiku::setInputMethodState(bool enabled)
4790bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4800bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    notImplemented();
4810bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4820bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4830bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdochbool EditorClientHaiku::isEditing() const
4840bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch{
4850bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch    return m_editing;
4860bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch}
4870bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch
4880bf48ef3be53ddaa52bbead65dfd75bf90e7a2b5Ben Murdoch} // namespace WebCore
489