\hypertarget{a01180}{\section{Single\+Object\+Property\+Model Class Reference}
\label{a01180}\index{Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}}
}


This class manages the visualizers for a single object.  




{\ttfamily \#include $<$Plugin-\/\+Property\+Vis/\+Single\+Object\+Property\+Model.\+hh$>$}

Inheritance diagram for Single\+Object\+Property\+Model\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=5.000000cm]{a01180}
\end{center}
\end{figure}
\subsection*{Signals}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01180_a1904a4b5856b221d78881a581316c003}{void {\bfseries log} (\hyperlink{a02444_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)}\label{a01180_a1904a4b5856b221d78881a581316c003}

\item 
\hypertarget{a01180_aedf6db3ab5d650ce38805ad75babca18}{void {\bfseries log} (Q\+String \+\_\+message)}\label{a01180_aedf6db3ab5d650ce38805ad75babca18}

\end{DoxyCompactItemize}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01180_a4fef7caace693390212dcb66454bb34a}{virtual void {\bfseries pick\+Mode\+Changed} (const std\+::string \&\+\_\+mode)}\label{a01180_a4fef7caace693390212dcb66454bb34a}

\item 
\hypertarget{a01180_ae7f3f8790ebcac139189ededff406d5c}{virtual void {\bfseries mouse\+Event} (Q\+Mouse\+Event $\ast$\+\_\+event)}\label{a01180_ae7f3f8790ebcac139189ededff406d5c}

\item 
\hypertarget{a01180_a85c4f700e7220dff7b968d02662ce62b}{{\bfseries Single\+Object\+Property\+Model} (Q\+Object $\ast$parent=0)}\label{a01180_a85c4f700e7220dff7b968d02662ce62b}

\item 
\hypertarget{a01180_a4f98f36c9edb7a25b6b8c7acb791abd9}{virtual int {\bfseries row\+Count} (const Q\+Model\+Index \&parent=Q\+Model\+Index()) const }\label{a01180_a4f98f36c9edb7a25b6b8c7acb791abd9}

\item 
\hypertarget{a01180_a6c5a92c6e3bed586a3b72665b4081481}{virtual Q\+Variant {\bfseries data} (const Q\+Model\+Index \&index, int role=Qt\+::\+Display\+Role) const }\label{a01180_a6c5a92c6e3bed586a3b72665b4081481}

\item 
\hypertarget{a01180_a5b7e9e602177760ccebc0625d1ef1a95}{virtual Q\+Variant {\bfseries header\+Data} (int section, Qt\+::\+Orientation orientation, int role=Qt\+::\+Display\+Role) const }\label{a01180_a5b7e9e602177760ccebc0625d1ef1a95}

\item 
\hypertarget{a01180_a7af7f05f47c4ff933b52ebc76516c68f}{virtual void \hyperlink{a01180_a7af7f05f47c4ff933b52ebc76516c68f}{object\+Updated} ()}\label{a01180_a7af7f05f47c4ff933b52ebc76516c68f}

\begin{DoxyCompactList}\small\item\em Revisualizes visualized properties. \end{DoxyCompactList}\item 
virtual void \hyperlink{a01180_a5892b0abe23d72a5342278af607cc1de}{visualize} (Q\+Model\+Index\+List selected\+Indices, Q\+Widget\+List widgets=Q\+Widget\+List())
\begin{DoxyCompactList}\small\item\em Visualizes the selected properties. \end{DoxyCompactList}\item 
\hypertarget{a01180_ae1d59bf1bf3d29611fca8910123335bc}{virtual void \hyperlink{a01180_ae1d59bf1bf3d29611fca8910123335bc}{remove\+Property} (Q\+Model\+Index\+List selected\+Indices)}\label{a01180_ae1d59bf1bf3d29611fca8910123335bc}

\begin{DoxyCompactList}\small\item\em Removes the selected properties. \end{DoxyCompactList}\item 
\hypertarget{a01180_aeb0e74069dac642d07cfd089394e3d28}{virtual void \hyperlink{a01180_aeb0e74069dac642d07cfd089394e3d28}{duplicate\+Property} (Q\+Model\+Index\+List selected\+Indices)}\label{a01180_aeb0e74069dac642d07cfd089394e3d28}

