MainWindow::MainWindow(mrrocpp::ui::common::Interface& _interface, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), interface(_interface) { ui->setupUi(this); connect(this, SIGNAL(ui_notification_signal()), this, SLOT(ui_notification_slot()), Qt::QueuedConnection); connect(this, SIGNAL(enable_menu_item_signal(QWidget *, bool)), this, SLOT(enable_menu_item_slot(QWidget *, bool)), Qt::QueuedConnection); connect(this, SIGNAL(enable_menu_item_signal(QAction *, bool)), this, SLOT(enable_menu_item_slot(QAction *, bool)), Qt::QueuedConnection); main_thread_id = pthread_self(); }
void MainWindow::ui_notification() { if (main_thread_id == pthread_self()) { // jeśli wątek główny // interface.ui_msg->message("same thread"); ui_notification_slot(); } else { //jeśli inny wątek niż główny // interface.ui_msg->message("different thread"); emit ui_notification_signal(); } }
MainWindow::MainWindow(mrrocpp::ui::common::Interface& _interface, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), interface(_interface) { ui->setupUi(this); timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(on_timer_slot())); timer->start(50); connect(this, SIGNAL(ui_notification_signal(QString, QColor)), this, SLOT(ui_notification_slot(QString, QColor)), Qt::QueuedConnection); connect(this, SIGNAL(raise_process_control_window_signal()), this, SLOT(raise_process_control_window_slot()), Qt::QueuedConnection); // wyłączenie przycisku zamykania okna Qt::WindowFlags flags; flags |= Qt::WindowMaximizeButtonHint; flags |= Qt::WindowMinimizeButtonHint; setWindowFlags(flags); }
MainWindow::MainWindow(mrrocpp::ui::common::Interface& _interface, QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow), interface(_interface) { ui->setupUi(this); connect(this, SIGNAL(ui_notification_signal()), this, SLOT(ui_notification_slot()), Qt::QueuedConnection); connect(this, SIGNAL(enable_menu_item_signal(QMenu *, bool)), this, SLOT(enable_menu_item_slot(QMenu *, bool)), Qt::QueuedConnection); connect(this, SIGNAL(enable_menu_item_signal(QAction *, bool)), this, SLOT(enable_menu_item_slot(QAction *, bool)), Qt::QueuedConnection); connect(this, SIGNAL(open_new_window_signal(wgt_base *, bool)), this, SLOT(open_new_window_slot(wgt_base *, bool)), Qt::QueuedConnection); connect(this, SIGNAL(ui_robot_signal(mrrocpp::ui::common::UiRobot *)), this, SLOT(ui_robot_slot(mrrocpp::ui::common::UiRobot *)), Qt::QueuedConnection); connect(this, SIGNAL(ui_robot_signal_int(mrrocpp::ui::common::UiRobot *, int)), this, SLOT(ui_robot_slot_int(mrrocpp::ui::common::UiRobot *, int)), Qt::QueuedConnection); connect(this, SIGNAL(ui_robot_int_signal_int(mrrocpp::ui::common::UiRobot *, int)), this, SLOT(ui_robot_int_slot_int(mrrocpp::ui::common::UiRobot *, int)), Qt::QueuedConnection); connect(this, SIGNAL(ui_robot_int_signal(mrrocpp::ui::common::UiRobot *)), this, SLOT(ui_robot_int_slot(mrrocpp::ui::common::UiRobot *)), Qt::QueuedConnection); connect(this, SIGNAL(clear_console_signal()), this, SLOT(clear_console_slot()), Qt::QueuedConnection); menuBar = new Ui::MenuBar(&interface, this); menuBar->setupMenuBar(this); signalDispatcher = new Ui::SignalDispatcher(interface); main_thread_id = pthread_self(); }