Add missing FTDI EVE menu source (#19382)
This commit is contained in:
		| @@ -30,12 +30,12 @@ namespace FTDI { | ||||
|    */ | ||||
|   static void _draw_text_with_ellipsis(CommandProcessor& cmd, int16_t x, int16_t y, int16_t w, int16_t h, char *str, uint16_t options, uint8_t font) { | ||||
|     FontMetrics fm(font); | ||||
|     const uint16_t ellipsisWidth = fm.get_char_width('.') * 3; | ||||
|     const int16_t ellipsisWidth = fm.get_char_width('.') * 3; | ||||
|  | ||||
|     // Compute the total line length, as well as | ||||
|     // the location in the string where it can | ||||
|     // split and still allow the ellipsis to fit. | ||||
|     uint16_t lineWidth = 0; | ||||
|     int16_t lineWidth = 0; | ||||
|     char *breakPoint   = str; | ||||
|     for(char* c = str; *c; c++) { | ||||
|       lineWidth += fm.get_char_width(*c); | ||||
|   | ||||
| @@ -61,7 +61,9 @@ namespace ExtUI { | ||||
|     if (AT_SCREEN(StatusScreen) || isPrintingFromMedia()) | ||||
|       StatusScreen::setStatusMessage(GET_TEXT_F(MSG_MEDIA_REMOVED)); | ||||
|  | ||||
|     if (AT_SCREEN(FilesScreen)) GOTO_SCREEN(StatusScreen); | ||||
|     #if ENABLED(SDSUPPORT) | ||||
|       if (AT_SCREEN(FilesScreen)) GOTO_SCREEN(StatusScreen); | ||||
|     #endif | ||||
|   } | ||||
|  | ||||
|   void onMediaError() { | ||||
|   | ||||
| @@ -304,7 +304,7 @@ void StatusScreen::draw_overlay_icons(draw_mode_t what) { | ||||
|   PolyUI ui(cmd, what); | ||||
|  | ||||
|   if (what & FOREGROUND) { | ||||
|     ui.button_fill  (TERN(TOUCH_UI_COCOA_PRESS, stroke_rgb, fill_rgb); | ||||
|     ui.button_fill  (TERN(TOUCH_UI_COCOA_PRESS, stroke_rgb, fill_rgb)); | ||||
|     ui.button_stroke(stroke_rgb, 28); | ||||
|     ui.button_shadow(shadow_rgb, shadow_depth); | ||||
|  | ||||
|   | ||||
| @@ -0,0 +1,121 @@ | ||||
| /********************* | ||||
|  * leveling_menu.cpp * | ||||
|  *********************/ | ||||
|  | ||||
| /**************************************************************************** | ||||
|  *   Written By Mark Pelletier  2017 - Aleph Objects, Inc.                  * | ||||
|  *   Written By Marcio Teixeira 2018 - Aleph Objects, Inc.                  * | ||||
|  *                                                                          * | ||||
|  *   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.                           * | ||||
|  *                                                                          * | ||||
|  *   To view a copy of the GNU General Public License, go to the following  * | ||||
|  *   location: <https://www.gnu.org/licenses/>.                              * | ||||
|  ****************************************************************************/ | ||||
|  | ||||
| #include "../config.h" | ||||
|  | ||||
| #if BOTH(TOUCH_UI_FTDI_EVE,HAS_LEVELING) | ||||
|  | ||||
| #include "screens.h" | ||||
|  | ||||
| #if BOTH(HAS_BED_PROBE,BLTOUCH) | ||||
|   #include "../../../../../feature/bltouch.h" | ||||
| #endif | ||||
|  | ||||
| using namespace FTDI; | ||||
| using namespace ExtUI; | ||||
| using namespace Theme; | ||||
|  | ||||
| #ifdef TOUCH_UI_PORTRAIT | ||||
|   #define GRID_ROWS 9 | ||||
|   #define GRID_COLS 2 | ||||
|   #define TITLE_POS          BTN_POS(1,1), BTN_SIZE(2,1) | ||||
|   #define LEVEL_BED_POS      BTN_POS(1,2), BTN_SIZE(2,1) | ||||
|   #define LEVEL_AXIS_POS     BTN_POS(1,3), BTN_SIZE(2,1) | ||||
|   #define SHOW_MESH_POS      BTN_POS(1,4), BTN_SIZE(2,1) | ||||
|   #define BLTOUCH_TITLE_POS  BTN_POS(1,6), BTN_SIZE(2,1) | ||||
|   #define BLTOUCH_RESET_POS  BTN_POS(1,7), BTN_SIZE(1,1) | ||||
|   #define BLTOUCH_TEST_POS   BTN_POS(2,7), BTN_SIZE(1,1) | ||||
|   #define BACK_POS           BTN_POS(1,9), BTN_SIZE(2,1) | ||||
| #else | ||||
|   #define GRID_ROWS 7 | ||||
|   #define GRID_COLS 2 | ||||
|   #define TITLE_POS          BTN_POS(1,1), BTN_SIZE(2,1) | ||||
|   #define LEVEL_BED_POS      BTN_POS(1,2), BTN_SIZE(2,1) | ||||
|   #define LEVEL_AXIS_POS     BTN_POS(1,3), BTN_SIZE(2,1) | ||||
|   #define SHOW_MESH_POS      BTN_POS(1,4), BTN_SIZE(2,1) | ||||
|   #define BLTOUCH_TITLE_POS  BTN_POS(1,5), BTN_SIZE(2,1) | ||||
|   #define BLTOUCH_RESET_POS  BTN_POS(1,6), BTN_SIZE(1,1) | ||||
|   #define BLTOUCH_TEST_POS   BTN_POS(2,6), BTN_SIZE(1,1) | ||||
|   #define BACK_POS           BTN_POS(1,7), BTN_SIZE(2,1) | ||||
| #endif | ||||
|  | ||||
| void LevelingMenu::onRedraw(draw_mode_t what) { | ||||
|   if (what & BACKGROUND) { | ||||
|     CommandProcessor cmd; | ||||
|     cmd.cmd(CLEAR_COLOR_RGB(Theme::bg_color)) | ||||
|        .cmd(CLEAR(true,true,true)) | ||||
|        .tag(0); | ||||
|   } | ||||
|  | ||||
|   if (what & FOREGROUND) { | ||||
|     CommandProcessor cmd; | ||||
|     cmd.font(font_large) | ||||
|        .text(TITLE_POS, GET_TEXT_F(MSG_LEVELING)) | ||||
|        .font(font_medium).colors(normal_btn) | ||||
|        .tag(2).button(LEVEL_BED_POS, GET_TEXT_F(MSG_LEVEL_BED)) | ||||
|        .enabled( | ||||
|          #ifdef AXIS_LEVELING_COMMANDS | ||||
|            1 | ||||
|          #endif | ||||
|         ) | ||||
|        .tag(3).button(LEVEL_AXIS_POS, GET_TEXT_F(MSG_AUTOLEVEL_X_AXIS)) | ||||
|        .enabled(ENABLED(HAS_MESH)) | ||||
|        .tag(4).button(SHOW_MESH_POS, GET_TEXT_F(MSG_SHOW_MESH)); | ||||
|     #if ENABLED(BLTOUCH) | ||||
|       cmd.text(BLTOUCH_TITLE_POS, GET_TEXT_F(MSG_BLTOUCH)) | ||||
|          .tag(5).button(BLTOUCH_RESET_POS, GET_TEXT_F(MSG_BLTOUCH_RESET)) | ||||
|          .tag(6).button(BLTOUCH_TEST_POS,  GET_TEXT_F(MSG_BLTOUCH_SELFTEST)); | ||||
|     #endif | ||||
|     cmd.colors(action_btn) | ||||
|        .tag(1).button(BACK_POS, GET_TEXT_F(MSG_BACK)); | ||||
|   } | ||||
| } | ||||
|  | ||||
| bool LevelingMenu::onTouchEnd(uint8_t tag) { | ||||
|   switch (tag) { | ||||
|     case 1: GOTO_PREVIOUS();                   break; | ||||
|     case 2: | ||||
|     #ifndef BED_LEVELING_COMMANDS | ||||
|       #define BED_LEVELING_COMMANDS "G29" | ||||
|     #endif | ||||
|     #if HAS_MESH | ||||
|       BedMeshScreen::startMeshProbe(); | ||||
|     #else | ||||
|       SpinnerDialogBox::enqueueAndWait_P(F(BED_LEVELING_COMMANDS)); | ||||
|     #endif | ||||
|     break; | ||||
|     #ifdef AXIS_LEVELING_COMMANDS | ||||
|     case 3: SpinnerDialogBox::enqueueAndWait_P(F(AXIS_LEVELING_COMMANDS)); break; | ||||
|     #endif | ||||
|     #if HAS_MESH | ||||
|     case 4: GOTO_SCREEN(BedMeshScreen); break; | ||||
|     #endif | ||||
|     #if ENABLED(BLTOUCH) | ||||
|     case 5: injectCommands_P(PSTR("M280 P0 S60")); break; | ||||
|     case 6: SpinnerDialogBox::enqueueAndWait_P(F("M280 P0 S90\nG4 P100\nM280 P0 S120")); break; | ||||
|     #endif | ||||
|     default: return false; | ||||
|   } | ||||
|   return true; | ||||
| } | ||||
|  | ||||
| #endif // BOTH(TOUCH_UI_FTDI_EVE,HAS_LEVELING) | ||||
| @@ -376,7 +376,9 @@ bool StatusScreen::onTouchEnd(uint8_t tag) { | ||||
|   using namespace ExtUI; | ||||
|  | ||||
|   switch (tag) { | ||||
|     case 3: GOTO_SCREEN(FilesScreen); break; | ||||
|     #if ENABLED(SDSUPPORT) | ||||
|       case 3: GOTO_SCREEN(FilesScreen); break; | ||||
|     #endif | ||||
|     case 4: | ||||
|       if (isPrinting()) { | ||||
|         GOTO_SCREEN(TuneMenu); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user