[TASK] Add a TableWidget for the filter value input.
This commit is contained in:
parent
d1ea7d200f
commit
a8365ea1f5
|
@ -0,0 +1,58 @@
|
|||
#ifndef FILTER_GUI_C
|
||||
#define FILTER_GUI_C
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <QMainWindow>
|
||||
#include <QColor>
|
||||
#include <qboxlayout.h>
|
||||
#include <QTableWidget>
|
||||
|
||||
#include <iostream>
|
||||
|
||||
#include <math.h>
|
||||
|
||||
class FilterGui {
|
||||
|
||||
private:
|
||||
QTableWidget* widget;
|
||||
|
||||
int filter_size;
|
||||
|
||||
void updateGui() {
|
||||
this->widget->setRowCount(this->filter_size);
|
||||
this->widget->setColumnCount(this->filter_size);
|
||||
for(int i=0; i<this->filter_size; i++) {
|
||||
for(int j=0; j<this->filter_size; j++) {
|
||||
this->widget->setItem(i, j, new QTableWidgetItem("0"));
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
public:
|
||||
FilterGui(int filter_size = 3) {
|
||||
this->widget = new QTableWidget();
|
||||
this->setSize(filter_size);
|
||||
};
|
||||
|
||||
~FilterGui() {
|
||||
delete this->widget;
|
||||
this->widget = NULL;
|
||||
};
|
||||
|
||||
QTableWidget* getWidget() {
|
||||
return this->widget;
|
||||
};
|
||||
|
||||
void setSize(int size) {
|
||||
this->filter_size = size;
|
||||
this->updateGui();
|
||||
};
|
||||
|
||||
int getSize() {
|
||||
return this->filter_size;
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
|
||||
#endif
|
|
@ -480,6 +480,12 @@ void ImageViewer::succeedingHistogrammAdaption() {
|
|||
*
|
||||
*****************************************************************************************/
|
||||
|
||||
void ImageViewer::changeFilterSize(int s) {
|
||||
filter_gui->setSize(((s+1)*2)+1);
|
||||
logFile << "done." << std::endl;
|
||||
renewLogging();
|
||||
}
|
||||
|
||||
void ImageViewer::generateControlPanels() {
|
||||
// Tab for first task
|
||||
task_tab1_widget = new QWidget();
|
||||
|
@ -686,7 +692,16 @@ void ImageViewer::generateControlPanels() {
|
|||
task_tab4_scrolllayout->setSizeConstraint(QLayout::SetMaximumSize);
|
||||
task_tab4_scrollwidget->setLayout(task_tab4_scrolllayout);
|
||||
|
||||
filter_size_slider = new QSlider(Qt::Horizontal);
|
||||
filter_size_slider->setMinimum(0);
|
||||
filter_size_slider->setMaximum(4);
|
||||
filter_size_slider->setValue(0);
|
||||
QObject::connect(filter_size_slider, SIGNAL(valueChanged(int)), this, SLOT(changeFilterSize(int)));
|
||||
|
||||
filter_gui = new FilterGui();
|
||||
|
||||
task_tab4_scrolllayout->addWidget(filter_size_slider);
|
||||
task_tab4_scrolllayout->addWidget(filter_gui->getWidget());
|
||||
|
||||
tabWidget->addTab(task_tab4_widget, "Task #4");
|
||||
|
||||
|
|
|
@ -55,6 +55,7 @@
|
|||
#include <iostream>
|
||||
|
||||
#include "lazy_image.cpp"
|
||||
#include "filter_gui.cpp"
|
||||
|
||||
class QAction;
|
||||
class QLabel;
|
||||
|
@ -131,6 +132,9 @@ class ImageViewer : public QMainWindow {
|
|||
QScrollArea* task_tab4_scrollarea;
|
||||
QVBoxLayout* task_tab4_scrolllayout;
|
||||
|
||||
QSlider* filter_size_slider;
|
||||
FilterGui* filter_gui;
|
||||
|
||||
// "My" space for storing data/results
|
||||
LazyImage* original;
|
||||
LazyImage* working_copy;
|
||||
|
@ -151,6 +155,7 @@ class ImageViewer : public QMainWindow {
|
|||
void linearHistogrammAdaption();
|
||||
void partialLinearHistogrammAdaption();
|
||||
void succeedingHistogrammAdaption();
|
||||
void changeFilterSize(int s);
|
||||
|
||||
void open();
|
||||
void openReference();
|
||||
|
|
Loading…
Reference in New Issue