1 /*******************************************************************************
3 This file is part of mDictionary.
5 mDictionary is free software: you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation, either version 3 of the License, or
8 (at your option) any later version.
10 mDictionary is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
15 You should have received a copy of the GNU General Public License
16 along with mDictionary. If not, see <http://www.gnu.org/licenses/>.
18 Copyright 2010 Comarch S.A.
20 *******************************************************************************/
22 // Created by Bartosz Szatkowski
24 #ifndef COMMONDICTINTERFACE_H
25 #define COMMONDICTINTERFACE_H
31 #include "translation.h"
37 //! Interface for dict engines plugins
38 class CommonDictInterface : public QObject {
41 CommonDictInterface(QObject *parent = 0):QObject(parent) {}
43 //! returns source language code iso 639-2
44 virtual QString langFrom() const = 0;
46 //! returns destination language code iso 639-2
47 virtual QString langTo() const = 0;
49 //! returns dictionary name (like "old english" or so
50 virtual QString name() const = 0;
52 //! returns dictionary type (xdxf, google translate, etc)
53 virtual QString type() const = 0;
55 //! returns information about dictionary in html (name, authors, etc)
56 virtual QString infoNote() const = 0;
58 /*! returns DictDialog object that creates dialogs
59 for adding new dictionary and change plugin settings*/
60 virtual DictDialog* dictDialog() = 0;
63 //! returns new, clean copy of plugin with setting set as in Settings*
64 virtual CommonDictInterface* getNew(const Settings*) const = 0;
66 //! returns whether plugin can start searching
67 virtual bool isAvailable() const = 0;
69 //! returns the actual translation of a word given in key
70 virtual QString search(QString key) = 0;
72 //! \returns unique value (unique for every dictionary not plugin
73 virtual uint hash() const = 0;
75 //! sets unique value (unique for every dictionary not plugin)
76 virtual void setHash(uint) = 0;
78 //! returns current plugin settings
79 virtual Settings* settings() = 0;
82 /*! performs search in dictionary
83 \param word word to search in dictionary
84 \param limit limit on number of results,
85 if limit=0 all matching words are returned
87 After finishing search it have to emit
88 \see CommonDictInterface:finalTranslation finalTranslation
90 virtual QList<Translation*> searchWordList(QString word, int limit=0) = 0;
92 //! stops current operation
93 virtual void stop() = 0;
97 //! emited after dictionary is ready to use afer being loaded
98 void loaded(CommonDictInterface*);
101 Q_DECLARE_INTERFACE(CommonDictInterface, "CommonDictInterface/0.1");