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 /*! /file translation.h
23 \brief Interface for translation instances \see Translation
25 \author Bartosz Szatkowski <bulislaw@linux.com>
33 class CommonDictInterface;
36 /*! Translation is kind of GoF proxy, it stores key:translation pair and
37 provide it in lazy way -> key is available always, but translation is fetched
41 Translation () { _bookmark = 0; }
42 //! \return word to be translated
43 virtual QString key() const = 0;
45 bool operator==(Translation* translation) {
46 return this->key()==translation->key();
49 /*! \returns dictionary information (plugin name, languages, <logo> etc)\
50 to be displayed in translation table header */
51 virtual QString dictionaryInfo() const = 0;
53 //! \return parsed raw format into html
54 virtual QString toHtml() const = 0;
56 //! \retrun whether given translation is taken from bookmarks
57 virtual bool isBookmark() const {
61 //! \param b if true then translation is from bookmarks
62 void setBookmark(bool b) {
66 //! returns coresponding dict object
67 virtual uint dict() const {return 0;}
74 Q_DECLARE_METATYPE(Translation*);
75 Q_DECLARE_METATYPE(QList<Translation*>);