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 509911597661f085f030d380f78bc2c5d4cbe598 Author: Pieter Kempeneers <kempe...@gmail.com> Date: Tue Apr 1 18:49:42 2014 +0200 clear input and output console at begin of run --- qt/pkinfo/main.cpp | 31 -- qt/pkinfo/mainwindow.cpp | 158 ---------- qt/pkinfo/mainwindow.h | 57 ---- qt/pkinfo/mainwindow.ui | 727 -------------------------------------------- qt/pkinfo/pkinfo.pro | 20 -- qt/pksvm_gui/mainwindow.cpp | 36 ++- qt/pksvm_gui/mainwindow.h | 8 +- qt/pksvm_gui/mainwindow.ui | 4 +- src/apps/pksvm.cc | 35 ++- 9 files changed, 50 insertions(+), 1026 deletions(-) diff --git a/qt/pkinfo/main.cpp b/qt/pkinfo/main.cpp deleted file mode 100644 index b53cf84..0000000 --- a/qt/pkinfo/main.cpp +++ /dev/null @@ -1,31 +0,0 @@ -/********************************************************************** -main.cc -Copyright (C) 2008-2014 Pieter Kempeneers - -This file is part of pktools - -pktools is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -pktools is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with pktools. If not, see <http://www.gnu.org/licenses/>. -***********************************************************************/ - -#include "mainwindow.h" -#include <QApplication> - -int main(int argc, char *argv[]) -{ - QApplication a(argc, argv); - MainWindow w; - w.show(); - - return a.exec(); -} diff --git a/qt/pkinfo/mainwindow.cpp b/qt/pkinfo/mainwindow.cpp deleted file mode 100644 index 8bd1b6e..0000000 --- a/qt/pkinfo/mainwindow.cpp +++ /dev/null @@ -1,158 +0,0 @@ -/********************************************************************** -mainwindow.cc -Copyright (C) 2008-2014 Pieter Kempeneers - -This file is part of pktools - -pktools is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -pktools is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with pktools. If not, see <http://www.gnu.org/licenses/>. -***********************************************************************/ -#include "mainwindow.h" -#include "ui_mainwindow.h" -#include <QFileDialog> -#include <QMessageBox> -#include <QDir> -#include <QProcess> -#include <QDebug> - -MainWindow::MainWindow(QWidget *parent) : - QMainWindow(parent), - ui(new Ui::MainWindow) -{ - ui->setupUi(this); - -} - -MainWindow::~MainWindow() -{ - delete ui; -} - -void MainWindow::on_button_input_clicked() -{ - MainWindow::on_menu_input_triggered(); -} - -void MainWindow::on_pushButton_Run_clicked() -{ - ui->outputEdit->clear(); - ui->commandLineEdit->clear(); - - QObject *parent; - - try{ - QString program = "pkinfo"; - if(m_inputFilename.isEmpty()) - MainWindow::on_menu_input_triggered(); - - if(m_inputFilename.isEmpty()){ - QString qsError="No input image selected"; - throw(qsError); - } - program+=" --input "; - program+=m_inputFilename; - - 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<QComboBox*> qcomboBoxList = this->findChildren<QComboBox *>(); - - for(QList<QComboBox*>::ConstIterator qcbit=qcomboBoxList.begin();qcbit!=qcomboBoxList.end();++qcbit){ - QString qsOption; - qsOption+=" --"; - qsOption+=(*qcbit)->objectName(); - program+=qsOption; - program+=" "; - program+=QString::number((*qcbit)->currentIndex()); - } - - 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->insertPlainText(program); - -// QProcess *myProcess = new QProcess(parent); - QProcess *myProcess = new QProcess(this); - myProcess->start(program); - myProcess->waitForFinished(-1); - QString p_stdout = myProcess->readAll(); - ui->outputEdit->appendPlainText(p_stdout); - delete myProcess; - } - catch(QString qsError){ - QMessageBox msgBox; - msgBox.setText(qsError); - msgBox.exec(); - } -} - -void MainWindow::on_pushButton_clearOutput_clicked() -{ - ui->outputEdit->clear(); -} - -void MainWindow::on_pushButton_clearCommandLine_clicked() -{ - ui->commandLineEdit->clear(); -} - -void MainWindow::on_menu_input_triggered() -{ - QObject *parent; -// QProcess *myProcess = new QProcess(parent); - QProcess *myProcess = new QProcess(this); - QString program; - m_inputFilename = QFileDialog::getOpenFileName(this, "Input image"); - if ( m_inputFilename.isNull() == false ){ - //fill in combobox with number of bands - program="pkinfo -nb -i "; - program+=m_inputFilename; - myProcess->start(program); - myProcess->waitForFinished(-1); - QString p_stdout = myProcess->readAll(); - qDebug() << p_stdout; - int nband=p_stdout.section(' ',1).toInt(); - QStringList list; - for(int iband=0;iband<nband;++iband){ - QString qsband="band"; - qsband+=QString::number(iband); - list.append(qsband); - } - ui->band->addItems(list); - myProcess->close(); - } - delete myProcess; -} - -void MainWindow::on_actionQuit_triggered() -{ - close(); -} diff --git a/qt/pkinfo/mainwindow.h b/qt/pkinfo/mainwindow.h deleted file mode 100644 index 7db3424..0000000 --- a/qt/pkinfo/mainwindow.h +++ /dev/null @@ -1,57 +0,0 @@ -/********************************************************************** -mainwindow.h -Copyright (C) 2008-2014 Pieter Kempeneers - -This file is part of pktools - -pktools is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -pktools is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with pktools. If not, see <http://www.gnu.org/licenses/>. -***********************************************************************/ - -#ifndef MAINWINDOW_H -#define MAINWINDOW_H - -#include <QMainWindow> - -namespace Ui { -class MainWindow; -} - -class MainWindow : public QMainWindow -{ - Q_OBJECT - -public: - explicit MainWindow(QWidget *parent = 0); - ~MainWindow(); - -private slots: - - void on_pushButton_Run_clicked(); - - void on_button_input_clicked(); - - void on_pushButton_clearOutput_clicked(); - - void on_pushButton_clearCommandLine_clicked(); - - void on_menu_input_triggered(); - - void on_actionQuit_triggered(); - -private: - Ui::MainWindow *ui; - QString m_inputFilename; -}; - -#endif // MAINWINDOW_H diff --git a/qt/pkinfo/mainwindow.ui b/qt/pkinfo/mainwindow.ui deleted file mode 100644 index 14d1593..0000000 --- a/qt/pkinfo/mainwindow.ui +++ /dev/null @@ -1,727 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<ui version="4.0"> - <class>MainWindow</class> - <widget class="QMainWindow" name="MainWindow"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>664</width> - <height>898</height> - </rect> - </property> - <property name="windowTitle"> - <string>pkinfo</string> - </property> - <widget class="QWidget" name="centralWidget"> - <widget class="QPushButton" name="pushButton_clearOutput"> - <property name="geometry"> - <rect> - <x>10</x> - <y>790</y> - <width>105</width> - <height>31</height> - </rect> - </property> - <property name="text"> - <string>Clear</string> - </property> - </widget> - <widget class="QPushButton" name="button_input"> - <property name="geometry"> - <rect> - <x>240</x> - <y>0</y> - <width>97</width> - <height>31</height> - </rect> - </property> - <property name="text"> - <string>Input image...</string> - </property> - </widget> - <widget class="QPushButton" name="pushButton_Run"> - <property name="geometry"> - <rect> - <x>490</x> - <y>0</y> - <width>105</width> - <height>31</height> - </rect> - </property> - <property name="text"> - <string>Run</string> - </property> - </widget> - <widget class="QPlainTextEdit" name="outputEdit"> - <property name="geometry"> - <rect> - <x>10</x> - <y>661</y> - <width>591</width> - <height>121</height> - </rect> - </property> - </widget> - <widget class="QLabel" name="label_3"> - <property name="geometry"> - <rect> - <x>10</x> - <y>630</y> - <width>66</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>Output</string> - </property> - </widget> - <widget class="QLabel" name="label_4"> - <property name="geometry"> - <rect> - <x>10</x> - <y>460</y> - <width>101</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>Command line</string> - </property> - </widget> - <widget class="QTabWidget" name="tabWidget"> - <property name="geometry"> - <rect> - <x>10</x> - <y>40</y> - <width>581</width> - <height>411</height> - </rect> - </property> - <property name="currentIndex"> - <number>0</number> - </property> - <widget class="QWidget" name="datasetinfo"> - <attribute name="title"> - <string>general</string> - </attribute> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>9</x> - <y>10</y> - <width>207</width> - <height>220</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout"> - <item> - <widget class="QCheckBox" name="nband"> - <property name="text"> - <string>number of bands</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="ns"> - <property name="text"> - <string>number of samples</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="nl"> - <property name="text"> - <string>number of lines</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="interleave"> - <property name="text"> - <string>band encoding (interleave)</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="otype"> - <property name="text"> - <string>data type</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="description"> - <property name="text"> - <string>image description</string> - </property> - </widget> - </item> - </layout> - </widget> - </widget> - <widget class="QWidget" name="tab"> - <attribute name="title"> - <string>geo</string> - </attribute> - <widget class="QCheckBox" name="cover"> - <property name="geometry"> - <rect> - <x>190</x> - <y>80</y> - <width>111</width> - <height>26</height> - </rect> - </property> - <property name="text"> - <string>covers area</string> - </property> - </widget> - <widget class="QLineEdit" name="ulx"> - <property name="geometry"> - <rect> - <x>320</x> - <y>60</y> - <width>113</width> - <height>33</height> - </rect> - </property> - </widget> - <widget class="QLabel" name="label_5"> - <property name="geometry"> - <rect> - <x>330</x> - <y>40</y> - <width>91</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>upper left x</string> - </property> - </widget> - <widget class="QLabel" name="label_6"> - <property name="geometry"> - <rect> - <x>450</x> - <y>40</y> - <width>91</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>upper left y</string> - </property> - </widget> - <widget class="QLineEdit" name="uly"> - <property name="geometry"> - <rect> - <x>440</x> - <y>60</y> - <width>113</width> - <height>33</height> - </rect> - </property> - </widget> - <widget class="QLabel" name="label_7"> - <property name="geometry"> - <rect> - <x>330</x> - <y>90</y> - <width>91</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>lower right x</string> - </property> - </widget> - <widget class="QLabel" name="label_8"> - <property name="geometry"> - <rect> - <x>450</x> - <y>90</y> - <width>91</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>lower right y</string> - </property> - </widget> - <widget class="QLineEdit" name="lry"> - <property name="geometry"> - <rect> - <x>440</x> - <y>110</y> - <width>113</width> - <height>33</height> - </rect> - </property> - </widget> - <widget class="QLineEdit" name="lrx"> - <property name="geometry"> - <rect> - <x>320</x> - <y>110</y> - <width>113</width> - <height>33</height> - </rect> - </property> - </widget> - <widget class="QLineEdit" name="xpos"> - <property name="geometry"> - <rect> - <x>320</x> - <y>170</y> - <width>113</width> - <height>33</height> - </rect> - </property> - </widget> - <widget class="QLabel" name="label_9"> - <property name="geometry"> - <rect> - <x>330</x> - <y>150</y> - <width>91</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>position x</string> - </property> - </widget> - <widget class="QLineEdit" name="ypos"> - <property name="geometry"> - <rect> - <x>440</x> - <y>170</y> - <width>113</width> - <height>33</height> - </rect> - </property> - </widget> - <widget class="QLabel" name="label_10"> - <property name="geometry"> - <rect> - <x>450</x> - <y>150</y> - <width>91</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>position y</string> - </property> - </widget> - <widget class="QCheckBox" name="read"> - <property name="geometry"> - <rect> - <x>190</x> - <y>170</y> - <width>121</width> - <height>26</height> - </rect> - </property> - <property name="toolTip"> - <string><html><head/><body><p>position in image coordinates (col, row), unless geotransform is selected</p></body></html></string> - </property> - <property name="text"> - <string>read data at:</string> - </property> - </widget> - <widget class="QLabel" name="label_15"> - <property name="geometry"> - <rect> - <x>400</x> - <y>10</y> - <width>66</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>Set area:</string> - </property> - </widget> - <widget class="QPushButton" name="pushButton_extent"> - <property name="geometry"> - <rect> - <x>440</x> - <y>220</y> - <width>97</width> - <height>31</height> - </rect> - </property> - <property name="text"> - <string>Browse...</string> - </property> - </widget> - <widget class="QLabel" name="label_16"> - <property name="geometry"> - <rect> - <x>270</x> - <y>220</y> - <width>161</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>Set area via vector file:</string> - </property> - </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>0</x> - <y>10</y> - <width>152</width> - <height>240</height> - </rect> - </property> - <layout class="QVBoxLayout" name="verticalLayout_2"> - <item> - <widget class="QCheckBox" name="dx"> - <property name="text"> - <string>cell size in x</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="dy"> - <property name="text"> - <string>cell size in y</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="bbox"> - <property name="text"> - <string>bounding box</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="centre"> - <property name="text"> - <string>image center</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="ref"> - <property name="text"> - <string>reference pixel -(center of gravity)</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="a_srs"> - <property name="text"> - <string>projection info</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="geo"> - <property name="text"> - <string>geotransform</string> - </property> - </widget> - </item> - </layout> - </widget> - <zorder>layoutWidget</zorder> - <zorder>cover</zorder> - <zorder>ulx</zorder> - <zorder>label_5</zorder> - <zorder>label_6</zorder> - <zorder>uly</zorder> - <zorder>label_7</zorder> - <zorder>label_8</zorder> - <zorder>lry</zorder> - <zorder>lrx</zorder> - <zorder>xpos</zorder> - <zorder>label_9</zorder> - <zorder>ypos</zorder> - <zorder>label_10</zorder> - <zorder>read</zorder> - <zorder>label_15</zorder> - <zorder>pushButton_extent</zorder> - <zorder>label_16</zorder> - </widget> - <widget class="QWidget" name="tab_3"> - <attribute name="title"> - <string>stats</string> - </attribute> - <widget class="QCheckBox" name="minmax"> - <property name="geometry"> - <rect> - <x>10</x> - <y>120</y> - <width>171</width> - <height>26</height> - </rect> - </property> - <property name="text"> - <string>minimum and maximum</string> - </property> - </widget> - <widget class="QCheckBox" name="min"> - <property name="geometry"> - <rect> - <x>10</x> - <y>150</y> - <width>91</width> - <height>26</height> - </rect> - </property> - <property name="text"> - <string>minimum </string> - </property> - </widget> - <widget class="QCheckBox" name="max"> - <property name="geometry"> - <rect> - <x>10</x> - <y>180</y> - <width>91</width> - <height>26</height> - </rect> - </property> - <property name="text"> - <string>maximum</string> - </property> - </widget> - <widget class="QLabel" name="band_label"> - <property name="geometry"> - <rect> - <x>10</x> - <y>20</y> - <width>91</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>input band(s)</string> - </property> - </widget> - <widget class="QLineEdit" name="nbin"> - <property name="geometry"> - <rect> - <x>340</x> - <y>210</y> - <width>41</width> - <height>33</height> - </rect> - </property> - <property name="text"> - <string/> - </property> - </widget> - <widget class="QCheckBox" name="stats"> - <property name="geometry"> - <rect> - <x>10</x> - <y>60</y> - <width>141</width> - <height>26</height> - </rect> - </property> - <property name="text"> - <string>basic statistics</string> - </property> - </widget> - <widget class="QLabel" name="label_13"> - <property name="geometry"> - <rect> - <x>260</x> - <y>60</y> - <width>111</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>source minimum</string> - </property> - </widget> - <widget class="QLineEdit" name="src_min"> - <property name="geometry"> - <rect> - <x>370</x> - <y>50</y> - <width>41</width> - <height>33</height> - </rect> - </property> - <property name="text"> - <string/> - </property> - </widget> - <widget class="QLineEdit" name="src_max"> - <property name="geometry"> - <rect> - <x>370</x> - <y>100</y> - <width>41</width> - <height>33</height> - </rect> - </property> - <property name="text"> - <string/> - </property> - </widget> - <widget class="QLabel" name="label_14"> - <property name="geometry"> - <rect> - <x>260</x> - <y>100</y> - <width>111</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>source maximum</string> - </property> - </widget> - <widget class="QWidget" name="layoutWidget"> - <property name="geometry"> - <rect> - <x>10</x> - <y>210</y> - <width>327</width> - <height>28</height> - </rect> - </property> - <layout class="QHBoxLayout" name="horizontalLayout_2"> - <item> - <widget class="QCheckBox" name="hist"> - <property name="text"> - <string>histogram</string> - </property> - </widget> - </item> - <item> - <widget class="QCheckBox" name="rel"> - <property name="text"> - <string>relative (in %)</string> - </property> - </widget> - </item> - <item> - <widget class="QLabel" name="label_nbin"> - <property name="text"> - <string>number of bins</string> - </property> - </widget> - </item> - </layout> - </widget> - <widget class="QLabel" name="label_17"> - <property name="geometry"> - <rect> - <x>260</x> - <y>150</y> - <width>111</width> - <height>21</height> - </rect> - </property> - <property name="text"> - <string>nodata value</string> - </property> - </widget> - <widget class="QLineEdit" name="nodata"> - <property name="geometry"> - <rect> - <x>370</x> - <y>150</y> - <width>41</width> - <height>33</height> - </rect> - </property> - <property name="text"> - <string/> - </property> - </widget> - <widget class="QComboBox" name="band"> - <property name="geometry"> - <rect> - <x>120</x> - <y>20</y> - <width>83</width> - <height>29</height> - </rect> - </property> - </widget> - </widget> - </widget> - <widget class="QPlainTextEdit" name="commandLineEdit"> - <property name="geometry"> - <rect> - <x>10</x> - <y>490</y> - <width>591</width> - <height>61</height> - </rect> - </property> - <property name="plainText"> - <string/> - </property> - </widget> - <widget class="QPushButton" name="pushButton_clearCommandLine"> - <property name="geometry"> - <rect> - <x>10</x> - <y>560</y> - <width>105</width> - <height>31</height> - </rect> - </property> - <property name="text"> - <string>Clear</string> - </property> - </widget> - </widget> - <widget class="QMenuBar" name="menuBar"> - <property name="geometry"> - <rect> - <x>0</x> - <y>0</y> - <width>664</width> - <height>21</height> - </rect> - </property> - <widget class="QMenu" name="menuFile"> - <property name="title"> - <string>File</string> - </property> - <addaction name="menu_input"/> - <addaction name="actionQuit"/> - </widget> - <addaction name="menuFile"/> - </widget> - <widget class="QToolBar" name="mainToolBar"> - <attribute name="toolBarArea"> - <enum>TopToolBarArea</enum> - </attribute> - <attribute name="toolBarBreak"> - <bool>false</bool> - </attribute> - </widget> - <widget class="QStatusBar" name="statusBar"/> - <action name="menu_input"> - <property name="text"> - <string>Input image</string> - </property> - </action> - <action name="actionQuit"> - <property name="text"> - <string>Quit</string> - </property> - </action> - </widget> - <layoutdefault spacing="6" margin="11"/> - <resources/> - <connections/> -</ui> diff --git a/qt/pkinfo/pkinfo.pro b/qt/pkinfo/pkinfo.pro deleted file mode 100644 index 02495e8..0000000 --- a/qt/pkinfo/pkinfo.pro +++ /dev/null @@ -1,20 +0,0 @@ -#------------------------------------------------- -# -# Project created by QtCreator 2014-03-20T15:39:07 -# -#------------------------------------------------- - -QT += core gui - -greaterThan(QT_MAJOR_VERSION, 4): QT += widgets - -TARGET = pkinfo -TEMPLATE = app - - -SOURCES += main.cpp\ - mainwindow.cpp - -HEADERS += mainwindow.h - -FORMS += mainwindow.ui diff --git a/qt/pksvm_gui/mainwindow.cpp b/qt/pksvm_gui/mainwindow.cpp index 10b389b..2cac7d5 100644 --- a/qt/pksvm_gui/mainwindow.cpp +++ b/qt/pksvm_gui/mainwindow.cpp @@ -65,27 +65,27 @@ void MainWindow::setDefaults() void MainWindow::on_actionTraining_triggered() { - m_training = QFileDialog::getOpenFileName(this, "Training"); - ui->training->setText(m_training); + QString qstraining = QFileDialog::getOpenFileName(this, "Training"); + ui->training->setText(qstraining); this->on_training_returnPressed(); } 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::getOpenFileName(this, "Output"); + ui->output->setText(qsoutput); } 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_toolButton_input_clicked() @@ -133,11 +133,12 @@ void MainWindow::setClassTable(const QStringList &labels) void MainWindow::on_pushButton_run_clicked() { try{ + ui->commandLineEdit->clear(); + ui->consoleEdit->clear(); QString program = "pksvm"; - if(m_training.isEmpty()) + if(ui->training->text().isEmpty()) MainWindow::on_actionTraining_triggered(); - - if(m_training.isEmpty()){ + if(ui->training->text().isEmpty()){ QString qsError="No training vector file selected"; throw(qsError); } @@ -153,6 +154,16 @@ void MainWindow::on_pushButton_run_clicked() // } // } + for(int irow=0;irow<ui->tableView_labels->model()->rowCount();++irow){ + QString qsOption; + qsOption+=" --class "; + qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,0)).toString(); + qsOption+=" --reclass "; + qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,1)).toString(); + qsOption+=" --prior "; + qsOption+=ui->tableView_labels->model()->data(ui->tableView_labels->model()->index(irow,2)).toString(); + program+=qsOption; + } QList<QComboBox*> qcomboBoxList = this->findChildren<QComboBox *>(); for(QList<QComboBox*>::ConstIterator qcbit=qcomboBoxList.begin();qcbit!=qcomboBoxList.end();++qcbit){ @@ -177,14 +188,13 @@ void MainWindow::on_pushButton_run_clicked() } } - ui->commandLineEdit->insert(program); + ui->commandLineEdit->setText(program); // QProcess *myProcess = new QProcess(parent); QProcess *myProcess = new QProcess(this); myProcess->start(program); myProcess->waitForFinished(-1); QString p_stdout = myProcess->readAll(); - ui->consoleEdit->clear(); ui->consoleEdit->insertPlainText(p_stdout); delete myProcess; } diff --git a/qt/pksvm_gui/mainwindow.h b/qt/pksvm_gui/mainwindow.h index 27fa254..851787a 100644 --- a/qt/pksvm_gui/mainwindow.h +++ b/qt/pksvm_gui/mainwindow.h @@ -64,10 +64,10 @@ private: void setDefaults(); Ui::MainWindow *ui; - QString m_input; - QString m_training; - QString m_mask; - QString m_output; +// QString m_input; +// QString m_training; +// QString m_mask; +// QString m_output; }; #endif // MAINWINDOW_H diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pksvm_gui/mainwindow.ui index 19cdd63..bd4c37b 100644 --- a/qt/pksvm_gui/mainwindow.ui +++ b/qt/pksvm_gui/mainwindow.ui @@ -24,7 +24,7 @@ </rect> </property> <property name="currentIndex"> - <number>2</number> + <number>0</number> </property> <widget class="QWidget" name="tab"> <attribute name="title"> @@ -595,7 +595,7 @@ <x>0</x> <y>0</y> <width>423</width> - <height>21</height> + <height>27</height> </rect> </property> <widget class="QMenu" name="menuFile"> diff --git a/src/apps/pksvm.cc b/src/apps/pksvm.cc index 9e3deaa..c8032f8 100644 --- a/src/apps/pksvm.cc +++ b/src/apps/pksvm.cc @@ -404,22 +404,29 @@ int main(int argc, char *argv[]) } map<string,Vector2d<float> >::iterator mapit=trainingMap.begin(); bool doSort=true; - while(mapit!=trainingMap.end()){ - nameVector.push_back(mapit->first); - if(classValueMap.size()){ - //check if name in training is covered by classname_opt (values can not be 0) - if(classValueMap[mapit->first]>0){ - if(cm.getClassIndex(type2string<short>(classValueMap[mapit->first]))<0) - cm.pushBackClassName(type2string<short>(classValueMap[mapit->first]),doSort); - } - else{ - std::cerr << "Error: names in classname option are not complete, please check names in training vector and make sure classvalue is > 0" << std::endl; - exit(1); + try{ + while(mapit!=trainingMap.end()){ + nameVector.push_back(mapit->first); + if(classValueMap.size()){ + //check if name in training is covered by classname_opt (values can not be 0) + if(classValueMap[mapit->first]>0){ + if(cm.getClassIndex(type2string<short>(classValueMap[mapit->first]))<0){ + cm.pushBackClassName(type2string<short>(classValueMap[mapit->first]),doSort); + } + } + else{ + std::cerr << "Error: names in classname option are not complete, please check names in training vector and make sure classvalue is > 0" << std::endl; + exit(1); + } } + else + cm.pushBackClassName(mapit->first,doSort); + ++mapit; } - else - cm.pushBackClassName(mapit->first,doSort); - ++mapit; + } + catch(BadConversion conversionString){ + std::cerr << "Error: did you provide class pairs names (-c) and integer values (-r) for each class in training vector?" << std::endl; + exit(1); } if(classname_opt.empty()){ std::cerr << "Warning: no class name and value pair provided for all " << nclass << " classes, using string2type<int> instead!" << std::endl; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/pktools.git _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel