Add missing FTDI EVE menu source (#19382)
This commit is contained in:
parent
8e3ac54de3
commit
9aceb3711b
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue