unleashed-firmware/applications/external/unitemp/views/SensorNameEdit_view.c
2023-03-15 01:25:18 +03:00

47 lines
No EOL
1.8 KiB
C

/*
Unitemp - Universal temperature reader
Copyright (C) 2022-2023 Victor Nikitchuk (https://github.com/quen0n)
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "UnitempViews.h"
#include <gui/modules/text_input.h>
//Окно ввода текста
static TextInput* text_input;
//Текущий редактируемый датчик
static Sensor* editable_sensor;
#define VIEW_ID UnitempViewSensorNameEdit
static void _sensor_name_changed_callback(void* context) {
UNUSED(context);
unitemp_SensorEdit_switch(editable_sensor);
}
void unitemp_SensorNameEdit_alloc(void) {
text_input = text_input_alloc();
view_dispatcher_add_view(app->view_dispatcher, VIEW_ID, text_input_get_view(text_input));
text_input_set_header_text(text_input, "Sensor name");
}
void unitemp_SensorNameEdit_switch(Sensor* sensor) {
editable_sensor = sensor;
text_input_set_result_callback(
text_input, _sensor_name_changed_callback, app, sensor->name, 11, true);
view_dispatcher_switch_to_view(app->view_dispatcher, VIEW_ID);
}
void unitemp_SensorNameEdit_free(void) {
view_dispatcher_remove_view(app->view_dispatcher, VIEW_ID);
text_input_free(text_input);
}