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 DUMMYDRIVER_H 00018 #define DUMMYDRIVER_H 00019 00020 #include <mimenginetypes.h> 00021 #include <mimenginewordsinterface.h> 00022 #include <QString> 00023 #include <QStringList> 00024 #include <QObject> 00025 00026 class MImEngineWords; 00027 00033 class DummyDriver: public QObject, public MImEngineWordsInterface 00034 { 00035 Q_OBJECT 00036 Q_DISABLE_COPY(DummyDriver) 00037 Q_INTERFACES(MImEngineWordsInterface) 00038 00039 00040 public: 00044 DummyDriver(); 00045 00049 ~DummyDriver(); 00050 00055 virtual bool init(); 00056 00057 virtual bool addDictionaryWord(const QString &word, MImEngine::DictionaryType); 00058 00059 virtual bool removeDictionaryWord(const QString &word, MImEngine::DictionaryType); 00060 00061 virtual bool disableDictionary(MImEngine::DictionaryType); 00062 00063 virtual bool enableDictionary(MImEngine::DictionaryType); 00064 00065 virtual bool removeDictionary(MImEngine::DictionaryType); 00066 00067 virtual void appendString(const QString &s); 00068 00069 virtual void appendCharacter(const QChar &c); 00070 00071 virtual void tapKeyboard(const QPoint &position, bool shift, QChar symbol); 00072 00073 virtual void reselectString(const QString &s); 00074 00075 virtual void setContext(const QString &s, int cursor); 00076 00077 virtual void disablePrediction(); 00078 00079 virtual void enablePrediction(); 00080 00081 virtual bool predictionEnabled(); 00082 00083 virtual void disableCorrection(); 00084 00085 virtual void enableCorrection(); 00086 00087 virtual bool correctionEnabled(); 00088 00089 virtual void disableCompletion(); 00090 00091 virtual void enableCompletion(); 00092 00093 virtual bool completionEnabled(); 00094 00095 virtual QStringList candidates(unsigned int uStartIndex = 0, unsigned int uNum = 0); 00096 00097 virtual int totalCandidates(); 00098 00099 virtual int matchedLength(); 00100 00101 virtual QStringList matchedSyllables(); 00102 00103 virtual int suggestedCandidateIndex(); 00104 00105 virtual bool setSuggestedCandidateIndex(int index); 00106 00107 virtual void setExactWordPositionInList(MImEngine::ExactInListType); 00108 00109 virtual MImEngine::DictionaryType candidateSource(int); 00110 00111 virtual void clearEngineBuffer(); 00112 00113 virtual void saveAndClearEngineBuffer(); 00114 00115 virtual QString language(); 00116 00117 virtual bool setLanguage(const QString &language, MImEngine::LanguagePriority); 00118 00119 virtual bool setKeyboardLayoutKeys(const QList<MImEngine::KeyboardLayoutKey> &keys); 00120 00121 virtual QList<MImEngine::KeyboardLayoutKey> keyboardLayoutKeys(); 00122 00123 virtual bool exportAsNokiaDictionary(const QString &); 00124 00125 virtual bool importNokiaUserDictionary(const QString &); 00126 00127 virtual void setMaximumErrors(int); 00128 00129 virtual int maximumErrors(); 00130 00131 virtual void setMaximumCandidates(int maxCandidates); 00132 00133 virtual int maximumCandidates(); 00134 00135 virtual QString driver(); 00136 00137 virtual QString error(); 00138 00139 virtual bool setScript(const QString &s); 00140 00141 virtual QString script(); 00142 00143 virtual QString transliterate(const QString &targetScript, unsigned int index); 00144 00149 private: 00150 bool predictionEnabledFlag; 00151 bool correctionEnabledFlag; 00152 bool completionEnabledFlag; 00153 00154 QString driverLanguage; 00155 QList<MImEngine::KeyboardLayoutKey> layoutKeys; 00156 00157 int maximumErrorsCount; 00158 int maximumCandidatesCount; 00159 }; 00160 #endif //DUMMYDRIVER_H