Merge pull request #11075 from thinkyhead/bf2_value_editing
[2.0.x] Fix value editing (with callback)
This commit is contained in:
		
						commit
						a5c11bf578
					
				| @ -258,7 +258,7 @@ uint16_t max_display_update_time = 0; | |||||||
|     void menu_edit_callback_ ## _name(); \ |     void menu_edit_callback_ ## _name(); \ | ||||||
|     void _menu_action_setting_edit_ ## _name(const char * const pstr, _type* const ptr, const _type minValue, const _type maxValue); \ |     void _menu_action_setting_edit_ ## _name(const char * const pstr, _type* const ptr, const _type minValue, const _type maxValue); \ | ||||||
|     void menu_action_setting_edit_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue); \ |     void menu_action_setting_edit_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue); \ | ||||||
|     void menu_action_setting_edit_callback_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue, const screenFunc_t callback, const bool live=false); \ |     void menu_action_setting_edit_callback_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue, const screenFunc_t callback=NULL, const bool live=false); \ | ||||||
|     typedef void _name##_void |     typedef void _name##_void | ||||||
| 
 | 
 | ||||||
|   DECLARE_MENU_EDIT_TYPE(int16_t, int3); |   DECLARE_MENU_EDIT_TYPE(int16_t, int3); | ||||||
| @ -1407,7 +1407,7 @@ void lcd_quick_feedback(const bool clear_buttons) { | |||||||
|     // Leveling Fade Height
 |     // Leveling Fade Height
 | ||||||
|     //
 |     //
 | ||||||
|     #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(SLIM_LCD_MENUS) |     #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) && DISABLED(SLIM_LCD_MENUS) | ||||||
|       MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |       MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); | ||||||
|     #endif |     #endif | ||||||
| 
 | 
 | ||||||
|     //
 |     //
 | ||||||
| @ -2559,7 +2559,7 @@ void lcd_quick_feedback(const bool clear_buttons) { | |||||||
|       MENU_ITEM(submenu, MSG_UBL_TOOLS, _lcd_ubl_tools_menu); |       MENU_ITEM(submenu, MSG_UBL_TOOLS, _lcd_ubl_tools_menu); | ||||||
|       MENU_ITEM(gcode, MSG_UBL_INFO_UBL, PSTR("G29 W")); |       MENU_ITEM(gcode, MSG_UBL_INFO_UBL, PSTR("G29 W")); | ||||||
|       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) | ||||||
|         MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |         MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); | ||||||
|       #endif |       #endif | ||||||
|       END_MENU(); |       END_MENU(); | ||||||
|     } |     } | ||||||
| @ -2615,7 +2615,7 @@ void lcd_quick_feedback(const bool clear_buttons) { | |||||||
| 
 | 
 | ||||||
|       // Z Fade Height
 |       // Z Fade Height
 | ||||||
|       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) | ||||||
|         MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |         MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); | ||||||
|       #endif |       #endif | ||||||
| 
 | 
 | ||||||
|       //
 |       //
 | ||||||
| @ -2701,7 +2701,7 @@ void lcd_quick_feedback(const bool clear_buttons) { | |||||||
|         MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); |         MENU_ITEM_EDIT_CALLBACK(bool, MSG_BED_LEVELING, &new_level_state, _lcd_toggle_bed_leveling); | ||||||
|       } |       } | ||||||
|       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) |       #if ENABLED(ENABLE_LEVELING_FADE_HEIGHT) | ||||||
|         MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float62, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); |         MENU_MULTIPLIER_ITEM_EDIT_CALLBACK(float3, MSG_Z_FADE_HEIGHT, &new_z_fade_height, 0.0, 100.0, _lcd_set_z_fade_height); | ||||||
|       #endif |       #endif | ||||||
| 
 | 
 | ||||||
