Use MainWindow::instance() instead of mainWindow global var

This commit is contained in:
Bertrand Songis
2020-12-02 09:55:41 +01:00
parent d7097f833b
commit 7b2ada1607
3 changed files with 11 additions and 6 deletions
+3 -2
View File
@@ -22,7 +22,8 @@
#include "mainwindow.h"
#include "form.h"
class Keyboard: public FormWindow {
class Keyboard: public FormWindow
{
public:
explicit Keyboard(coord_t height):
FormWindow(nullptr, {0, LCD_H - height, LCD_W, height}, OPAQUE)
@@ -50,7 +51,7 @@ class Keyboard: public FormWindow {
activeKeyboard->clearField();
}
activeKeyboard = this;
attach(&mainWindow);
attach(MainWindow::instance());
fieldContainer = getFieldContainer(newField);
fieldContainer->setHeight(LCD_H - height() - fieldContainer->top());
fieldContainer->scrollTo(newField);
+1 -1
View File
@@ -24,7 +24,7 @@
#include "touch.h"
#endif
MainWindow mainWindow;
MainWindow * MainWindow::_instance = nullptr;
#if defined(HARDWARE_TOUCH)
TouchState touchState;
+7 -3
View File
@@ -31,6 +31,7 @@ class MainWindow: public Window
invalidatedRect(rect)
{
Layer::push(this);
_instance = this;
}
~MainWindow() override
@@ -38,6 +39,11 @@ class MainWindow: public Window
children.clear();
}
static MainWindow * instance()
{
return _instance;
}
#if defined(DEBUG_WINDOWS)
std::string getName() const override
{
@@ -64,10 +70,8 @@ class MainWindow: public Window
void run(bool trash=true);
protected:
static MainWindow * _instance;
static void emptyTrash();
rect_t invalidatedRect;
const char * shutdown = nullptr;
};
extern MainWindow mainWindow;