12 #include <QMetaObject>
13 #include <QMetaMethod>
15 #include <QMainWindow>
17 #include <QTextStream>
18 #include <QtUiTools/QUiLoader>
19 #include <QCoreApplication>
20 #include <managers/pluginmanager.h>
23 #include "lua-intf/LuaIntf/LuaIntf.h"
51 std::string signalName,
63 std::string signalName,
65 std::string slotName);
76 static std::shared_ptr<QWidget>
loadUiFile(
const char* fileName);
83 std::vector<std::string>
pluginList(
const char* path);
97 static FILE*
openFileDialog(
bool isOpening,
const char* description,
const char* mode);
99 LuaIntf::LuaRef
operation(
unsigned int windowID);
100 void setOperation(
unsigned int windowID, LuaIntf::LuaRef);
102 void registerEvent(
const std::string& event, LuaIntf::LuaRef callback);
103 void deleteEvent(
const std::string& event, LuaIntf::LuaRef callback);
104 void triggerEvent(
const std::string& event, LuaIntf::LuaRef args);
107 LuaIntf::LuaState
_L;
111 std::map<std::string, std::vector<LuaIntf::LuaRef>>
_events;
lc::PluginManager _pluginManager
static FILE * openFileDialog(bool isOpening, const char *description, const char *mode)
static std::shared_ptr< QWidget > loadUiFile(const char *fileName)
Load Qt widget from .ui file.
LuaIntf::LuaRef operation(unsigned int windowID)
void cleanInvalidQObject()
Remove all connections that aren't valid anymore.
LuaIntf::LuaState luaState()
Returns current Lua state. This is used for unit tests.
bool luaConnect(QObject *sender, std::string signalName, LuaIntf::LuaRef slot)
Connect Qt signal with Lua function.
LuaInterface()
Create Lua instance.
std::vector< LuaQObject_SPtr > _luaQObjects
void triggerEvent(const std::string &event, LuaIntf::LuaRef args)
bool qtConnect(QObject *sender, std::string signalName, QObject *receiver, std::string slotName)
Connect Qt signal with Qt slot.
void setOperation(unsigned int windowID, LuaIntf::LuaRef)
void initLua()
Read and execute Lua files.
void registerEvent(const std::string &event, LuaIntf::LuaRef callback)
std::map< unsigned int, LuaIntf::LuaRef > _operations
void deleteEvent(const std::string &event, LuaIntf::LuaRef callback)
std::map< std::string, std::vector< LuaIntf::LuaRef > > _events
std::vector< std::string > pluginList(const char *path)
Return a list of plugins.
void hideUI(bool hidden)
Hide the window. It needs to be used before initLua(), this is used in unit tests.