Skip to content

Commit

Permalink
restyle
Browse files Browse the repository at this point in the history
  • Loading branch information
JanCaha committed Jul 11, 2024
1 parent 98cde25 commit 7e96ef9
Showing 1 changed file with 109 additions and 86 deletions.
195 changes: 109 additions & 86 deletions los_tools/los_tools_plugin.py
Original file line number Diff line number Diff line change
@@ -1,25 +1,31 @@
import inspect
import os
import re
import sys
import inspect
from functools import partial
import re

from qgis.core import (QgsApplication, QgsMemoryProviderUtils, QgsWkbTypes,
QgsCoordinateReferenceSystem, QgsProject, QgsVectorLayer)
from qgis.core import (
QgsApplication,
QgsCoordinateReferenceSystem,
QgsMemoryProviderUtils,
QgsProject,
QgsVectorLayer,
QgsWkbTypes,
)
from qgis.gui import QgisInterface

from qgis.PyQt.QtGui import (QIcon)
from qgis.PyQt.QtWidgets import (QAction, QToolBar, QToolButton, QMenu)
from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtWidgets import QAction, QMenu, QToolBar, QToolButton

from los_tools.processing.los_tools_provider import LoSToolsProvider
from .gui.dialog_tool_set_camera import SetCameraTool

from .constants.fields import Fields
from .constants.plugin import PluginConstants
from .gui.create_los_tool import CreateLoSMapTool
from .gui.dialog_los_settings import LoSSettings
from .gui.dialog_raster_validations import RasterValidations
from .constants.plugin import PluginConstants
from .constants.fields import Fields
from .gui.dialog_tool_set_camera import SetCameraTool
from .gui.los_without_target_visualization.los_without_target import LosNoTargetMapTool
from .gui.optimize_point_location_tool.optimize_points_location_tool import OptimizePointsLocationTool
from .gui.create_los_tool import CreateLoSMapTool
from .utils import get_icon_path

cmd_folder = os.path.split(inspect.getfile(inspect.currentframe()))[0]
Expand All @@ -28,7 +34,7 @@
sys.path.insert(0, cmd_folder)


class LoSToolsPlugin():
class LoSToolsPlugin:

camera_tool: SetCameraTool = None

Expand Down Expand Up @@ -60,17 +66,20 @@ def initProcessing(self):
def initGui(self):
self.initProcessing()

self.add_los_layer_action = self.add_action(icon_path=get_icon_path("add_los_layer.svg"),
text="Add Plugin Layer To Project",
callback=self.add_plugin_los_layer_to_project,
add_to_toolbar=False)
self.add_los_layer_action = self.add_action(
icon_path=get_icon_path("add_los_layer.svg"),
text="Add Plugin Layer To Project",
callback=self.add_plugin_los_layer_to_project,
add_to_toolbar=False,
)
self.add_los_layer_action.setEnabled(True)

self.empty_los_layer_action = self.add_action(
icon_path=get_icon_path("remove_los_layer.svg"),
text="Empty LoS Layer Features",
callback=self.reset_los_layer,
add_to_toolbar=False)
add_to_toolbar=False,
)

toolButton = QToolButton()
toolButton.setText("LoS Layer")
Expand All @@ -82,69 +91,83 @@ def initGui(self):
menu.addAction(self.empty_los_layer_action)
self.toolbar.addWidget(toolButton)

self.add_action(icon_path=get_icon_path("los_tools_icon.svg"),
text=self.create_los_action_name,
callback=self.run_create_los_tool,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
checkable=True)
self.add_action(
icon_path=get_icon_path("los_tools_icon.svg"),
text=self.create_los_action_name,
callback=self.run_create_los_tool,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
checkable=True,
)

self.toolbar.addSeparator()

self.add_action(icon_path=get_icon_path("los_settings.svg"),
text="Calculate Notarget Los Settings",
callback=self.open_dialog_los_settings,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar)

self.add_action(icon_path=get_icon_path("rasters_list.svg"),
text="Raster Validatations",
callback=self.open_dialog_raster_validations,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar)
self.add_action(
icon_path=get_icon_path("los_settings.svg"),
text="Calculate Notarget Los Settings",
callback=self.open_dialog_los_settings,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
)

self.add_action(
icon_path=get_icon_path("rasters_list.svg"),
text="Raster Validatations",
callback=self.open_dialog_raster_validations,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
)

self.toolbar.addSeparator()

self.add_action(icon_path=get_icon_path("los_no_target_tool.svg"),
text=self.los_notarget_action_name,
callback=self.run_visualize_los_notarget_tool,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
checkable=True)

