X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=mainwindow.cpp;h=510e552af9b1e751e6b44f4d04dc33363e9c627f;hb=04abfae9c8f8e4884e6535d6584df8b5f1e3a1db;hp=02a85876811ff9662c3293216432304d852e5d2d;hpb=d7bed479b0f4d152e6fd08a3fb219bcba32f9586;p=pulseview.git diff --git a/mainwindow.cpp b/mainwindow.cpp index 02a8587..510e552 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -18,17 +18,66 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ +extern "C" { +#include +} + +#include + +#include "about.h" + #include "mainwindow.h" #include "ui_mainwindow.h" +#include "samplingbar.h" +#include "sigview.h" + +extern "C" { +/* __STDC_FORMAT_MACROS is required for PRIu64 and friends (in C++). */ +#define __STDC_FORMAT_MACROS +#include +#include +#include +#include +#include +} MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), - ui(new Ui::MainWindow) + _ui(new Ui::MainWindow) { - ui->setupUi(this); + _ui->setupUi(this); + + _sampling_bar = new SamplingBar(this); + connect(_sampling_bar, SIGNAL(run_stop()), this, + SLOT(run_stop())); + addToolBar(_sampling_bar); + + _view = new SigView(_session, this); + _ui->verticalLayout->addWidget(_view); } MainWindow::~MainWindow() { - delete ui; + delete _ui; +} + +void MainWindow::on_actionOpen_triggered() +{ + QString file_name = QFileDialog::getOpenFileName( + this, tr("Open File"), "", + tr("Sigrok Sessions (*.sr)")); + _session.load_file(file_name.toStdString()); +} + +void MainWindow::on_actionAbout_triggered() +{ + About dlg(this); + dlg.exec(); +} + +void MainWindow::run_stop() +{ + _session.start_capture( + _sampling_bar->get_selected_device(), + _sampling_bar->get_sample_rate()); }