[pktools] 248/375: delete bands and inputs in pkcomposite_gui and pkcrop_gui
Bas Couwenberg
sebastic at xs4all.nl
Wed Dec 3 21:54:18 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 ec47f353e9d785f4c8b12cab8d8b401a063b366b
Author: Pieter Kempeneers <kempenep at gmail.com>
Date: Thu Apr 24 18:47:41 2014 +0200
delete bands and inputs in pkcomposite_gui and pkcrop_gui
---
qt/pkcomposite_gui/mainwindow.cc | 16 +++++++
qt/pkcomposite_gui/mainwindow.h | 3 ++
qt/pkcomposite_gui/mainwindow.ui | 4 +-
qt/pkcrop_gui/mainwindow.cc | 20 +++++++++
qt/pkcrop_gui/mainwindow.h | 6 +++
qt/pkcrop_gui/mainwindow.ui | 97 +++++++++++++++++++++-------------------
qt/pkextract_gui/mainwindow.ui | 4 +-
qt/pksvm_gui/mainwindow.ui | 2 +-
src/apps/pkextract.cc | 2 +-
9 files changed, 103 insertions(+), 51 deletions(-)
diff --git a/qt/pkcomposite_gui/mainwindow.cc b/qt/pkcomposite_gui/mainwindow.cc
index 2b7050c..6e52eb6 100644
--- a/qt/pkcomposite_gui/mainwindow.cc
+++ b/qt/pkcomposite_gui/mainwindow.cc
@@ -23,6 +23,7 @@ along with pktools. If not, see <http://www.gnu.org/licenses/>.
#include <QFileDialog>
#include <QProcess>
#include <QMessageBox>
+#include <QShortcut>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
@@ -48,6 +49,15 @@ MainWindow::MainWindow(QWidget *parent) :
oformatlist << "" << "GTiff" << "HFA" << "ENVI";
ui->oformat->addItems(oformatlist);
setDefaults();
+
+ ui->listWidget_input->setSelectionMode(QAbstractItemView::ExtendedSelection);
+ //pressing DEL activates the slots only when list widget has focus
+ QShortcut* shortcutDel = new QShortcut(QKeySequence(Qt::Key_Delete), ui->listWidget_input);
+ connect(shortcutDel, SIGNAL(activated()), this, SLOT(deleteItemInput()));
+ //pressing Backspace activates the slots only when list widget has focus
+ QShortcut* shortcutBackspace = new QShortcut(QKeySequence(Qt::Key_Backspace), ui->listWidget_input);
+ connect(shortcutBackspace, SIGNAL(activated()), this, SLOT(deleteItemInput()));
+
}
MainWindow::~MainWindow()
@@ -55,6 +65,12 @@ MainWindow::~MainWindow()
delete ui;
}
+void MainWindow::deleteItemInput()
+{
+ qDeleteAll(ui->listWidget_input->selectedItems());
+// delete ui->listWidget_input->currentItem();
+}
+
void MainWindow::setDefaults()
{
//input
diff --git a/qt/pkcomposite_gui/mainwindow.h b/qt/pkcomposite_gui/mainwindow.h
index 291dd8a..e3a2622 100644
--- a/qt/pkcomposite_gui/mainwindow.h
+++ b/qt/pkcomposite_gui/mainwindow.h
@@ -22,6 +22,7 @@ along with pktools. If not, see <http://www.gnu.org/licenses/>.
#define MAINWINDOW_H
#include <QMainWindow>
+#include <QListWidget>
namespace Ui {
class MainWindow;
@@ -60,6 +61,8 @@ private slots:
void on_actionExtent_triggered();
+ void deleteItemInput();
+
private:
Ui::MainWindow *ui;
void setDefaults();
diff --git a/qt/pkcomposite_gui/mainwindow.ui b/qt/pkcomposite_gui/mainwindow.ui
index 4bb8406..a67b4c5 100644
--- a/qt/pkcomposite_gui/mainwindow.ui
+++ b/qt/pkcomposite_gui/mainwindow.ui
@@ -11,14 +11,14 @@
</rect>
</property>
<property name="windowTitle">
- <string>MainWindow</string>
+ <string>pkcomposite_gui</string>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>2</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
diff --git a/qt/pkcrop_gui/mainwindow.cc b/qt/pkcrop_gui/mainwindow.cc
index 3b9e439..8d41156 100644
--- a/qt/pkcrop_gui/mainwindow.cc
+++ b/qt/pkcrop_gui/mainwindow.cc
@@ -46,6 +46,15 @@ MainWindow::MainWindow(QWidget *parent) :
ui->oformat->addItems(oformatlist);
setDefaults();
+
+ ui->listWidget_input->setSelectionMode(QAbstractItemView::ExtendedSelection);
+
+ //pressing DEL activates the slots only when list widget has focus
+ QShortcut* shortcutDel = new QShortcut(QKeySequence(Qt::Key_Delete), ui->listWidget_band);
+ connect(shortcutDel, SIGNAL(activated()), this, SLOT(deleteItem()));
+ //pressing Backspace activates the slots only when list widget has focus
+ QShortcut* shortcutBackspace = new QShortcut(QKeySequence(Qt::Key_Backspace), ui->listWidget_band);
+ connect(shortcutBackspace, SIGNAL(activated()), this, SLOT(deleteItem()));
}
MainWindow::~MainWindow()
@@ -84,6 +93,11 @@ void MainWindow::setDefaults()
ui->nodata->clear();
}
+void MainWindow::deleteItem()
+{
+ qDeleteAll(ui->listWidget_band->selectedItems());
+}
+
void MainWindow::on_toolButton_input_clicked()
{
on_actionInput_triggered();
@@ -121,6 +135,7 @@ void MainWindow::on_actionInput_triggered()
fileNames = dialog.selectedFiles();
ui->listWidget_input->addItems(fileNames);
//fill in band list
+ ui->listWidget_band->clear();
QProcess *myProcess = new QProcess(this);
QString program="pkinfo -nb -i ";
//todo: loop over all filenames and get the minimum number of bands?
@@ -278,3 +293,8 @@ void MainWindow::on_noscale_clicked()
m_as=false;
m_manual=false;
}
+
+void MainWindow::on_toolButton_clicked()
+{
+ ui->listWidget_input->clear();
+}
diff --git a/qt/pkcrop_gui/mainwindow.h b/qt/pkcrop_gui/mainwindow.h
index e4b3c72..ce79592 100644
--- a/qt/pkcrop_gui/mainwindow.h
+++ b/qt/pkcrop_gui/mainwindow.h
@@ -23,6 +23,8 @@ along with pktools. If not, see <http://www.gnu.org/licenses/>.
#include <QMainWindow>
#include <QModelIndex>
+#include <QShortcut>
+#include <QListWidget>
namespace Ui {
class MainWindow;
@@ -63,6 +65,10 @@ private slots:
void on_noscale_clicked();
+ void deleteItem();
+
+ void on_toolButton_clicked();
+
private:
Ui::MainWindow *ui;
void setDefaults();
diff --git a/qt/pkcrop_gui/mainwindow.ui b/qt/pkcrop_gui/mainwindow.ui
index a7d3669..39f167c 100644
--- a/qt/pkcrop_gui/mainwindow.ui
+++ b/qt/pkcrop_gui/mainwindow.ui
@@ -11,14 +11,14 @@
</rect>
</property>
<property name="windowTitle">
- <string>MainWindow</string>
+ <string>pkcrop_gui</string>
</property>
<widget class="QWidget" name="centralWidget">
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>2</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
@@ -27,6 +27,9 @@
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<layout class="QGridLayout" name="gridLayout_2">
+ <item row="1" column="2">
+ <widget class="QLineEdit" name="uly"/>
+ </item>
<item row="4" column="2">
<widget class="QToolButton" name="toolButton_extent">
<property name="text">
@@ -34,11 +37,8 @@
</property>
</widget>
</item>
- <item row="1" column="2">
- <widget class="QLineEdit" name="uly"/>
- </item>
- <item row="1" column="3">
- <spacer name="horizontalSpacer_3">
+ <item row="1" column="1">
+ <spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
@@ -50,32 +50,38 @@
</property>
</spacer>
</item>
+ <item row="2" column="4">
+ <widget class="QLineEdit" name="lrx"/>
+ </item>
<item row="3" column="2">
<widget class="QLineEdit" name="lry"/>
</item>
- <item row="2" column="3">
- <widget class="QLineEdit" name="lrx"/>
+ <item row="6" column="1">
+ <widget class="QListWidget" name="listWidget_band"/>
</item>
- <item row="0" column="0">
- <widget class="QLabel" name="label">
- <property name="toolTip">
- <string><html><head/><body><p>Input image(s)</p></body></html></string>
+ <item row="0" column="1">
+ <widget class="QListWidget" name="listWidget_input"/>
+ </item>
+ <item row="1" column="4">
+ <spacer name="horizontalSpacer_3">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
</property>
- <property name="text">
- <string>Input image(s)</string>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
</property>
- </widget>
+ </spacer>
</item>
- <item row="2" column="1">
- <widget class="QLineEdit" name="ulx"/>
+ <item row="4" column="1">
+ <widget class="QLineEdit" name="extent"/>
</item>
- <item row="4" column="0">
- <widget class="QLabel" name="label_4">
- <property name="toolTip">
- <string><html><head/><body><p>Use an external OGR vector file to define the geographical extent to crop. Coordinate reference systems of input and vector must be identical</p></body></html></string>
- </property>
+ <item row="0" column="2">
+ <widget class="QToolButton" name="toolButton_input">
<property name="text">
- <string>Extent via vector:</string>
+ <string>...</string>
</property>
</widget>
</item>
@@ -89,18 +95,18 @@
</property>
</widget>
</item>
- <item row="1" column="1">
- <spacer name="horizontalSpacer_2">
- <property name="orientation">
- <enum>Qt::Horizontal</enum>
+ <item row="4" column="0">
+ <widget class="QLabel" name="label_4">
+ <property name="toolTip">
+ <string><html><head/><body><p>Use an external OGR vector file to define the geographical extent to crop. Coordinate reference systems of input and vector must be identical</p></body></html></string>
</property>
- <property name="sizeHint" stdset="0">
- <size>
- <width>40</width>
- <height>20</height>
- </size>
+ <property name="text">
+ <string>Extent via vector:</string>
</property>
- </spacer>
+ </widget>
+ </item>
+ <item row="2" column="1">
+ <widget class="QLineEdit" name="ulx"/>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_16">
@@ -112,21 +118,22 @@
</property>
</widget>
</item>
- <item row="0" column="1">
- <widget class="QListWidget" name="listWidget_input"/>
- </item>
- <item row="4" column="1">
- <widget class="QLineEdit" name="extent"/>
- </item>
- <item row="0" column="2">
- <widget class="QToolButton" name="toolButton_input">
+ <item row="0" column="0">
+ <widget class="QLabel" name="label">
+ <property name="toolTip">
+ <string><html><head/><body><p>Input image(s)</p></body></html></string>
+ </property>
<property name="text">
- <string>...</string>
+ <string>Input image(s)</string>
</property>
</widget>
</item>
- <item row="6" column="1">
- <widget class="QListWidget" name="listWidget_band"/>
+ <item row="0" column="3">
+ <widget class="QToolButton" name="toolButton">
+ <property name="text">
+ <string>clear</string>
+ </property>
+ </widget>
</item>
</layout>
</item>
diff --git a/qt/pkextract_gui/mainwindow.ui b/qt/pkextract_gui/mainwindow.ui
index b7743b7..b5ff9a0 100644
--- a/qt/pkextract_gui/mainwindow.ui
+++ b/qt/pkextract_gui/mainwindow.ui
@@ -11,7 +11,7 @@
</rect>
</property>
<property name="windowTitle">
- <string>pkextract</string>
+ <string>pkextract_gui</string>
</property>
<widget class="QWidget" name="centralWidget">
<property name="minimumSize">
@@ -26,7 +26,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>1</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="tab_2">
<attribute name="title">
diff --git a/qt/pksvm_gui/mainwindow.ui b/qt/pksvm_gui/mainwindow.ui
index 8f425a9..bfb8f5a 100644
--- a/qt/pksvm_gui/mainwindow.ui
+++ b/qt/pksvm_gui/mainwindow.ui
@@ -18,7 +18,7 @@
<item>
<widget class="QTabWidget" name="tabWidget">
<property name="currentIndex">
- <number>1</number>
+ <number>0</number>
</property>
<widget class="QWidget" name="tab">
<attribute name="title">
diff --git a/src/apps/pkextract.cc b/src/apps/pkextract.cc
index 9eed3b7..5a519e1 100644
--- a/src/apps/pkextract.cc
+++ b/src/apps/pkextract.cc
@@ -47,7 +47,7 @@ int main(int argc, char *argv[])
Optionpk<string> layer_opt("ln", "ln", "layer name(s) in sample (leave empty to select all)");
Optionpk<string> mask_opt("m", "mask", "Mask image file");
Optionpk<int> msknodata_opt("msknodata", "msknodata", "Mask value where image is invalid. If a single mask is used, more nodata values can be set. If more masks are used, use one value for each mask.", 1);
- Optionpk<int> class_opt("c", "class", "Class(es) to extract from input sample image. Leave empty to extract all valid data pixels from sample file");
+ Optionpk<int> class_opt("c", "class", "Class(es) to extract from input sample image. Leave empty to extract all valid data pixels from sample file. Make sure to set classes if rule is set to maxvote or proportion");
Optionpk<string> output_opt("o", "output", "Output sample file (image file)");
Optionpk<string> ogrformat_opt("f", "f", "Output sample file format","ESRI Shapefile");
Optionpk<string> test_opt("test", "test", "Test sample file (use this option in combination with threshold<100 to create a training (output) and test set");
--
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