[pktools] 233/375: added pkcrop_gui

Bas Couwenberg sebastic at xs4all.nl
Wed Dec 3 21:54:17 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 e017ce9821f1461df43232aa18789f291a37ece8
Author: Pieter Kempeneers <kempenep at gmail.com>
Date:   Thu Apr 3 17:58:23 2014 +0200

    added pkcrop_gui
---
 qt/pkcomposite_gui/mainwindow.cc                   |  18 +-
 qt/pkcomposite_gui/mainwindow.h                    |   6 +
 qt/pkcomposite_gui/mainwindow.ui                   | 161 ++++---
 .../mainwindow.h => pkcrop_gui/main.cc}            |  45 +-
 qt/{pkcomposite_gui => pkcrop_gui}/mainwindow.cc   |  60 ++-
 qt/{pkcomposite_gui => pkcrop_gui}/mainwindow.h    |  21 +-
 qt/{pkcomposite_gui => pkcrop_gui}/mainwindow.ui   | 478 +++++++++++++--------
 qt/pkcrop_gui/pkcrop_gui.pro                       |  20 +
 8 files changed, 495 insertions(+), 314 deletions(-)

diff --git a/qt/pkcomposite_gui/mainwindow.cc b/qt/pkcomposite_gui/mainwindow.cc
index 21d9036..29a8ea1 100644
--- a/qt/pkcomposite_gui/mainwindow.cc
+++ b/qt/pkcomposite_gui/mainwindow.cc
@@ -77,7 +77,6 @@ void MainWindow::setDefaults()
     ui->otype->setCurrentIndex(0);
     ui->oformat->setCurrentIndex(0);
     ui->ct->clear();
-    ui->description->clear();
     ui->dx->clear();
     ui->dy->clear();
     ui->interleaved->setCurrentIndex(0);
@@ -97,6 +96,17 @@ void MainWindow::on_toolButton_output_clicked()
     on_actionOutput_image_triggered();
 }
 
+void MainWindow::on_toolButton_file_clicked()
+{
+    on_actionSelection_Info_file_triggered();
+}
+
+void MainWindow::on_toolButton_ct_clicked()
+{
+    QString qsctfilename=QFileDialog::getSaveFileName(this,"Color table ASCII","","*.*");
+    ui->ct->setText(qsctfilename);
+}
+
 void MainWindow::on_toolButton_defaults_clicked()
 {
     setDefaults();
@@ -119,6 +129,12 @@ void MainWindow::on_actionOutput_image_triggered()
     ui->output->setText(outputfilename);
 }
 