|     #endif |     #endif | ||||||
| @ -4816,13 +4816,12 @@ void lcd_quick_feedback(const bool clear_buttons) { | |||||||
|       if (lcd_clicked || (liveEdit && lcdDrawUpdate)) { \ |       if (lcd_clicked || (liveEdit && lcdDrawUpdate)) { \ | ||||||
|         _type value = ((_type)((int32_t)encoderPosition + minEditValue)) * (1.0 / _scale); \ |         _type value = ((_type)((int32_t)encoderPosition + minEditValue)) * (1.0 / _scale); \ | ||||||
|         if (editValue != NULL) *((_type*)editValue) = value; \ |         if (editValue != NULL) *((_type*)editValue) = value; \ | ||||||
|         if (liveEdit) (*callbackFunc)(); \ |         if (callbackFunc && (liveEdit || lcd_clicked)) (*callbackFunc)(); \ | ||||||
|         if (lcd_clicked) lcd_goto_previous_menu(); \ |         if (lcd_clicked) lcd_goto_previous_menu(); \ | ||||||
|       } \ |       } \ | ||||||
|       return use_click(); \ |       return use_click(); \ | ||||||
|     } \ |     } \ | ||||||
|     void menu_edit_ ## _name() { _menu_edit_ ## _name(); } \ |     void menu_edit_ ## _name() { _menu_edit_ ## _name(); } \ | ||||||
|     void menu_edit_callback_ ## _name() { if (_menu_edit_ ## _name()) (*callbackFunc)(); } \ |  | ||||||
|     void _menu_action_setting_edit_ ## _name(const char * const pstr, _type* const ptr, const _type minValue, const _type maxValue) { \ |     void _menu_action_setting_edit_ ## _name(const char * const pstr, _type* const ptr, const _type minValue, const _type maxValue) { \ | ||||||
|       lcd_save_previous_screen(); \ |       lcd_save_previous_screen(); \ | ||||||
|       lcd_refresh(); \ |       lcd_refresh(); \ | ||||||
| @ -4833,16 +4832,15 @@ void lcd_quick_feedback(const bool clear_buttons) { | |||||||
|       maxEditValue = maxValue * _scale - minEditValue; \ |       maxEditValue = maxValue * _scale - minEditValue; \ | ||||||
|       encoderPosition = (*ptr) * _scale - minEditValue; \ |       encoderPosition = (*ptr) * _scale - minEditValue; \ | ||||||
|     } \ |     } \ | ||||||
|     void menu_action_setting_edit_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue) { \ |  | ||||||
|       _menu_action_setting_edit_ ## _name(pstr, ptr, minValue, maxValue); \ |  | ||||||
|       currentScreen = menu_edit_ ## _name; \ |  | ||||||
|     } \ |  | ||||||
|     void menu_action_setting_edit_callback_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue, const screenFunc_t callback, const bool live) { \ |     void menu_action_setting_edit_callback_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue, const screenFunc_t callback, const bool live) { \ | ||||||
|       _menu_action_setting_edit_ ## _name(pstr, ptr, minValue, maxValue); \ |       _menu_action_setting_edit_ ## _name(pstr, ptr, minValue, maxValue); \ | ||||||
|       currentScreen = menu_edit_callback_ ## _name; \ |       currentScreen = menu_edit_ ## _name; \ | ||||||
|       callbackFunc = callback; \ |       callbackFunc = callback; \ | ||||||
|       liveEdit = live; \ |       liveEdit = live; \ | ||||||
|     } \ |     } \ | ||||||
|  |     FORCE_INLINE void menu_action_setting_edit_ ## _name(const char * const pstr, _type * const ptr, const _type minValue, const _type maxValue) { \ | ||||||
|  |       menu_action_setting_edit_callback_ ## _name(pstr, ptr, minValue, maxValue); \ | ||||||
|  |     } \ | ||||||
|     typedef void _name##_void |     typedef void _name##_void | ||||||
| 
 | 
 | ||||||
|   DEFINE_MENU_EDIT_TYPE(int16_t, int3, itostr3, 1); |   DEFINE_MENU_EDIT_TYPE(int16_t, int3, itostr3, 1); | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user