void ExternalPlugin::start() { LOG(Trace, "start"); OSPlugin* osPlugin = OSPlugin::instance(); bool test; test = QObject::connect(this, SIGNAL(startupRequested(const std::string&)), osPlugin, SLOT(startupPrompt(const std::string&)), Qt::QueuedConnection); OS_ASSERT(test); test = QObject::connect(this, SIGNAL(showRequested(const std::string&)), osPlugin, SLOT(showDocument(const std::string&)), Qt::QueuedConnection); OS_ASSERT(test); test = QObject::connect(this, SIGNAL(hideRequested(const std::string&)), osPlugin, SLOT(hideDocument(const std::string&)), Qt::QueuedConnection); OS_ASSERT(test); test = QObject::connect(this, SIGNAL(quitting()), osPlugin, SLOT(quit()), Qt::QueuedConnection); OS_ASSERT(test); test = QObject::connect(osPlugin, SIGNAL(newModel(const std::string&, openstudio::model::detail::Model_Impl*)), this, SLOT(newModel(const std::string&, openstudio::model::detail::Model_Impl*)), Qt::QueuedConnection); OS_ASSERT(test); test = QObject::connect(osPlugin, SIGNAL(modelClosed(const std::string&)), this, SLOT(modelClosed(const std::string&)), Qt::QueuedConnection); OS_ASSERT(test); test = QObject::connect(osPlugin, SIGNAL(documentShown(const std::string&)), this, SLOT(documentShown(const std::string&)), Qt::QueuedConnection); OS_ASSERT(test); test = QObject::connect(osPlugin, SIGNAL(documentHidden(const std::string&)), this, SLOT(documentHidden(const std::string&)), Qt::QueuedConnection); OS_ASSERT(test); m_started = true; }
/*! * \brief Initialises module's graphical user interface. * \param[in] pMainWindow - pointer to MainWindow * \param[in] binaryName - module executable name * \param[in] moduleTitle - module title * \param[in] serverName - name of server running module * \param[in] instanceID - module instance identification number */ void GUI::initialise(MainWindow *pMainWindow, QString binaryName, QString moduleTitle, QString serverName, int instanceID, int tabID) { setAttribute(Qt::WA_DeleteOnClose); mainWindow = pMainWindow; instance = instanceID; binary = binaryName; title = moduleTitle; server = serverName; status = 0; progress = -1; selected = false; running = false; useModuleMenu = true; #ifdef NTDDI_WIN7 win7ProgressBarId = -1; #endif //set remote mode flag and set tab tag if(server==QString("/aquila/server/") + QHostInfo::localHostName()) { remoteMode = false; if(instance!=0) { tag = title + QString(" (") + QString::number(instance) + QString(")"); } else { tag = title; } qDebug(" - %s_gui(%i): running in local mode", binary.toStdString().c_str(), instance); } else { remoteMode = true; QString id = server.section("/", 3, 3); if(instance!=0) { tag = title + QString(" (") + QString::number(instance) + QString(",") + id + QString(")"); } else { tag = title + QString(" (0,") + id + QString(")"); } qDebug(" - %s_gui(%i): running in remote mode", binary.toStdString().c_str(), instance); } if(tabID>=0) { //specific tab requested mainWindow->tabWidget->insertTab(tabID, this, tag); } else { mainWindow->tabWidget->addTab(this, tag); } //connect module-non-specific slots/signals QObject::connect(mainWindow, SIGNAL(quitting()), this, SLOT(closeModule())); QObject::connect(mainWindow->tabWidget, SIGNAL(currentChanged(int)), this, SLOT(checkFocus(int))); QObject::connect(mainWindow->tabWidget, SIGNAL(removeRequested(int)), this, SLOT(remove(int))); QObject::connect(mainWindow->tabWidget, SIGNAL(duplicateRequested(int)), this, SLOT(duplicate(int))); }