void IOWODaliRVBHomeView::updateView()
{
    if (!io || !item)
        return;

    elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
    elm_genlist_item_fields_update(item, "text.value.red", ELM_GENLIST_ITEM_FIELD_TEXT);
    elm_genlist_item_fields_update(item, "text.value.green", ELM_GENLIST_ITEM_FIELD_TEXT);
    elm_genlist_item_fields_update(item, "text.value.blue", ELM_GENLIST_ITEM_FIELD_TEXT);
    elm_genlist_item_fields_update(item, "color.preview", ELM_GENLIST_ITEM_FIELD_CONTENT);

    ColorValue c(io->params["state"]);

    if (slider_red)
        slider_red->setDragValue("slider", c.getRed() / 255.0, 0.0);
    if (slider_green)
        slider_green->setDragValue("slider", c.getGreen() / 255.0, 0.0);
    if (slider_blue)
        slider_blue->setDragValue("slider", c.getBlue() / 255.0, 0.0);

    if (c.getRed() > 0 || c.getGreen() > 0 || c.getBlue() > 0)
    {
        itemEmitSignal("text,active,yellow", "calaos");
        itemEmitSignal("on,anim", "calaos");
    }
    else
    {
        itemEmitSignal("text,inactive", "calaos");
        itemEmitSignal("off,anim", "calaos");
    }
}
void IOWOAnalogHomeView::updateView()
{
        if (!io || !item)
                return;

        elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
        elm_genlist_item_fields_update(item, "item.value", ELM_GENLIST_ITEM_FIELD_TEXT);
}
void GenlistItemScenarioSchedule::updateView()
{
    if (!io) return;

    if (scenario->ioScenario)
    {
        elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
        elm_genlist_item_fields_update(item, "time", ELM_GENLIST_ITEM_FIELD_TEXT);
        elm_genlist_item_fields_update(item, "actions.text", ELM_GENLIST_ITEM_FIELD_TEXT);
    }
}
void IOInternalStringHomeView::updateView()
{
    if (!io || !item)
        return;

    elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
}
void GenlistItemArtist::artistItemGet_cb(Params &infos)
{
    cDebug() << "Got infos..." << infos.toString();
    item_infos = infos;

    elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
}
void GenlistItemBrowserPlaylist::playlistItemGet_cb(Params &infos)
{
        cout << "Got infos..." << infos.toString() << endl;
        item_infos = infos;

        elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
}
void IOGenlistScenarioHomeView::initView()
{
        if (!io || !item)
                return;

        elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);

        //Don't change button state if it's not a SimpleScenario
        if (io->params["ioBoolState"] == "")
        {
                itemEmitSignal("text,inactive", "calaos");
                itemEmitSignal("off,anim", "calaos");

                elm_image_file_set(elm_object_content_get(object_button), ApplicationMain::getTheme(), "calaos/icons/action_button/play");

                return;
        }

        if (io->params["state"] == "true")
        {
                itemEmitSignal("text,active,blue", "calaos");
                itemEmitSignal("on,normal", "calaos");
        }
        else
        {
                itemEmitSignal("text,inactive", "calaos");
                itemEmitSignal("off,normal", "calaos");
        }
}
void GenlistItemTrack::albumItemGet_cb(Params &infos)
{
        item_infos = infos;
        if (!item_infos.Exists("id") && item_infos.Exists("track_id"))
                item_infos.Add("id", item_infos["track_id"]);

        cout << "Got infos..." << item_infos.toString() << endl;

        elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
}
static void _gl_unhighlighted(void *data, Evas_Object *obj, void *event_info)
{
	Elm_Object_Item *item = (Elm_Object_Item *)event_info;
	if (item) {
		devpkr_gl_data_t *gdata = (devpkr_gl_data_t *)elm_object_item_data_get(item);
		if (gdata) {
			gdata->highlighted = FALSE;
			elm_genlist_item_fields_update(item, "elm.icon.1", ELM_GENLIST_ITEM_FIELD_CONTENT);
		}
	}
}
void GenlistItemAlbumHeader::albumItemCoverGet_cb(Params &res)
{
        DELETE_NULL(dltimer);
        if (res["filename"] == "")
                return;

        if (!ecore_file_exists(res["filename"].c_str()))
                return;

        cover_fname = res["filename"];
        cover_downloaded = true;

        elm_genlist_item_fields_update(item, "calaos.cover", ELM_GENLIST_ITEM_FIELD_CONTENT);
}
void IOWOVoletSmartHomeView::updateView()
{
    if (!io || !item)
        return;

    elm_genlist_item_fields_update(item, "text", ELM_GENLIST_ITEM_FIELD_TEXT);
    elm_genlist_item_fields_update(item, "shutter.state", ELM_GENLIST_ITEM_FIELD_TEXT);
    elm_genlist_item_fields_update(item, "shutter.action", ELM_GENLIST_ITEM_FIELD_TEXT);

    int percent = io->getPercentVoletSmart();

    if (percent >= 100)
    {
        itemEmitSignal("text,active,blue", "calaos");
        itemEmitSignal("on,normal", "calaos");
    }
    else
    {
        itemEmitSignal("text,inactive", "calaos");
        itemEmitSignal("off,normal", "calaos");
    }

    if (window_slider) window_slider->setDragValue("object.shutter", 0.0, (double)percent / 100.0);
}