\begin{DoxyCompactList}\small\item\em Duplicates the selected properties. \end{DoxyCompactList}\item 
\hypertarget{a01180_a0e195b7f0d16071825ffe38d60535d69}{virtual void \hyperlink{a01180_a0e195b7f0d16071825ffe38d60535d69}{gather\+Properties} ()}\label{a01180_a0e195b7f0d16071825ffe38d60535d69}

\begin{DoxyCompactList}\small\item\em Searches for properties and creates Property\+Visualizers. \end{DoxyCompactList}\item 
\hypertarget{a01180_ad029221c1edf9fcd213e599bf25c98ce}{virtual void \hyperlink{a01180_ad029221c1edf9fcd213e599bf25c98ce}{clear} (Q\+Model\+Index\+List selected\+Indices)}\label{a01180_ad029221c1edf9fcd213e599bf25c98ce}

\begin{DoxyCompactList}\small\item\em Clears the selected property visualization. \end{DoxyCompactList}\item 
\hypertarget{a01180_a42bfdb8148b900738a0a4d3d97b709ca}{void \hyperlink{a01180_a42bfdb8148b900738a0a4d3d97b709ca}{hide\+Widget} ()}\label{a01180_a42bfdb8148b900738a0a4d3d97b709ca}

\begin{DoxyCompactList}\small\item\em Hides the widget. \end{DoxyCompactList}\item 
\hypertarget{a01180_a522f59ab6cac9805566f4a897578cbc1}{Q\+Widget $\ast$ \hyperlink{a01180_a522f59ab6cac9805566f4a897578cbc1}{get\+Widget} ()}\label{a01180_a522f59ab6cac9805566f4a897578cbc1}

\begin{DoxyCompactList}\small\item\em Returns the widget. \end{DoxyCompactList}\item 
\hypertarget{a01180_abc139c553a8bcd7df5d4179dad920c3d}{virtual void \hyperlink{a01180_abc139c553a8bcd7df5d4179dad920c3d}{update\+Widget} (const Q\+Model\+Index\+List \&selected\+Indices)}\label{a01180_abc139c553a8bcd7df5d4179dad920c3d}

\begin{DoxyCompactList}\small\item\em Updates the widget. \end{DoxyCompactList}\item 
\hypertarget{a01180_a204d6f54339357502ed0ed1ed5805ad7}{void \hyperlink{a01180_a204d6f54339357502ed0ed1ed5805ad7}{connect\+Logs} (\hyperlink{a01048}{Property\+Visualizer} $\ast$prop\+Viz)}\label{a01180_a204d6f54339357502ed0ed1ed5805ad7}

\begin{DoxyCompactList}\small\item\em Connects the \hyperlink{a01048}{Property\+Visualizer} log signals with the log slot. \end{DoxyCompactList}\item 
\hypertarget{a01180_ac897b2ec38cd088c2f4d672f57f4a076}{virtual \hyperlink{a01033}{Property\+Info} \hyperlink{a01180_ac897b2ec38cd088c2f4d672f57f4a076}{get\+Property\+Info} (const Q\+Model\+Index index) const }\label{a01180_ac897b2ec38cd088c2f4d672f57f4a076}

\begin{DoxyCompactList}\small\item\em Returns the property info for the property with the given index. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01180_af4bde9346ac29fbdef5f5eef397e9c46}{\hyperlink{a01048}{Property\+Visualizer} $\ast$ \hyperlink{a01180_af4bde9346ac29fbdef5f5eef397e9c46}{get\+Property\+Visualizer} (Q\+String prop\+Name, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R filter, \hyperlink{a01356}{Type\+Info\+Wrapper} type\+Info)}\label{a01180_af4bde9346ac29fbdef5f5eef397e9c46}

