diff --git a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui index d37354936b6e17cb45256f2635b3da5ee5ab6de6..20fc970d03e824baa7171c9c153f737336db6fae 100644 --- a/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui +++ b/VimbaCPP/Examples/AsynchronousOpenCVRecorder/Qt/Source/res/AsynchronousOpenCVRecorder.ui @@ -101,19 +101,6 @@ <string>ColorProcessing</string> </property> </widget> - <widget class="QPushButton" name="pushButton"> - <property name="geometry"> - <rect> - <x>520</x> - <y>540</y> - <width>89</width> - <height>25</height> - </rect> - </property> - <property name="text"> - <string>PushButton</string> - </property> - </widget> </widget> </widget> <layoutdefault spacing="6" margin="11"/> diff --git a/recorder/obj/moc_mainwindow.cpp b/recorder/obj/moc_mainwindow.cpp index db7db12a53a9133719ba5b4db016801ace1a9653..299f62b9624cd40b02f06e72a4ed44d78c8c7dfd 100644 --- a/recorder/obj/moc_mainwindow.cpp +++ b/recorder/obj/moc_mainwindow.cpp @@ -23,7 +23,7 @@ QT_WARNING_PUSH QT_WARNING_DISABLE_DEPRECATED struct qt_meta_stringdata_MainWindow_t { const uint offsetsAndSize[8]; - char stringdata0[43]; + char stringdata0[26]; }; #define QT_MOC_LITERAL(ofs, len) \ uint(offsetof(qt_meta_stringdata_MainWindow_t, stringdata0) + ofs), len @@ -32,10 +32,10 @@ static const qt_meta_stringdata_MainWindow_t qt_meta_stringdata_MainWindow = { QT_MOC_LITERAL(0, 10), // "MainWindow" QT_MOC_LITERAL(11, 3), // "log" QT_MOC_LITERAL(15, 0), // "" -QT_MOC_LITERAL(16, 26) // "on_button_listcams_clicked" +QT_MOC_LITERAL(16, 9) // "checkCams" }, - "MainWindow\0log\0\0on_button_listcams_clicked" + "MainWindow\0log\0\0checkCams" }; #undef QT_MOC_LITERAL @@ -54,7 +54,7 @@ static const uint qt_meta_data_MainWindow[] = { // slots: name, argc, parameters, tag, flags, initial metatype offsets 1, 1, 26, 2, 0x0a, 1 /* Public */, - 3, 0, 29, 2, 0x08, 3 /* Private */, + 3, 0, 29, 2, 0x0a, 3 /* Public */, // slots: parameters QMetaType::Void, QMetaType::QString, 2, @@ -70,7 +70,7 @@ void MainWindow::qt_static_metacall(QObject *_o, QMetaObject::Call _c, int _id, (void)_t; switch (_id) { case 0: _t->log((*reinterpret_cast< std::add_pointer_t<QString>>(_a[1]))); break; - case 1: _t->on_button_listcams_clicked(); break; + case 1: _t->checkCams(); break; default: ; } } diff --git a/recorder/src/mainwindow.cpp b/recorder/src/mainwindow.cpp index e90ce2248eea9ee0c67cef100cd2f80c7f476f26..72d4ebe26e23712f1d625c7579287e9f79d7cbe7 100644 --- a/recorder/src/mainwindow.cpp +++ b/recorder/src/mainwindow.cpp @@ -3,7 +3,7 @@ #include "../obj/ui_mainwindow.h" #include <QDebug> -#include <QPushButton> +// #include <QPushButton> #include <unistd.h> #include <iostream> @@ -14,22 +14,22 @@ using namespace AVT::VmbAPI; MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MainWindow) - , sys(VimbaSystem::GetInstance()) // Create and get Vimba singleton - { +, sys(VimbaSystem::GetInstance()) // Create and get Vimba singleton +, cameras(CameraPtrVector()) +{ ui->setupUi(this); - // QMetaObject::connectSlotsByName(this); //sseems to be done automagically - // QObject::connect(&ui->button_listcams, &QPushButton::clicked(), list_cams); - + QObject::connect(ui->b_update, SIGNAL(clicked()), this, SLOT(checkCams())); log(getVersionString()); if ( VmbErrorSuccess == sys.Startup() ) { log( " Started Vimba C++ Api" ); + checkCams(); } else { - log( " Failed to start Vimba C++ Api" ); - } + log( " Failed to start Vimba C++ Api" ); +} } MainWindow::~MainWindow() @@ -45,14 +45,20 @@ MainWindow::~MainWindow() delete ui; } -// void MainWindow::foo() +// void MainWindow::open() // { -// VimbaSystem::RegisterCameraListObserver +// //open 1rst cam in list +// if ( VmbErrorSuccess == (* iter)->Open( VmbAccessModeFull ) ) +// { +// std :: cout << " Camera opened " << std :: endl; +// } +// ID can be IP / MAC / ID +// sys->OpenCameraByID // } -void MainWindow::on_button_listcams_clicked() +// void MainWindow::on_b_listcams_clicked() +void MainWindow::checkCams() { - CameraPtrVector cameras; // A vector of std::shared_ptr<AVT::VmbAPI::Camera> objects VmbErrorType err = sys.GetCameras( cameras ); // Fetch all cameras known to Vimba if( VmbErrorSuccess == err ) { @@ -100,12 +106,14 @@ void MainWindow::printCamInfo( const CameraPtr &camera ) "\n/// @ Interface ID : " + strInterfaceID + "\n\n"; log( QString::fromStdString(caminfo)); + + // ui->lw_cams-> } void MainWindow::log(const QString& msg) { //for std::string, use: log(QString::fromStdString(msg)) - ui->logWidget->insertItem( 0, msg ); + ui->lw_log->insertItem( 0, msg ); qDebug() << msg; } diff --git a/recorder/src/mainwindow.h b/recorder/src/mainwindow.h index f684e7590918594484ec7c78f2ffcc061156d899..0a8ed61b0bc83f3674a5fca3ed2d1a7e4cd46711 100644 --- a/recorder/src/mainwindow.h +++ b/recorder/src/mainwindow.h @@ -2,7 +2,9 @@ #define MAINWINDOW_H #include <QMainWindow> -#include "VimbaCPP/Include/VimbaCPP.h" +#include <VimbaCPP/Include/VimbaCPP.h> +#include <VimbaCPP/Include/SharedPointerDefines.h> +// #include <VimbaCPP/Include/Camera.h> QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } @@ -10,6 +12,7 @@ QT_END_NAMESPACE namespace AVT { namespace VmbAPI { class VimbaSystem; } } + class MainWindow : public QMainWindow { Q_OBJECT @@ -21,13 +24,14 @@ public: public slots: void log(const QString&); -private slots: - void on_button_listcams_clicked(); +// private slots: + void checkCams(); private: void printCamInfo( const AVT::VmbAPI::CameraPtr &camera ); Ui::MainWindow *ui; AVT::VmbAPI::VimbaSystem &sys; + AVT::VmbAPI::CameraPtrVector cameras; }; #endif // MAINWINDOW_H diff --git a/recorder/src/mainwindow.ui b/recorder/src/mainwindow.ui index 8789cfd9830a39101a5be4bdc07e23179e57edfa..8b0ce1fe27e61ea910d73b0766a483366aa31383 100644 --- a/recorder/src/mainwindow.ui +++ b/recorder/src/mainwindow.ui @@ -13,21 +13,7 @@ <property name="windowTitle"> <string>MainWindow</string> </property> - <widget class="QWidget" name="centralwidget"> - <widget class="QPushButton" name="button_listcams"> - <property name="geometry"> - <rect> - <x>61</x> - <y>260</y> - <width>89</width> - <height>25</height> - </rect> - </property> - <property name="text"> - <string>list cams</string> - </property> - </widget> - </widget> + <widget class="QWidget" name="centralwidget"/> <widget class="QMenuBar" name="menubar"> <property name="geometry"> <rect> @@ -46,7 +32,26 @@ <widget class="QWidget" name="dockWidgetContents"> <layout class="QVBoxLayout" name="verticalLayout"> <item> - <widget class="QListWidget" name="logWidget"/> + <widget class="QListWidget" name="lw_log"/> + </item> + </layout> + </widget> + </widget> + <widget class="QDockWidget" name="dockWidget_2"> + <attribute name="dockWidgetArea"> + <number>1</number> + </attribute> + <widget class="QWidget" name="dockWidgetContents_2"> + <layout class="QVBoxLayout" name="verticalLayout_2"> + <item> + <widget class="QPushButton" name="b_update"> + <property name="text"> + <string>update</string> + </property> + </widget> + </item> + <item> + <widget class="QListWidget" name="lw_cams"/> </item> </layout> </widget>