Пример #1
0
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;
}
Пример #2
0
/*!
 * \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)));
}