\begin{DoxyCompactList}\small\item\em Returns a \hyperlink{a01048}{Property\+Visualizer}. \end{DoxyCompactList}\item 
\hypertarget{a01180_a6c132671fa304e7de5a7392da87e5d49}{bool \hyperlink{a01180_a6c132671fa304e7de5a7392da87e5d49}{is\+Property\+Free} (Q\+String prop\+Name, Property\+Info\+::\+E\+N\+T\+I\+T\+Y\+\_\+\+F\+I\+L\+T\+E\+R filter, \hyperlink{a01356}{Type\+Info\+Wrapper} type\+Info)}\label{a01180_a6c132671fa304e7de5a7392da87e5d49}

\begin{DoxyCompactList}\small\item\em Checks if the property name is still available. \end{DoxyCompactList}\item 
\hypertarget{a01180_af07e86f89f01effb47f7e0268677d42e}{Q\+String \hyperlink{a01180_af07e86f89f01effb47f7e0268677d42e}{get\+Load\+Filename} ()}\label{a01180_af07e86f89f01effb47f7e0268677d42e}

\begin{DoxyCompactList}\small\item\em Asks the user for a file to load. \end{DoxyCompactList}\item 
\hypertarget{a01180_abc68e43d317e65eaaffe0c56a6938d55}{virtual Q\+String \hyperlink{a01180_abc68e43d317e65eaaffe0c56a6938d55}{get\+Load\+Filename\+Filter} ()}\label{a01180_abc68e43d317e65eaaffe0c56a6938d55}

\begin{DoxyCompactList}\small\item\em Returns the filename filter for loading. \end{DoxyCompactList}\item 
\hypertarget{a01180_abca7489be4214a9bfea3a41a5a8835da}{Q\+String \hyperlink{a01180_abca7489be4214a9bfea3a41a5a8835da}{get\+Save\+Filename} (unsigned int prop\+Id)}\label{a01180_abca7489be4214a9bfea3a41a5a8835da}

\begin{DoxyCompactList}\small\item\em Asks the user for a file to load. \end{DoxyCompactList}\item 
\hypertarget{a01180_a56d38e86456411852c3a9e86ec4c28ff}{virtual Q\+String \hyperlink{a01180_a56d38e86456411852c3a9e86ec4c28ff}{get\+Save\+Filename\+Filter} (unsigned int prop\+Id)}\label{a01180_a56d38e86456411852c3a9e86ec4c28ff}

\begin{DoxyCompactList}\small\item\em Returns the filename filter for saving. \end{DoxyCompactList}\item 
\hypertarget{a01180_adfb8922a43daaea18b4a81633b4a97fb}{virtual Q\+String \hyperlink{a01180_adfb8922a43daaea18b4a81633b4a97fb}{get\+Default\+Save\+Filename} (unsigned int prop\+Id)}\label{a01180_adfb8922a43daaea18b4a81633b4a97fb}

\begin{DoxyCompactList}\small\item\em Returns the default file name. \end{DoxyCompactList}\item 
\hypertarget{a01180_a9dee6bacac7e924dcfe097c97c96d65a}{void \hyperlink{a01180_a9dee6bacac7e924dcfe097c97c96d65a}{open\+File} (Q\+String \+\_\+filename, Q\+File \&file\+\_\+, Q\+Text\+Stream $\ast$\&file\+\_\+stream\+\_\+)}\label{a01180_a9dee6bacac7e924dcfe097c97c96d65a}

\begin{DoxyCompactList}\small\item\em Opens a file. \end{DoxyCompactList}\item 
\hypertarget{a01180_a7402e1b3a9dd931e7f22d61ede3e2b3d}{void \hyperlink{a01180_a7402e1b3a9dd931e7f22d61ede3e2b3d}{close\+File} (Q\+File \&file\+\_\+, Q\+Text\+Stream $\ast$\&file\+\_\+stream\+\_\+)}\label{a01180_a7402e1b3a9dd931e7f22d61ede3e2b3d}

