IqAmeMainWindow::IqAmeMainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::IQAMEMainWindow),
    m_logDialog(new IqAmeLogDialog(this))
{
    ui->setupUi(this);

    ui->layerTreeView->setModel(IqAmeApplication::aeroMapModel());
    connect(ui->layerTreeView, &IqAmeMapModelTreeView::pointsClicked, this, &IqAmeMainWindow::showPoints);
    connect(ui->layerTreeView, &IqAmeMapModelTreeView::layerClicked, this, &IqAmeMainWindow::showLayer);

    ui->pointTableWidget->setModel(IqAmeApplication::aeroMapModel()->pointsModel());

#if QT_VERSION >= 0x050000
    ui->layerTreeView->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
    ui->layerTreeView->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
    ui->layerTreeView->header()->setSectionResizeMode(2, QHeaderView::Stretch);
#else
    ui->layerTreeView->header()->setResizeMode(0, QHeaderView::ResizeToContents);
    ui->layerTreeView->header()->setResizeMode(1, QHeaderView::ResizeToContents);
    ui->layerTreeView->header()->setResizeMode(2, QHeaderView::Stretch);
#endif

    connect(ui->actionOpen, SIGNAL(triggered()), this, SLOT(openFolder()));
    connect(ui->actionLogs, SIGNAL(triggered()), this, SLOT(showLogs()));

    connect(ui->actionAntialiasing, &QAction::triggered, this, &IqAmeMainWindow::updateRenderhints);
    connect(ui->actionTextAntialiasing, &QAction::triggered, this, &IqAmeMainWindow::updateRenderhints);
    connect(ui->actionSmoothPixmapTransform, &QAction::triggered, this, &IqAmeMainWindow::updateRenderhints);
    connect(ui->actionHighQualityAntialiasing, &QAction::triggered, this, &IqAmeMainWindow::updateRenderhints);

    ui->editorWidget->hide();
    ui->pointTableWidget->show();
}
void IqAmeMainWindow::openFolder()
{
    QString folder = QFileDialog::getExistingDirectory(this, tr("Open folder"));
    if (!folder.isEmpty()) {
        qDebug() << tr("START LOAD MAP DATA...");
        m_loadTimer.restart();
        QApplication::setOverrideCursor(Qt::WaitCursor);
        showLogs();
        IqAmeApplication::aeroMapModel()->startLoadData();

        QFutureWatcher <bool> *watcher = new QFutureWatcher<bool>(this);
        connect(watcher, SIGNAL(finished()), this, SLOT(onLoadFinished()));
        connect(watcher, SIGNAL(finished()), watcher, SLOT(deleteLater()));

        QString* nullResult = Q_NULLPTR;
        QFuture <bool> future = QtConcurrent::run(IqAmeApplication::aeroMapModel(), &IqAmeMapModel::loadFromFolder, folder, nullResult);
        watcher->setFuture(future);
    }
}
Пример #3
0
void wTrayWindow::on_TrayMsgActivated(QSystemTrayIcon::ActivationReason reason)
{
	switch (reason)
	{
	case QSystemTrayIcon::Trigger:
		{
			showLogs();
		}
	case QSystemTrayIcon::DoubleClick:
		{
			if (this->isHidden())
			{
				this->show();
			}
		}
		this->setWindowState(Qt::WindowActive);
		break;
	}
}
Пример #4
0
/// Handle notifications from the view.
void WorkspacePresenter::notifyFromView(ViewNotifiable::Flag flag) {
  switch (flag) {
  case ViewNotifiable::Flag::LoadWorkspace:
    loadWorkspace();
    break;
  case ViewNotifiable::Flag::LoadLiveDataWorkspace:
    loadLiveData();
    break;
  case ViewNotifiable::Flag::RenameWorkspace:
    renameWorkspace();
    break;
  case ViewNotifiable::Flag::GroupWorkspaces:
    groupWorkspaces();
    break;
  case ViewNotifiable::Flag::UngroupWorkspaces:
    ungroupWorkspaces();
    break;
  case ViewNotifiable::Flag::SortWorkspaces:
    sortWorkspaces();
    break;
  case ViewNotifiable::Flag::DeleteWorkspaces:
    deleteWorkspaces();
    break;
  case ViewNotifiable::Flag::SaveSingleWorkspace:
    saveSingleWorkspace();
    break;
  case ViewNotifiable::Flag::SaveWorkspaceCollection:
    saveWorkspaceCollection();
    break;
  case ViewNotifiable::Flag::FilterWorkspaces:
    filterWorkspaces();
    break;
  case ViewNotifiable::Flag::PopulateAndShowWorkspaceContextMenu:
    populateAndShowWorkspaceContextMenu();
    break;
  case ViewNotifiable::Flag::ShowWorkspaceData:
    showWorkspaceData();
    break;
  case ViewNotifiable::Flag::ShowInstrumentView:
    showInstrumentView();
    break;
  case ViewNotifiable::Flag::SaveToProgram:
    saveToProgram();
    break;
  case ViewNotifiable::Flag::PlotSpectrum:
    plotSpectrum();
    break;
  case ViewNotifiable::Flag::PlotSpectrumWithErrors:
    plotSpectrumWithErrors();
    break;
  case ViewNotifiable::Flag::ShowColourFillPlot:
    showColourFillPlot();
    break;
  case ViewNotifiable::Flag::ShowDetectorsTable:
    showDetectorsTable();
    break;
  case ViewNotifiable::Flag::ShowBoxDataTable:
    showBoxDataTable();
    break;
  case ViewNotifiable::Flag::ShowVatesGUI:
    showVatesGUI();
    break;
  case ViewNotifiable::Flag::ShowMDPlot:
    showMDPlot();
    break;
  case ViewNotifiable::Flag::ShowListData:
    showListData();
    break;
  case ViewNotifiable::Flag::ShowSpectrumViewer:
    showSpectrumViewer();
    break;
  case ViewNotifiable::Flag::ShowSliceViewer:
    showSliceViewer();
    break;
  case ViewNotifiable::Flag::ShowLogs:
    showLogs();
    break;
  case ViewNotifiable::Flag::ShowSampleMaterialWindow:
    showSampleMaterialWindow();
    break;
  case ViewNotifiable::Flag::ShowAlgorithmHistory:
    showAlgorithmHistory();
    break;
  case ViewNotifiable::Flag::ShowTransposed:
    showTransposed();
    break;
  case ViewNotifiable::Flag::ConvertToMatrixWorkspace:
    convertToMatrixWorkspace();
    break;
  case ViewNotifiable::Flag::ConvertMDHistoToMatrixWorkspace:
    convertMDHistoToMatrixWorkspace();
    break;
  case ViewNotifiable::Flag::ClearUBMatrix:
    clearUBMatrix();
    break;
  case ViewNotifiable::Flag::ShowSurfacePlot:
    showSurfacePlot();
    break;
  case ViewNotifiable::Flag::ShowContourPlot:
    showContourPlot();
    break;
  case ViewNotifiable::Flag::RefreshWorkspaces:
    refreshWorkspaces();
    break;
  }
}
Пример #5
0
void WorkspacePresenter::showLogs() {
  auto view = lockView();
  view->showLogs();
}