noMoreFragment
This commit is contained in:
parent
ea11fa4eef
commit
a0d0533181
194
main/ihm.c
194
main/ihm.c
@ -312,35 +312,9 @@ void showMeteoIcon(const char *icon, lv_obj_t *desc_icon, int childNr)
|
||||
lv_image_set_src(img, result);
|
||||
free(result);
|
||||
}
|
||||
/* ------------------------------------------------------------ */
|
||||
/* Fragment meteo journaliere (date,icone, min et max) */
|
||||
/* ------------------------------------------------------------ */
|
||||
|
||||
// Structure meteo journaliere
|
||||
struct weatherDay_fragment_t
|
||||
{
|
||||
/* IMPORTANT: don't miss this part */
|
||||
lv_fragment_t base;
|
||||
/* States, object references and data fields for this fragment */
|
||||
int dayNr;
|
||||
bool showTitle;
|
||||
const char *title;
|
||||
float minTemp;
|
||||
float maxTemp;
|
||||
};
|
||||
|
||||
// Constructeur meteo journaliere
|
||||
static void weatherDay_fragment_ctor(lv_fragment_t *self, void *args)
|
||||
{
|
||||
int dayNo = ((int *)args)[0];
|
||||
bool showDate = ((int *)args)[1];
|
||||
((struct weatherDay_fragment_t *)self)->dayNr = dayNo;
|
||||
((struct weatherDay_fragment_t *)self)->showTitle = showDate;
|
||||
ESP_LOGI(TAG, "Fragment initialisé avec le jour n°%d - Afficher la date %d", dayNo, showDate);
|
||||
}
|
||||
|
||||
// Ce fragment affiche une prévision journaliere (date,icone, min et max)
|
||||
static lv_obj_t *weatherDay_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent)
|
||||
static lv_obj_t* weatherDay_fragment_create_obj(int dayNr, lv_obj_t *parent)
|
||||
{
|
||||
|
||||
lv_obj_t *sup = lv_obj_create(parent);
|
||||
@ -401,49 +375,13 @@ static lv_obj_t *weatherDay_fragment_create_obj(lv_fragment_t *self, lv_obj_t *p
|
||||
lv_obj_set_style_text_color(min, lv_color_hex(0x3000FF), 0);
|
||||
|
||||
// On positionne un observer sur le subjet correspondant au jour du widget
|
||||
lv_subject_add_observer_obj(tmpSubj[((struct weatherDay_fragment_t *)self)->dayNr], weatherdata_obs_cb, sup, NULL);
|
||||
lv_subject_add_observer_obj(tmpSubj[dayNr], weatherdata_obs_cb, sup, NULL);
|
||||
return container;
|
||||
}
|
||||
|
||||
// Fragment meteo journaliere
|
||||
const lv_fragment_class_t meteoFragment = {
|
||||
/* Initialize something needed */
|
||||
.constructor_cb = weatherDay_fragment_ctor,
|
||||
/* Create view objects */
|
||||
.create_obj_cb = weatherDay_fragment_create_obj,
|
||||
/* IMPORTANT: size of your fragment struct */
|
||||
.instance_size = sizeof(struct weatherDay_fragment_t),
|
||||
};
|
||||
|
||||
/* ------------------------------------------------------------ */
|
||||
/* Fragment meteo horaire ("heure",icone, temp) */
|
||||
/* ------------------------------------------------------------ */
|
||||
|
||||
// Structure meteo horaire
|
||||
struct weatherH_fragment_t
|
||||
{
|
||||
/* IMPORTANT: don't miss this part */
|
||||
lv_fragment_t base;
|
||||
/* States, object references and data fields for this fragment */
|
||||
int horaireNr;
|
||||
bool showTitle;
|
||||
const char *horaire;
|
||||
float temp;
|
||||
};
|
||||
|
||||
// Constructeur meteo horaire
|
||||
static void weatherH_fragment_ctor(lv_fragment_t *self, void *args)
|
||||
{
|
||||
// Represente le n° (index dans le tableau) a afficher
|
||||
int horaireNr = ((int *)args)[0];
|
||||
bool showDate = ((int *)args)[1];
|
||||
((struct weatherH_fragment_t *)self)->horaireNr = horaireNr;
|
||||
((struct weatherH_fragment_t *)self)->showTitle = showDate;
|
||||
ESP_LOGI(TAG, "Fragment initialisé avec l'horaire %d", horaireNr);
|
||||
}
|
||||
|
||||
// Ce fragment affiche une prévision horaire (date,icone, temp moyenne)
|
||||
static lv_obj_t *weatherH_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent)
|
||||
static lv_obj_t* weatherH_fragment_create_obj(int horaireNr, lv_obj_t *parent)
|
||||
{
|
||||
|
||||
lv_obj_t *sup = lv_obj_create(parent);
|
||||
@ -489,119 +427,12 @@ static lv_obj_t *weatherH_fragment_create_obj(lv_fragment_t *self, lv_obj_t *par
|
||||
lv_obj_set_style_text_font(desc, lv_theme_get_font_normal(desc), 0);
|
||||
|
||||
// On positionne un observer sur le subjet correspondant a l'horaire du widget
|
||||
ESP_LOGE(TAG, "on positionne obs sur horaire %d", ((struct weatherH_fragment_t *)self)->horaireNr);
|
||||
lv_subject_add_observer_obj(tmpHSubj[((struct weatherH_fragment_t *)self)->horaireNr], weatherdataH_obs_cb, sup, NULL);
|
||||
ESP_LOGE(TAG, "on positionne obs sur horaire %d", horaireNr);
|
||||
lv_subject_add_observer_obj(tmpHSubj[horaireNr], weatherdataH_obs_cb, sup, NULL);
|
||||
return container;
|
||||
}
|
||||
|
||||
// Fragment meteo horaire
|
||||
const lv_fragment_class_t meteoHFragment = {
|
||||
/* Initialize something needed */
|
||||
.constructor_cb = weatherH_fragment_ctor,
|
||||
/* Create view objects */
|
||||
.create_obj_cb = weatherH_fragment_create_obj,
|
||||
/* IMPORTANT: size of your fragment struct */
|
||||
.instance_size = sizeof(struct weatherH_fragment_t),
|
||||
};
|
||||
|
||||
/* -------------------------------------------------------------- */
|
||||
/* Fragment 3 meteo "jour" (aujourd'hui, demain, apres demain) */
|
||||
/* -------------------------------------------------------------- */
|
||||
struct meteodailyforecast_fragment_t
|
||||
{
|
||||
/* IMPORTANT: don't miss this part */
|
||||
lv_fragment_t base;
|
||||
/* States, object references and data fields for this fragment */
|
||||
const char *title;
|
||||
bool showDate;
|
||||
};
|
||||
|
||||
static void meteodailyforecast_fragment_ctor(lv_fragment_t *self, void *args)
|
||||
{
|
||||
struct meteodailyforecast_fragment_t *myself = ((struct meteodailyforecast_fragment_t *)self);
|
||||
myself->showDate = args;
|
||||
}
|
||||
|
||||
static lv_obj_t *meteodailyforecast_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent)
|
||||
{
|
||||
|
||||
lv_fragment_manager_t *manager = lv_fragment_manager_create(NULL);
|
||||
|
||||
int args[2] = {0, ((struct meteodailyforecast_fragment_t *)self)->showDate};
|
||||
lv_fragment_t *fragment = lv_fragment_create(&meteoFragment, args);
|
||||
lv_fragment_manager_add(manager, fragment, &parent);
|
||||
|
||||
args[0] = 1;
|
||||
fragment = lv_fragment_create(&meteoFragment, args);
|
||||
lv_fragment_manager_add(manager, fragment, &parent);
|
||||
|
||||
args[0] = 2;
|
||||
fragment = lv_fragment_create(&meteoFragment, args);
|
||||
lv_fragment_manager_add(manager, fragment, &parent);
|
||||
|
||||
return parent;
|
||||
}
|
||||
|
||||
const lv_fragment_class_t meteodailyforecast_cls = {
|
||||
/* Initialize something needed */
|
||||
.constructor_cb = meteodailyforecast_fragment_ctor,
|
||||
/* Create view objects */
|
||||
.create_obj_cb = meteodailyforecast_fragment_create_obj,
|
||||
/* IMPORTANT: size of your fragment struct */
|
||||
.instance_size = sizeof(struct meteodailyforecast_fragment_t),
|
||||
};
|
||||
/* -------------------------------------------------------------------------------- */
|
||||
/* Fragment 3 meteo "horaire" - matin/midi/soir (icone, temp moyenne) */
|
||||
/* -------------------------------------------------------------------------------- */
|
||||
|
||||
struct meteoforecast_fragment_t
|
||||
{
|
||||
/* IMPORTANT: don't miss this part */
|
||||
lv_fragment_t base;
|
||||
/* States, object references and data fields for this fragment */
|
||||
const char *title;
|
||||
bool showDate;
|
||||
};
|
||||
|
||||
static void meteoforecast_fragment_ctor(lv_fragment_t *self, void *args)
|
||||
{
|
||||
struct meteoforecast_fragment_t *myself = ((struct meteoforecast_fragment_t *)self);
|
||||
myself->showDate = args;
|
||||
}
|
||||
|
||||
static lv_obj_t *meteoforecast_fragment_create_obj(lv_fragment_t *self, lv_obj_t *parent)
|
||||
{
|
||||
|
||||
lv_fragment_manager_t *manager = lv_fragment_manager_create(NULL);
|
||||
|
||||
// On affiche 3 fragment meteo. 1 pour chaque "horaire"
|
||||
int args[2] = {0, ((struct meteoforecast_fragment_t *)self)->showDate};
|
||||
lv_fragment_t *fragment = lv_fragment_create(&meteoHFragment, args);
|
||||
lv_fragment_manager_add(manager, fragment, &parent);
|
||||
|
||||
args[0] = 1;
|
||||
fragment = lv_fragment_create(&meteoHFragment, args);
|
||||
lv_fragment_manager_add(manager, fragment, &parent);
|
||||
|
||||
args[0] = 2;
|
||||
fragment = lv_fragment_create(&meteoHFragment, args);
|
||||
lv_fragment_manager_add(manager, fragment, &parent);
|
||||
|
||||
return parent;
|
||||
}
|
||||
|
||||
const lv_fragment_class_t meteoforecast_cls = {
|
||||
/* Initialize something needed */
|
||||
.constructor_cb = meteoforecast_fragment_ctor,
|
||||
/* Create view objects */
|
||||
.create_obj_cb = meteoforecast_fragment_create_obj,
|
||||
/* IMPORTANT: size of your fragment struct */
|
||||
.instance_size = sizeof(struct meteoforecast_fragment_t),
|
||||
};
|
||||
|
||||
uint32_t oldTab;
|
||||
lv_fragment_manager_t *manager2;
|
||||
lv_fragment_t *fragment2;
|
||||
|
||||
/*void tabChgEvt(lv_event_t *event)
|
||||
{
|
||||
@ -826,9 +657,9 @@ void draw_tabHome(lv_obj_t* parent){
|
||||
lv_label_set_text(label, LV_SYMBOL_DOWN);
|
||||
lv_obj_center(label);
|
||||
|
||||
lv_fragment_manager_t *manager = lv_fragment_manager_create(NULL);
|
||||
lv_fragment_t *fragment = lv_fragment_create(&meteoforecast_cls, 0);
|
||||
lv_fragment_manager_add(manager, fragment, &cont_col3);
|
||||
weatherH_fragment_create_obj(0,cont_col3);
|
||||
weatherH_fragment_create_obj(1,cont_col3);
|
||||
weatherH_fragment_create_obj(2,cont_col3);
|
||||
}
|
||||
|
||||
void draw_tabCuve(lv_obj_t* parent)
|
||||
@ -839,9 +670,12 @@ void draw_tabCuve(lv_obj_t* parent)
|
||||
|
||||
void draw_tabMeteo(lv_obj_t * parent)
|
||||
{
|
||||
manager2 = lv_fragment_manager_create(NULL);
|
||||
fragment2 = lv_fragment_create(&meteodailyforecast_cls, (void *)1);
|
||||
lv_fragment_manager_add(manager2, fragment2, &parent);
|
||||
weatherDay_fragment_create_obj(0,parent);
|
||||
weatherDay_fragment_create_obj(1,parent);
|
||||
weatherDay_fragment_create_obj(2,parent);
|
||||
//manager2 = lv_fragment_manager_create(NULL);
|
||||
//fragment2 = lv_fragment_create(&meteodailyforecast_cls, (void *)1);
|
||||
//lv_fragment_manager_add(manager2, fragment2, &parent);
|
||||
}
|
||||
|
||||
void draw_tabVolets(lv_obj_t* parent)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user