\section{Calendar}
\label{group__Calendar}\index{Calendar@{Calendar}}
\subsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \+\_\+\+Elm\+\_\+\+Calendar\+\_\+\+Mark \hyperlink{group__Calendar_ga68bc9b2ac669f3f7964e1ca5faff78e4}{Elm\+\_\+\+Calendar\+\_\+\+Mark}
\begin{DoxyCompactList}\small\item\em Item handle for a calendar mark. \end{DoxyCompactList}\item 
typedef char $\ast$($\ast$ \hyperlink{group__Calendar_ga8153ac8c3f98affb0e51123296543aa8}{Elm\+\_\+\+Calendar\+\_\+\+Format\+\_\+\+Cb}) (struct tm $\ast$stime)
\begin{DoxyCompactList}\small\item\em This callback type is used to format the string that will be used to display month and year. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group__Calendar_gaacf325f949268d816c3b2a601969ecda}{elm\+\_\+calendar\+\_\+mark\+\_\+del} (\hyperlink{group__Calendar_ga68bc9b2ac669f3f7964e1ca5faff78e4}{Elm\+\_\+\+Calendar\+\_\+\+Mark} $\ast$mark)
\begin{DoxyCompactList}\small\item\em Delete mark from the calendar. \end{DoxyCompactList}\item 
Evas\+\_\+\+Object $\ast$ \hyperlink{group__Calendar_gae893c6a3465db10d322ff937be4b0854}{elm\+\_\+calendar\+\_\+add} (Evas\+\_\+\+Object $\ast$parent)
\begin{DoxyCompactList}\small\item\em Add a new calendar widget to the given parent Elementary (container) object. \end{DoxyCompactList}\end{DoxyCompactItemize}


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


This is a calendar widget. It helps applications to flexibly display a calendar with day of the week, date, year and month. Applications are able to set specific dates to be reported back, when selected, in the smart callbacks of the calendar widget. The A\+P\+I of this widget lets the applications perform other functions, like\+:


