00001 /* This file is part of meegoimengine * 00002 * 00003 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 00004 * All rights reserved. 00005 * Contact: Nokia Corporation (directui@nokia.com) 00006 * 00007 * If you have questions regarding the use of this file, please contact 00008 * Nokia at directui@nokia.com. 00009 * 00010 * This library is free software; you can redistribute it and/or 00011 * modify it under the terms of the GNU Lesser General Public 00012 * License version 2.1 as published by the Free Software Foundation 00013 * and appearing in the file LICENSE.LGPL included in the packaging 00014 * of this file. 00015 */ 00016 00017 #ifndef MIMENGINEWORDSINTERFACE_H 00018 #define MIMENGINEWORDSINTERFACE_H 00019 00020 #include "mimenginetypes.h" 00021 #include <QString> 00022 #include <QtPlugin> 00023 00024 class QPoint; 00025 class QStringList; 00026 00035 class MImEngineWordsInterface 00036 { 00037 public: 00041 MImEngineWordsInterface(); 00042 00046 virtual ~MImEngineWordsInterface(); 00047 00052 virtual bool init() = 0; 00053 00060 virtual bool addDictionaryWord(const QString &word, 00061 MImEngine::DictionaryType) = 0; 00062 00069 virtual bool removeDictionaryWord(const QString &word, 00070 MImEngine::DictionaryType) = 0; 00071 00077 virtual bool disableDictionary(MImEngine::DictionaryType) = 0; 00078 00084 virtual bool enableDictionary(MImEngine::DictionaryType) = 0; 00085 00091 virtual bool removeDictionary(MImEngine::DictionaryType) = 0; 00092 00097 virtual void appendString(const QString &s) = 0; 00098 00103 virtual void appendCharacter(const QChar &c) = 0; 00104 00111 virtual void tapKeyboard(const QPoint &position, bool shift, QChar symbol) = 0; 00112 00118 virtual void reselectString(const QString &s) = 0; 00119 00129 virtual void setContext(const QString &s, int cursor) = 0; 00130 00134 virtual void disablePrediction() = 0; 00135 00141 virtual void enablePrediction() = 0; 00142 00148 virtual bool predictionEnabled() = 0; 00149 00153 virtual void disableCompletion() = 0; 00154 00158 virtual void enableCompletion() = 0; 00159 00164 virtual bool completionEnabled() = 0; 00165 00170 virtual void disableCorrection() = 0; 00171 00176 virtual void enableCorrection() = 0; 00177 00183 virtual bool correctionEnabled() = 0; 00184 00189 virtual void clearEngineBuffer() = 0; 00190 00196 virtual void saveAndClearEngineBuffer() = 0; 00197 00213 virtual QStringList candidates(unsigned int uStartIndex = 0, unsigned int uNum = 0) = 0; 00214 00219 virtual int totalCandidates() = 0; 00220 00231 virtual int matchedLength() = 0; 00232 00241 virtual QStringList matchedSyllables() = 0; 00242 00249 virtual int suggestedCandidateIndex() = 0; 00250 00258 virtual bool setSuggestedCandidateIndex(int index) = 0; 00259 00268 virtual void setExactWordPositionInList(MImEngine::ExactInListType setting) = 0; 00269 00276 virtual MImEngine::DictionaryType candidateSource(int index) = 0; 00277 00283 virtual QString language() = 0; 00284 00285 00292 virtual bool setLanguage(const QString &lang, 00293 MImEngine::LanguagePriority) = 0; 00294 00298 bool setKeyboardLayout(const QString &) { return false; } 00299 00303 QString keyboardLayout() { return QString(); } 00304 00310 virtual bool setKeyboardLayoutKeys(const QList<MImEngine::KeyboardLayoutKey> &keys) = 0; 00311 00317 virtual QList<MImEngine::KeyboardLayoutKey> keyboardLayoutKeys() = 0; 00318 00323 virtual bool exportAsNokiaDictionary(const QString &fileName) = 0; 00324 00329 virtual bool importNokiaUserDictionary(const QString &fileName) = 0; 00330 00336 virtual QString driver() = 0; 00337 00344 virtual void setMaximumErrors(int maxErrors) = 0; 00345 00352 virtual int maximumErrors() = 0; 00353 00360 virtual void setMaximumCandidates(int maxCandidates) = 0; 00361 00367 virtual int maximumCandidates() = 0; 00368 00377 virtual bool setScript(const QString &s) = 0; 00378 00383 virtual QString script() = 0; 00384 00398 virtual QString transliterate(const QString &targetScript, unsigned int index) = 0; 00399 00405 virtual QString error() = 0; 00406 }; 00407 00408 Q_DECLARE_INTERFACE(MImEngineWordsInterface, 00409 "com.nokia.Meego.MImEngineWordsInterface/0.1") 00410 00411 00412 #endif // MIMENGINEWORDSINTERFACE_H 00413