File indexing completed on 2024-05-12 05:47:13
0001 #include "Bindings.h" 0002 0003 #include "ui_main.h" 0004 0005 extern "C" { 0006 int main_cpp(const char* app); 0007 } 0008 0009 int main_cpp(const char* appPath) 0010 { 0011 int argc = 1; 0012 char* argv[1] = { (char*)appPath }; 0013 QApplication app(argc, argv); 0014 0015 Simple simple; // This is the Rust object 0016 0017 QMainWindow main; 0018 Ui_MainWindow ui; 0019 ui.setupUi(&main); 0020 0021 // Quit the application by... 0022 // * Using the mouse to select File->Quit 0023 // * Pressing <alt>+F, <alt>+Q 0024 // * Pressing <ctrl>+Q 0025 QObject::connect(ui.action_Quit, &QAction::triggered, &app, &QApplication::closeAllWindows); 0026 0027 // Update the status message whenever the rust message changes 0028 simple.connect(&simple, &Simple::messageChanged, ui.statusbar, [&simple, &ui]() { 0029 ui.statusbar->showMessage(simple.message()); 0030 }); 0031 0032 // Update the rust message when the button is clicked 0033 ui.statusButton->connect(ui.statusButton, &QPushButton::clicked, &simple, [&simple, &ui]() { 0034 simple.setMessage(ui.statusEdit->text()); 0035 }); 0036 0037 // Initialize gui/model state 0038 ui.statusEdit->setText("Hello World!"); 0039 ui.statusButton->clicked(); 0040 0041 main.show(); 0042 0043 return app.exec(); 0044 }