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…
Reference in a new issue