Add missing FTDI EVE menu source (#19382)
This commit is contained in:
parent
0f9eb480aa
commit
941b890881
@ -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) {
|
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);
|
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
|
// Compute the total line length, as well as
|
||||||
// the location in the string where it can
|
// the location in the string where it can
|
||||||
// split and still allow the ellipsis to fit.
|
// split and still allow the ellipsis to fit.
|
||||||
uint16_t lineWidth = 0;
|
int16_t lineWidth = 0;
|
||||||
char *breakPoint = str;
|
char *breakPoint = str;
|
||||||
for(char* c = str; *c; c++) {
|
for(char* c = str; *c; c++) {
|
||||||
lineWidth += fm.get_char_width(*c);
|
lineWidth += fm.get_char_width(*c);
|
||||||
|
@ -61,7 +61,9 @@ namespace ExtUI {
|
|||||||
if (AT_SCREEN(StatusScreen) || isPrintingFromMedia())
|
if (AT_SCREEN(StatusScreen) || isPrintingFromMedia())
|
||||||
StatusScreen::setStatusMessage(GET_TEXT_F(MSG_MEDIA_REMOVED));
|
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() {
|
void onMediaError() {
|
||||||
|
@ -304,7 +304,7 @@ void StatusScreen::draw_overlay_icons(draw_mode_t what) {
|
|||||||
PolyUI ui(cmd, what);
|
PolyUI ui(cmd, what);
|
||||||
|
|
||||||
if (what & FOREGROUND) {
|
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_stroke(stroke_rgb, 28);
|
||||||
ui.button_shadow(shadow_rgb, shadow_depth);
|
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;
|
using namespace ExtUI;
|
||||||
|
|
||||||
switch (tag) {
|
switch (tag) {
|
||||||
case 3: GOTO_SCREEN(FilesScreen); break;
|
#if ENABLED(SDSUPPORT)
|
||||||
|
case 3: GOTO_SCREEN(FilesScreen); break;
|
||||||
|
#endif
|
||||||
case 4:
|
case 4:
|
||||||
if (isPrinting()) {
|
if (isPrinting()) {
|
||||||
GOTO_SCREEN(TuneMenu);
|
GOTO_SCREEN(TuneMenu);
|
||||||
|
Loading…
Reference in New Issue
Block a user