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