\section{Prefs}
\label{group__Prefs}\index{Prefs@{Prefs}}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct__Elm__Prefs__Item__Iface}{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface}
\begin{DoxyCompactList}\small\item\em Interface between items of the \hyperlink{group__Prefs_elm-prefs-widget}{Prefs} widget and the real widgets implementing them. \end{DoxyCompactList}\item 
struct \hyperlink{struct__Elm__Prefs__Item__Iface__Info}{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info}
\begin{DoxyCompactList}\small\item\em Convenience struct used to mass-\/register widgets implementing prefs {\bfseries items} interfaces. \end{DoxyCompactList}\item 
struct \hyperlink{struct__Elm__Prefs__Page__Iface}{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface}
\begin{DoxyCompactList}\small\item\em Interface between pages of the \hyperlink{group__Prefs_elm-prefs-widget}{Prefs} widget and the real widgets implementing them. \end{DoxyCompactList}\item 
struct \hyperlink{struct__Elm__Prefs__Page__Iface__Info}{\+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info}
\begin{DoxyCompactList}\small\item\em Convenience struct used to mass-\/register widgets implementing prefs {\bfseries pages} interfaces. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef void($\ast$ \hyperlink{group__Prefs_ga47ee0cfc6e4dad8fb4fc1960c78a1b6b}{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Changed\+\_\+\+Cb}) (Evas\+\_\+\+Object $\ast$it\+\_\+obj)\label{group__Prefs_ga47ee0cfc6e4dad8fb4fc1960c78a1b6b}

\begin{DoxyCompactList}\small\item\em Elementary prefs\textquotesingle{} item widget changed function signature. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \hyperlink{group__Prefs_ga15d0fab20f5ec2f85fd628c25e5b62e0}{Elm\+\_\+\+Prefs\+\_\+\+Reset\+\_\+\+Mode} \{ \\*
\hyperlink{group__Prefs_gga15d0fab20f5ec2f85fd628c25e5b62e0aaf5d2a29c537b4cecd2dad2d0e24ff1f}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+D\+E\+F\+A\+U\+L\+T\+S}, 
\\*
\hyperlink{group__Prefs_gga15d0fab20f5ec2f85fd628c25e5b62e0a640734919e7d972320bb2a69e93ea2f0}{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+L\+A\+S\+T}
 \}
\begin{DoxyCompactList}\small\item\em Modes of resetting a prefs widget. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
Evas\+\_\+\+Object $\ast$ \hyperlink{group__Prefs_ga6736d5f9363dd7acbcb39938668b3e45}{elm\+\_\+prefs\+\_\+add} (Evas\+\_\+\+Object $\ast$parent)
\begin{DoxyCompactList}\small\item\em Add a new prefs widget. \end{DoxyCompactList}\item 
void \hyperlink{group__Prefs_gae7fab97e239ccdb719d6eae0ee3fd5c0}{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register} (const \hyperlink{struct__Elm__Prefs__Item__Iface__Info}{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info} $\ast$array)
\begin{DoxyCompactList}\small\item\em Mass-\/register widgets implementing prefs {\bfseries items} interfaces. \end{DoxyCompactList}\item 
void \hyperlink{group__Prefs_ga7dbd06fad8e44bc6143b5a637ab4f899}{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister} (const \hyperlink{struct__Elm__Prefs__Item__Iface__Info}{Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info} $\ast$array)
\begin{DoxyCompactList}\small\item\em Mass-\/unregister widgets implementing prefs {\bfseries items} interfaces. \end{DoxyCompactList}\item 
void \hyperlink{group__Prefs_gad2390b92c0d279545f78ff7224560949}{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register} (const \hyperlink{struct__Elm__Prefs__Page__Iface__Info}{Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info} $\ast$array)
\begin{DoxyCompactList}\small\item\em Mass-\/register widgets implementing prefs {\bfseries pages} interfaces. \end{DoxyCompactList}\item 
void \hyperlink{group__Prefs_ga3e005848ad4cbfc19e4fcc2c34ecbebe}{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister} (const \hyperlink{struct__Elm__Prefs__Page__Iface__Info}{Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info} $\ast$array)
\begin{DoxyCompactList}\small\item\em Mass-\/unregister widgets implementing prefs {\bfseries pages} interfaces. \end{DoxyCompactList}\end{DoxyCompactItemize}
\begin{DoxyCompactItemize}
\item 
Eina\+\_\+\+Bool \hyperlink{group__Prefs_gaec5a0c4ea7f8e54909c5cdbc05e9b064}{elm\+\_\+prefs\+\_\+file\+\_\+set} (Eo $\ast$obj, const char $\ast$file, const char $\ast$page)
\begin{DoxyCompactList}\small\item\em Set file and page to populate a given prefs widget\textquotesingle{}s interface. \end{DoxyCompactList}\item 
Eina\+\_\+\+Bool \hyperlink{group__Prefs_gaa9220046adf093b046c2002c751c0501}{elm\+\_\+prefs\+\_\+file\+\_\+get} (const Eo $\ast$obj, const char $\ast$$\ast$file, const char $\ast$$\ast$page)
\begin{DoxyCompactList}\small\item\em Get file and page bound to a given prefs widget. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
\hypertarget{group__Prefs_elm-prefs-widget}{}\subsection{Prefs}\label{group__Prefs_elm-prefs-widget}
 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth]{img/widget/prefs/preview-00}}
