[processing] improve layout of the raster calculator dialog

This commit is contained in:
Alexander Bruy 2018-01-15 19:24:21 +02:00
parent 490aad112f
commit 7cad24d82f
5 changed files with 294 additions and 415 deletions

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>596</width>
<height>300</height>
<width>424</width>
<height>221</height>
</rect>
</property>
<property name="windowTitle">

View File

@ -1,410 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>644</width>
<height>493</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<property name="spacing">
<number>5</number>
</property>
<item>
<widget class="QGroupBox" name="verticalGroupBox">
<property name="title">
<string>Layers (double-click to add)</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QListWidget" name="listWidget">
<property name="minimumSize">
<size>
<width>300</width>
<height>150</height>
</size>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<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>
<item>
<widget class="QGroupBox" name="buttonsGroupBox">
<property name="title">
<string>Values and operators</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<property name="horizontalSpacing">
<number>0</number>
</property>
<property name="verticalSpacing">
<number>-1</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item row="2" column="9">
<spacer name="horizontalSpacer_2">
<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="1">
<widget class="QPushButton" name="button7">
<property name="text">
<string>7</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="button4">
<property name="text">
<string>4</string>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QPushButton" name="button2">
<property name="text">
<string>2</string>
</property>
</widget>
</item>
<item row="2" column="7">
<widget class="QPushButton" name="mOpenBracketPushButton">
<property name="text">
<string>(</string>
</property>
</widget>
</item>
<item row="2" column="0">
<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>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="button1">
<property name="text">
<string>1</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="button5">
<property name="text">
<string>5</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QPushButton" name="button8">
<property name="text">
<string>8</string>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QPushButton" name="mSqrtButton">
<property name="text">
<string>sqrt</string>
</property>
</widget>
</item>
<item row="2" column="8">
<widget class="QPushButton" name="mCloseBracketPushButton">
<property name="text">
<string>)</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="button3">
<property name="text">
<string>3</string>
</property>
</widget>
</item>
<item row="2" column="6">
<widget class="QPushButton" name="mExpButton">
<property name="text">
<string>^</string>
</property>
</widget>
</item>
<item row="1" column="6">
<widget class="QPushButton" name="mMinusPushButton">
<property name="text">
<string>-</string>
</property>
</widget>
</item>
<item row="1" column="8">
<widget class="QPushButton" name="mDividePushButton">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="5" column="1" colspan="2">
<widget class="QPushButton" name="button0">
<property name="text">
<string>0</string>
</property>
</widget>
</item>
<item row="4" column="6">
<widget class="QPushButton" name="mGreaterButton">
<property name="text">
<string>&gt;</string>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="7">
<widget class="QPushButton" name="mMultiplyPushButton">
<property name="text">
<string>*</string>
</property>
</widget>
</item>
<item row="5" column="7">
<widget class="QPushButton" name="mAndButton">
<property name="text">
<string>AND</string>
</property>
</widget>
</item>
<item row="5" column="4">
<widget class="QPushButton" name="mLesserEqualButton">
<property name="text">
<string>&lt;=</string>
</property>
</widget>
</item>
<item row="4" column="4">
<widget class="QPushButton" name="mLessButton">
<property name="text">
<string>&lt;</string>
</property>
</widget>
</item>
<item row="5" column="6">
<widget class="QPushButton" name="mGreaterEqualButton">
<property name="text">
<string>&gt;=</string>
</property>
</widget>
</item>
<item row="2" column="5">
<spacer name="horizontalSpacer_3">
<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="5" column="8">
<widget class="QPushButton" name="mOrButton">
<property name="text">
<string>OR</string>
</property>
</widget>
</item>
<item row="4" column="8">
<widget class="QPushButton" name="mEqualButton">
<property name="text">
<string>=</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QPushButton" name="button6">
<property name="text">
<string>6</string>
</property>
</widget>
</item>
<item row="5" column="3">
<widget class="QPushButton" name="buttonDot">
<property name="text">
<string>.</string>
</property>
</widget>
</item>
<item row="4" column="7">
<widget class="QPushButton" name="mNotEqualButton">
<property name="text">
<string>!=</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QPushButton" name="mPlusPushButton">
<property name="text">
<string>+</string>
</property>
</widget>
</item>
<item row="4" column="3">
<widget class="QPushButton" name="button9">
<property name="text">
<string>9</string>
</property>
</widget>
</item>
<item row="6" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Expression</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPlainTextEdit" name="text">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>100</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
<string>Predefined expressions</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QComboBox" name="comboPredefined"/>
</item>
<item>
<widget class="QPushButton" name="buttonAddPredefined">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Add...</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="buttonSavePredefined">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Save...</string>
</property>
</widget>
</item>
</layout>
<zorder>buttonAddPredefined</zorder>
<zorder>comboPredefined</zorder>
<zorder>buttonSavePredefined</zorder>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -6,8 +6,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>400</width>
<height>300</height>
<width>287</width>
<height>201</height>
</rect>
</property>
<property name="windowTitle">

