add QT5 support
This commit is contained in:
11
src/QT/CMakeLists.txt
Normal file
11
src/QT/CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
IF(BUILD_QT5_SUPPORT_LIB)
|
||||
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Gui Widgets)
|
||||
|
||||
IF(WIN32)
|
||||
add_library(CM.QT5Support STATIC QT5GuiApplication.cpp)
|
||||
ELSE()
|
||||
add_library(CM.QT5Support SHARED QT5GuiApplication.cpp)
|
||||
ENDIF()
|
||||
|
||||
target_link_libraries(CM.QT5Support Qt5::Core Qt5::Gui Qt5::Widgets)
|
||||
ENDIF(BUILD_QT5_SUPPORT_LIB)
|
18
src/QT/QT5GuiApplication.cpp
Normal file
18
src/QT/QT5GuiApplication.cpp
Normal file
@@ -0,0 +1,18 @@
|
||||
#include<hgl/platform/QT5Application.h>
|
||||
#include<QApplication>
|
||||
|
||||
namespace hgl
|
||||
{
|
||||
QT5GuiApplication::QT5GuiApplication(QApplication *qa):qt_app(qa)
|
||||
{
|
||||
}
|
||||
|
||||
QT5GuiApplication::~QT5GuiApplication()
|
||||
{
|
||||
}
|
||||
|
||||
int QT5GuiApplication::exec()
|
||||
{
|
||||
return qt_app->exec();
|
||||
}
|
||||
}//namespace hgl
|
20
src/QT/QT5UnixUTF8.cpp
Normal file
20
src/QT/QT5UnixUTF8.cpp
Normal file
@@ -0,0 +1,20 @@
|
||||
#include<hgl/Console.h>
|
||||
#include<hgl/platform/QT5Application.h>
|
||||
#include<QApplication>
|
||||
|
||||
using namespace hgl;
|
||||
|
||||
int main(int argc,char **argv)
|
||||
{
|
||||
QApplication qt_app(argc,argv);
|
||||
|
||||
StringList<UTF8String> sl;
|
||||
|
||||
for(int i=0;i<argc;i++)
|
||||
sl.Add(argv[i]);
|
||||
|
||||
ConsoleSystemInitInfo sii;
|
||||
QT5GuiApplication app(&qt_app);
|
||||
|
||||
return QT5AppMain(sii,app,sl);
|
||||
}
|
34
src/QT/QT5WinUCS2.cpp
Normal file
34
src/QT/QT5WinUCS2.cpp
Normal file
@@ -0,0 +1,34 @@
|
||||
#include<hgl/Console.h>
|
||||
#include<windows.h>
|
||||
#include<hgl/platform/QT5Application.h>
|
||||
#include<QApplication>
|
||||
|
||||
extern "C" int WINAPI wWinMain(HINSTANCE,HINSTANCE,wchar_t *cmd_line,int)
|
||||
{
|
||||
wchar_t **w_argv;
|
||||
char **argv;
|
||||
int argc;
|
||||
|
||||
w_argv = CommandLineToArgvW(cmd_line, &argc);
|
||||
|
||||
hgl::StringList<hgl::UTF16String> sl;
|
||||
hgl::StringList<hgl::UTF8String> sl8;
|
||||
|
||||
argv = new char *[argc];
|
||||
|
||||
for (int i = 0; i < argc; i++)
|
||||
{
|
||||
sl.Add(w_argv[i]);
|
||||
sl8.Add(hgl::to_u8(w_argv[i]));
|
||||
|
||||
argv[i] = sl8[i].c_str();
|
||||
}
|
||||
|
||||
QApplication qt_app(argc,argv);
|
||||
|
||||
hgl::ConsoleSystemInitInfo sii;
|
||||
hgl::QT5GuiApplication app(&qt_app);
|
||||
|
||||
delete[] argv;
|
||||
return QT5AppMain(sii, app, sl);
|
||||
}
|
Reference in New Issue
Block a user