This code places an Elementary segment control widgets on a window, to exemplify part of the widget\textquotesingle{}s A\+P\+I.

Let\textquotesingle{}s start adding a segment control to our window\+:  
\begin{DoxyCodeInclude}
   sc = elm_segment_control_add(win);
   evas\_object\_size\_hint\_weight\_set(sc, EVAS\_HINT\_EXPAND, EVAS\_HINT\_EXPAND);
   elm_win_resize_object_add(win, sc);
   evas\_object\_show(sc);

\end{DoxyCodeInclude}


Now will add an item only with label\+: 
\begin{DoxyCodeInclude}
   elm_segment_control_item_add(sc, NULL, \textcolor{stringliteral}{"only text"});

\end{DoxyCodeInclude}


Really simple. To add an item with only an icon, the icon needs to be created first, them added with this same function\+: 
\begin{DoxyCodeInclude}
   ic = elm_icon_add(win);
   elm_icon_standard_set(ic, \textcolor{stringliteral}{"close"});
   elm_segment_control_item_add(sc, ic, NULL);

\end{DoxyCodeInclude}


If an item with label and icon is required, it can be done as well. In this case, instead of a label (or icon) centered, the item will display an icon at left and the label at right\+: 
\begin{DoxyCodeInclude}
   ic = elm_icon_add(win);
   elm_icon_standard_set(ic, \textcolor{stringliteral}{"home"});
   elm_segment_control_item_add(sc, ic, \textcolor{stringliteral}{"Home"});

\end{DoxyCodeInclude}


But, if you need to add some items that can have or not a label, but want that all of them looks the same way, with icon at left, just add an empty string label. It\textquotesingle{}s done on our example to illustrate that\+: 
\begin{DoxyCodeInclude}
   ic = elm_icon_add(win);
   elm_icon_standard_set(ic, \textcolor{stringliteral}{"close"});
   elm_segment_control_item_add(sc, ic, \textcolor{stringliteral}{""});

\end{DoxyCodeInclude}


So far, all the item were added to the last position of the widget, but if something different is required, it can be done using another insertion function. Let\textquotesingle{}s suppose we want to put an item just before the last item\+: 
\begin{DoxyCodeInclude}
   count = elm_segment_control_item_count_get(sc);
   elm_segment_control_item_insert_at(sc, NULL, \textcolor{stringliteral}{"Inserted at"}, count - 1);

\end{DoxyCodeInclude}


There are two ways to delete items. Using the item handle, like\+: 
\begin{DoxyCodeInclude}
   seg\_it = elm_segment_control_item_insert_at(sc, NULL, \textcolor{stringliteral}{"To be deleted"}, 2);
   elm\_object\_item\_del(seg\_it);

\end{DoxyCodeInclude}


Or using item\textquotesingle{}s index\+: 
\begin{DoxyCodeInclude}
   elm_segment_control_item_insert_at(sc, NULL, \textcolor{stringliteral}{"To be deleted"}, 2);
   elm_segment_control_item_del_at(sc, 2);

\end{DoxyCodeInclude}


To set properties of an item already added to the widget, you just need to get the item and set icon or label, as the following code shows\+: 
\begin{DoxyCodeInclude}
   seg\_it = elm_segment_control_item_get(sc, 0);

\end{DoxyCodeInclude}


Finally, it\textquotesingle{}s possible to select an item from the code, and also get the selected item. We will select the item at the center of the widget and print its position. 
\begin{DoxyCodeInclude}

\end{DoxyCodeInclude}


See the full \hyperlink{segment_control_example_8c-example}{example}, whose window should look like this picture\+:

 
\begin{DoxyImageNoCaption}
  \mbox{\includegraphics[width=\textwidth]{screenshots/segment_control_example}}
\end{DoxyImageNoCaption}
 