\end{DoxyImageNoCaption}


 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth,height=\textheight/2,keepaspectratio=true]{prefs_inheritance_tree}}
\end{DoxyImageNoCaption}


Prefs is a special widget inside Elementary. It is mainly targeted to configuration dialogs. Its viewport is blank until you associate a definition file to it. That file (usually with {\bfseries }.epb extension), is a binary format (Eet) one, coming from a human-\/readable textual declaration. This textual form, an {\bfseries Elementary prefs collection} (usually with {\bfseries }.epc extension), is translated to the binary form by means of the {\bfseries prefs\+\_\+cc} compiler.

On it one declares U\+I elements to populate prefs widgets, which are contained in {\bfseries pages} (a prefs widget is always bound to one page). Those elements get properties like\+:
\begin{DoxyItemize}
\item default value,
\item maximum and minumum ranges,
\item acceptance and denial regular expressions, for strings,
\item visibility,
\item persistence,
\item editability, etc.
\end{DoxyItemize}

Once a prefs widget is created, after \hyperlink{group__Prefs_gaec5a0c4ea7f8e54909c5cdbc05e9b064}{elm\+\_\+prefs\+\_\+file\+\_\+set()} is issued on it, all of its U\+I elements will get default values, declared on that file. To fetch an user\textquotesingle{}s own, personal set of those values, one gets to pair an {\bfseries \hyperlink{group__Elm__Prefs_elm-prefs-data}{Prefs Data}} handle to the prefs widget.

Personal, prefs data values with keys matching the ones present on the file passed on \hyperlink{group__Prefs_gaec5a0c4ea7f8e54909c5cdbc05e9b064}{elm\+\_\+prefs\+\_\+file\+\_\+set()} to will have their values applied to the respective U\+I elements of the widget.

When a prefs widget dies, the values of the elements declared on its {\bfseries }.epb file marked as permanent {\bfseries will be written back} to the user prefs data handle, if it is writable. One is also able to make this writing event to take place automatically after each U\+I element modification by using elm\+\_\+prefs\+\_\+autosave\+\_\+set().

