\hypertarget{a11072}{}\section{File\+S\+P\+H\+Plugin Class Reference}
\label{a11072}\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
Inheritance diagram for File\+S\+P\+H\+Plugin\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=1.469816cm]{a11072}
\end{center}
\end{figure}
\subsection*{Public Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11072_ae38a51bb1582b91df101d1331c9d24ca}\label{a11072_ae38a51bb1582b91df101d1331c9d24ca}} 
int {\bfseries load\+Object} (Q\+String \+\_\+filename)
\item 
\mbox{\Hypertarget{a11072_a28dd994870496680a2b148bd486960d2}\label{a11072_a28dd994870496680a2b148bd486960d2}} 
bool {\bfseries save\+Object} (int \+\_\+id, Q\+String \+\_\+filename)
\item 
\mbox{\Hypertarget{a11072_a6bf49f3cd99400268bbd8967e3803ecb}\label{a11072_a6bf49f3cd99400268bbd8967e3803ecb}} 
Q\+String {\bfseries version} ()
\end{DoxyCompactItemize}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11072_ad4910665b99944e870708fc29583a225}\label{a11072_ad4910665b99944e870708fc29583a225}} 
void {\bfseries opened\+File} (int \+\_\+id)
\item 
\mbox{\Hypertarget{a11072_a435d23be6c8feb9f95076e29792e5f89}\label{a11072_a435d23be6c8feb9f95076e29792e5f89}} 
void {\bfseries add\+Empty\+Object} (\hyperlink{a07048}{Data\+Type} \+\_\+type, int \&\+\_\+id)
\item 
\mbox{\Hypertarget{a11072_af37652025cc4434466478371fc776cad}\label{a11072_af37652025cc4434466478371fc776cad}} 
void {\bfseries load} (Q\+String \+\_\+filename, \hyperlink{a07048}{Data\+Type} \+\_\+type, int \&\+\_\+id)
\item 
\mbox{\Hypertarget{a11072_a421e29239bfdf6ca67fd6e126d316d58}\label{a11072_a421e29239bfdf6ca67fd6e126d316d58}} 
void {\bfseries save} (int \+\_\+id, Q\+String \+\_\+filename)
\item 
\mbox{\Hypertarget{a11072_a28db446245a9523dae82d3f97307b91c}\label{a11072_a28db446245a9523dae82d3f97307b91c}} 
void {\bfseries log} (\hyperlink{a00035_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a11072_adadf3584c3e889c9c2b5be4b362af8ec}\label{a11072_adadf3584c3e889c9c2b5be4b362af8ec}} 
void {\bfseries log} (Q\+String \+\_\+message)
\item 
\mbox{\Hypertarget{a11072_a1f3011b349985b170afea9cc37628fd6}\label{a11072_a1f3011b349985b170afea9cc37628fd6}} 
void {\bfseries updated\+Object} (int \+\_\+id, const \hyperlink{a07096}{Update\+Type} \&\+\_\+type)
\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
Q\+String \hyperlink{a11072_a91d717f7f1a2131bde29774d2ae5ad44}{name} ()
\begin{DoxyCompactList}\small\item\em Return a name for the plugin. \end{DoxyCompactList}\item 
Q\+String \hyperlink{a11072_a5ba131254a550447406c910319668d32}{description} ()
\begin{DoxyCompactList}\small\item\em Return a description of what the plugin is doing. \end{DoxyCompactList}\item 
\hyperlink{a07048}{Data\+Type} \hyperlink{a11072_a58e579c79d1f79ec4e8ea3e0d29de4c5}{supported\+Type} ()
\begin{DoxyCompactList}\small\item\em Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+SH ) \end{DoxyCompactList}\item 
Q\+String \hyperlink{a11072_a2343268003e5a0cbbb7da35476c797ad}{get\+Save\+Filters} ()
\item 
Q\+String \hyperlink{a11072_ab433ad8fe8b1c2886036b7a915c124a1}{get\+Load\+Filters} ()
\item 
Q\+Widget $\ast$ \hyperlink{a11072_aa51065b58c37161914bb33d39f48d5ce}{save\+Options\+Widget} (Q\+String)
\item 
Q\+Widget $\ast$ \hyperlink{a11072_a0b2ee59822fd659d6fe7ffbe68035a3e}{load\+Options\+Widget} (Q\+String)
\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\mbox{\Hypertarget{a11072_a02827517532b1f4a9bbc072888838cc3}\label{a11072_a02827517532b1f4a9bbc072888838cc3}} 
void {\bfseries file\+Opened} (int)
\end{DoxyCompactItemize}
\subsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{a11072_a690c18056f9093f5f9f46564e9ce4a74}{nogui\+Supported} ()
\item 
void \hyperlink{a11072_aa6a94b4eae6fffb161eae696963262e1}{initialize\+Plugin} ()
\begin{DoxyCompactList}\small\item\em Initialize Plugin. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}