\begin{DoxyCompactList}\small\item\em Closes a file. \end{DoxyCompactList}\item 
\hypertarget{a01180_a1a1d2dd4fb712323bf2edbada61a96cb}{Q\+String \hyperlink{a01180_a1a1d2dd4fb712323bf2edbada61a96cb}{read\+Line} (Q\+Text\+Stream $\ast$file\+\_\+stream\+\_\+)}\label{a01180_a1a1d2dd4fb712323bf2edbada61a96cb}

\begin{DoxyCompactList}\small\item\em Read line from a file. \end{DoxyCompactList}\item 
\hypertarget{a01180_ad3156bc966706534d80389aa721d8251}{void \hyperlink{a01180_ad3156bc966706534d80389aa721d8251}{write\+Line} (Q\+String \+\_\+s, Q\+Text\+Stream $\ast$\&file\+\_\+stream\+\_\+)}\label{a01180_ad3156bc966706534d80389aa721d8251}

\begin{DoxyCompactList}\small\item\em Writes a line to a file. \end{DoxyCompactList}\item 
\hypertarget{a01180_a8c8069d7a5d6cfc2a90e44f87edade58}{void \hyperlink{a01180_a8c8069d7a5d6cfc2a90e44f87edade58}{save\+Property} (unsigned int prop\+Id)}\label{a01180_a8c8069d7a5d6cfc2a90e44f87edade58}

\begin{DoxyCompactList}\small\item\em Saves property. \end{DoxyCompactList}\item 
\hypertarget{a01180_ab6253f64fd0769bf618f269506cc3cff}{void \hyperlink{a01180_ab6253f64fd0769bf618f269506cc3cff}{load\+Property} ()}\label{a01180_ab6253f64fd0769bf618f269506cc3cff}

\begin{DoxyCompactList}\small\item\em Loads property. \end{DoxyCompactList}\item 
\hypertarget{a01180_a39b9afb7b4b5eae8b14918c1e51c8c32}{virtual void \hyperlink{a01180_a39b9afb7b4b5eae8b14918c1e51c8c32}{set\+Property\+From\+File} (Q\+Text\+Stream $\ast$\&file\+\_\+stream\+\_\+, unsigned int n, \hyperlink{a01048}{Property\+Visualizer} $\ast$prop\+Vis)}\label{a01180_a39b9afb7b4b5eae8b14918c1e51c8c32}

\begin{DoxyCompactList}\small\item\em Sets the property values from a given file. \end{DoxyCompactList}\item 
virtual bool \hyperlink{a01180_a6790c49b36b219d9e746024109f675fc}{parse\+Header} (Q\+String header, \hyperlink{a01048}{Property\+Visualizer} $\ast$\&prop\+Vis, unsigned int \&n)
\begin{DoxyCompactList}\small\item\em Parses the property file header. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Protected Attributes}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01180_a3ad3d6bdc84b26c39a1225ebf7eba427}{std\+::vector$<$ \hyperlink{a01048}{Property\+Visualizer} $\ast$ $>$ {\bfseries property\+Visualizers}}\label{a01180_a3ad3d6bdc84b26c39a1225ebf7eba427}

\item 
\hypertarget{a01180_a361b836616273776221980bf0e6ab558}{Q\+Widget $\ast$ {\bfseries widgets}}\label{a01180_a361b836616273776221980bf0e6ab558}

\item 
\hypertarget{a01180_ab26563594fc53f97ce2398d0299a9de8}{Q\+Model\+Index\+List {\bfseries currently\+Selected\+Indices}}\label{a01180_ab26563594fc53f97ce2398d0299a9de8}

\item 
\hypertarget{a01180_a97e5d84e2d8f55c0f594f808c8f44e82}{std\+::vector$<$ unsigned int $>$ {\bfseries currently\+Visualized\+Indices}}\label{a01180_a97e5d84e2d8f55c0f594f808c8f44e82}

