void AP2DataPlot2D::removeGraphLeft() { if (ui.tableWidget->selectedItems().size() == 0) { return; } ui.tableWidget->selectedItems()[0]->row(); if (ui.tableWidget->horizontalHeaderItem(ui.tableWidget->selectedItems()[0]->column())) { QString headertext = ui.tableWidget->horizontalHeaderItem(ui.tableWidget->selectedItems()[0]->column())->text(); QString itemtext = ui.tableWidget->item(ui.tableWidget->selectedItems()[0]->row(),0)->text(); itemDisabled(itemtext + "." + headertext); m_dataSelectionScreen->disableItem(itemtext + "." + headertext); } }
void DataSelectionScreen::checkBoxClicked(bool checked) { QCheckBox *check = qobject_cast<QCheckBox*>(sender()); if (!check) { return; } if (checked) { emit itemEnabled(check->text()); } else { emit itemDisabled(check->text()); } }
void DataSelectionScreen::onItemChanged(QTreeWidgetItem* item,int column) { if (!item->parent()) { return; } QString name = item->parent()->text(0) + "." + item->text(0); if (item->checkState(0) == Qt::Checked) { if (!m_enabledList.contains(name)) { m_enabledList.append(name); emit itemEnabled(name); } } else { if (m_enabledList.contains(name)) { m_enabledList.removeOne(name); emit itemDisabled(name); } } }
AP2DataPlot2D::AP2DataPlot2D(QWidget *parent) : QWidget(parent), m_uas(NULL), m_logDownloadDialog(NULL), m_updateTimer(NULL), m_tlogReplayEnabled(false) { m_startIndex = 0; m_axisGroupingDialog = 0; m_logLoaderThread= 0; m_logLoaded = false; m_progressDialog=0; m_currentIndex=0; m_graphCount=0; m_showOnlyActive = false; ui.setupUi(this); QDateTime utc = QDateTime::currentDateTimeUtc(); utc.setTimeSpec(Qt::LocalTime); m_timeDiff = QDateTime::currentDateTime().msecsTo(utc); m_plot = new QCustomPlot(ui.widget); m_plot->setInteraction(QCP::iRangeDrag, true); m_plot->setInteraction(QCP::iRangeZoom, true); connect(m_plot,SIGNAL(axisDoubleClick(QCPAxis*,QCPAxis::SelectablePart,QMouseEvent*)),this,SLOT(axisDoubleClick(QCPAxis*,QCPAxis::SelectablePart,QMouseEvent*))); connect(m_plot,SIGNAL(mouseMove(QMouseEvent*)),this,SLOT(plotMouseMove(QMouseEvent*))); //ui.horizontalLayout_3->addWidget(m_plot); ui.verticalLayout_5->insertWidget(0,m_plot); m_plot->show(); m_plot->plotLayout()->clear(); m_wideAxisRect = new QCPAxisRect(m_plot); m_wideAxisRect->setupFullAxesBox(true); m_wideAxisRect->axis(QCPAxis::atRight, 0)->setTickLabels(false); m_wideAxisRect->removeAxis(m_wideAxisRect->axis(QCPAxis::atLeft,0)); m_wideAxisRect->axis(QCPAxis::atBottom, 0)->setTickLabelType(QCPAxis::ltDateTime); m_wideAxisRect->axis(QCPAxis::atBottom, 0)->setDateTimeFormat("hh:mm:ss"); m_wideAxisRect->axis(QCPAxis::atBottom, 0)->setRange(m_timeDiff / 1000,(m_timeDiff / 1000) + 100); //Default range of 0-100 milliseconds? m_plot->plotLayout()->addElement(0, 0, m_wideAxisRect); QCPMarginGroup *marginGroup = new QCPMarginGroup(m_plot); m_wideAxisRect->setMarginGroup(QCP::msLeft | QCP::msRight, marginGroup); m_dataSelectionScreen = new DataSelectionScreen(this); connect( m_dataSelectionScreen,SIGNAL(itemEnabled(QString)),this,SLOT(itemEnabled(QString))); connect( m_dataSelectionScreen,SIGNAL(itemDisabled(QString)),this,SLOT(itemDisabled(QString))); ui.horizontalLayout_3->addWidget(m_dataSelectionScreen); ui.horizontalLayout_3->setStretch(0,5); ui.horizontalLayout_3->setStretch(1,1); connect(UASManager::instance(),SIGNAL(activeUASSet(UASInterface*)),this,SLOT(activeUASSet(UASInterface*))); activeUASSet(UASManager::instance()->getActiveUAS()); ui.tableWidget->setContextMenuPolicy(Qt::ActionsContextMenu); m_addGraphAction = new QAction("Add To Graph",0); ui.tableWidget->addAction(m_addGraphAction); connect(m_addGraphAction,SIGNAL(triggered()),this,SLOT(addGraphLeft())); ui.tableWidget->setVisible(false); ui.hideExcelView->setVisible(false); connect(ui.loadOfflineLogButton,SIGNAL(clicked()),this,SLOT(loadButtonClicked())); connect(ui.autoScrollCheckBox,SIGNAL(clicked(bool)),this,SLOT(autoScrollClicked(bool))); connect(ui.hideExcelView,SIGNAL(clicked(bool)),ui.tableWidget,SLOT(setHidden(bool))); connect(ui.tableWidget,SIGNAL(cellClicked(int,int)),this,SLOT(tableCellClicked(int,int))); ui.logTypeLabel->setText("<p align=\"center\"><span style=\" font-size:24pt; color:#0000ff;\">Live Data</span></p>"); connect(ui.graphControlsPushButton,SIGNAL(clicked()),this,SLOT(graphControlsButtonClicked())); model = new QStandardItemModel(); connect(ui.toKMLPushButton, SIGNAL(clicked()), this, SIGNAL(toKMLClicked())); connect(ui.horizontalScrollBar,SIGNAL(sliderMoved(int)),this,SLOT(horizontalScrollMoved(int))); connect(ui.verticalScrollBar,SIGNAL(sliderMoved(int)),this,SLOT(verticalScrollMoved(int))); connect(ui.horizontalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(horizontalScrollMoved(int))); connect(ui.verticalScrollBar, SIGNAL(valueChanged(int)), this, SLOT(verticalScrollMoved(int))); connect(m_wideAxisRect->axis(QCPAxis::atBottom), SIGNAL(rangeChanged(QCPRange)), this, SLOT(xAxisChanged(QCPRange))); m_plot->setPlottingHint(QCP::phFastPolylines,true); connect(ui.downloadPushButton, SIGNAL(clicked()), this, SLOT(showLogDownloadDialog())); ui.downloadPushButton->setEnabled(false); connect(ui.loadTLogButton,SIGNAL(clicked()),this,SLOT(replyTLogButtonClicked())); }