#ifndef CAMCONFIG_H
#define CAMCONFIG_H

#include <QDialog>
#include <QComboBox>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QStackedWidget>
#include <QGridLayout>
#include <pylon/PylonIncludes.h>
#include "camerasetup.h"

class ROI;

namespace Ui {
class CamConfigurator;
}

class CamConfigurator : public QDialog
{
    Q_OBJECT

public:
    explicit CamConfigurator(Pylon::DeviceInfoList_t &deviceList, QWidget *parent = 0);
    ~CamConfigurator();

    CameraLayout layout();

public slots:
    void modeChanged(int idx);
    void primaryDeviceChanged(int idx);
//    void orientationChanged(int idx);

// signals:
//     void column_visibility_changed(QString who, QString column, bool state);
//     void recent_file_changed(QStringList);

private:
    Pylon::DeviceInfoList_t deviceList;
    QComboBox *mode_combo, *device_combo; //, *orientation_combo;
    QStackedWidget *stack;
    QDialogButtonBox *buttonbox;
    CameraSetup *preview;

    CameraSetup* singleCameraView();
    CameraSetup* stereoCameraView();
};

#endif // CAMCONFIG_H