6#include <QtCore/QDirIterator>
7#include <QtCore/QCoreApplication>
8#include <QtWidgets/QApplication>
9#include <QtWidgets/QStyleFactory>
10#include <QtQml/QQmlEngine>
13#include <ibase/IApplication.h>
16#include <imtstyle/CImtStyle.h>
19class DefaultImtCoreQmlInitializer
24 InitImtCoreLocalization();
25 InitImtCoreResources();
32 static void InitAcfLocalization()
34 Q_INIT_RESOURCE(AcfLoc);
35 Q_INIT_RESOURCE(AcfSlnLoc);
38 static void InitImtCoreLocalization()
40 InitAcfLocalization();
41 Q_INIT_RESOURCE(ImtCoreLoc);
44 static void InitImtCoreSdl()
46 Q_INIT_RESOURCE(imtbaseSearchSdl);
47 Q_INIT_RESOURCE(imtbaseCommandsSdl);
48 Q_INIT_RESOURCE(imtbaseSettingsSdl);
49 Q_INIT_RESOURCE(imtbaseImtBaseTypesSdl);
50 Q_INIT_RESOURCE(imtbaseImtCollectionSdl);
51 Q_INIT_RESOURCE(imtbaseDocumentCollectionFilterSdl);
52 Q_INIT_RESOURCE(imtbaseComplexCollectionFilterSdl);
53 Q_INIT_RESOURCE(imtbaseDocumentRevisionSdl);
54 Q_INIT_RESOURCE(imtauthGroupsSdl);
55 Q_INIT_RESOURCE(imtauthRolesSdl);
56 Q_INIT_RESOURCE(imtauthUsersSdl);
57 Q_INIT_RESOURCE(imtauthProfileSdl);
58 Q_INIT_RESOURCE(imtauthSessionsSdl);
59 Q_INIT_RESOURCE(imtauthAuthorizationOptionsSdl);
60 Q_INIT_RESOURCE(imtauthAuthorizationSdl);
61 Q_INIT_RESOURCE(imtappApplicationSdl);
62 Q_INIT_RESOURCE(imtcolorLabSdl);
63 Q_INIT_RESOURCE(imtcolorRgbColorHexSdl);
64 Q_INIT_RESOURCE(imtbaseCollectionDocumentManagerSdl);
65 Q_INIT_RESOURCE(imtbaseUndoManagerSdl);
66 Q_INIT_RESOURCE(imtbaseDocumentIdFilterSdl);
67 Q_INIT_RESOURCE(imtbaseProgressManagerSdl);
68 Q_INIT_RESOURCE(imtbaseCollectionImportSdl);
69 Q_INIT_RESOURCE(imt2dGeometrySdl);
70 Q_INIT_RESOURCE(imt2dPaintSystemSdl);
71 Q_INIT_RESOURCE(imtauthPersonalAccessTokensSdl);
76 Q_INIT_RESOURCE(imtcontrolsqml);
77 Q_INIT_RESOURCE(imtguiqml);
78 Q_INIT_RESOURCE(imtcolguiqml);
79 Q_INIT_RESOURCE(imtdocguiqml);
80 Q_INIT_RESOURCE(imtguigqlqml);
81 Q_INIT_RESOURCE(imtauthguiqml);
82 Q_INIT_RESOURCE(imtlicguiqml);
85 static void InitGeoQml()
87 Q_INIT_RESOURCE(imtgeoguiqml);
90 static void InitTheme()
92 Q_INIT_RESOURCE(imtguiTheme);
93 Q_INIT_RESOURCE(imtauthguiTheme);
96 static void InitImtCoreResources()
99 Q_INIT_RESOURCE(imtstylecontrolsqml);
101 Q_INIT_RESOURCE(imtauthguilight);
102 Q_INIT_RESOURCE(imtauthguidark);
104 Q_INIT_RESOURCE(imtlicguilight);
105 Q_INIT_RESOURCE(imtlicguidark);
108 Q_INIT_RESOURCE(imtguilight);
109 Q_INIT_RESOURCE(imtguidark);
111 Q_INIT_RESOURCE(imtstyle);
112 Q_INIT_RESOURCE(imtstylelight);
113 Q_INIT_RESOURCE(imtstyledark);
115 Q_INIT_RESOURCE(
imtdb);
118 static void InitStyle()
120 imtstyle::CImtStyle* imtStylePtr = imtstyle::CImtStyle::GetInstance();
121 Q_ASSERT(imtStylePtr !=
nullptr);
122 imtStylePtr->SetStyleType(imtstyle::CImtStyle::ST_IMAGINGTOOLS);
124 imtStylePtr->setBaseStyle(QStyleFactory::create(
"fusion"));
125 QApplication::setStyle(imtStylePtr);
127 QCoreApplication* appPtr = QCoreApplication::instance();
128 if (appPtr !=
nullptr){
129 appPtr->setProperty(
"ThemeId",
"Light");
134template <
class ApplicationComposite,
class AppInitializer,
bool autoInit = false>
135int Run(
int argc,
char *argv[])
137 AppInitializer::Init();
139 QDirIterator dirIter(
":/Style");
140 while (dirIter.hasNext()){
141 qDebug() << dirIter.filePath();
146 QDirIterator dirIter3(
":/Icons");
147 while (dirIter3.hasNext()){
148 qDebug() << dirIter3.filePath();
153 QDirIterator dirIter2(
":/Styles");
154 while (dirIter2.hasNext()){
155 qDebug() << dirIter2.filePath();
160 ApplicationComposite instance;
163 instance.EnsureAutoInitComponentsCreated();
166 ibase::IApplication* applicationPtr = instance.template GetInterface<ibase::IApplication>();
167 if (applicationPtr !=
nullptr){
168 return applicationPtr->Execute(argc, argv);
Database Abstraction Layer (ORM Framework) for ImtCore applications.