[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