Migration of QtMvvm from github
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

47 lines
1.6 KiB

#include <QtWidgets/QApplication>
#include <QtMvvmCore/ServiceRegistry>
#include <QtMvvmWidgets/WidgetsPresenter>
#include <samplecoreapp.h>
#include "widgetseventservice.h"
#include "sampleview.h"
#include "resultdialog.h"
#include "tabview.h"
#include "tabitemview.h"
#define TEST_DIRECT 0
#define TEST_FN 1
#define TEST_INST 2
#define TEST_CURRENT TEST_DIRECT
QTMVVM_REGISTER_CORE_APP(SampleCoreApp)
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QtMvvm::WidgetsPresenter::registerView<SampleView>();
QtMvvm::WidgetsPresenter::registerView<ResultDialog>();
QtMvvm::WidgetsPresenter::registerView<TabView>();
QtMvvm::WidgetsPresenter::registerView<TabItemView>();
if(TEST_CURRENT == TEST_DIRECT)
QtMvvm::ServiceRegistry::instance()->registerObject<EchoService>();
if(TEST_CURRENT == TEST_FN)
QtMvvm::ServiceRegistry::instance()->registerObject<EchoService>([]() {
return new EchoService(nullptr);
});
if(TEST_CURRENT == TEST_INST)
QtMvvm::ServiceRegistry::instance()->registerObject<EchoService>(new EchoService());
if(TEST_CURRENT == TEST_DIRECT)
QtMvvm::ServiceRegistry::instance()->registerInterface<IEventService, WidgetsEventService>();
if(TEST_CURRENT == TEST_FN)
QtMvvm::ServiceRegistry::instance()->registerInterface<IEventService, WidgetsEventService>([](EchoService *echo) {
return new WidgetsEventService(echo, nullptr);
});
if(TEST_CURRENT == TEST_INST)
QtMvvm::ServiceRegistry::instance()->registerInterface<IEventService>(new WidgetsEventService(QtMvvm::ServiceRegistry::instance()->service<EchoService>()));
return a.exec();
}