\hypertarget{classBackbone}{
\section{Backbone Class Reference}
\label{classBackbone}\index{Backbone@{Backbone}}
}


Inner part of dictionary -\/ glues together GUI and plugins.  




{\ttfamily \#include $<$backbone.h$>$}

\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classBackbone_a1ede318bd5d226a8fa566f13452fb07d}{
void \hyperlink{classBackbone_a1ede318bd5d226a8fa566f13452fb07d}{stopSearching} ()}
\label{classBackbone_a1ede318bd5d226a8fa566f13452fb07d}

\begin{DoxyCompactList}\small\item\em stops all current searches \item\end{DoxyCompactList}\item 
void \hyperlink{classBackbone_a3b1f2cf8de594cbd18bef4ca854337e2}{search} (QString word)
\begin{DoxyCompactList}\small\item\em search for a word translation \item\end{DoxyCompactList}\item 
void \hyperlink{classBackbone_ac23b486119652095d956413a6e68afec}{selectedDictionaries} (QList$<$ \hyperlink{classCommonDictInterface}{CommonDictInterface} $\ast$ $>$)
\begin{DoxyCompactList}\small\item\em sets active dictionaries (searches are performed only in active dicts \item\end{DoxyCompactList}\item 
void \hyperlink{classBackbone_aaf91c7fe4e12d7007ca761dc89c14c8a}{addDictionary} (\hyperlink{classCommonDictInterface}{CommonDictInterface} $\ast$dict, bool active=1)
\begin{DoxyCompactList}\small\item\em adds new dictionary and activate it \item\end{DoxyCompactList}\item 
void \hyperlink{classBackbone_aa61afbf8ef2e05c0c2a9634fbdccad19}{quit} ()
\begin{DoxyCompactList}\small\item\em stops all current activity -\/ emiting signal \item\end{DoxyCompactList}\item 
\hypertarget{classBackbone_a61b78f5ee989400a2b2d7630b8145bb8}{
void \hyperlink{classBackbone_a61b78f5ee989400a2b2d7630b8145bb8}{translationReady} ()}
\label{classBackbone_a61b78f5ee989400a2b2d7630b8145bb8}

\begin{DoxyCompactList}\small\item\em Fired with given interval during searches -\/ checking if translation is ready. \item\end{DoxyCompactList}\item 
\hypertarget{classBackbone_a0be266198b2ae39efcce38aabb984d61}{
void \hyperlink{classBackbone_a0be266198b2ae39efcce38aabb984d61}{htmlTranslationReady} ()}
\label{classBackbone_a0be266198b2ae39efcce38aabb984d61}

\begin{DoxyCompactList}\small\item\em Fired with given interval during html searches -\/ checking if html is ready. \item\end{DoxyCompactList}\item 
void \hyperlink{classBackbone_a056fc494ed689f253d83fc2366c07931}{removeDictionary} (\hyperlink{classCommonDictInterface}{CommonDictInterface} $\ast$dict)
\begin{DoxyCompactList}\small\item\em Removes given dictionary. \item\end{DoxyCompactList}\item 
\hypertarget{classBackbone_a3ed4ea8df862807b83dfdec36e4c7ea8}{
void \hyperlink{classBackbone_a3ed4ea8df862807b83dfdec36e4c7ea8}{dictUpdated} ()}
\label{classBackbone_a3ed4ea8df862807b83dfdec36e4c7ea8}

\begin{DoxyCompactList}\small\item\em saves plugins new state/configuration after each change \item\end{DoxyCompactList}\item 
void \hyperlink{classBackbone_a67dbca9402d40e4678f879ff8da3866e}{searchHtml} (QList$<$ \hyperlink{classTranslation}{Translation} $\ast$ $>$)
\begin{DoxyCompactList}\small\item\em Performs search for final translation (html/xml) form. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\hypertarget{classBackbone_afef04921ba89c424eb882cc14153de39}{
void \hyperlink{classBackbone_afef04921ba89c424eb882cc14153de39}{closeOk} ()}
\label{classBackbone_afef04921ba89c424eb882cc14153de39}

\begin{DoxyCompactList}\small\item\em emmited when backbone is ready to close -\/ after getting stop signal it should kill all threads and so on \item\end{DoxyCompactList}\item 
\hypertarget{classBackbone_ae50cec4f0c49149a46e913b31bcef92c}{
void \hyperlink{classBackbone_ae50cec4f0c49149a46e913b31bcef92c}{ready} ()}
\label{classBackbone_ae50cec4f0c49149a46e913b31bcef92c}

\begin{DoxyCompactList}\small\item\em emitted when there are search result ready to fetch \item\end{DoxyCompactList}\item 
\hypertarget{classBackbone_a7e218d1df6d69ddf3ddbc5c3d2ba9453}{
void \hyperlink{classBackbone_a7e218d1df6d69ddf3ddbc5c3d2ba9453}{htmlReady} ()}
\label{classBackbone_a7e218d1df6d69ddf3ddbc5c3d2ba9453}

\begin{DoxyCompactList}\small\item\em emitted when html result is ready to fetch \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classBackbone_a68059c8a2598fbbba42c29a332b2472f}{Backbone} (QString pluginPath=\char`\"{}\char`\"{}, QString configPath=\char`\"{}\char`\"{}, bool dry=0, QObject $\ast$parent=0)
\item 
\hypertarget{classBackbone_a6edbf4e5819dbc551ab54dad66f474f2}{
{\bfseries Backbone} (const \hyperlink{classBackbone}{Backbone} \&b)}
\label{classBackbone_a6edbf4e5819dbc551ab54dad66f474f2}

\item 
QHash$<$ \hyperlink{classCommonDictInterface}{CommonDictInterface} $\ast$, bool $>$ \hyperlink{classBackbone_a4b027f51bb4cc3803f6be85bc25d6a4b}{getDictionaries} ()
\item 
QList$<$ \hyperlink{classCommonDictInterface}{CommonDictInterface} $\ast$ $>$ \hyperlink{classBackbone_a2fdfa0cf73fda5304635b61455b48db9}{getPlugins} ()
\item 
\hyperlink{classHistory}{History} $\ast$ \hyperlink{classBackbone_ac91e19871d56331ce0d744b8ea936e00}{history} ()
\item 
QMultiHash$<$ QString, \hyperlink{classTranslation}{Translation} $\ast$ $>$ \hyperlink{classBackbone_adeaabfee86975f65b8e728b8582caa35}{result} ()
\item 
int \hyperlink{classBackbone_addad48903943006b6a4661169f80ee5a}{searchLimit} () const 
\item 
int \hyperlink{classBackbone_ad0ddecf22c51867e984cb4e6a745d67c}{activeSearches} () const 
\item 
QStringList \hyperlink{classBackbone_a56df9bdfbe82998011f95ecb3c5bd7db}{htmls} ()
\end{DoxyCompactItemize}


\subsection{Detailed Description}
Inner part of dictionary -\/ glues together GUI and plugins. \hyperlink{classBackbone}{Backbone} is responsible for managing plugins and dictionaries, starting new searches and threads, merging search results from multiple dictionaries.

Each plugin may live in multiple instances -\/ each with its own dictionary, backbone must provide way to create them at start (with specific \hyperlink{classSettings}{Settings}) and distinguich each ditionary. 

\subsection{Constructor \& Destructor Documentation}
\hypertarget{classBackbone_a68059c8a2598fbbba42c29a332b2472f}{
\index{Backbone@{Backbone}!Backbone@{Backbone}}
\index{Backbone@{Backbone}!Backbone@{Backbone}}
\subsubsection[{Backbone}]{\setlength{\rightskip}{0pt plus 5cm}Backbone::Backbone (QString {\em pluginPath} = {\ttfamily \char`\"{}\char`\"{}}, \/  QString {\em configPath} = {\ttfamily \char`\"{}\char`\"{}}, \/  bool {\em dry} = {\ttfamily 0}, \/  QObject $\ast$ {\em parent} = {\ttfamily 0})}}
\label{classBackbone_a68059c8a2598fbbba42c29a332b2472f}

\begin{DoxyParams}{Parameters}
\item[{\em pluginPath}]path to plugins (leave blank for default) \item[{\em configPath}]path to folder with configuration files \end{DoxyParams}


\subsection{Member Function Documentation}
\hypertarget{classBackbone_ad0ddecf22c51867e984cb4e6a745d67c}{
\index{Backbone@{Backbone}!activeSearches@{activeSearches}}
\index{activeSearches@{activeSearches}!Backbone@{Backbone}}
\subsubsection[{activeSearches}]{\setlength{\rightskip}{0pt plus 5cm}int Backbone::activeSearches () const}}
\label{classBackbone_ad0ddecf22c51867e984cb4e6a745d67c}
\begin{DoxyReturn}{Returns}
number of active searches 
\end{DoxyReturn}
\hypertarget{classBackbone_aaf91c7fe4e12d7007ca761dc89c14c8a}{
\index{Backbone@{Backbone}!addDictionary@{addDictionary}}
\index{addDictionary@{addDictionary}!Backbone@{Backbone}}
\subsubsection[{addDictionary}]{\setlength{\rightskip}{0pt plus 5cm}void Backbone::addDictionary ({\bf CommonDictInterface} $\ast$ {\em dict}, \/  bool {\em active} = {\ttfamily 1})\hspace{0.3cm}{\ttfamily  \mbox{[}slot\mbox{]}}}}
\label{classBackbone_aaf91c7fe4e12d7007ca761dc89c14c8a}


adds new dictionary and activate it 


\begin{DoxyParams}{Parameters}
\item[{\em dict}]dictionary to be added \item[{\em active}]decides whether searches are perfomed in given dictionaries \end{DoxyParams}
\hypertarget{classBackbone_a4b027f51bb4cc3803f6be85bc25d6a4b}{
\index{Backbone@{Backbone}!getDictionaries@{getDictionaries}}
\index{getDictionaries@{getDictionaries}!Backbone@{Backbone}}
\subsubsection[{getDictionaries}]{\setlength{\rightskip}{0pt plus 5cm}QHash$<$ {\bf CommonDictInterface} $\ast$, bool $>$ Backbone::getDictionaries ()}}
\label{classBackbone_a4b027f51bb4cc3803f6be85bc25d6a4b}
\begin{DoxyReturn}{Returns}
all loadded dictionaries with activity state flag 
\end{DoxyReturn}
\hypertarget{classBackbone_a2fdfa0cf73fda5304635b61455b48db9}{
\index{Backbone@{Backbone}!getPlugins@{getPlugins}}
\index{getPlugins@{getPlugins}!Backbone@{Backbone}}
\subsubsection[{getPlugins}]{\setlength{\rightskip}{0pt plus 5cm}QList$<$ {\bf CommonDictInterface} $\ast$ $>$ Backbone::getPlugins ()}}
\label{classBackbone_a2fdfa0cf73fda5304635b61455b48db9}
\begin{DoxyReturn}{Returns}
all loadded plugins 
\end{DoxyReturn}
\hypertarget{classBackbone_ac91e19871d56331ce0d744b8ea936e00}{
\index{Backbone@{Backbone}!history@{history}}
\index{history@{history}!Backbone@{Backbone}}
\subsubsection[{history}]{\setlength{\rightskip}{0pt plus 5cm}{\bf History} $\ast$ Backbone::history ()}}
\label{classBackbone_ac91e19871d56331ce0d744b8ea936e00}
\begin{DoxyReturn}{Returns}
history of performed searches 
\end{DoxyReturn}
\hypertarget{classBackbone_a56df9bdfbe82998011f95ecb3c5bd7db}{
\index{Backbone@{Backbone}!htmls@{htmls}}
\index{htmls@{htmls}!Backbone@{Backbone}}
\subsubsection[{htmls}]{\setlength{\rightskip}{0pt plus 5cm}QStringList Backbone::htmls ()}}
\label{classBackbone_a56df9bdfbe82998011f95ecb3c5bd7db}
\begin{DoxyReturn}{Returns}
final translation (after searching for html) 
\end{DoxyReturn}
\hypertarget{classBackbone_aa61afbf8ef2e05c0c2a9634fbdccad19}{
\index{Backbone@{Backbone}!quit@{quit}}
\index{quit@{quit}!Backbone@{Backbone}}
\subsubsection[{quit}]{\setlength{\rightskip}{0pt plus 5cm}void Backbone::quit ()\hspace{0.3cm}{\ttfamily  \mbox{[}slot\mbox{]}}}}
\label{classBackbone_aa61afbf8ef2e05c0c2a9634fbdccad19}


stops all current activity -\/ emiting signal 

\begin{DoxySeeAlso}{See also}
\hyperlink{classBackbone_afef04921ba89c424eb882cc14153de39}{closeOk} 
\end{DoxySeeAlso}
\hypertarget{classBackbone_a056fc494ed689f253d83fc2366c07931}{
\index{Backbone@{Backbone}!removeDictionary@{removeDictionary}}
\index{removeDictionary@{removeDictionary}!Backbone@{Backbone}}
\subsubsection[{removeDictionary}]{\setlength{\rightskip}{0pt plus 5cm}void Backbone::removeDictionary ({\bf CommonDictInterface} $\ast$ {\em dict})\hspace{0.3cm}{\ttfamily  \mbox{[}slot\mbox{]}}}}
\label{classBackbone_a056fc494ed689f253d83fc2366c07931}


Removes given dictionary. 


\begin{DoxyParams}{Parameters}
\item[{\em dict}]dictionary to be deleted \end{DoxyParams}
\hypertarget{classBackbone_adeaabfee86975f65b8e728b8582caa35}{
\index{Backbone@{Backbone}!result@{result}}
\index{result@{result}!Backbone@{Backbone}}
\subsubsection[{result}]{\setlength{\rightskip}{0pt plus 5cm}QMultiHash$<$ QString, {\bf Translation} $\ast$ $>$ Backbone::result ()}}
\label{classBackbone_adeaabfee86975f65b8e728b8582caa35}
\begin{DoxyReturn}{Returns}
return search fesult 
\end{DoxyReturn}
\hypertarget{classBackbone_a3b1f2cf8de594cbd18bef4ca854337e2}{
\index{Backbone@{Backbone}!search@{search}}
\index{search@{search}!Backbone@{Backbone}}
\subsubsection[{search}]{\setlength{\rightskip}{0pt plus 5cm}void Backbone::search (QString {\em word})\hspace{0.3cm}{\ttfamily  \mbox{[}slot\mbox{]}}}}
\label{classBackbone_a3b1f2cf8de594cbd18bef4ca854337e2}


search for a word translation 


\begin{DoxyParams}{Parameters}
\item[{\em word}]to be translated \end{DoxyParams}
\hypertarget{classBackbone_a67dbca9402d40e4678f879ff8da3866e}{
\index{Backbone@{Backbone}!searchHtml@{searchHtml}}
\index{searchHtml@{searchHtml}!Backbone@{Backbone}}
\subsubsection[{searchHtml}]{\setlength{\rightskip}{0pt plus 5cm}void Backbone::searchHtml (QList$<$ {\bf Translation} $\ast$ $>$ {\em translations})\hspace{0.3cm}{\ttfamily  \mbox{[}slot\mbox{]}}}}
\label{classBackbone_a67dbca9402d40e4678f879ff8da3866e}


Performs search for final translation (html/xml) form. 


\begin{DoxyParams}{Parameters}
\item[{\em list}]of Translation$\ast$ to be searched for \end{DoxyParams}
\hypertarget{classBackbone_addad48903943006b6a4661169f80ee5a}{
\index{Backbone@{Backbone}!searchLimit@{searchLimit}}
\index{searchLimit@{searchLimit}!Backbone@{Backbone}}
\subsubsection[{searchLimit}]{\setlength{\rightskip}{0pt plus 5cm}int Backbone::searchLimit () const}}
\label{classBackbone_addad48903943006b6a4661169f80ee5a}
\begin{DoxyReturn}{Returns}
maximum number of word that plugin could find 
\end{DoxyReturn}
\hypertarget{classBackbone_ac23b486119652095d956413a6e68afec}{
\index{Backbone@{Backbone}!selectedDictionaries@{selectedDictionaries}}
\index{selectedDictionaries@{selectedDictionaries}!Backbone@{Backbone}}
\subsubsection[{selectedDictionaries}]{\setlength{\rightskip}{0pt plus 5cm}void Backbone::selectedDictionaries (QList$<$ {\bf CommonDictInterface} $\ast$ $>$ {\em activeDicts})\hspace{0.3cm}{\ttfamily  \mbox{[}slot\mbox{]}}}}
\label{classBackbone_ac23b486119652095d956413a6e68afec}


sets active dictionaries (searches are performed only in active dicts 


\begin{DoxyParams}{Parameters}
\item[{\em List}]of dictionaris to be activated \end{DoxyParams}


The documentation for this class was generated from the following files:\begin{DoxyCompactItemize}
\item 
backbone.h\item 
backbone.cpp\end{DoxyCompactItemize}