This widget emits the following signals\+:
\begin{DoxyItemize}
\item {\ttfamily \char`\"{}page,saved\char`\"{}}\+: a given page has had its values saved back on user config file (event info is the page\textquotesingle{}s name)
\item {\ttfamily \char`\"{}page,reset\char`\"{}}\+: a given page has had its values reset (event info is the page\textquotesingle{}s name)
\item {\ttfamily \char`\"{}page,changed\char`\"{}}\+: a given page has been loaded {\bfseries with user ({\ttfamily }.cfg) values} (event info is the page\textquotesingle{}s name)
\item {\ttfamily \char`\"{}page,loaded\char`\"{}}\+: a given page has been loaded {\bfseries with system ({\ttfamily }.epb) values} (event info is the page\textquotesingle{}s name)
\item {\ttfamily \char`\"{}item,changed\char`\"{}}\+: a given page\textquotesingle{}s item has changed (event info is the item\textquotesingle{}s full hierarchical name, in the form {\ttfamily \char`\"{}page\+:subpage\+:subsubpage\+:item\char`\"{}})
\item {\ttfamily \char`\"{}action\char`\"{}}\+: an action item has been triggered (event info is the item\textquotesingle{}s full hierarchical name, in the form {\ttfamily \char`\"{}page\+:subpage\+:subsubpage\+:item\char`\"{}})
\end{DoxyItemize}

\begin{DoxyItemize}
\item \hyperlink{epcref}{Elementary Prefs Data Collection Reference}\end{DoxyItemize}
The following are examples on how to use prefs\+: \begin{DoxyItemize}
\item \hyperlink{prefs_example_01}{Prefs Example 01} \item \hyperlink{prefs_example_02}{Prefs Example 02} \item \hyperlink{prefs_example_03}{Prefs Example 03} \end{DoxyItemize}


\subsection{Enumeration Type Documentation}
\index{Prefs@{Prefs}!Elm\+\_\+\+Prefs\+\_\+\+Reset\+\_\+\+Mode@{Elm\+\_\+\+Prefs\+\_\+\+Reset\+\_\+\+Mode}}
\index{Elm\+\_\+\+Prefs\+\_\+\+Reset\+\_\+\+Mode@{Elm\+\_\+\+Prefs\+\_\+\+Reset\+\_\+\+Mode}!Prefs@{Prefs}}
\subsubsection[{Elm\+\_\+\+Prefs\+\_\+\+Reset\+\_\+\+Mode}]{\setlength{\rightskip}{0pt plus 5cm}enum {\bf Elm\+\_\+\+Prefs\+\_\+\+Reset\+\_\+\+Mode}}\label{group__Prefs_ga15d0fab20f5ec2f85fd628c25e5b62e0}


Modes of resetting a prefs widget. 

\begin{DoxySeeAlso}{See also}
elm\+\_\+prefs\+\_\+reset()
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\begin{Desc}
\item[Enumerator]\par
\begin{description}
\index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+D\+E\+F\+A\+U\+L\+T\+S@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+D\+E\+F\+A\+U\+L\+T\+S}!Prefs@{Prefs}}\index{Prefs@{Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+D\+E\+F\+A\+U\+L\+T\+S@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+D\+E\+F\+A\+U\+L\+T\+S}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+D\+E\+F\+A\+U\+L\+T\+S\label{group__Prefs_gga15d0fab20f5ec2f85fd628c25e5b62e0aaf5d2a29c537b4cecd2dad2d0e24ff1f}
}]reset to default values, declared in its {\bfseries }.epb file \index{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+L\+A\+S\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+L\+A\+S\+T}!Prefs@{Prefs}}\index{Prefs@{Prefs}!E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+L\+A\+S\+T@{E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+L\+A\+S\+T}}\item[{\em 
E\+L\+M\+\_\+\+P\+R\+E\+F\+S\+\_\+\+R\+E\+S\+E\+T\+\_\+\+L\+A\+S\+T\label{group__Prefs_gga15d0fab20f5ec2f85fd628c25e5b62e0a640734919e7d972320bb2a69e93ea2f0}
}]prefs will keep a small history of changes, so this resets back to last batch of changes on the U\+I elements. it does {\bfseries not} work on autosave mode \end{description}
\end{Desc}


\subsection{Function Documentation}
\index{Prefs@{Prefs}!elm\+\_\+prefs\+\_\+add@{elm\+\_\+prefs\+\_\+add}}
\index{elm\+\_\+prefs\+\_\+add@{elm\+\_\+prefs\+\_\+add}!Prefs@{Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+add}]{\setlength{\rightskip}{0pt plus 5cm}Evas\+\_\+\+Object$\ast$ elm\+\_\+prefs\+\_\+add (
\begin{DoxyParamCaption}
\item[{Evas\+\_\+\+Object $\ast$}]{parent}
\end{DoxyParamCaption}
)}\label{group__Prefs_ga6736d5f9363dd7acbcb39938668b3e45}


Add a new prefs widget. 


\begin{DoxyParams}{Parameters}
{\em parent} & The parent widget to hold the new one \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
The new object or {\ttfamily N\+U\+L\+L}, on errors
\end{DoxyReturn}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}
\index{Prefs@{Prefs}!elm\+\_\+prefs\+\_\+file\+\_\+get@{elm\+\_\+prefs\+\_\+file\+\_\+get}}
\index{elm\+\_\+prefs\+\_\+file\+\_\+get@{elm\+\_\+prefs\+\_\+file\+\_\+get}!Prefs@{Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+file\+\_\+get}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+file\+\_\+get (
\begin{DoxyParamCaption}
\item[{const Eo $\ast$}]{obj, }
\item[{const char $\ast$$\ast$}]{file, }
\item[{const char $\ast$$\ast$}]{page}
\end{DoxyParamCaption}
)}\label{group__Prefs_gaa9220046adf093b046c2002c751c0501}


Get file and page bound to a given prefs widget. 

\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
\begin{DoxyNote}{Note}
Use {\ttfamily N\+U\+L\+L} pointers on the components you\textquotesingle{}re not interested in\+: they\textquotesingle{}ll be ignored by the function.
\end{DoxyNote}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Prefs_gaec5a0c4ea7f8e54909c5cdbc05e9b064}{elm\+\_\+prefs\+\_\+file\+\_\+set()} for more information
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt out}  & {\em file} & The {\bfseries }.epb (binary) file to get contents from \\
\hline
\mbox{\tt out}  & {\em page} & The page, inside {\itshape file}, where to get item contents from \\
\hline
\end{DoxyParams}
\index{Prefs@{Prefs}!elm\+\_\+prefs\+\_\+file\+\_\+set@{elm\+\_\+prefs\+\_\+file\+\_\+set}}
\index{elm\+\_\+prefs\+\_\+file\+\_\+set@{elm\+\_\+prefs\+\_\+file\+\_\+set}!Prefs@{Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+file\+\_\+set}]{\setlength{\rightskip}{0pt plus 5cm}Eina\+\_\+\+Bool elm\+\_\+prefs\+\_\+file\+\_\+set (
\begin{DoxyParamCaption}
\item[{Eo $\ast$}]{obj, }
\item[{const char $\ast$}]{file, }
\item[{const char $\ast$}]{page}
\end{DoxyParamCaption}
)}\label{group__Prefs_gaec5a0c4ea7f8e54909c5cdbc05e9b064}


