Removed unused LUA themes
This commit is contained in:
committed by
Raphael Coeffic
parent
a3424d5bc0
commit
acbf916652
@@ -1,113 +0,0 @@
|
||||
/*
|
||||
* Copyright (C) EdgeTX
|
||||
*
|
||||
* Based on code named
|
||||
* opentx - https://github.com/opentx/opentx
|
||||
* th9x - http://code.google.com/p/th9x
|
||||
* er9x - http://code.google.com/p/er9x
|
||||
* gruvin9x - http://code.google.com/p/gruvin9x
|
||||
*
|
||||
* License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 as
|
||||
* published by the Free Software Foundation.
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "libopenui.h"
|
||||
#include "lua_api.h"
|
||||
|
||||
class LuaTheme: public Theme
|
||||
{
|
||||
friend void luaLoadThemeCallback();
|
||||
|
||||
public:
|
||||
LuaTheme(const char * name, ZoneOption * options):
|
||||
Theme(name, options),
|
||||
loadFunction(0),
|
||||
drawBackgroundFunction(0),
|
||||
drawTopbarBackgroundFunction(0),
|
||||
drawAlertBoxFunction(0)
|
||||
{
|
||||
}
|
||||
|
||||
virtual void load() const
|
||||
{
|
||||
luaLcdAllowed = true;
|
||||
exec(loadFunction);
|
||||
}
|
||||
|
||||
virtual void drawBackground() const
|
||||
{
|
||||
exec(drawBackgroundFunction);
|
||||
}
|
||||
|
||||
void drawTopbarBackground(uint8_t icon) const override
|
||||
{
|
||||
exec(drawTopbarBackgroundFunction);
|
||||
}
|
||||
|
||||
#if 0
|
||||
virtual void drawAlertBox(const char * title, const char * text, const char * action) const
|
||||
{
|
||||
exec(drawAlertBoxFunction);
|
||||
}
|
||||
#endif
|
||||
|
||||
protected:
|
||||
int loadFunction;
|
||||
int drawBackgroundFunction;
|
||||
int drawTopbarBackgroundFunction;
|
||||
int drawAlertBoxFunction;
|
||||
};
|
||||
|
||||
void luaLoadThemeCallback()
|
||||
{
|
||||
TRACE("luaLoadThemeCallback()");
|
||||
const char * name=NULL;
|
||||
int themeOptions=0, loadFunction=0, drawBackgroundFunction=0, drawTopbarBackgroundFunction=0;
|
||||
|
||||
luaL_checktype(lsWidgets, -1, LUA_TTABLE);
|
||||
|
||||
for (lua_pushnil(lsWidgets); lua_next(lsWidgets, -2); lua_pop(lsWidgets, 1)) {
|
||||
const char * key = lua_tostring(lsWidgets, -2);
|
||||
if (!strcmp(key, "name")) {
|
||||
name = luaL_checkstring(lsWidgets, -1);
|
||||
}
|
||||
else if (!strcmp(key, "options")) {
|
||||
themeOptions = luaL_ref(lsWidgets, LUA_REGISTRYINDEX);
|
||||
lua_pushnil(lsWidgets);
|
||||
}
|
||||
else if (!strcmp(key, "load")) {
|
||||
loadFunction = luaL_ref(lsWidgets, LUA_REGISTRYINDEX);
|
||||
lua_pushnil(lsWidgets);
|
||||
}
|
||||
else if (!strcmp(key, "drawBackground")) {
|
||||
drawBackgroundFunction = luaL_ref(lsWidgets, LUA_REGISTRYINDEX);
|
||||
lua_pushnil(lsWidgets);
|
||||
}
|
||||
else if (!strcmp(key, "drawTopbarBackground")) {
|
||||
drawTopbarBackgroundFunction = luaL_ref(lsWidgets, LUA_REGISTRYINDEX);
|
||||
lua_pushnil(lsWidgets);
|
||||
}
|
||||
}
|
||||
|
||||
if (name) {
|
||||
ZoneOption * options = NULL;
|
||||
if (themeOptions) {
|
||||
options = createOptionsArray(themeOptions, MAX_THEME_OPTIONS);
|
||||
if (!options)
|
||||
return;
|
||||
}
|
||||
LuaTheme * theme = new LuaTheme(name, options);
|
||||
theme->loadFunction = loadFunction;
|
||||
theme->drawBackgroundFunction = drawBackgroundFunction;
|
||||
theme->drawTopbarBackgroundFunction = drawTopbarBackgroundFunction; // NOSONAR
|
||||
TRACE("Loaded Lua theme %s", name);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user