\begin{DoxyItemize}
\item placing marks on specific dates
\item setting the bounds for the calendar (minimum and maximum years)
\item setting the day names of the week (e.\+g. \char`\"{}\+Thu\char`\"{} or \char`\"{}\+Thursday\char`\"{})
\item setting the year and month format.
\end{DoxyItemize}

This widget inherits from the \hyperlink{group__Layout}{Layout} one, so that all the functions acting on it also work for calendar objects.

This widget emits the following signals, besides the ones sent from Layout\+:
\begin{DoxyItemize}
\item {\ttfamily \char`\"{}changed\char`\"{}} -\/ emitted when the date in the calendar is changed.
\item {\ttfamily \char`\"{}display,changed\char`\"{}} -\/ emitted when the current month displayed in the calendar is changed.
\item {\ttfamily \char`\"{}focused\char`\"{}} -\/ When the calendar has received focus. (since 1.\+8)
\item {\ttfamily \char`\"{}unfocused\char`\"{}} -\/ When the calendar has lost focus. (since 1.\+8)
\item {\ttfamily \char`\"{}language,changed\char`\"{}} -\/ the program\textquotesingle{}s language changed (since 1.\+9)
\end{DoxyItemize}

Supported elm\+\_\+object common A\+P\+Is. \begin{DoxyItemize}
\item \hyperlink{group__General_ga1beada7edf5d714c0dba5459bcc993fc}{elm\+\_\+object\+\_\+signal\+\_\+emit} \item \hyperlink{group__General_ga6f9574b798efcd454afdac6f2904f633}{elm\+\_\+object\+\_\+signal\+\_\+callback\+\_\+add} \item \hyperlink{group__General_ga3c76b5447be522d647e352cb7ff7c9e6}{elm\+\_\+object\+\_\+signal\+\_\+callback\+\_\+del}\end{DoxyItemize}
Here is some sample code using it\+: \begin{DoxyItemize}
\item \hyperlink{calendar_example_01}{Calendar -\/ Simple creation.} \item \hyperlink{calendar_example_02}{Calendar -\/ Layout strings formatting.} \item \hyperlink{calendar_example_03}{Calendar -\/ Years restrictions.} \item \hyperlink{calendar_example_04}{Calendar -\/ Days selection.} \item \hyperlink{calendar_example_05}{Calendar -\/ Signal callback and getters.} \item \hyperlink{calendar_example_06}{Calendar -\/ Calendar marks.} \end{DoxyItemize}


\subsection{Typedef Documentation}
\index{Calendar@{Calendar}!Elm\+\_\+\+Calendar\+\_\+\+Format\+\_\+\+Cb@{Elm\+\_\+\+Calendar\+\_\+\+Format\+\_\+\+Cb}}
\index{Elm\+\_\+\+Calendar\+\_\+\+Format\+\_\+\+Cb@{Elm\+\_\+\+Calendar\+\_\+\+Format\+\_\+\+Cb}!Calendar@{Calendar}}
\subsubsection[{Elm\+\_\+\+Calendar\+\_\+\+Format\+\_\+\+Cb}]{\setlength{\rightskip}{0pt plus 5cm}typedef char$\ast$($\ast$ Elm\+\_\+\+Calendar\+\_\+\+Format\+\_\+\+Cb) (struct tm $\ast$stime)}\label{group__Calendar_ga8153ac8c3f98affb0e51123296543aa8}


This callback type is used to format the string that will be used to display month and year. 


\begin{DoxyParams}{Parameters}
{\em stime} & Struct representing time. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
String representing time that will be set to calendar\textquotesingle{}s text.
\end{DoxyReturn}
\begin{DoxySeeAlso}{See also}
elm\+\_\+calendar\+\_\+format\+\_\+function\+\_\+set() 
\end{DoxySeeAlso}
\index{Calendar@{Calendar}!Elm\+\_\+\+Calendar\+\_\+\+Mark@{Elm\+\_\+\+Calendar\+\_\+\+Mark}}
\index{Elm\+\_\+\+Calendar\+\_\+\+Mark@{Elm\+\_\+\+Calendar\+\_\+\+Mark}!Calendar@{Calendar}}
\subsubsection[{Elm\+\_\+\+Calendar\+\_\+\+Mark}]{\setlength{\rightskip}{0pt plus 5cm}typedef struct \+\_\+\+Elm\+\_\+\+Calendar\+\_\+\+Mark {\bf Elm\+\_\+\+Calendar\+\_\+\+Mark}}\label{group__Calendar_ga68bc9b2ac669f3f7964e1ca5faff78e4}


Item handle for a calendar mark. 

Created with elm\+\_\+calendar\+\_\+mark\+\_\+add() and deleted with \hyperlink{group__Calendar_gaacf325f949268d816c3b2a601969ecda}{elm\+\_\+calendar\+\_\+mark\+\_\+del()}. 

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


Add a new calendar widget to the given parent Elementary (container) object. 


\begin{DoxyParams}{Parameters}
{\em parent} & The parent object. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
a new calendar widget handle or {\ttfamily N\+U\+L\+L}, on errors.
\end{DoxyReturn}
This function inserts a new calendar widget on the canvas.

\hyperlink{calendar_example_01}{Calendar -\/ Simple creation.} \index{Calendar@{Calendar}!elm\+\_\+calendar\+\_\+mark\+\_\+del@{elm\+\_\+calendar\+\_\+mark\+\_\+del}}
\index{elm\+\_\+calendar\+\_\+mark\+\_\+del@{elm\+\_\+calendar\+\_\+mark\+\_\+del}!Calendar@{Calendar}}
\subsubsection[{elm\+\_\+calendar\+\_\+mark\+\_\+del(\+Elm\+\_\+\+Calendar\+\_\+\+Mark $\ast$mark)}]{\setlength{\rightskip}{0pt plus 5cm}void elm\+\_\+calendar\+\_\+mark\+\_\+del (
\begin{DoxyParamCaption}
\item[{{\bf Elm\+\_\+\+Calendar\+\_\+\+Mark} $\ast$}]{mark}
\end{DoxyParamCaption}
)}\label{group__Calendar_gaacf325f949268d816c3b2a601969ecda}


Delete mark from the calendar. 


\begin{DoxyParams}{Parameters}
{\em mark} & The mark to be deleted.\\
\hline
\end{DoxyParams}
If deleting all calendar marks is required, elm\+\_\+calendar\+\_\+marks\+\_\+clear() should be used instead of getting marks list and deleting each one.

\begin{DoxySeeAlso}{See also}
elm\+\_\+calendar\+\_\+mark\+\_\+add()
\end{DoxySeeAlso}
\hyperlink{calendar_example_06}{Calendar -\/ Calendar marks.} 