[pktools] 230/375: combo boxes and input list in pkcomposite_gui.cc
Bas Couwenberg
sebastic at xs4all.nl
Wed Dec 3 21:54:16 UTC 2014
This is an automated email from the git hooks/post-receive script.
sebastic-guest pushed a commit to branch upstream-master
in repository pktools.
commit 9ca9ffacd23639479a0f73fd0e3f1f1b0cd1ed21
Author: Pieter Kempeneers <kempenep at gmail.com>
Date: Wed Apr 2 18:32:15 2014 +0200
combo boxes and input list in pkcomposite_gui.cc
---
qt/pkcomposite_gui/mainwindow.cc | 99 ++++++++++++++++++++++++++++++++++++----
qt/pkcomposite_gui/mainwindow.h | 2 +
qt/pkcomposite_gui/mainwindow.ui | 41 +++++++++++++++--
qt/pkextract_gui/mainwindow.cpp | 40 +++++++++-------
qt/pkextract_gui/mainwindow.h | 4 --
qt/pkextract_gui/mainwindow.ui | 6 +--
qt/pksvm_gui/mainwindow.cpp | 2 +-
qt/pksvm_gui/mainwindow.ui | 2 +-
8 files changed, 155 insertions(+), 41 deletions(-)
diff --git a/qt/pkcomposite_gui/mainwindow.cc b/qt/pkcomposite_gui/mainwindow.cc
index 6e61661..3e44a6f 100644
--- a/qt/pkcomposite_gui/mainwindow.cc
+++ b/qt/pkcomposite_gui/mainwindow.cc
@@ -21,6 +21,8 @@ along with pktools. If not, see <http://www.gnu.org/licenses/>.
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QFileDialog>
+#include <QProcess>
+#include <QMessageBox>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
@@ -29,16 +31,16 @@ MainWindow::MainWindow(QWidget *parent) :
ui->setupUi(this);
QStringList resamplelist;
resamplelist << "near" << "bilinear";
- ui->comboBox_resample->addItems(resamplelist);
+ ui->resample->addItems(resamplelist);
QStringList crulelist;
crulelist << "overwrite" << "maxndvi" << "maxband" <<"minband" << "mean" << "mode" << "median" << "sum";
- ui->comboBox_crule->addItems(crulelist);
+ ui->crule->addItems(crulelist);
QStringList interleavedlist;
interleavedlist << "BAND" << "LINE" << "PIXEL" <<"BSQ";
- ui->comboBox_interleaved->addItems(interleavedlist);
+ ui->interleaved->addItems(interleavedlist);
QStringList compressedlist;
compressedlist << "NONE" << "LZW" << "PACKBITS" <<"DEFLATE";
- ui->comboBox_compressed->addItems(compressedlist);
+ ui->compressed->addItems(compressedlist);
QStringList otypelist;
otypelist << "Byte" << "Int16" << "UInt16" << "UInt32" << "Int32" << "Float32" << "Float64" << "CInt16" << "CInt32" << "CFloat32" << "CFloat64";
ui->otype->addItems(otypelist);
@@ -62,8 +64,8 @@ void MainWindow::setDefaults()
ui->lrx->clear();
ui->lry->clear();
//composit
- ui->comboBox_resample->setCurrentIndex(0);
- ui->comboBox_crule->setCurrentIndex(0);
+ ui->resample->setCurrentIndex(0);
+ ui->crule->setCurrentIndex(0);
ui->rband->setText("0");
ui->bndnodata->setText("0");
ui->srcnodata->setText("0");
@@ -78,9 +80,9 @@ void MainWindow::setDefaults()
ui->description->clear();
ui->dx->clear();
ui->dy->clear();
- ui->comboBox_interleaved->setCurrentIndex(0);
+ ui->interleaved->setCurrentIndex(0);
ui->tiled->setChecked(false);
- ui->comboBox_compressed->setCurrentIndex(0);
+ ui->compressed->setCurrentIndex(0);
ui->dstnodata->clear();
ui->file->clear();
}
@@ -113,7 +115,7 @@ void MainWindow::on_actionInput_image_triggered()
void MainWindow::on_actionOutput_image_triggered()
{
- QString outputfilename=QFileDialog::getOpenFileName(this,"Output image");
+ QString outputfilename=QFileDialog::getSaveFileName(this,"Output image","","*.*");
ui->output->setText(outputfilename);
}
@@ -122,3 +124,82 @@ void MainWindow::on_actionQuit_triggered()
close();
}
+
+void MainWindow::on_toolButton_Run_clicked()
+{
+ try{
+ ui->commandLineEdit->clear();
+ ui->consoleEdit->clear();
+
+ QString program = "pkcomposite";
+
+ if(ui->listWidget_input->count()<1)
+ MainWindow::on_actionInput_image_triggered();
+ if(ui->listWidget_input->count()<1){
+ QString qsError="No input image file selected";
+ throw(qsError);
+ }
+
+ for(int i = 0; i < ui->listWidget_input->count(); ++i)
+ {
+ QListWidgetItem* item = ui->listWidget_input->item(i);
+ program+=" --input "+item->text();
+ }
+
+ if(ui->output->text().isEmpty())
+ MainWindow::on_actionOutput_image_triggered();
+ if(ui->output->text().isEmpty()){
+ QString qsError="No output image file selected";
+ throw(qsError);
+ }
+
+ program+=" --resample "+ui->resample->currentText();
+ program+=" --crule "+ui->crule->currentText();
+ program+=" --otype "+ui->otype->currentText();
+ program+=" --oformat "+ui->oformat->currentText();
+ program+=" -co COMPRESS="+ui->compressed->currentText();
+ program+=" -co INTERLEAVED="+ui->interleaved->currentText();
+ if(ui->tiled->isChecked())
+ program+=" -co TILED=YES";
+
+// QList<QCheckBox*> qcheckBoxList = this->findChildren<QCheckBox *>();
+
+// for(QList<QCheckBox*>::ConstIterator qcbit=qcheckBoxList.begin();qcbit!=qcheckBoxList.end();++qcbit){
+// if((*qcbit)->isChecked()){
+// QString qsOption;
+// qsOption+=" --";
+// qsOption+=(*qcbit)->objectName();
+// program+=qsOption;
+// }
+// }
+
+ QList<QLineEdit*> qlineEditList = this->findChildren<QLineEdit *>();
+
+ for(QList<QLineEdit*>::ConstIterator qlbit=qlineEditList.begin();qlbit!=qlineEditList.end();++qlbit){
+ if(!((*qlbit)->text().isEmpty())){
+ QString qsOption;
+ qsOption+=" --";
+ qsOption+=(*qlbit)->objectName();
+ qsOption+=" ";
+ qsOption+=(*qlbit)->text();
+ program+=qsOption;
+ }
+ }
+
+ ui->commandLineEdit->insert(program);
+
+// QProcess *myProcess = new QProcess(parent);
+ QProcess *myProcess = new QProcess(this);
+
+// myProcess->start(program);
+ myProcess->waitForFinished(-1);
+ QString p_stdout = myProcess->readAll();
+ ui->consoleEdit->insertPlainText(p_stdout);
+ delete myProcess;
+ }
+ catch(QString qsError){
+ QMessageBox msgBox;
+ msgBox.setText(qsError);
+ msgBox.exec();
+ }
+}
diff --git a/qt/pkcomposite_gui/mainwindow.h b/qt/pkcomposite_gui/mainwindow.h
index 9f61cc6..f076f8b 100644
--- a/qt/pkcomposite_gui/mainwindow.h
+++ b/qt/pkcomposite_gui/mainwindow.h
@@ -48,6 +48,8 @@ private slots:
void on_toolButton_output_clicked();
+ void on_toolButton_Run_clicked();
+
private:
Ui::MainWindow *ui;
void setDefaults();
diff --git a/qt/pkcomposite_gui/mainwindow.ui b/qt/pkcomposite_gui/mainwindow.ui
index b680b08..4158030 100644
--- a/qt/pkcomposite_gui/mainwindow.ui
+++ b/qt/pkcomposite_gui/mainwindow.ui
@@ -18,7 +18,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>0</number>
+ <number>2</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
@@ -125,7 +125,7 @@
</spacer>
</item>
<item row="0" column="1">
- <widget class="QComboBox" name="comboBox_resample"/>
+ <widget class="QComboBox" name="resample"/>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_18">
@@ -142,7 +142,7 @@
</widget>
</item>
<item row="1" column="1">
- <widget class="QComboBox" name="comboBox_crule"/>
+ <widget class="QComboBox" name="crule"/>
</item>
<item row="1" column="3">
<widget class="QLabel" name="label_19">
@@ -277,7 +277,7 @@
</widget>
</item>
<item row="8" column="1">
- <widget class="QComboBox" name="comboBox_interleaved"/>
+ <widget class="QComboBox" name="interleaved"/>
</item>
<item row="4" column="1">
<widget class="QComboBox" name="oformat"/>
@@ -307,7 +307,7 @@
</widget>
</item>
<item row="8" column="5">
- <widget class="QComboBox" name="comboBox_compressed"/>
+ <widget class="QComboBox" name="compressed"/>
</item>
<item row="8" column="0">
<widget class="QLabel" name="label_12">
@@ -410,6 +410,37 @@
</item>
</layout>
</widget>
+ <widget class="QWidget" name="tab_4">
+ <attribute name="title">
+ <string>Console</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QLabel" name="label_24">
+ <property name="text">
+ <string>Command line</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="commandLineEdit"/>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_25">
+ <property name="text">
+ <string>Console output</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="consoleEdit"/>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
</widget>
</item>
<item>
diff --git a/qt/pkextract_gui/mainwindow.cpp b/qt/pkextract_gui/mainwindow.cpp
index f392c45..95e22e9 100644
--- a/qt/pkextract_gui/mainwindow.cpp
+++ b/qt/pkextract_gui/mainwindow.cpp
@@ -28,9 +28,12 @@ MainWindow::~MainWindow()
void MainWindow::setDefaults()
{
//tab input/output
+ ui->input->clear();
+ ui->mask->clear();
ui->msknodata->setText("0");
ui->polygon->setChecked(false);
ui->f->setCurrentIndex(0);
+ ui->output->clear();
//tab extract
ui->bname->setText("B");
ui->rule->setCurrentIndex(0);
@@ -39,26 +42,26 @@ void MainWindow::setDefaults()
void MainWindow::on_actionInput_triggered()
{
- m_input = QFileDialog::getOpenFileName(this, "Input");
- ui->input->setText(m_input);
+ QString qsinput = QFileDialog::getOpenFileName(this, "Input");
+ ui->input->setText(qsinput);
}
void MainWindow::on_actionSample_triggered()
{
- m_sample = QFileDialog::getOpenFileName(this, "Sample");
- ui->sample->setText(m_sample);
+ QString qssample = QFileDialog::getOpenFileName(this, "Sample");
+ ui->sample->setText(qssample);
}
void MainWindow::on_actionMask_triggered()
{
- m_mask = QFileDialog::getOpenFileName(this, "Mask");
- ui->mask->setText(m_mask);
+ QString qsmask = QFileDialog::getOpenFileName(this, "Mask");
+ ui->mask->setText(qsmask);
}
void MainWindow::on_actionOutput_triggered()
{
- m_output = QFileDialog::getOpenFileName(this, "Output");
- ui->output->setText(m_output);
+ QString qsoutput = QFileDialog::getSaveFileName(this,"Output image","","*.*");
+ ui->output->setText(qsoutput);
}
void MainWindow::on_toolButton_input_clicked()
@@ -98,23 +101,28 @@ void MainWindow::setClassTable(const QStringList &labels)
void MainWindow::on_pushButton_run_clicked()
{
try{
- ui->input->clear();
+ ui->commandLineEdit->clear();
ui->consoleEdit->clear();
QString program = "pkextract";
- if(m_sample.isEmpty())
+ if(ui->sample->text().isEmpty())
MainWindow::on_actionSample_triggered();
-
- if(m_sample.isEmpty()){
- QString qsError="No sample file selected";
+ if(ui->sample->text().isEmpty()){
+ QString qsError="No sample image file selected";
throw(qsError);
}
- if(m_input.isEmpty())
+ if(ui->input->text().isEmpty())
MainWindow::on_actionInput_triggered();
+ if(ui->input->text().isEmpty()){
+ QString qsError="No input image file selected";
+ throw(qsError);
+ }
- if(m_input.isEmpty()){
- QString qsError="No input file selected";
+ if(ui->output->text().isEmpty())
+ MainWindow::on_actionOutput_triggered();
+ if(ui->output->text().isEmpty()){
+ QString qsError="No output image file selected";
throw(qsError);
}
diff --git a/qt/pkextract_gui/mainwindow.h b/qt/pkextract_gui/mainwindow.h
index 3ae124b..32e6323 100644
--- a/qt/pkextract_gui/mainwindow.h
+++ b/qt/pkextract_gui/mainwindow.h
@@ -44,10 +44,6 @@ private:
void setDefaults();
Ui::MainWindow *ui;
- QString m_input;
- QString m_sample;
- QString m_mask;
- QString m_output;
};
#endif // MAINWINDOW_H
diff --git a/qt/pkextract_gui/mainwindow.ui b/qt/pkextract_gui/mainwindow.ui
index c5a213b..f63c9ef 100644
--- a/qt/pkextract_gui/mainwindow.ui
+++ b/qt/pkextract_gui/mainwindow.ui
@@ -265,15 +265,11 @@
</layout>
</item>
</layout>
- <zorder>tableView_labels</zorder>
- <zorder>tableView_labels</zorder>
- <zorder>gridLayoutWidget_3</zorder>
- <zorder>label_22</zorder>
<zorder></zorder>
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
- <string>Command line</string>
+ <string>Console</string>
</attribute>
<layout class="QHBoxLayout" name="horizontalLayout_6">
<item>
diff --git a/qt/pksvm_gui/mainwindow.cpp b/qt/pksvm_gui/mainwindow.cpp
index 121163b..79e050f 100644
--- a/qt/pksvm_gui/mainwindow.cpp
+++ b/qt/pksvm_gui/mainwindow.cpp
@@ -78,7 +78,7 @@ void MainWindow::on_actionMask_triggered()
void MainWindow::on_actionOutput_triggered()
{
- QString qsoutput = QFileDialog::getOpenFileName(this, "Output");
+ QString qsoutput = QFileDialog::getSaveFileName(this,"Output image","","*.*");
ui->output->setText(qsoutput);
}
diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pksvm_gui/mainwindow.ui
index 9317fc3..6c79e2f 100644
--- a/qt/pksvm_gui/mainwindow.ui
+++ b/qt/pksvm_gui/mainwindow.ui
@@ -378,7 +378,7 @@
</widget>
<widget class="QWidget" name="tab_4">
<attribute name="title">
- <string>Command line</string>
+ <string>Console</string>
</attribute>
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git
More information about the Pkg-grass-devel
mailing list