Change stretchpanel to QToolBar
This commit is contained in:
+1
-1
@@ -34,7 +34,7 @@ set(TENMON_SRC
|
||||
rawimage.cpp
|
||||
starfit.cpp
|
||||
stfslider.cpp
|
||||
stretchpanel.cpp
|
||||
stretchtoolbar.cpp
|
||||
)
|
||||
|
||||
qt5_add_resources(TENMON_SRC resources.qrc)
|
||||
|
||||
+6
-9
@@ -41,11 +41,11 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
m_imageGL = new ImageScrollAreaGL(this);
|
||||
setCentralWidget(m_imageGL);
|
||||
|
||||
m_stretchPanel = new StretchPanel(this);
|
||||
m_stretchPanel = new StretchToolbar(this);
|
||||
connect(m_stretchPanel, SIGNAL(paramChanged(float,float,float)), m_imageGL->imageWidget(), SLOT(setMTFParams(float,float,float)));
|
||||
connect(m_stretchPanel, &StretchPanel::autoStretch, [&](){ m_stretchPanel->stretchImage(m_ringList->currentImage().get()); });
|
||||
connect(m_stretchPanel, &StretchPanel::invert, m_imageGL->imageWidget(), &ImageWidget::invert);
|
||||
connect(m_stretchPanel, &StretchPanel::superPixel, m_imageGL->imageWidget(), &ImageWidget::superPixel);
|
||||
connect(m_stretchPanel, &StretchToolbar::autoStretch, [&](){ m_stretchPanel->stretchImage(m_ringList->currentImage().get()); });
|
||||
connect(m_stretchPanel, &StretchToolbar::invert, m_imageGL->imageWidget(), &ImageWidget::invert);
|
||||
connect(m_stretchPanel, &StretchToolbar::superPixel, m_imageGL->imageWidget(), &ImageWidget::superPixel);
|
||||
|
||||
m_ringList = new ImageRingList(this);
|
||||
m_filesystem = new FilesystemWidget(m_ringList, this);
|
||||
@@ -58,10 +58,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
m_databaseView = new DataBaseView(m_database, this);
|
||||
connect(m_databaseView, SIGNAL(loadFile(QString)), this, SLOT(loadFile(QString)));
|
||||
|
||||
QDockWidget *stretchDock = new QDockWidget(tr("Stretch"), this);
|
||||
stretchDock->setWidget(m_stretchPanel);
|
||||
stretchDock->setObjectName("strechDock");
|
||||
addDockWidget(Qt::TopDockWidgetArea, stretchDock);
|
||||
addToolBar(Qt::TopToolBarArea, m_stretchPanel);
|
||||
|
||||
QDockWidget *filesystemDock = new QDockWidget(tr("Filesystem"), this);
|
||||
filesystemDock->setWidget(m_filesystem);
|
||||
@@ -144,7 +141,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
|
||||
QMenu *dockMenu = new QMenu(tr("Docks"), this);
|
||||
dockMenu->addAction(infoDock->toggleViewAction());
|
||||
dockMenu->addAction(stretchDock->toggleViewAction());
|
||||
dockMenu->addAction(m_stretchPanel->toggleViewAction());
|
||||
dockMenu->addAction(filesystemDock->toggleViewAction());
|
||||
dockMenu->addAction(databaseViewDock->toggleViewAction());
|
||||
menuBar()->addMenu(dockMenu);
|
||||
|
||||
+2
-2
@@ -9,7 +9,7 @@
|
||||
#include "imageinfo.h"
|
||||
#include "imagescrollareagl.h"
|
||||
#include "filesystemwidget.h"
|
||||
#include "stretchpanel.h"
|
||||
#include "stretchtoolbar.h"
|
||||
#include "databaseview.h"
|
||||
|
||||
class MainWindow : public QMainWindow
|
||||
@@ -18,7 +18,7 @@ class MainWindow : public QMainWindow
|
||||
ImageScrollArea *m_image;
|
||||
ImageScrollAreaGL *m_imageGL;
|
||||
ImageRingList *m_ringList;
|
||||
StretchPanel *m_stretchPanel;
|
||||
StretchToolbar *m_stretchPanel;
|
||||
Database *m_database;
|
||||
ImageInfo *m_info;
|
||||
FilesystemWidget *m_filesystem;
|
||||
|
||||
@@ -12,6 +12,8 @@ static float clamp(float x)
|
||||
|
||||
STFSlider::STFSlider(QWidget *parent) : QWidget(parent)
|
||||
{
|
||||
setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||
setMinimumWidth(100);
|
||||
setMinimumHeight(15);
|
||||
setMaximumHeight(15);
|
||||
setMouseTracking(true);
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#include "stretchpanel.h"
|
||||
#include "stretchtoolbar.h"
|
||||
#include <QVBoxLayout>
|
||||
#include <QDebug>
|
||||
#include <QToolButton>
|
||||
@@ -15,45 +15,31 @@ float MTF(float x, float m)
|
||||
return ((m - 1) * x) / ((2 * m - 1) * x - m);
|
||||
}
|
||||
|
||||
StretchPanel::StretchPanel(QWidget *parent) : QWidget(parent)
|
||||
StretchToolbar::StretchToolbar(QWidget *parent) : QToolBar(tr("Stretch toolbar"), parent)
|
||||
{
|
||||
QHBoxLayout *layout = new QHBoxLayout(this);
|
||||
setLayout(layout);
|
||||
|
||||
setObjectName("stretchtoolbar");
|
||||
m_stfSlider = new STFSlider(this);
|
||||
layout->addWidget(m_stfSlider);
|
||||
addWidget(m_stfSlider);
|
||||
connect(m_stfSlider, SIGNAL(paramChanged(float, float, float)), this, SIGNAL(paramChanged(float,float,float)));
|
||||
|
||||
QToolButton *autoStretchButton = new QToolButton(this);
|
||||
autoStretchButton->setIcon(QIcon(":/nuke.png"));
|
||||
autoStretchButton->setToolTip(tr("Auto Stretch F12"));
|
||||
QAction *autoStretchButton = addAction(QIcon(":/nuke.png"), tr("Auto Stretch F12"));
|
||||
autoStretchButton->setShortcut(Qt::Key_F12);
|
||||
connect(autoStretchButton, SIGNAL(pressed()), this, SIGNAL(autoStretch()));
|
||||
connect(autoStretchButton, SIGNAL(triggered()), this, SIGNAL(autoStretch()));
|
||||
|
||||
QToolButton *resetButton = new QToolButton(this);
|
||||
resetButton->setIcon(style()->standardIcon(QStyle::SP_DialogResetButton));
|
||||
resetButton->setToolTip(tr("Reset Screen Transfer Function F11"));
|
||||
QAction *resetButton = addAction(style()->standardIcon(QStyle::SP_DialogResetButton), tr("Reset Screen Transfer Function F11"));
|
||||
resetButton->setShortcut(Qt::Key_F11);
|
||||
connect(resetButton, &QToolButton::pressed, this, &StretchPanel::resetMTF);
|
||||
connect(resetButton, &QAction::triggered, this, &StretchToolbar::resetMTF);
|
||||
|
||||
QToolButton *invertButton = new QToolButton(this);
|
||||
invertButton->setIcon(QIcon(":/invert.png"));
|
||||
QAction *invertButton = addAction(QIcon(":/invert.png"), tr("Invert colors"));
|
||||
invertButton->setCheckable(true);
|
||||
connect(invertButton, SIGNAL(toggled(bool)), this, SIGNAL(invert(bool)));
|
||||
|
||||
QToolButton *superPixelButton = new QToolButton(this);
|
||||
superPixelButton->setIcon(QIcon(":/bayer.png"));
|
||||
QAction *superPixelButton = addAction(QIcon(":/bayer.png"), tr("Superpixel CFA draw 2x2 pixel as one"));
|
||||
superPixelButton->setCheckable(true);
|
||||
superPixelButton->setToolTip(tr("Superpixel CFA draw 2x2 pixel as one"));
|
||||
connect(superPixelButton, SIGNAL(toggled(bool)), this, SIGNAL(superPixel(bool)));
|
||||
|
||||
layout->addWidget(autoStretchButton);
|
||||
layout->addWidget(resetButton);
|
||||
layout->addWidget(invertButton);
|
||||
layout->addWidget(superPixelButton);
|
||||
}
|
||||
|
||||
void StretchPanel::stretchImage(Image *img)
|
||||
void StretchToolbar::stretchImage(Image *img)
|
||||
{
|
||||
if(img)
|
||||
{
|
||||
@@ -71,7 +57,7 @@ void StretchPanel::stretchImage(Image *img)
|
||||
}
|
||||
}
|
||||
|
||||
void StretchPanel::resetMTF()
|
||||
void StretchToolbar::resetMTF()
|
||||
{
|
||||
m_stfSlider->setMTFParams(0, 0.5, 1);
|
||||
emit paramChanged(0, 0.5, 1);
|
||||
@@ -1,17 +1,17 @@
|
||||
#ifndef STRETCHPANEL_H
|
||||
#define STRETCHPANEL_H
|
||||
#ifndef STRETCHTOOLBAR_H
|
||||
#define STRETCHTOOLBAR_H
|
||||
|
||||
#include <QWidget>
|
||||
#include <QToolBar>
|
||||
#include "stfslider.h"
|
||||
|
||||
class Image;
|
||||
|
||||
class StretchPanel : public QWidget
|
||||
class StretchToolbar : public QToolBar
|
||||
{
|
||||
Q_OBJECT
|
||||
STFSlider *m_stfSlider;
|
||||
public:
|
||||
explicit StretchPanel(QWidget *parent = nullptr);
|
||||
explicit StretchToolbar(QWidget *parent = nullptr);
|
||||
public slots:
|
||||
void stretchImage(Image *img);
|
||||
void resetMTF();
|
||||
@@ -22,4 +22,4 @@ signals:
|
||||
void superPixel(bool enable);
|
||||
};
|
||||
|
||||
#endif // STRETCHPANEL_H
|
||||
#endif // STRETCHTOOLBAR_H
|
||||
Reference in New Issue
Block a user