Scale numeric input to 75% screen

This commit is contained in:
suchmememanyskill
2024-10-30 01:26:11 +01:00
parent 49a1bd6e57
commit f21b480611
5 changed files with 21 additions and 8 deletions

View File

@@ -108,7 +108,7 @@ void global_config_add_new_printer()
void global_config_set_printer(int idx) void global_config_set_printer(int idx)
{ {
if (idx < 0 || idx >= PRINTER_CONFIG_COUNT) if (idx < 0 || idx >= PRINTER_CONFIG_COUNT || global_config.printer_index == idx)
return; return;
global_config.printer_index = idx; global_config.printer_index = idx;

View File

@@ -104,11 +104,16 @@ void data_setup()
{ {
BasePrinter** available_printers = (BasePrinter**)malloc(sizeof(BasePrinter*) * PRINTER_CONFIG_COUNT); BasePrinter** available_printers = (BasePrinter**)malloc(sizeof(BasePrinter*) * PRINTER_CONFIG_COUNT);
int count = 0; int count = 0;
int true_current_printer_index = 0;
for (int i = 0; i < PRINTER_CONFIG_COUNT; i++) for (int i = 0; i < PRINTER_CONFIG_COUNT; i++)
{ {
if (global_config.printer_config[i].setup_complete) if (global_config.printer_config[i].setup_complete)
{ {
if (global_config.printer_index == i)
{
true_current_printer_index = count;;
}
switch (global_config.printer_config[i].printer_type) switch (global_config.printer_config[i].printer_type)
{ {
case PrinterType::PrinterTypeKlipper: case PrinterType::PrinterTypeKlipper:
@@ -122,6 +127,7 @@ void data_setup()
} }
initialize_printers(available_printers, count); initialize_printers(available_printers, count);
set_current_printer(true_current_printer_index);
semaphore_init(); semaphore_init();
fetch_printer_data(); fetch_printer_data();
freeze_render_thread(); freeze_render_thread();

View File

@@ -97,7 +97,7 @@ static void edit_move_increment(int column, float* idx)
} }
selected_column = column; selected_column = column;
lv_create_keyboard_text_entry(keyboard_cb_edit_move_increment, "Set increment", LV_KEYBOARD_MODE_NUMBER, CYD_SCREEN_PANEL_WIDTH_PX / 2, 6); lv_create_keyboard_text_entry(keyboard_cb_edit_move_increment, "Set increment", LV_KEYBOARD_MODE_NUMBER, LV_PCT(75), 6);
} }
static void x_line_button_press(lv_event_t * e) { static void x_line_button_press(lv_event_t * e) {
@@ -214,15 +214,15 @@ static void z_line_custom_callback(lv_event_t * e) {
} }
static void x_line_custom(lv_event_t * e) { static void x_line_custom(lv_event_t * e) {
lv_create_keyboard_text_entry(x_line_custom_callback, "Set X position", LV_KEYBOARD_MODE_NUMBER, CYD_SCREEN_PANEL_WIDTH_PX / 2, 6); lv_create_keyboard_text_entry(x_line_custom_callback, "Set X position", LV_KEYBOARD_MODE_NUMBER, LV_PCT(75), 6);
} }
static void y_line_custom(lv_event_t * e) { static void y_line_custom(lv_event_t * e) {
lv_create_keyboard_text_entry(y_line_custom_callback, "Set Y position", LV_KEYBOARD_MODE_NUMBER, CYD_SCREEN_PANEL_WIDTH_PX / 2, 6); lv_create_keyboard_text_entry(y_line_custom_callback, "Set Y position", LV_KEYBOARD_MODE_NUMBER, LV_PCT(75), 6);
} }
static void z_line_custom(lv_event_t * e) { static void z_line_custom(lv_event_t * e) {
lv_create_keyboard_text_entry(z_line_custom_callback, "Set Z position", LV_KEYBOARD_MODE_NUMBER, CYD_SCREEN_PANEL_WIDTH_PX / 2, 6); lv_create_keyboard_text_entry(z_line_custom_callback, "Set Z position", LV_KEYBOARD_MODE_NUMBER, LV_PCT(75), 6);
} }
lv_event_cb_t custom_callbacks[] = {x_line_custom, y_line_custom, z_line_custom}; lv_event_cb_t custom_callbacks[] = {x_line_custom, y_line_custom, z_line_custom};

View File

@@ -118,6 +118,7 @@ void lv_create_keyboard_text_entry(lv_event_cb_t keyboard_callback, const char*
lv_obj_set_style_bg_opa(parent, LV_OPA_50, 0); lv_obj_set_style_bg_opa(parent, LV_OPA_50, 0);
lv_obj_align(parent, LV_ALIGN_TOP_RIGHT, 0, 0); lv_obj_align(parent, LV_ALIGN_TOP_RIGHT, 0, 0);
lv_layout_flex_column(parent, LV_FLEX_ALIGN_SPACE_BETWEEN); lv_layout_flex_column(parent, LV_FLEX_ALIGN_SPACE_BETWEEN);
lv_obj_clear_flag(parent, LV_OBJ_FLAG_SCROLLABLE);
if (contain_in_panel) if (contain_in_panel)
{ {
@@ -128,7 +129,7 @@ void lv_create_keyboard_text_entry(lv_event_cb_t keyboard_callback, const char*
lv_obj_set_size(parent, CYD_SCREEN_WIDTH_PX, CYD_SCREEN_HEIGHT_PX); lv_obj_set_size(parent, CYD_SCREEN_WIDTH_PX, CYD_SCREEN_HEIGHT_PX);
} }
if (title != nullptr) if (title != nullptr && keyboard_mode != LV_KEYBOARD_MODE_NUMBER)
{ {
lv_obj_t * empty_panel = lv_create_empty_panel(parent); lv_obj_t * empty_panel = lv_create_empty_panel(parent);
lv_obj_set_size(empty_panel, 0, 0); lv_obj_set_size(empty_panel, 0, 0);
@@ -147,6 +148,12 @@ void lv_create_keyboard_text_entry(lv_event_cb_t keyboard_callback, const char*
lv_obj_t * ta = lv_textarea_create(parent); lv_obj_t * ta = lv_textarea_create(parent);
lv_obj_t * keyboard = lv_keyboard_create(parent); lv_obj_t * keyboard = lv_keyboard_create(parent);
if (keyboard_mode == LV_KEYBOARD_MODE_NUMBER)
{
lv_textarea_set_placeholder_text(ta, title);
lv_obj_set_height(keyboard, LV_PCT(75));
}
lv_obj_set_width(ta, width); lv_obj_set_width(ta, width);
lv_textarea_set_max_length(ta, max_length); lv_textarea_set_max_length(ta, max_length);
lv_textarea_set_one_line(ta, true); lv_textarea_set_one_line(ta, true);

View File

@@ -39,7 +39,7 @@ void lv_layout_flex_row(lv_obj_t* obj, lv_flex_align_t allign = LV_FLEX_ALIGN_ST
void lv_create_fullscreen_button_matrix_popup(lv_obj_t * root, lv_event_cb_t title, lv_button_column_t* columns, int column_count); void lv_create_fullscreen_button_matrix_popup(lv_obj_t * root, lv_event_cb_t title, lv_button_column_t* columns, int column_count);
void destroy_event_user_data(lv_event_t * e); void destroy_event_user_data(lv_event_t * e);
void lv_obj_on_destroy_free_data(lv_obj_t * element, const void* ptr); void lv_obj_on_destroy_free_data(lv_obj_t * element, const void* ptr);
void lv_create_keyboard_text_entry(lv_event_cb_t keyboard_callback, const char* title = NULL, lv_keyboard_mode_t keyboard_mode = LV_KEYBOARD_MODE_NUMBER, lv_coord_t width = CYD_SCREEN_PANEL_WIDTH_PX / 2, uint8_t max_length = 3, const char* fill_text = "", bool contain_in_panel= true); void lv_create_keyboard_text_entry(lv_event_cb_t keyboard_callback, const char* title = NULL, lv_keyboard_mode_t keyboard_mode = LV_KEYBOARD_MODE_NUMBER, lv_coord_t width = LV_PCT(75), uint8_t max_length = 3, const char* fill_text = "", bool contain_in_panel= true);
void lv_create_custom_menu_entry(const char* label_text, lv_obj_t* object, lv_obj_t* root_panel, bool set_height = true, const char * comment = NULL); void lv_create_custom_menu_entry(const char* label_text, lv_obj_t* object, lv_obj_t* root_panel, bool set_height = true, const char * comment = NULL);
void lv_create_custom_menu_button(const char *label_text, lv_obj_t* root_panel, lv_event_cb_t on_click, const char *btn_text, void * user_data = NULL, const char * comment = NULL); void lv_create_custom_menu_button(const char *label_text, lv_obj_t* root_panel, lv_event_cb_t on_click, const char *btn_text, void * user_data = NULL, const char * comment = NULL);
void lv_create_custom_menu_switch(const char *label_text, lv_obj_t* root_panel, lv_event_cb_t on_toggle, bool state, void * user_data = NULL, const char * comment = NULL); void lv_create_custom_menu_switch(const char *label_text, lv_obj_t* root_panel, lv_event_cb_t on_toggle, bool state, void * user_data = NULL, const char * comment = NULL);