Set file and page to populate a given prefs widget\textquotesingle{}s interface. 

\begin{DoxyReturn}{Returns}
{\ttfamily E\+I\+N\+A\+\_\+\+T\+R\+U\+E}, on success, {\ttfamily E\+I\+N\+A\+\_\+\+F\+A\+L\+S\+E} otherwise
\end{DoxyReturn}
Elm prefs widgets start blank, with no child widgets. It\textquotesingle{}s meant to have its viewport populated with child elements coming from a declaration file. That file (usually with {\bfseries }.epb extension), is a binary format (Eet) one, coming from a human-\/readable textual declaration. This textual form (usually with {\bfseries }.epc extension) is translated to the binary form by means of the {\bfseries prefs\+\_\+cc} compiler.

With this function, one thus populates a prefs widget with U\+I elements.

If {\itshape file} is {\ttfamily N\+U\+L\+L}, \char`\"{}elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()/preferences.\+epb\char`\"{} will be used, by default. If {\itshape file} is a {\bfseries relative} path, the prefix \char`\"{}elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()/\char`\"{} will be implicitly used with it. If {\itshape page} is {\ttfamily N\+U\+L\+L}, it is considered \char`\"{}main\char`\"{}, as default.

\begin{DoxyWarning}{Warning}
If your binary is not properly installed and \hyperlink{group__App_ga92a09dbf88cc1ca3eab51c51dea589d0}{elm\+\_\+app\+\_\+data\+\_\+dir\+\_\+get()} can\textquotesingle{}t be figured out, a fallback value of \char`\"{}.\char`\"{} will be tryed, instead.
\end{DoxyWarning}
\begin{DoxySeeAlso}{See also}
\hyperlink{group__Prefs_gaa9220046adf093b046c2002c751c0501}{elm\+\_\+prefs\+\_\+file\+\_\+get()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8
\end{DoxySince}

\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em file} & The {\bfseries }.epb (binary) file to get contents from \\
\hline
\mbox{\tt in}  & {\em page} & The page, inside {\itshape file}, where to get item contents from \\
\hline
\end{DoxyParams}
\begin{Desc}
\item[Examples\+: ]\par
\hyperlink{prefs_example_01_8c-example}{prefs\+\_\+example\+\_\+01.\+c}, \hyperlink{prefs_example_02_8c-example}{prefs\+\_\+example\+\_\+02.\+c}, and \hyperlink{prefs_example_03_8c-example}{prefs\+\_\+example\+\_\+03.\+c}.\end{Desc}
\index{Prefs@{Prefs}!elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register@{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register}}
\index{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register@{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register}!Prefs@{Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info} $\ast$}]{array}
\end{DoxyParamCaption}
)}\label{group__Prefs_gae7fab97e239ccdb719d6eae0ee3fd5c0}