+void MainWindow::on_actionSelection_Info_file_triggered()
+{
+    QString infofilename=QFileDialog::getSaveFileName(this,"Selection info image","","*.*");
+    ui->file->setText(infofilename);
+}
+
 void MainWindow::on_actionQuit_triggered()
 {
     close();
diff --git a/qt/pkcomposite_gui/mainwindow.h b/qt/pkcomposite_gui/mainwindow.h
index f076f8b..ef66d8b 100644
--- a/qt/pkcomposite_gui/mainwindow.h
+++ b/qt/pkcomposite_gui/mainwindow.h
@@ -50,6 +50,12 @@ private slots:
 
     void on_toolButton_Run_clicked();
 
+    void on_actionSelection_Info_file_triggered();
+
+    void on_toolButton_file_clicked();
+
+    void on_toolButton_ct_clicked();
+
 private:
     Ui::MainWindow *ui;
     void setDefaults();
diff --git a/qt/pkcomposite_gui/mainwindow.ui b/qt/pkcomposite_gui/mainwindow.ui
index 4158030..a25e571 100644
--- a/qt/pkcomposite_gui/mainwindow.ui
+++ b/qt/pkcomposite_gui/mainwindow.ui
@@ -238,6 +238,19 @@
        <layout class="QVBoxLayout" name="verticalLayout_3">
         <item>
          <layout class="QGridLayout" name="gridLayout">
+          <item row="7" column="3">
+           <spacer name="horizontalSpacer_6">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
           <item row="4" column="0">
            <widget class="QLabel" name="label_7">
             <property name="text">
@@ -245,53 +258,39 @@
             </property>
            </widget>
           </item>
-          <item row="9" column="0">
+          <item row="8" column="0">
            <widget class="QLabel" name="label_14">
             <property name="text">
              <string>Output nodata value</string>
             </property>
            </widget>
           </item>
-          <item row="10" column="1">
+          <item row="9" column="1">
            <widget class="QLineEdit" name="file"/>
           </item>
-          <item row="6" column="0">
-           <widget class="QLabel" name="label_16">
-            <property name="text">
-             <string>Description</string>
-            </property>
-           </widget>
-          </item>
-          <item row="7" column="2">
+          <item row="6" column="2">
            <widget class="QLabel" name="label_10">
             <property name="text">
              <string>dx</string>
             </property>
            </widget>
           </item>
-          <item row="7" column="0">
-           <widget class="QLabel" name="label_9">
-            <property name="text">
-             <string>Output resolution</string>
-            </property>
-           </widget>
-          </item>
-          <item row="8" column="1">
-           <widget class="QComboBox" name="interleaved"/>
-          </item>
           <item row="4" column="1">
            <widget class="QComboBox" name="oformat"/>
           </item>
           <item row="7" column="1">
-           <widget class="QLineEdit" name="dx"/>
+           <widget class="QComboBox" name="interleaved"/>
           </item>
-          <item row="5" column="2">
-           <widget class="QToolButton" name="toolButton_ct">
+          <item row="6" column="0">
+           <widget class="QLabel" name="label_9">
             <property name="text">
-             <string>...</string>
+             <string>Output resolution</string>
             </property>
            </widget>
           </item>
+          <item row="6" column="1">
+           <widget class="QLineEdit" name="dx"/>
+          </item>
           <item row="5" column="0">
            <widget class="QLabel" name="label_8">
             <property name="text">
@@ -299,17 +298,24 @@
             </property>
            </widget>
           </item>
-          <item row="8" column="4">
+          <item row="7" column="4">
            <widget class="QLabel" name="label_13">
             <property name="text">
              <string>compressed</string>
             </property>
            </widget>
           </item>
-          <item row="8" column="5">
+          <item row="5" column="2">
+           <widget class="QToolButton" name="toolButton_ct">
+            <property name="text">
+             <string>...</string>
+            </property>
+           </widget>
+          </item>
+          <item row="7" column="5">
            <widget class="QComboBox" name="compressed"/>
           </item>
-          <item row="8" column="0">
+          <item row="7" column="0">
            <widget class="QLabel" name="label_12">
             <property name="text">
              <string>Interleaved</string>
@@ -319,6 +325,9 @@
           <item row="5" column="1">
            <widget class="QLineEdit" name="ct"/>
           </item>
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="output"/>
+          </item>
           <item row="1" column="2">
            <widget class="QToolButton" name="toolButton_output">
             <property name="text">
@@ -333,50 +342,47 @@
             </property>
            </widget>
           </item>
-          <item row="1" column="1">
-           <widget class="QLineEdit" name="output"/>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="a_srs"/>
           </item>
-          <item row="10" column="0">
+          <item row="9" column="0">
            <widget class="QLabel" name="label_15">
             <property name="text">
              <string>Ouput info on selected pixels</string>
             </property>
            </widget>
           </item>
-          <item row="2" column="1">
-           <widget class="QLineEdit" name="a_srs"/>
-          </item>
-          <item row="6" column="1">
-           <widget class="QLineEdit" name="description"/>
-          </item>
-          <item row="7" column="4">
+          <item row="6" column="4">
            <widget class="QLineEdit" name="dy"/>
           </item>
           <item row="2" column="0">
            <widget class="QLabel" name="label_5">
             <property name="text">
-             <string>Assign projection (EPSG code)</string>
+             <string>Assign projection (EPSG:code)</string>
             </property>
            </widget>
           </item>
-          <item row="8" column="2">
+          <item row="7" column="2">
            <widget class="QCheckBox" name="tiled">
             <property name="text">
              <string>Tiled</string>
             </property>
            </widget>
           </item>
-          <item row="7" column="5">
+          <item row="3" column="1">
+           <widget class="QComboBox" name="otype"/>
+          </item>
+          <item row="6" column="5">
            <widget class="QLabel" name="label_11">
             <property name="text">
              <string>dy</string>
             </property>
            </widget>
           </item>
-          <item row="3" column="1">
-           <widget class="QComboBox" name="otype"/>
+          <item row="8" column="1">
+           <widget class="QLineEdit" name="dstnodata"/>
           </item>
-          <item row="10" column="2">
+          <item row="9" column="2">
            <widget class="QToolButton" name="toolButton_file">
             <property name="text">
              <string>...</string>
@@ -390,22 +396,6 @@
             </property>
            </widget>
           </item>
-          <item row="9" column="1">
-           <widget class="QLineEdit" name="dstnodata"/>
-          </item>
-          <item row="8" column="3">
-           <spacer name="horizontalSpacer_6">
-            <property name="orientation">
-             <enum>Qt::Horizontal</enum>
-            </property>
-            <property name="sizeHint" stdset="0">
-             <size>
-              <width>40</width>
-              <height>20</height>
-             </size>
-            </property>
-           </spacer>
-          </item>
          </layout>
         </item>
        </layout>
@@ -504,6 +494,7 @@
     </property>
     <addaction name="actionInput_image"/>
     <addaction name="actionOutput_image"/>
+    <addaction name="actionSelection_Info_file"/>
     <addaction name="actionQuit"/>
    </widget>
    <addaction name="menuFile"/>
@@ -521,19 +512,71 @@
    <property name="text">
     <string>Input image(s)</string>
    </property>
+   <property name="shortcut">
+    <string>Alt+I</string>
+   </property>
   </action>
   <action name="actionOutput_image">
    <property name="text">
     <string>Output image</string>
    </property>
+   <property name="shortcut">
+    <string>Alt+O</string>
+   </property>
   </action>
   <action name="actionQuit">
    <property name="text">
     <string>Quit</string>
    </property>
+   <property name="shortcut">
+    <string>Alt+Q</string>
+   </property>
+  </action>
+  <action name="actionSelection_Info_file">
+   <property name="text">
+    <string>Selection Info file</string>
+   </property>
+   <property name="shortcut">
+    <string>Alt+F</string>
+   </property>
   </action>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
+ <tabstops>
+  <tabstop>tabWidget</tabstop>
+  <tabstop>toolButton_input</tabstop>
+  <tabstop>listWidget_input</tabstop>
+  <tabstop>uly</tabstop>
+  <tabstop>ulx</tabstop>
+  <tabstop>lrx</tabstop>
+  <tabstop>lry</tabstop>
+  <tabstop>resample</tabstop>
+  <tabstop>crule</tabstop>
+  <tabstop>rband</tabstop>
+  <tabstop>bndnodata</tabstop>
+  <tabstop>srcnodata</tabstop>
+  <tabstop>min</tabstop>
+  <tabstop>max</tabstop>
+  <tabstop>output</tabstop>
+  <tabstop>toolButton_output</tabstop>
+  <tabstop>a_srs</tabstop>
+  <tabstop>otype</tabstop>
+  <tabstop>oformat</tabstop>
+  <tabstop>ct</tabstop>
+  <tabstop>toolButton_ct</tabstop>
+  <tabstop>dx</tabstop>
+  <tabstop>dy</tabstop>
+  <tabstop>interleaved</tabstop>
+  <tabstop>tiled</tabstop>
+  <tabstop>compressed</tabstop>
+  <tabstop>dstnodata</tabstop>
+  <tabstop>file</tabstop>
+  <tabstop>toolButton_file</tabstop>
+  <tabstop>toolButton_Run</tabstop>
+  <tabstop>toolButton_defaults</tabstop>
+  <tabstop>commandLineEdit</tabstop>
+  <tabstop>consoleEdit</tabstop>
+ </tabstops>
  <resources/>
  <connections/>
 </ui>
diff --git a/qt/pkcomposite_gui/mainwindow.h b/qt/pkcrop_gui/main.cc
similarity index 56%
copy from qt/pkcomposite_gui/mainwindow.h
copy to qt/pkcrop_gui/main.cc
index f076f8b..e8c26ae 100644
--- a/qt/pkcomposite_gui/mainwindow.h
+++ b/qt/pkcrop_gui/main.cc
@@ -1,5 +1,5 @@
 /**********************************************************************
-mainwindow.h
+main.cc: GUI for pktools
 Copyright (C) 2008-2014 Pieter Kempeneers
 
 This file is part of pktools
@@ -18,41 +18,14 @@ 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 "mainwindow.h"
+#include <QApplication>
 
-#include <QMainWindow>
-
-namespace Ui {
-class MainWindow;
-}
-
-class MainWindow : public QMainWindow
+int main(int argc, char *argv[])
 {
-    Q_OBJECT
-    
-public:
-    explicit MainWindow(QWidget *parent = 0);
-    ~MainWindow();
+    QApplication a(argc, argv);
+    MainWindow w;
+    w.show();
     
-private slots:
-    void on_toolButton_input_clicked();
-
-    void on_toolButton_defaults_clicked();
-
-    void on_actionInput_image_triggered();
-
-    void on_actionOutput_image_triggered();
-
-    void on_actionQuit_triggered();
-
-    void on_toolButton_output_clicked();
-
-    void on_toolButton_Run_clicked();
-
-private:
-    Ui::MainWindow *ui;
-    void setDefaults();
-};
-
-#endif // MAINWINDOW_H
+    return a.exec();
+}
diff --git a/qt/pkcomposite_gui/mainwindow.cc b/qt/pkcrop_gui/mainwindow.cc
similarity index 85%
copy from qt/pkcomposite_gui/mainwindow.cc
copy to qt/pkcrop_gui/mainwindow.cc
index 21d9036..5b4f5df 100644
--- a/qt/pkcomposite_gui/mainwindow.cc
+++ b/qt/pkcrop_gui/mainwindow.cc
@@ -1,5 +1,5 @@
 /**********************************************************************
-mainwindow.cpp: GUI for pktools
+mainwindow.cc: GUI for pktools
 Copyright (C) 2008-2014 Pieter Kempeneers
 
 This file is part of pktools
@@ -32,9 +32,6 @@ MainWindow::MainWindow(QWidget *parent) :
     QStringList resamplelist;
     resamplelist << "near" << "bilinear";
     ui->resample->addItems(resamplelist);
-    QStringList crulelist;
-    crulelist << "overwrite" << "maxndvi" << "maxband" <<"minband" << "mean" << "mode" << "median" << "sum";
-    ui->crule->addItems(crulelist);
     QStringList interleavedlist;
     interleavedlist << "BAND" << "LINE" << "PIXEL" <<"BSQ";
     ui->interleaved->addItems(interleavedlist);
@@ -63,38 +60,39 @@ void MainWindow::setDefaults()
     ui->uly->clear();
     ui->lrx->clear();
     ui->lry->clear();
-    //composit
+    ui->extent->clear();
+    //scaling
     ui->resample->setCurrentIndex(0);
-    ui->crule->setCurrentIndex(0);
-    ui->rband->setText("0");
-    ui->bndnodata->setText("0");
-    ui->srcnodata->setText("0");
-    ui->min->clear();
-    ui->max->clear();
+    ui->scale->clear();
+    ui->offset->clear();
     //output
     ui->output->clear();
     ui->a_srs->clear();
     ui->otype->setCurrentIndex(0);
     ui->oformat->setCurrentIndex(0);
     ui->ct->clear();
-    ui->description->clear();
     ui->dx->clear();
     ui->dy->clear();
     ui->interleaved->setCurrentIndex(0);
     ui->tiled->setChecked(false);
     ui->compressed->setCurrentIndex(0);
-    ui->dstnodata->clear();
-    ui->file->clear();
+    ui->nodata->clear();
 }
 
 void MainWindow::on_toolButton_input_clicked()
 {
-    on_actionInput_image_triggered();
+    on_actionInput_triggered();
+}
+
+
+void MainWindow::on_toolButton_extent_clicked()
+{
+    on_actionExtent_triggered();
 }
 
 void MainWindow::on_toolButton_output_clicked()
 {
-    on_actionOutput_image_triggered();
+    on_actionOutput_triggered();
 }
 
 void MainWindow::on_toolButton_defaults_clicked()
@@ -102,7 +100,13 @@ void MainWindow::on_toolButton_defaults_clicked()
     setDefaults();
 }
 
-void MainWindow::on_actionInput_image_triggered()
+void MainWindow::on_toolButton_ct_clicked()
+{
+    QString qsct = QFileDialog::getOpenFileName(this, "Color table ASCII");
+    ui->ct->setText(qsct);
+}
+
+void MainWindow::on_actionInput_triggered()
 {
     QFileDialog dialog(this);
     dialog.setDirectory(QDir::homePath());
@@ -113,7 +117,13 @@ void MainWindow::on_actionInput_image_triggered()
     ui->listWidget_input->addItems(fileNames);
 }
 
-void MainWindow::on_actionOutput_image_triggered()
+void MainWindow::on_actionExtent_triggered()
+{
+    QString qsextent = QFileDialog::getOpenFileName(this, "extent");
+    ui->extent->setText(qsextent);
+}
+
+void MainWindow::on_actionOutput_triggered()
 {
     QString outputfilename=QFileDialog::getSaveFileName(this,"Output image","","*.*");
     ui->output->setText(outputfilename);
@@ -124,7 +134,6 @@ void MainWindow::on_actionQuit_triggered()
     close();
 }
 
-
 void MainWindow::on_toolButton_Run_clicked()
 {
     try{
@@ -134,7 +143,7 @@ void MainWindow::on_toolButton_Run_clicked()
         QString program = "pkcomposite";
 
         if(ui->listWidget_input->count()<1)
-            MainWindow::on_actionInput_image_triggered();
+            MainWindow::on_actionInput_triggered();
         if(ui->listWidget_input->count()<1){
             QString qsError="No input image file selected";
             throw(qsError);
@@ -147,14 +156,13 @@ void MainWindow::on_toolButton_Run_clicked()
         }
 
         if(ui->output->text().isEmpty())
-            MainWindow::on_actionOutput_image_triggered();
+            MainWindow::on_actionOutput_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();
         if(!ui->otype->currentText().isEmpty())
             program+=" --otype "+ui->otype->currentText();
         if(!ui->oformat->currentText().isEmpty())
@@ -164,6 +172,9 @@ void MainWindow::on_toolButton_Run_clicked()
         if(ui->tiled->isChecked())
             program+=" -co TILED=YES";
 
+        //todo: radiobuttons on scaling
+        if(m_as)
+            program+=" -as";
 //        QList<QCheckBox*> qcheckBoxList = this->findChildren<QCheckBox *>();
 
 //        for(QList<QCheckBox*>::ConstIterator qcbit=qcheckBoxList.begin();qcbit!=qcheckBoxList.end();++qcbit){
@@ -205,3 +216,8 @@ void MainWindow::on_toolButton_Run_clicked()
         msgBox.exec();
     }
 }
+
+void MainWindow::on_autoscale_clicked()
+{
+    m_as=true;
+}
diff --git a/qt/pkcomposite_gui/mainwindow.h b/qt/pkcrop_gui/mainwindow.h
similarity index 83%
copy from qt/pkcomposite_gui/mainwindow.h
copy to qt/pkcrop_gui/mainwindow.h
index f076f8b..4d4c169 100644
--- a/qt/pkcomposite_gui/mainwindow.h
+++ b/qt/pkcrop_gui/mainwindow.h
@@ -1,5 +1,5 @@
 /**********************************************************************
-mainwindow.h
+mainwindow.h: GUI for pktools
 Copyright (C) 2008-2014 Pieter Kempeneers
 
 This file is part of pktools
@@ -36,23 +36,32 @@ public:
     ~MainWindow();
     
 private slots:
+    void on_actionInput_triggered();
+
     void on_toolButton_input_clicked();
 
-    void on_toolButton_defaults_clicked();
+    void on_toolButton_extent_clicked();
+
+    void on_toolButton_output_clicked();
+
+    void on_toolButton_ct_clicked();
 
-    void on_actionInput_image_triggered();
+    void on_toolButton_Run_clicked();
 
-    void on_actionOutput_image_triggered();
+    void on_toolButton_defaults_clicked();
 
     void on_actionQuit_triggered();
 
-    void on_toolButton_output_clicked();
+    void on_actionOutput_triggered();
 
-    void on_toolButton_Run_clicked();
+    void on_autoscale_clicked();
+
+    void on_actionExtent_triggered();
 
 private:
     Ui::MainWindow *ui;
     void setDefaults();
+    bool m_as;
 };
 
 #endif // MAINWINDOW_H
diff --git a/qt/pkcomposite_gui/mainwindow.ui b/qt/pkcrop_gui/mainwindow.ui
similarity index 69%
copy from qt/pkcomposite_gui/mainwindow.ui
copy to qt/pkcrop_gui/mainwindow.ui
index 4158030..d3dc6ea 100644
--- a/qt/pkcomposite_gui/mainwindow.ui
+++ b/qt/pkcrop_gui/mainwindow.ui
@@ -6,8 +6,8 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>798</width>
-    <height>859</height>
+    <width>821</width>
+    <height>701</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -18,7 +18,7 @@
     <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,22 +27,8 @@
        <layout class="QVBoxLayout" name="verticalLayout_2">
         <item>
          <layout class="QGridLayout" name="gridLayout_2">
-          <item row="0" column="1">
-           <widget class="QToolButton" name="toolButton_input">
-            <property name="text">
-             <string>...</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="0">
-           <widget class="QLabel" name="label">
-            <property name="text">
-             <string>Input images</string>
-            </property>
-           </widget>
-          </item>
-          <item row="0" column="2">
-           <widget class="QListWidget" name="listWidget_input"/>
+          <item row="1" column="2">
+           <widget class="QLineEdit" name="uly"/>
           </item>
           <item row="1" column="3">
            <spacer name="horizontalSpacer_3">
@@ -60,6 +46,26 @@
           <item row="3" column="2">
            <widget class="QLineEdit" name="lry"/>
           </item>
+          <item row="2" column="3">
+           <widget class="QLineEdit" name="lrx"/>
+          </item>
+          <item row="0" column="0">
+           <widget class="QLabel" name="label">
+            <property name="text">
+             <string>Input images</string>
+            </property>
+           </widget>
+          </item>
+          <item row="2" column="1">
+           <widget class="QLineEdit" name="ulx"/>
+          </item>
+          <item row="4" column="0">
+           <widget class="QLabel" name="label_4">
+            <property name="text">
+             <string>Extent via vector:</string>
+            </property>
+           </widget>
+          </item>
           <item row="1" column="0">
            <widget class="QLabel" name="label_2">
             <property name="text">
@@ -80,18 +86,62 @@
             </property>
            </spacer>
           </item>
-          <item row="1" column="2">
-           <widget class="QLineEdit" name="uly"/>
+          <item row="5" column="0">
+           <widget class="QLabel" name="label_16">
+            <property name="text">
+             <string>Select bands</string>
+            </property>
+           </widget>
           </item>
-          <item row="2" column="3">
-           <widget class="QLineEdit" name="lrx"/>
+          <item row="0" column="1">
+           <widget class="QListWidget" name="listWidget_input"/>
           </item>
-          <item row="2" column="1">
-           <widget class="QLineEdit" name="ulx"/>
+          <item row="0" column="2">
+           <widget class="QToolButton" name="toolButton_input">
+            <property name="text">
+             <string>...</string>
+            </property>
+           </widget>
+          </item>
+          <item row="5" column="1">
+           <widget class="QTableView" name="tableView"/>
+          </item>
+          <item row="4" column="1">
+           <widget class="QLineEdit" name="extent"/>
+          </item>
+          <item row="4" column="2">
+           <widget class="QToolButton" name="toolButton_extent">
+            <property name="text">
+             <string>...</string>
+            </property>
+           </widget>
           </item>
          </layout>
         </item>
-        <item>
+       </layout>
+      </widget>
+      <widget class="QWidget" name="tab_2">
+       <attribute name="title">
+        <string>Scaling</string>
+       </attribute>
+       <layout class="QGridLayout" name="gridLayout_4">
+        <item row="1" column="9">
+         <spacer name="horizontalSpacer_9">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
+          </property>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
+        </item>
+        <item row="0" column="1">
+         <widget class="QComboBox" name="resample"/>
+        </item>
+        <item row="2" column="4">
          <spacer name="verticalSpacer">
           <property name="orientation">
            <enum>Qt::Vertical</enum>
@@ -104,14 +154,10 @@
           </property>
          </spacer>
         </item>
-       </layout>
-      </widget>
-      <widget class="QWidget" name="tab_2">
-       <attribute name="title">
-        <string>Composit</string>
-       </attribute>
-       <layout class="QGridLayout" name="gridLayout_4">
-        <item row="2" column="0">
+        <item row="1" column="4">
+         <widget class="QLineEdit" name="dy"/>
+        </item>
+        <item row="4" column="0">
          <spacer name="verticalSpacer_3">
           <property name="orientation">
            <enum>Qt::Vertical</enum>
@@ -124,87 +170,124 @@
           </property>
          </spacer>
         </item>
-        <item row="0" column="1">
-         <widget class="QComboBox" name="resample"/>
-        </item>
         <item row="1" column="0">
-         <widget class="QLabel" name="label_18">
+         <widget class="QLabel" name="label_9">
           <property name="text">
-           <string>Composit rule</string>
+           <string>Output resolution</string>
           </property>
          </widget>
         </item>
-        <item row="0" column="0">
-         <widget class="QLabel" name="label_17">
-          <property name="text">
-           <string>Resample method</string>
-          </property>
-         </widget>
-        </item>
-        <item row="1" column="1">
-         <widget class="QComboBox" name="crule"/>
-        </item>
         <item row="1" column="3">
-         <widget class="QLabel" name="label_19">
-          <property name="text">
-           <string>Band used for composit rule</string>
+         <spacer name="horizontalSpacer_8">
+          <property name="orientation">
+           <enum>Qt::Horizontal</enum>
           </property>
-         </widget>
-        </item>
-        <item row="1" column="4">
-         <widget class="QLineEdit" name="rband"/>
+          <property name="sizeHint" stdset="0">
+           <size>
+            <width>40</width>
+            <height>20</height>
+           </size>
+          </property>
+         </spacer>
         </item>
-        <item row="3" column="0" colspan="4">
+        <item row="3" column="0" colspan="8">
          <widget class="QGroupBox" name="groupBox">
           <property name="title">
-           <string>nodata values in input</string>
+           <string>Scale data</string>
           </property>
           <layout class="QGridLayout" name="gridLayout_3">
            <item row="1" column="0">
-            <widget class="QLabel" name="label_21">
+            <widget class="QRadioButton" name="autoscale">
              <property name="text">
-              <string>nodata value</string>
+              <string>autoscale</string>
              </property>
+             <attribute name="buttonGroup">
+              <string notr="true">buttonGroup</string>
+             </attribute>
             </widget>
            </item>
-           <item row="1" column="1" colspan="2">
-            <widget class="QLineEdit" name="srcnodata"/>
+           <item row="2" column="4">
+            <widget class="QLineEdit" name="offset"/>
            </item>
-           <item row="3" column="0">
-            <widget class="QLabel" name="label_23">
+           <item row="2" column="0">
+            <widget class="QRadioButton" name="manual">
              <property name="text">
-              <string>max value</string>
+              <string>manual</string>
              </property>
+             <attribute name="buttonGroup">
+              <string notr="true">buttonGroup</string>
+             </attribute>
             </widget>
            </item>
-           <item row="2" column="0">
-            <widget class="QLabel" name="label_22">
+           <item row="2" column="3">
+            <widget class="QLabel" name="label_21">
              <property name="text">
-              <string>min value</string>
+              <string>offset</string>
              </property>
             </widget>
            </item>
-           <item row="2" column="1" colspan="2">
-            <widget class="QLineEdit" name="min"/>
-           </item>
-           <item row="3" column="1">
-            <widget class="QLineEdit" name="max"/>
+           <item row="2" column="1">
+            <widget class="QLabel" name="label_20">
+             <property name="text">
+              <string>scale</string>
+             </property>
+            </widget>
            </item>
            <item row="0" column="0">
-            <widget class="QLabel" name="label_20">
+            <widget class="QRadioButton" name="noscale">
              <property name="text">
-              <string>band</string>
+              <string>no scaling</string>
              </property>
+             <attribute name="buttonGroup">
+              <string notr="true">buttonGroup</string>
+             </attribute>
             </widget>
            </item>
-           <item row="0" column="1">
-            <widget class="QLineEdit" name="bndnodata"/>
+           <item row="2" column="2">
+            <widget class="QLineEdit" name="scale"/>
+           </item>
+           <item row="2" column="5">
+            <spacer name="horizontalSpacer_4">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
            </item>
           </layout>
          </widget>
         </item>
+        <item row="1" column="2">
+         <widget class="QLabel" name="label_15">
+          <property name="text">
+           <string>dx</string>
+          </property>
+         </widget>
+        </item>
+        <item row="1" column="1">
+         <widget class="QLineEdit" name="dx"/>
+        </item>
         <item row="1" column="5">
-         <spacer name="horizontalSpacer_4">
+         <widget class="QLabel" name="label_18">
+          <property name="text">
+           <string>dy</string>
+          </property>
+         </widget>
+        </item>
+        <item row="0" column="0">
+         <widget class="QLabel" name="label_17">
+          <property name="text">
+           <string>Resample method</string>
+          </property>
+         </widget>
+        </item>
+        <item row="1" column="6">
+         <spacer name="horizontalSpacer_5">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
@@ -216,8 +299,8 @@
           </property>
          </spacer>
         </item>
-        <item row="1" column="2">
-         <spacer name="horizontalSpacer_5">
+        <item row="0" column="3">
+         <spacer name="horizontalSpacer_10">
           <property name="orientation">
            <enum>Qt::Horizontal</enum>
           </property>
@@ -238,53 +321,40 @@
        <layout class="QVBoxLayout" name="verticalLayout_3">
         <item>
          <layout class="QGridLayout" name="gridLayout">
-          <item row="4" column="0">
-           <widget class="QLabel" name="label_7">
-            <property name="text">
-             <string>Output image format</string>
-            </property>
-           </widget>
+          <item row="3" column="1">
+           <widget class="QComboBox" name="otype"/>
           </item>
-          <item row="9" column="0">
-           <widget class="QLabel" name="label_14">
+          <item row="6" column="5">
+           <widget class="QComboBox" name="compressed"/>
+          </item>
+          <item row="3" column="0">
+           <widget class="QLabel" name="label_6">
             <property name="text">
-             <string>Output nodata value</string>
+             <string>Output data type</string>
             </property>
            </widget>
           </item>
-          <item row="10" column="1">
-           <widget class="QLineEdit" name="file"/>
-          </item>
-          <item row="6" column="0">
-           <widget class="QLabel" name="label_16">
+          <item row="2" column="0">
+           <widget class="QLabel" name="label_5">
             <property name="text">
-             <string>Description</string>
+             <string>Assign projection (EPSG:code)</string>
             </property>
            </widget>
           </item>
-          <item row="7" column="2">
-           <widget class="QLabel" name="label_10">
+          <item row="1" column="2">
+           <widget class="QToolButton" name="toolButton_output">
             <property name="text">
-             <string>dx</string>
+             <string>...</string>
             </property>
            </widget>
           </item>
-          <item row="7" column="0">
-           <widget class="QLabel" name="label_9">
+          <item row="1" column="0">
+           <widget class="QLabel" name="label_3">
             <property name="text">
-             <string>Output resolution</string>
+             <string>Output image</string>
             </property>
            </widget>
           </item>
-          <item row="8" column="1">
-           <widget class="QComboBox" name="interleaved"/>
-          </item>
-          <item row="4" column="1">
-           <widget class="QComboBox" name="oformat"/>
-          </item>
-          <item row="7" column="1">
-           <widget class="QLineEdit" name="dx"/>
-          </item>
           <item row="5" column="2">
            <widget class="QToolButton" name="toolButton_ct">
             <property name="text">
@@ -292,108 +362,67 @@
             </property>
            </widget>
           </item>
-          <item row="5" column="0">
-           <widget class="QLabel" name="label_8">
+          <item row="1" column="1">
+           <widget class="QLineEdit" name="output"/>
+          </item>
+          <item row="6" column="2">
+           <widget class="QCheckBox" name="tiled">
             <property name="text">
-             <string>Color table (ASCII)</string>
+             <string>Tiled</string>
             </property>
            </widget>
           </item>
-          <item row="8" column="4">
+          <item row="6" column="4">
            <widget class="QLabel" name="label_13">
             <property name="text">
              <string>compressed</string>
             </property>
            </widget>
           </item>
-          <item row="8" column="5">
-           <widget class="QComboBox" name="compressed"/>
-          </item>
-          <item row="8" column="0">
-           <widget class="QLabel" name="label_12">
-            <property name="text">
-             <string>Interleaved</string>
-            </property>
-           </widget>
-          </item>
-          <item row="5" column="1">
-           <widget class="QLineEdit" name="ct"/>
-          </item>
-          <item row="1" column="2">
-           <widget class="QToolButton" name="toolButton_output">
-            <property name="text">
-             <string>...</string>
-            </property>
-           </widget>
-          </item>
-          <item row="3" column="0">
-           <widget class="QLabel" name="label_6">
-            <property name="text">
-             <string>Output data type</string>
-            </property>
-           </widget>
-          </item>
-          <item row="1" column="1">
-           <widget class="QLineEdit" name="output"/>
-          </item>
-          <item row="10" column="0">
-           <widget class="QLabel" name="label_15">
-            <property name="text">
-             <string>Ouput info on selected pixels</string>
-            </property>
-           </widget>
-          </item>
           <item row="2" column="1">
            <widget class="QLineEdit" name="a_srs"/>
           </item>
-          <item row="6" column="1">
-           <widget class="QLineEdit" name="description"/>
-          </item>
-          <item row="7" column="4">
-           <widget class="QLineEdit" name="dy"/>
-          </item>
-          <item row="2" column="0">
-           <widget class="QLabel" name="label_5">
+          <item row="4" column="0">
+           <widget class="QLabel" name="label_7">
             <property name="text">
-             <string>Assign projection (EPSG code)</string>
+             <string>Output image format</string>
             </property>
            </widget>
           </item>
-          <item row="8" column="2">
-           <widget class="QCheckBox" name="tiled">
+          <item row="7" column="0">
+           <widget class="QLabel" name="label_14">
             <property name="text">
-             <string>Tiled</string>
+             <string>Output nodata value</string>
             </property>
            </widget>
           </item>
-          <item row="7" column="5">
-           <widget class="QLabel" name="label_11">
-            <property name="text">
-             <string>dy</string>
-            </property>
-           </widget>
+          <item row="7" column="1">
+           <widget class="QLineEdit" name="nodata"/>
           </item>
-          <item row="3" column="1">
-           <widget class="QComboBox" name="otype"/>
+          <item row="4" column="1">
+           <widget class="QComboBox" name="oformat"/>
+          </item>
+          <item row="5" column="1">
+           <widget class="QLineEdit" name="ct"/>
           </item>
-          <item row="10" column="2">
-           <widget class="QToolButton" name="toolButton_file">
+          <item row="6" column="0">
+           <widget class="QLabel" name="label_12">
             <property name="text">
-             <string>...</string>
+             <string>Interleaved</string>
             </property>
            </widget>
           </item>
-          <item row="1" column="0">
-           <widget class="QLabel" name="label_3">
+          <item row="6" column="1">
+           <widget class="QComboBox" name="interleaved"/>
+          </item>
+          <item row="5" column="0">
+           <widget class="QLabel" name="label_8">
             <property name="text">
-             <string>Output image</string>
+             <string>Color table (ASCII)</string>
             </property>
            </widget>
           </item>
-          <item row="9" column="1">
-           <widget class="QLineEdit" name="dstnodata"/>
-          </item>
-          <item row="8" column="3">
+          <item row="6" column="3">
            <spacer name="horizontalSpacer_6">
             <property name="orientation">
              <enum>Qt::Horizontal</enum>
@@ -451,7 +480,20 @@
       <property name="sizeHint" stdset="0">
        <size>
         <width>20</width>
-        <height>40</height>
+        <height>551</height>
+       </size>
+      </property>
+     </spacer>
+    </item>
+    <item>
+     <spacer name="horizontalSpacer">
+      <property name="orientation">
+       <enum>Qt::Horizontal</enum>
+      </property>
+      <property name="sizeHint" stdset="0">
+       <size>
+        <width>40</width>
+        <height>20</height>
        </size>
       </property>
      </spacer>
@@ -466,7 +508,7 @@
        </widget>
       </item>
       <item>
-       <spacer name="horizontalSpacer">
+       <spacer name="horizontalSpacer_7">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
@@ -494,7 +536,7 @@
     <rect>
      <x>0</x>
      <y>0</y>
-     <width>798</width>
+     <width>821</width>
      <height>27</height>
     </rect>
    </property>
@@ -502,8 +544,9 @@
     <property name="title">
      <string>File</string>
     </property>
-    <addaction name="actionInput_image"/>
-    <addaction name="actionOutput_image"/>
+    <addaction name="actionInput"/>
+    <addaction name="actionExtent"/>
+    <addaction name="actionOutput"/>
     <addaction name="actionQuit"/>
    </widget>
    <addaction name="menuFile"/>
@@ -517,23 +560,78 @@
    </attribute>
   </widget>
   <widget class="QStatusBar" name="statusBar"/>
-  <action name="actionInput_image">
+  <action name="actionInput">
+   <property name="text">
+    <string>Input(s)</string>
+   </property>
+   <property name="shortcut">
+    <string>Alt+I</string>
+   </property>
+  </action>
+  <action name="actionExtent">
    <property name="text">
-    <string>Input image(s)</string>
+    <string>Extent</string>
+   </property>
+   <property name="shortcut">
+    <string>Alt+E</string>
    </property>
   </action>
-  <action name="actionOutput_image">
+  <action name="actionOutput">
    <property name="text">
-    <string>Output image</string>
+    <string>Output</string>
+   </property>
+   <property name="shortcut">
+    <string>Alt+O</string>
    </property>
   </action>
   <action name="actionQuit">
    <property name="text">
     <string>Quit</string>
    </property>
+   <property name="shortcut">
+    <string>Alt+Q</string>
+   </property>
   </action>
  </widget>
  <layoutdefault spacing="6" margin="11"/>
+ <tabstops>
+  <tabstop>tabWidget</tabstop>
+  <tabstop>toolButton_input</tabstop>
+  <tabstop>uly</tabstop>
+  <tabstop>ulx</tabstop>
+  <tabstop>lrx</tabstop>
+  <tabstop>lry</tabstop>
+  <tabstop>extent</tabstop>
+  <tabstop>toolButton_extent</tabstop>
+  <tabstop>tableView</tabstop>
+  <tabstop>resample</tabstop>
+  <tabstop>dx</tabstop>
+  <tabstop>dy</tabstop>
+  <tabstop>noscale</tabstop>
+  <tabstop>autoscale</tabstop>
+  <tabstop>scale</tabstop>
+  <tabstop>offset</tabstop>
+  <tabstop>output</tabstop>
+  <tabstop>toolButton_output</tabstop>
+  <tabstop>a_srs</tabstop>
+  <tabstop>otype</tabstop>
+  <tabstop>oformat</tabstop>
+  <tabstop>ct</tabstop>
+  <tabstop>toolButton_ct</tabstop>
+  <tabstop>interleaved</tabstop>
+  <tabstop>tiled</tabstop>
+  <tabstop>compressed</tabstop>
+  <tabstop>nodata</tabstop>
+  <tabstop>toolButton_Run</tabstop>
+  <tabstop>toolButton_defaults</tabstop>
+  <tabstop>manual</tabstop>
+  <tabstop>consoleEdit</tabstop>
+  <tabstop>commandLineEdit</tabstop>
+  <tabstop>listWidget_input</tabstop>
+ </tabstops>
  <resources/>
  <connections/>
+ <buttongroups>
+  <buttongroup name="buttonGroup"/>
+ </buttongroups>
 </ui>
diff --git a/qt/pkcrop_gui/pkcrop_gui.pro b/qt/pkcrop_gui/pkcrop_gui.pro
new file mode 100644
index 0000000..446fcf9
--- /dev/null
+++ b/qt/pkcrop_gui/pkcrop_gui.pro
@@ -0,0 +1,20 @@
+#-------------------------------------------------
+#
+# Project created by QtCreator 2014-04-03T12:34:31
+#
+#-------------------------------------------------
+
+QT       += core gui
+
+greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+
+TARGET = pkcrop_gui
+TEMPLATE = app
+
+
+SOURCES += main.cc\
+        mainwindow.cc
+
+HEADERS  += mainwindow.h
+
+FORMS    += mainwindow.ui

-- 
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