#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(); }