Mass-\/register widgets implementing prefs {\bfseries items} interfaces. 


\begin{DoxyParams}{Parameters}
{\em array} & An array of \#\+Elm\+\_\+\+Prefs\+\_\+\+Iface\+\_\+\+Info structs, {\ttfamily N\+U\+L\+L} terminated.\\
\hline
\end{DoxyParams}
This will register all item interfaces declared on {\itshape array} in Elementary, so that the prefs widget will recognize them on {\ttfamily }.epc files {\ttfamily \textquotesingle{}widget\+:\textquotesingle{}} (item) declarations.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Prefs_ga7dbd06fad8e44bc6143b5a637ab4f899}{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+::abi\+\_\+version, \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info\+::info, \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+::types, and \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info\+::widget\+\_\+name.

\index{Prefs@{Prefs}!elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister@{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister}}
\index{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister@{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister}!Prefs@{Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+unregister (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info} $\ast$}]{array}
\end{DoxyParamCaption}
)}\label{group__Prefs_ga7dbd06fad8e44bc6143b5a637ab4f899}


Mass-\/unregister widgets implementing prefs {\bfseries items} interfaces. 


\begin{DoxyParams}{Parameters}
{\em array} & An array of \#\+Elm\+\_\+\+Prefs\+\_\+\+Iface\+\_\+\+Info structs, {\ttfamily N\+U\+L\+L} terminated.\\
\hline
\end{DoxyParams}
This will unregister all item interfaces declared on {\itshape array} in Elementary, given they had been previously registered.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Prefs_gae7fab97e239ccdb719d6eae0ee3fd5c0}{elm\+\_\+prefs\+\_\+item\+\_\+iface\+\_\+register()} for more details
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info\+::info, \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+::types, and \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Item\+\_\+\+Iface\+\_\+\+Info\+::widget\+\_\+name.

\index{Prefs@{Prefs}!elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register@{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register}}
\index{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register@{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register}!Prefs@{Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info} $\ast$}]{array}
\end{DoxyParamCaption}
)}\label{group__Prefs_gad2390b92c0d279545f78ff7224560949}


Mass-\/register widgets implementing prefs {\bfseries pages} interfaces. 


\begin{DoxyParams}{Parameters}
{\em array} & An array of \#\+Elm\+\_\+\+Prefs\+\_\+\+Iface\+\_\+\+Info structs, {\ttfamily N\+U\+L\+L} terminated.\\
\hline
\end{DoxyParams}
This will register all page interfaces declared on {\itshape array} in Elementary, so that the prefs widget will recognize them on {\ttfamily }.epc files {\ttfamily \textquotesingle{}widget\+:\textquotesingle{}} (page) declarations.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Prefs_ga3e005848ad4cbfc19e4fcc2c34ecbebe}{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister()}
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+::abi\+\_\+version, \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info\+::info, and \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info\+::widget\+\_\+name.

\index{Prefs@{Prefs}!elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister@{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister}}
\index{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister@{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister}!Prefs@{Prefs}}
\subsubsection[{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+unregister (
\begin{DoxyParamCaption}
\item[{const {\bf Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info} $\ast$}]{array}
\end{DoxyParamCaption}
)}\label{group__Prefs_ga3e005848ad4cbfc19e4fcc2c34ecbebe}


Mass-\/unregister widgets implementing prefs {\bfseries pages} interfaces. 


\begin{DoxyParams}{Parameters}
{\em array} & An array of \#\+Elm\+\_\+\+Prefs\+\_\+\+Iface\+\_\+\+Info structs, {\ttfamily N\+U\+L\+L} terminated.\\
\hline
\end{DoxyParams}
This will unregister all page interfaces declared on {\itshape array} in Elementary, given they had been previously registered.

\begin{DoxySeeAlso}{See also}
\hyperlink{group__Prefs_gad2390b92c0d279545f78ff7224560949}{elm\+\_\+prefs\+\_\+page\+\_\+iface\+\_\+register()} for more details
\end{DoxySeeAlso}
\begin{DoxySince}{Since}
1.\+8 
\end{DoxySince}


References \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info\+::info, and \+\_\+\+Elm\+\_\+\+Prefs\+\_\+\+Page\+\_\+\+Iface\+\_\+\+Info\+::widget\+\_\+name.

