#include #include #include #include #include #include #include #include #include #include #include //#include #include #include extern "C" void run_my_event_loop( QPointer my_app ); extern "C" void hello_two(); extern "C" void hello_three(); extern "C" QPointer get_stuff(); extern "C" void create_webview(QWidget *widget, char * url_raw) { printf("in create_webview\n"); QString * url_string = new QString(url_raw); QUrl url = QUrl::fromUserInput(*url_string); QWebEngineView * view = new QWebEngineView(widget); view->setUrl(url); //view->resize(1024, 750); QGridLayout *layout = new QGridLayout(widget); layout->setContentsMargins(0, 0, 0, 0); widget->layout()->setContentsMargins(0, 0, 0, 0); QWidget * view_widget = (QWidget*) view; view_widget->layout()->setContentsMargins(0, 0, 0, 0); layout->addWidget ((QWidget*)view, 0, 0); return; QPushButton * button = new QPushButton(widget); button->setText("My text"); button->setToolTip("A tooltip"); QPushButton * button2 = new QPushButton(widget); button2->setText("My text 2"); button2->setToolTip("A tooltip 2"); QPushButton * button3 = new QPushButton(widget); button3->setText("My text 3"); button3->setToolTip("A tooltip 3"); layout->addWidget (button, 0, 0); layout->addWidget (button2, 0, 1); layout->addWidget (button3, 1, 1); layout->addWidget ((QWidget*)view, 1, 0); } /* class Foo : public QObject { Q_OBJECT public: Foo( QObject* parent = 0 ) : QObject( parent ) {} private: void doStuff() { qDebug() << "Emit signal one"; emit signal1(); qDebug() << "Emit finished"; emit finished(); qDebug() << "Emit signal two"; emit signal2(); } signals: void signal1(); void signal2(); void finished(); public slots: void slot1() { qDebug() << "Execute slot one"; } void slot2() { qDebug() << "Execute slot two"; } void start() { printf("in start of foo"); //doStuff(); qDebug() << "Bye!"; } }; */ //extern "C" void place_slint_widget(QWidget * slint_widget) { //printf("hello from test\n"); //} extern "C" QPointer init_app() { int argc = 0; char hi = 'c'; char * two = &hi; QPointer my_app = new QApplication (argc, &two); QPointer main_widget = get_stuff(); QMainWindow * my_window = new QMainWindow(); my_window->setCentralWidget(main_widget); //my_window->show(); //my_app->exec(); //run_my_event_loop(my_app); return my_app; } extern "C" QPointer get_stuff() { QPointer centralWidget = new QWidget(); QGridLayout *layout = new QGridLayout(); centralWidget->setLayout(layout); QPushButton button; button.setText("My text"); button.setToolTip("A tooltip"); QPushButton button2; button2.setText("My text 2"); button2.setToolTip("A tooltip 2"); QPushButton button3; button3.setText("My text 3"); button3.setToolTip("A tooltip 3"); layout->addWidget (&button, 0, 0); layout->addWidget (&button2, 0, 1); layout->addWidget (&button3, 1, 1); return centralWidget; } extern "C" void hello_three() { QWidget *centralWidget = new QWidget(); QGridLayout *layout = new QGridLayout(); centralWidget->setLayout(layout); QPushButton button; button.setText("My text"); button.setToolTip("A tooltip"); QPushButton button2; button2.setText("My text 2"); button2.setToolTip("A tooltip 2"); QPushButton button3; button3.setText("My text 3"); button3.setToolTip("A tooltip 3"); layout->addWidget (&button, 0, 0); layout->addWidget (&button2, 0, 1); layout->addWidget (&button3, 1, 1); centralWidget->show(); } extern "C" void hello_two() { QCoreApplication * app = QApplication::instance(); QPushButton button; button.setText("My text"); button.setToolTip("A tooltip"); button.show(); /* Foo foo; QObject::connect( &foo, &Foo::signal1, &foo, &Foo::slot1 ); QObject::connect( &foo, &Foo::signal2, &foo, &Foo::slot2 ); //QObject::connect( &foo, &Foo::finished, app, &QCoreApplication::quit ); QTimer::singleShot( 0, &foo, &Foo::start ); */ } extern "C" void run_my_event_loop( QPointer my_app ) { //QCoreApplication * app = QApplication::instance(); //QPushButton other_button; //other_button.setText("My text"); //other_button.setToolTip("A tooltip"); //other_button.show(); //printf("app exec\n"); int result = my_app->exec(); printf("app exited with: %d\n", result); } //#include "main.moc"