[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