Definition at line 57 of file File\+S\+P\+H.\+hh.



\subsection{Member Function Documentation}
\mbox{\Hypertarget{a11072_a5ba131254a550447406c910319668d32}\label{a11072_a5ba131254a550447406c910319668d32}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!description@{description}}
\index{description@{description}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{description()}{description()}}
{\footnotesize\ttfamily Q\+String File\+S\+P\+H\+Plugin\+::description (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Return a description of what the plugin is doing. 

This function has to return a basic description of the plugin 

Implements \hyperlink{a06872_a43f0d3612695b53c848c14f48fea9a7a}{Base\+Interface}.



Definition at line 91 of file File\+S\+P\+H.\+hh.

\mbox{\Hypertarget{a11072_ab433ad8fe8b1c2886036b7a915c124a1}\label{a11072_ab433ad8fe8b1c2886036b7a915c124a1}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!get\+Load\+Filters@{get\+Load\+Filters}}
\index{get\+Load\+Filters@{get\+Load\+Filters}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{get\+Load\+Filters()}{getLoadFilters()}}
{\footnotesize\ttfamily Q\+String File\+S\+P\+H\+Plugin\+::get\+Load\+Filters (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Return the Qt Filters for File dialogs when loading files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

Implements \hyperlink{a06880_a804009a394ded7436b43c624af9cc44d}{File\+Interface}.



Definition at line 55 of file File\+S\+P\+H.\+cc.

\mbox{\Hypertarget{a11072_a2343268003e5a0cbbb7da35476c797ad}\label{a11072_a2343268003e5a0cbbb7da35476c797ad}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!get\+Save\+Filters@{get\+Save\+Filters}}
\index{get\+Save\+Filters@{get\+Save\+Filters}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{get\+Save\+Filters()}{getSaveFilters()}}
{\footnotesize\ttfamily Q\+String File\+S\+P\+H\+Plugin\+::get\+Save\+Filters (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}

Get the Qt Filters for Filedialogs when saving files (e.\+g. \char`\"{}\+Off files ( $\ast$.\+off )\char`\"{} ) 

Implements \hyperlink{a06880_a86b79f14fef9913720c6456df43de7df}{File\+Interface}.



Definition at line 59 of file File\+S\+P\+H.\+cc.

\mbox{\Hypertarget{a11072_aa6a94b4eae6fffb161eae696963262e1}\label{a11072_aa6a94b4eae6fffb161eae696963262e1}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!initialize\+Plugin@{initialize\+Plugin}}
\index{initialize\+Plugin@{initialize\+Plugin}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{initialize\+Plugin()}{initializePlugin()}}
{\footnotesize\ttfamily void File\+S\+P\+H\+Plugin\+::initialize\+Plugin (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}, {\ttfamily [virtual]}}



Initialize Plugin. 

This slot is called if the plugin is loaded and has to be initialized. All initialization stuff in this slot has to stay inside the plugin, no external signals are allowed here (and will be ignored). Don\textquotesingle{}t create any objects via \hyperlink{a06173}{Plugin\+Functions} here. Use the \hyperlink{a06872_a5f240478907447bf172618bd4205df65}{plugins\+Initialized()} slot for external initialization. After execution of this slot your plugin should be fully functional. Only gui elements may be uninitialized and should be created in \hyperlink{a06872_a5f240478907447bf172618bd4205df65}{plugins\+Initialized()}. 

Reimplemented from \hyperlink{a06872_a705fdf2e221af47198aed689b0da7a32}{Base\+Interface}.



Definition at line 52 of file File\+S\+P\+H.\+cc.

\mbox{\Hypertarget{a11072_a0b2ee59822fd659d6fe7ffbe68035a3e}\label{a11072_a0b2ee59822fd659d6fe7ffbe68035a3e}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!load\+Options\+Widget@{load\+Options\+Widget}}
\index{load\+Options\+Widget@{load\+Options\+Widget}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{load\+Options\+Widget()}{loadOptionsWidget()}}
{\footnotesize\ttfamily Q\+Widget$\ast$ File\+S\+P\+H\+Plugin\+::load\+Options\+Widget (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+current\+Filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

You can provide a special widget showing options for loading your file types depending on the current filter

\+\_\+current\+Filter\+: one filter from load\+Filters

Return 0 when you don\textquotesingle{}t need one 

Implements \hyperlink{a06880_a69ddbb8db7fd5b9257f35bc0148ef7c0}{File\+Interface}.



Definition at line 99 of file File\+S\+P\+H.\+hh.

\mbox{\Hypertarget{a11072_a91d717f7f1a2131bde29774d2ae5ad44}\label{a11072_a91d717f7f1a2131bde29774d2ae5ad44}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!name@{name}}
\index{name@{name}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{name()}{name()}}
{\footnotesize\ttfamily Q\+String File\+S\+P\+H\+Plugin\+::name (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}



Return a name for the plugin. 

This Function has to return the name of the plugin. 

Implements \hyperlink{a06872_a2b351aa6ef0eb368bce735e243235958}{Base\+Interface}.



Definition at line 90 of file File\+S\+P\+H.\+hh.

\mbox{\Hypertarget{a11072_a690c18056f9093f5f9f46564e9ce4a74}\label{a11072_a690c18056f9093f5f9f46564e9ce4a74}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!nogui\+Supported@{nogui\+Supported}}
\index{nogui\+Supported@{nogui\+Supported}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{nogui\+Supported()}{noguiSupported()}}
{\footnotesize\ttfamily void File\+S\+P\+H\+Plugin\+::nogui\+Supported (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [private]}, {\ttfamily [virtual]}}

Using this function you can inform the core that your plugin can run without creating a widget. If your plugin does not implement this function, it will not be loaded in scripting mode without gui. You don\textquotesingle{}t have to do anything in this function. 

Reimplemented from \hyperlink{a06872_a79ba17f1f9aca08b95ec56f85d2d1204}{Base\+Interface}.



Definition at line 82 of file File\+S\+P\+H.\+hh.

\mbox{\Hypertarget{a11072_aa51065b58c37161914bb33d39f48d5ce}\label{a11072_aa51065b58c37161914bb33d39f48d5ce}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!save\+Options\+Widget@{save\+Options\+Widget}}
\index{save\+Options\+Widget@{save\+Options\+Widget}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{save\+Options\+Widget()}{saveOptionsWidget()}}
{\footnotesize\ttfamily Q\+Widget$\ast$ File\+S\+P\+H\+Plugin\+::save\+Options\+Widget (\begin{DoxyParamCaption}\item[{Q\+String}]{\+\_\+current\+Filter }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}

You can provide a special widget showing options for saving your file types depending on the current filter

\+\_\+current\+Filter\+: one filter from save\+Filters

Return 0 when you don\textquotesingle{}t need one 

Implements \hyperlink{a06880_a5cfabe9faa5b3e9f107766a6b670626b}{File\+Interface}.



Definition at line 98 of file File\+S\+P\+H.\+hh.

\mbox{\Hypertarget{a11072_a58e579c79d1f79ec4e8ea3e0d29de4c5}\label{a11072_a58e579c79d1f79ec4e8ea3e0d29de4c5}} 
\index{File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}!supported\+Type@{supported\+Type}}
\index{supported\+Type@{supported\+Type}!File\+S\+P\+H\+Plugin@{File\+S\+P\+H\+Plugin}}
\subsubsection{\texorpdfstring{supported\+Type()}{supportedType()}}
{\footnotesize\ttfamily \hyperlink{a07048}{Data\+Type} File\+S\+P\+H\+Plugin\+::supported\+Type (\begin{DoxyParamCaption}{ }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [virtual]}}



Return your supported object type( e.\+g. D\+A\+T\+A\+\_\+\+T\+R\+I\+A\+N\+G\+L\+E\+\_\+\+M\+E\+SH ) 

If you support multiple Data\+Types you can combine them bitwise here. The function is used from the load and save code to check if your plugin can handle an object of a given data\+Type. 

Implements \hyperlink{a06880_add81abf9277dae44167763da4371fb28}{File\+Interface}.



Definition at line 63 of file File\+S\+P\+H.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin\+Collection-\/\+File\+Plugins/\+Plugin-\/\+File\+S\+P\+H/File\+S\+P\+H.\+hh\item 
Plugin\+Collection-\/\+File\+Plugins/\+Plugin-\/\+File\+S\+P\+H/File\+S\+P\+H.\+cc\end{DoxyCompactItemize}
