Skip to content

Commit

Permalink
adressed #81
Browse files Browse the repository at this point in the history
  • Loading branch information
janzandr committed Oct 1, 2022
1 parent 1ef2557 commit 3ddc7f3
Show file tree
Hide file tree
Showing 2 changed files with 186 additions and 14 deletions.
41 changes: 28 additions & 13 deletions enmapbox/coreapps/profileanalyticsapp/profileanalyticsdockwidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
from enmapboxprocessing.utils import Utils
from geetimeseriesexplorerapp import MapTool
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import QComboBox, QTableWidget, QCheckBox, QToolButton, QLineEdit
from qgis.PyQt.QtWidgets import QComboBox, QTableWidget, QCheckBox, QToolButton, QLineEdit, QWidget
from qgis.core import QgsMapLayerProxyModel, QgsRasterLayer, QgsVectorLayer, QgsProcessingFeatureSourceDefinition, \
QgsFeatureRequest, QgsWkbTypes
from qgis.gui import QgsMapLayerComboBox, QgsFileWidget, QgsRasterBandComboBox, QgsDockWidget, QgisInterface
Expand All @@ -30,6 +30,8 @@ class ProfileAnalyticsDockWidget(QgsDockWidget):
# data tab
mSourceType: QComboBox
mRasterProfileType: QComboBox
mTip1: QWidget
mTip2: QWidget
mRasterTable: QTableWidget
mAddRaster: QToolButton
mRemoveRaster: QToolButton
Expand Down Expand Up @@ -60,7 +62,7 @@ def __init__(self, currentLocationMapTool: Optional[MapTool], parent=None):

# connect signals
self.mSourceType.currentIndexChanged.connect(self.onLiveUpdate)
self.mRasterProfileType.currentIndexChanged.connect(self.onLiveUpdate)
self.mRasterProfileType.currentIndexChanged.connect(self.onRasterProfileTypeChanged)
self.mAddRaster.clicked.connect(self.onAddRasterClicked)
self.mRemoveRaster.clicked.connect(self.onRemoveRasterClicked)
self.mRemoveAllRaster.clicked.connect(self.onmRemoveAllRasterClicked)
Expand All @@ -73,6 +75,7 @@ def __init__(self, currentLocationMapTool: Optional[MapTool], parent=None):
self.mPlotWidget.addLegend()
self.mPlotWidget.legend.setOffset((0.3, 0.3))

self.onRasterProfileTypeChanged()
self.onAddRasterClicked()

def enmapBoxInterface(self) -> EnMAPBox:
Expand Down Expand Up @@ -122,24 +125,30 @@ def currentLayer(self) -> Optional[QgsVectorLayer]:

return layer

def onRasterProfileTypeChanged(self):
isLineProfile = self.mRasterProfileType.currentIndex() == self.LineProfileType
self.mTip1.setVisible(not isLineProfile)
self.mTip2.setVisible(isLineProfile)

self.onLiveUpdate()

def onCurrentLayerChanged(self):
print('TODO')
return

# disconnect old layer
try:
self.oldLineLayer.selectionChanged.disconnect(self.onLineLayerSelectionChanged)
self.oldLineLayer.selectionChanged.disconnect(self.onLayerSelectionChanged)
except Exception:
pass

# connect new layer
layer = self.mLineLayer.currentLayer()
layer = self.currentLayer()
if layer is None:
return
layer.selectionChanged.connect(self.onLineLayerSelectionChanged)
layer.selectionChanged.connect(self.onLayerSelectionChanged)

self.oldLineLayer = layer

def onLineLayerSelectionChanged(self):
def onLayerSelectionChanged(self):
self.onLiveUpdate()

def onAddRasterClicked(self):
Expand Down Expand Up @@ -212,15 +221,21 @@ def onApplyClicked(self):
continue

w: QgsRasterBandComboBox = self.mRasterTable.cellWidget(row, 1)
bandNo: int = w.currentBand()

point = self.currentLocation()
if point is None and self.mRasterProfileType.currentIndex() != self.LineProfileType:
return
else:
if self.mRasterProfileType.currentIndex() != self.ZProfileType:
bandNo: int = w.currentBand()
if bandNo == -1:
return

if self.mRasterProfileType.currentIndex() != self.LineProfileType:
point = self.currentLocation()
if point is None:
return
pixel = point.toPixel(layer)
if pixel is None:
continue
else:
pixel = None

# read data
reader = RasterReader(layer)
Expand Down
159 changes: 158 additions & 1 deletion enmapbox/coreapps/profileanalyticsapp/profileanalyticsdockwidget.ui
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
</property>
<property name="minimumSize">
<size>
<width>352</width>
<width>592</width>
<height>399</height>
</size>
</property>
Expand Down Expand Up @@ -157,6 +157,163 @@
</item>
</widget>
</item>
<item row="1" column="1">
<layout class="QVBoxLayout" name="verticalLayout_9">
<property name="spacing">
<number>0</number>
</property>
<item>
<widget class="QWidget" name="mTip1" native="true">
<layout class="QVBoxLayout" name="verticalLayout_10">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
<widget class="QLabel" name="label_10">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Use the</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_4">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/qps/ui/icons/select_location.svg</normaloff>:/qps/ui/icons/select_location.svg</iconset>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_11">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>map tool to select a locations.</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_6">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QWidget" name="mTip2" native="true">
<layout class="QVBoxLayout" name="verticalLayout_11">
<property name="leftMargin">
<number>0</number>
</property>
<property name="topMargin">
<number>0</number>
</property>
<property name="rightMargin">
<number>0</number>
</property>
<property name="bottomMargin">
<number>0</number>
</property>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QLabel" name="label_12">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>Use the</string>
</property>
</widget>
</item>
<item>
<widget class="QToolButton" name="toolButton_5">
<property name="text">
<string>...</string>
</property>
<property name="icon">
<iconset>
<normaloff>:/images/themes/default/mActionSelectRectangle.svg</normaloff>:/images/themes/default/mActionSelectRectangle.svg</iconset>
</property>
<property name="autoRaise">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_13">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text">
<string>map tool to select a vector-line.</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_7">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
</layout>
</widget>
</item>
</layout>
</item>
</layout>
</item>
<item>
Expand Down

0 comments on commit 3ddc7f3

Please sign in to comment.