\end{DoxyCompactItemize}
\subsection*{Private Slots}
\begin{DoxyCompactItemize}
\item 
\hypertarget{a01180_a4f55a4c58907b3c64e48b786e054937b}{void {\bfseries slot\+Log} (\hyperlink{a02444_a595b2880f3ae74561ba390e3fd8c0e7c}{Logtype} \+\_\+type, Q\+String \+\_\+message)}\label{a01180_a4f55a4c58907b3c64e48b786e054937b}

\item 
\hypertarget{a01180_a9bed71e3d3791db2877ffec13c3f33e1}{void {\bfseries slot\+Log} (Q\+String \+\_\+message)}\label{a01180_a9bed71e3d3791db2877ffec13c3f33e1}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
This class manages the visualizers for a single object. 

For each mesh object a \hyperlink{a01180}{Single\+Object\+Property\+Model} is created. It searches for properties and creates a \hyperlink{a01048}{Property\+Visualizer} for each of them. It provides the G\+U\+I for all selected properties. Also loading and saving of properties is handled here.

Note that for each type of object (\hyperlink{a03368}{Open\+Mesh}, Open\+Volume\+Mesh and others that might follow) a subclass should be derived from this class. 

Definition at line 80 of file Single\+Object\+Property\+Model.\+hh.



\subsection{Member Function Documentation}
\hypertarget{a01180_a6790c49b36b219d9e746024109f675fc}{\index{Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}!parse\+Header@{parse\+Header}}
\index{parse\+Header@{parse\+Header}!Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}}
\subsubsection[{parse\+Header}]{\setlength{\rightskip}{0pt plus 5cm}virtual bool Single\+Object\+Property\+Model\+::parse\+Header (
\begin{DoxyParamCaption}
\item[{Q\+String}]{header, }
\item[{{\bf Property\+Visualizer} $\ast$\&}]{prop\+Vis, }
\item[{unsigned int \&}]{n}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [protected]}, {\ttfamily [virtual]}}}\label{a01180_a6790c49b36b219d9e746024109f675fc}


Parses the property file header. 


\begin{DoxyParams}[1]{Parameters}
 & {\em header} & The header. \\
\hline
\mbox{\tt out}  & {\em prop\+Vis} & The \hyperlink{a01048}{Property\+Visualizer} that will visualize the new property. \\
\hline
\mbox{\tt out}  & {\em n} & The number of values stored in the file \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
True if parsing was successfull, False if not.
\end{DoxyReturn}
When loading a property from a file this method parses the header placed in the file's first line. If parsing was successfull a new property and a \hyperlink{a01048}{Property\+Visualizer} will be created. 

Reimplemented in \hyperlink{a00909_a6e2002586e5a7eaea735b290a546da2f}{O\+M\+Property\+Model$<$ Mesh\+T $>$}.



Definition at line 194 of file Single\+Object\+Property\+Model.\+hh.

\hypertarget{a01180_a5892b0abe23d72a5342278af607cc1de}{\index{Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}!visualize@{visualize}}
\index{visualize@{visualize}!Single\+Object\+Property\+Model@{Single\+Object\+Property\+Model}}
\subsubsection[{visualize}]{\setlength{\rightskip}{0pt plus 5cm}void Single\+Object\+Property\+Model\+::visualize (
\begin{DoxyParamCaption}
\item[{Q\+Model\+Index\+List}]{selected\+Indices, }
\item[{Q\+Widget\+List}]{widgets = {\ttfamily QWidgetList()}}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [virtual]}}}\label{a01180_a5892b0abe23d72a5342278af607cc1de}


Visualizes the selected properties. 


\begin{DoxyParams}{Parameters}
{\em selected\+Indices} & The \\
\hline
\end{DoxyParams}


Implements \hyperlink{a01036_a54ad170a5c5a1de2f4ba038b7626822a}{Property\+Model}.



Definition at line 74 of file Single\+Object\+Property\+Model.\+cc.



The documentation for this class was generated from the following files\+:\begin{DoxyCompactItemize}
\item 
Plugin-\/\+Property\+Vis/Single\+Object\+Property\+Model.\+hh\item 
Plugin-\/\+Property\+Vis/Single\+Object\+Property\+Model.\+cc\end{DoxyCompactItemize}