View File

@ -0,0 +1,289 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Form</class>
<widget class="QWidget" name="Form">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>706</width>
<height>445</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QSplitter" name="splitter">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>Layers</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QListWidget" name="listWidget"/>
</item>
</layout>
</widget>
<widget class="QGroupBox" name="buttonsGroupBox">
<property name="title">
<string>Operators</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="2">
<widget class="QPushButton" name="mACosButton">
<property name="text">
<string>acos</string>
</property>
</widget>
</item>
<item row="1" column="3">
<widget class="QPushButton" name="mASinButton">
<property name="text">
<string>asin</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="mPlusPushButton">
<property name="text">
<string>+</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QPushButton" name="mExpButton">
<property name="text">
<string>^</string>
</property>
</widget>
</item>
<item row="3" column="2">
<widget class="QPushButton" name="mEqualButton">
<property name="text">
<string>=</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QPushButton" name="mLessButton">
<property name="text">
<string>&lt;</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QPushButton" name="mMinusPushButton">
<property name="text">
<string>-</string>
</property>
</widget>
</item>
<item row="0" column="8">
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>2</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="mMultiplyPushButton">
<property name="text">
<string>*</string>
</property>
</widget>
</item>
<item row="3" column="4">
<widget class="QPushButton" name="mLesserEqualButton">
<property name="text">
<string>&lt;=</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="mDividePushButton">
<property name="text">
<string>/</string>
</property>
</widget>
</item>
<item row="2" column="5">
<widget class="QPushButton" name="mCloseBracketPushButton">
<property name="text">
<string>)</string>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QPushButton" name="mSinButton">
<property name="text">
<string>sin</string>
</property>
</widget>
</item>
<item row="0" column="5">
<widget class="QPushButton" name="mAndButton">
<property name="text">
<string>AND</string>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QPushButton" name="mTanButton">
<property name="text">
<string>tan</string>
</property>
</widget>
</item>
<item row="3" column="5">
<widget class="QPushButton" name="mGreaterEqualButton">
<property name="text">
<string>&gt;=</string>
</property>
</widget>
</item>
<item row="3" column="3">
<widget class="QPushButton" name="mNotEqualButton">
<property name="text">
<string>!=</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QPushButton" name="mGreaterButton">
<property name="text">
<string>&gt;</string>
</property>
</widget>
</item>
<item row="2" column="3">
<widget class="QPushButton" name="mATanButton">
<property name="text">
<string>atan</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QPushButton" name="mCosButton">
<property name="text">
<string>cos</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QPushButton" name="mSqrtButton">
<property name="text">
<string>sqrt</string>
</property>
</widget>
</item>
<item row="0" column="4">
<widget class="QPushButton" name="mLogButton">
<property name="text">
<string>log10</string>
</property>
</widget>
</item>
<item row="1" column="5">
<widget class="QPushButton" name="mOrButton">
<property name="text">
<string>OR</string>
</property>
</widget>
</item>
<item row="2" column="4">
<widget class="QPushButton" name="mOpenBracketPushButton">
<property name="text">
<string>(</string>
</property>
</widget>
</item>
<item row="1" column="4">
<widget class="QPushButton" name="mLnButton">
<property name="text">
<string>ln</string>
</property>
</widget>
</item>
<item row="4" column="2">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Expression</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QPlainTextEdit" name="text"/>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Predefined expressions</string>
</property>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QComboBox" name="comboPredefined"/>
</item>
<item>
<widget class="QPushButton" name="buttonAddPredefined">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Add…</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="buttonSavePredefined">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Save…</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

View File

@ -88,7 +88,7 @@ class PredefinedExpressionDialog(BASE_DLG, WIDGET_DLG):
WIDGET, BASE = uic.loadUiType(
os.path.join(pluginPath, 'ExpressionWidget.ui'))
os.path.join(pluginPath, 'RasterCalculatorWidget.ui'))
class ExpressionWidget(BASE, WIDGET):