self.add_action(icon_path=get_icon_path("optimize_point.svg"),
text=self.optimize_point_location_action_name,
callback=self.run_optimize_point_location_tool,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
checkable=True)
self.add_action(
icon_path=get_icon_path("los_no_target_tool.svg"),
text=self.los_notarget_action_name,
callback=self.run_visualize_los_notarget_tool,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
checkable=True,
)

self.add_action(
icon_path=get_icon_path("optimize_point.svg"),
text=self.optimize_point_location_action_name,
callback=self.run_optimize_point_location_tool,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
checkable=True,
)

self.toolbar.addSeparator()

self.add_action(icon_path=get_icon_path("camera.svg"),
text="Set Camera",
callback=self.run_tool_set_camera,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar)
self.add_action(
icon_path=get_icon_path("camera.svg"),
text="Set Camera",
callback=self.run_tool_set_camera,
add_to_toolbar=False,
add_to_specific_toolbar=self.toolbar,
)

self.raster_validations_dialog = RasterValidations(iface=self.iface)
self.los_settings_dialog = LoSSettings(self.iface.mainWindow())

self.los_notarget_tool = LosNoTargetMapTool(self.iface)
self.los_notarget_tool.deactivated.connect(
partial(self.deactivateTool, self.los_notarget_action_name))
self.los_notarget_tool.deactivated.connect(partial(self.deactivateTool, self.los_notarget_action_name))

self.optimize_point_location_tool = OptimizePointsLocationTool(
self.iface.mapCanvas(), self.iface)
self.optimize_point_location_tool = OptimizePointsLocationTool(self.iface.mapCanvas(), self.iface)
self.optimize_point_location_tool.deactivated.connect(
partial(self.deactivateTool, self.optimize_point_location_action_name))

self.create_los_tool = CreateLoSMapTool(self.iface, self.raster_validations_dialog,
self.los_settings_dialog, self._layer_LoS,
self.add_los_layer_action)

self.create_los_tool.deactivated.connect(
partial(self.deactivateTool, self.create_los_action_name))
partial(self.deactivateTool, self.optimize_point_location_action_name)
)

self.create_los_tool = CreateLoSMapTool(
self.iface,
self.raster_validations_dialog,
self.los_settings_dialog,
self._layer_LoS,
self.add_los_layer_action,
)

self.create_los_tool.deactivated.connect(partial(self.deactivateTool, self.create_los_action_name))
self.create_los_tool.featuresAdded.connect(self.update_actions_layer_text)

self.reset_los_layer()
Expand All @@ -160,18 +183,20 @@ def unload(self):

self._layer_LoS = None

def add_action(self,
icon_path,
text,
callback,
enabled_flag=True,
add_to_menu=True,
add_to_toolbar=True,
status_tip=None,
whats_this=None,
parent=None,
add_to_specific_toolbar: QToolBar = None,
checkable: bool = False):
def add_action(
self,
icon_path,
text,
callback,
enabled_flag=True,
add_to_menu=True,
add_to_toolbar=True,
status_tip=None,
whats_this=None,
parent=None,
add_to_specific_toolbar: QToolBar = None,
checkable: bool = False,
):

icon = QIcon(icon_path)
action = QAction(icon, text, parent)
Expand Down Expand Up @@ -202,9 +227,9 @@ def add_action(self,

def run_tool_set_camera(self):
if self.camera_tool is None:
self.camera_tool = SetCameraTool(parent=self.iface.mainWindow(),
canvas=self.iface.mapCanvas(),
iface=self.iface)
self.camera_tool = SetCameraTool(
parent=self.iface.mainWindow(), canvas=self.iface.mapCanvas(), iface=self.iface
)

self.camera_tool.show()
result = self.camera_tool.exec()
Expand Down Expand Up @@ -244,16 +269,14 @@ def run_create_los_tool(self):
def _plugin_los_layer(self) -> QgsVectorLayer:

if self._layer_LoS is None:
selected_crs: QgsCoordinateReferenceSystem = self.iface.mapCanvas().mapSettings(
).destinationCrs()
selected_crs: QgsCoordinateReferenceSystem = self.iface.mapCanvas().mapSettings().destinationCrs()

if (selected_crs.isGeographic()):
if selected_crs.isGeographic():
selected_crs = QgsCoordinateReferenceSystem.fromEpsgId(3857)

return QgsMemoryProviderUtils.createMemoryLayer("Manually Created LoS",
Fields.los_plugin_layer_fields,
QgsWkbTypes.LineString25D,
selected_crs)
return QgsMemoryProviderUtils.createMemoryLayer(
"Manually Created LoS", Fields.los_plugin_layer_fields, QgsWkbTypes.LineString25D, selected_crs
)

else:
return self._layer_LoS
Expand Down

0 comments on commit 7e96ef9

Please sign in to comment.