QGridLayout)
from qgis.core import (Qgis, QgsMapLayerProxyModel,
                       QgsCoordinateReferenceSystem, QgsWkbTypes)
from qgis.gui import QgsMessageBar

from asistente_ladm_col.config.general_config import (LAYER, DEFAULT_EPSG)
from asistente_ladm_col.config.help_strings import HelpStrings
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.qt_utils import (make_file_selector,
                                               OverrideCursor,
                                               enable_next_wizard,
                                               disable_next_wizard,
                                               normalize_local_url)

WIZARD_UI = get_ui_class('wizards/operation/wiz_create_points_operation.ui')


class CreatePointsOperationWizard(QWizard, WIZARD_UI):
    WIZARD_NAME = "CreatePointsOperationWizard"
    WIZARD_TOOL_NAME = QCoreApplication.translate(WIZARD_NAME, "Create Point")

    def __init__(self, iface, db, qgis_utils):
        QWizard.__init__(self)
        self.setupUi(self)
        self.iface = iface
        self._db = db
        self.qgis_utils = qgis_utils
        self.logger = Logger()
        self.names = self._db.names
        self.help_strings = HelpStrings()
Beispiel #2
0
from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.gui.dialogs.dlg_settings import SettingsDialog
from asistente_ladm_col.lib.ladm_col_models import LADMColModelRegistry
from asistente_ladm_col.utils.interlis_utils import get_models_from_xtf
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.lib.dependency.java_dependency import JavaDependency
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.utils import show_plugin_help
from asistente_ladm_col.utils.qt_utils import (Validators, FileValidator,
                                               make_file_selector,
                                               OverrideCursor)

from asistente_ladm_col.config.config_db_supported import ConfigDBsSupported
from asistente_ladm_col.config.enums import EnumDbActionType

DIALOG_UI = get_ui_class('qgis_model_baker/dlg_import_data.ui')


class DialogImportData(QDialog, DIALOG_UI):
    open_dlg_import_schema = pyqtSignal(dict)  # dict with key-value params
    BUTTON_NAME_IMPORT_DATA = QCoreApplication.translate(
        "DialogImportData", "Import data")
    BUTTON_NAME_GO_TO_CREATE_STRUCTURE = QCoreApplication.translate(
        "DialogImportData", "Go to Create Structure...")

    def __init__(self,
                 iface,
                 conn_manager,
                 context,
                 link_to_import_schema=True,
                 parent=None):
Beispiel #3
0
from qgis.PyQt.QtWidgets import (QDialog,
                                 QDialogButtonBox,
                                 QMessageBox,
                                 QSizePolicy)
from qgis.gui import QgsMessageBar

from asistente_ladm_col.config.general_config import (SUPPLIES_DB_SOURCE,
                                                      COLLECTED_DB_SOURCE,
                                                      SETTINGS_CONNECTION_TAB_INDEX)
from asistente_ladm_col.config.mapping_config import LADMNames
from asistente_ladm_col.gui.dialogs.dlg_settings import SettingsDialog
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.config.help_strings import HelpStrings

DIALOG_UI = get_ui_class('change_detection/dlg_change_detection_settings.ui')


class ChangeDetectionSettingsDialog(QDialog, DIALOG_UI):
    CHANGE_DETECTIONS_MODE_SUPPLIES_MODEL = "CHANGE_DETECTIONS_MODE_SUPPLIES_MODEL"
    CHANGE_DETECTIONS_MODES = {CHANGE_DETECTIONS_MODE_SUPPLIES_MODEL: QCoreApplication.translate("ChangeDetectionSettingsDialog", "Change detection supplies model")}

    def __init__(self, parent=None, qgis_utils=None, conn_manager=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.logger = Logger()
        self.help_strings = HelpStrings()
        self.txt_help_page.setHtml(self.help_strings.CHANGE_DETECTION_SETTING_DIALOG_HELP)

        self.conn_manager = conn_manager
        self.qgis_utils = qgis_utils
Beispiel #4
0
from qgis.gui import QgsMessageBar
import processing

from qgis.PyQt.QtWidgets import (QDialog, QSizePolicy, QDialogButtonBox,
                                 QMessageBox, QFileDialog)

from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils.qt_utils import make_file_selector, normalize_local_url
from asistente_ladm_col.config.help_strings import HelpStrings
from asistente_ladm_col.config.general_config import (
    LAYER, LOG_QUALITY_LIST_CONTAINER_OPEN, LOG_QUALITY_LIST_ITEM_ERROR_OPEN,
    LOG_QUALITY_LIST_ITEM_ERROR_CLOSE, LOG_QUALITY_LIST_CONTAINER_CLOSE,
    LOG_QUALITY_CONTENT_SEPARATOR)
from asistente_ladm_col.utils import get_ui_class

DIALOG_UI = get_ui_class('dialogs/dlg_import_from_excel.ui')

# Excel titles
EXCEL_SHEET_NAME_PLOT = 'predio'
EXCEL_SHEET_NAME_PARTY = 'interesado'
EXCEL_SHEET_NAME_GROUP = 'agrupacion'
EXCEL_SHEET_NAME_RIGHT = 'derecho'
EXCEL_SHEET_TITLE_DEPARTMENT = 'departamento'
EXCEL_SHEET_TITLE_MUNICIPALITY = 'municipio'
EXCEL_SHEET_TITLE_ZONE = 'zona'
EXCEL_SHEET_TITLE_REGISTRATION_PLOT = 'matricula predio'
EXCEL_SHEET_TITLE_NPN = 'numero predial nuevo'
EXCEL_SHEET_TITLE_NPV = 'numero predial viejo'
EXCEL_SHEET_TITLE_PLOT_NAME = 'nombre predio'
EXCEL_SHEET_TITLE_VALUATION = 'avaluo'
EXCEL_SHEET_TITLE_PLOT_CONDITION = 'condicion predio'
 *   published by the Free Software Foundation.                            *
 *                                                                         *
 ***************************************************************************/
"""
import locale

from qgis.PyQt.QtCore import (Qt, QCoreApplication, pyqtSignal)
from qgis.PyQt.QtGui import QBrush
from qgis.PyQt.QtWidgets import (QTableWidgetItem, QMessageBox)
from qgis.gui import QgsPanelWidget

from asistente_ladm_col.config.general_config import NOT_ALLOCATED_PARCEL_COLOR
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class

WIDGET_UI = get_ui_class(
    'field_data_capture/base_allocate_parcels_to_receiver_panel_widget.ui')


class BaseAllocateParcelsToReceiverPanelWidget(QgsPanelWidget, WIDGET_UI):
    refresh_parcel_data_requested = pyqtSignal()

    def __init__(self, parent, controller, parcels_to_be_allocated):
        QgsPanelWidget.__init__(self, parent)
        self.setupUi(self)
        self.parent = parent
        self._controller = controller
        self.logger = Logger()

        # Main dicts to store parcels that are not yet allocated but were selected
        # from the previous panel and parcels that are already allocated in the DB
        self.__parcels_to_be_allocated = parcels_to_be_allocated  # {parcel_fid: parcel_number}
Beispiel #6
0
from asistente_ladm_col.config.layer_config import LayerConfig
from asistente_ladm_col.config.symbology import Symbology
from asistente_ladm_col.config.general_config import (SUPPLIES_DB_SOURCE,
                                                      COLLECTED_DB_SOURCE)
from asistente_ladm_col.config.change_detection_config import (
    PLOT_GEOMETRY_KEY, DICT_KEY_PARTIES, PARCEL_NUMBER_SEARCH_KEY,
    PREVIOUS_PARCEL_NUMBER_SEARCH_KEY, FMI_PARCEL_SEARCH_KEY,
    get_collected_search_options, get_supplies_search_options,
    DICT_ALIAS_KEYS_CHANGE_DETECTION)
from asistente_ladm_col.gui.change_detection.dlg_select_duplicate_parcel_change_detection import SelectDuplicateParcelDialog
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils.decorators import _with_override_cursor
from asistente_ladm_col.utils import get_ui_class

WIDGET_UI = get_ui_class('change_detection/changes_per_parcel_panel_widget.ui')


class ChangesPerParcelPanelWidget(QgsPanelWidget, WIDGET_UI):
    def __init__(self,
                 parent,
                 utils,
                 parcel_number=None,
                 collected_parcel_t_id=None):
        QgsPanelWidget.__init__(self, None)
        self.setupUi(self)
        self.parent = parent
        self.utils = utils
        self.logger = Logger()

        self.setDockMode(True)
    CHECK_OVERLAPS_IN_BUILDINGS, CHECK_OVERLAPS_IN_RIGHTS_OF_WAY,
    CHECK_PLOTS_COVERED_BY_BOUNDARIES, CHECK_RIGHT_OF_WAY_OVERLAPS_BUILDINGS,
    CHECK_GAPS_IN_PLOTS, CHECK_MULTIPART_IN_RIGHT_OF_WAY,
    CHECK_BUILDING_WITHIN_PLOTS, CHECK_BUILDING_UNIT_WITHIN_PLOTS,
    CHECK_PARCEL_RIGHT_RELATIONSHIP, CHECK_FRACTION_SUM_FOR_PARTY_GROUPS,
    FIND_DUPLICATE_RECORDS_IN_A_TABLE,
    CHECK_DEPARMENT_CODE_HAS_TWO_NUMERICAL_CHARACTERS,
    CHECK_MUNICIPALITY_CODE_HAS_THREE_NUMERICAL_CHARACTERS,
    CHECK_PARCEL_NUMBER_HAS_30_NUMERICAL_CHARACTERS,
    CHECK_PARCEL_NUMBER_BEFORE_HAS_20_NUMERICAL_CHARACTERS,
    CHECK_COL_PARTY_NATURAL_TYPE, CHECK_COL_PARTY_LEGAL_TYPE,
    CHECK_PARCEL_TYPE_AND_22_POSITON_OF_PARCEL_NUMBER, CHECK_UEBAUNIT_PARCEL,
    CHECK_PLOT_NODES_COVERED_BY_BOUNDARY_POINTS)
from asistente_ladm_col.utils import get_ui_class

DIALOG_UI = get_ui_class('dialogs/dlg_quality.ui')


class QualityDialog(QDialog, DIALOG_UI):
    def __init__(self, db, qgis_utils, quality, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self._db = db
        self.qgis_utils = qgis_utils
        self.quality = quality
        self.names = self._db.names
        self.translatable_config_strings = TranslatableConfigStrings()

        self.trw_quality_rules.setItemsExpandable(False)
        self.trw_quality_rules.itemSelectionChanged.connect(
            self.validate_selection_rules)
from asistente_ladm_col.config.general_config import (
    DEFAULT_ENDPOINT_SOURCE_SERVICE, DEFAULT_USE_SOURCE_SERVICE_SETTING,
    DEFAULT_USE_CUSTOM_MODELS, DEFAULT_MODELS_DIR,
    DEFAULT_AUTOMATIC_VALUES_IN_BATCH_MODE, TOLERANCE_MAX_VALUE)
from asistente_ladm_col.config.transitional_system_config import TransitionalSystemConfig
from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.gui.dialogs.dlg_custom_model_dir import CustomModelDirDialog
from asistente_ladm_col.gui.gui_builder.role_registry import RoleRegistry
from asistente_ladm_col.lib.context import (SettingsContext, Context)
from asistente_ladm_col.lib.db.db_connector import (DBConnector, EnumTestLevel)
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.lib.transitional_system.st_session.st_session import STSession
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.utils import show_plugin_help

DIALOG_UI = get_ui_class('dialogs/dlg_settings.ui')


class SettingsDialog(QDialog, DIALOG_UI):
    """
    Customizable dialog to configure LADM-COL Assistant.

    It can be created passing a SettingsContext with specific params
    or it can be instantiated and then set params one by one.
    """
    db_connection_changed = pyqtSignal(DBConnector, bool,
                                       str)  # dbconn, ladm_col_db, source
    open_dlg_import_schema = pyqtSignal(
        Context)  # Context for the import schema dialog

    def __init__(self, conn_manager=None, context=None, parent=None):
Beispiel #9
0
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License v3.0 as          *
 *   published by the Free Software Foundation.                            *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt.QtCore import (Qt,
                              pyqtSignal)
from qgis.gui import QgsDockWidget

from asistente_ladm_col.gui.transitional_system.task_panel import TaskPanelWidget
from asistente_ladm_col.gui.transitional_system.transitional_system_initial_panel import TransitionalSystemInitialPanelWidget
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.qt_utils import OverrideCursor

DOCKWIDGET_UI = get_ui_class('transitional_system/dockwidget_transitional_system.ui')


class DockWidgetTransitionalSystem(QgsDockWidget, DOCKWIDGET_UI):
    """
    Main UI for the Transitional System in the LADM-COL Assistant. It holds other panels.
    """
    logout_requested = pyqtSignal()
    trigger_action_emitted = pyqtSignal(str)  # action tag

    def __init__(self, user, parent):
        super(DockWidgetTransitionalSystem, self).__init__(parent)
        self.setupUi(self)
        self._user = user
        self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)
from qgis.PyQt.QtCore import (QUrl, QFile, QTextStream, QIODevice,
                              QCoreApplication, pyqtSignal)
from qgis.PyQt.QtWidgets import QDialog
from qgis.core import (QgsNetworkContentFetcherTask, QgsApplication)

from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.config.general_config import (HELP_DIR_NAME,
                                                      HELP_DOWNLOAD,
                                                      PLUGIN_VERSION,
                                                      TEST_SERVER)
from asistente_ladm_col.config.translator import (QGIS_LANG, PLUGIN_DIR)
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.utils import (is_connected, show_plugin_help)

DIALOG_UI = get_ui_class('dialogs/dlg_about.ui')


class AboutDialog(QDialog, DIALOG_UI):
    message_with_button_open_about_emitted = pyqtSignal(str)

    def __init__(self, parent):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.logger = Logger()
        self.check_local_help()

        self.tb_changelog.setOpenExternalLinks(True)

        if QGIS_LANG == 'en':
            file = QFile(
from qgis.PyQt.QtCore import (Qt, QSettings, QCoreApplication, pyqtSignal)
from qgis.PyQt.QtGui import QValidator
from qgis.core import (Qgis, QgsProject, QgsVectorLayer)
from qgis.gui import QgsMessageBar

from asistente_ladm_col.config.general_config import BLO_LIS_FILE_PATH
from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils.qt_utils import (FileValidator, DirValidator,
                                               Validators, normalize_local_url,
                                               make_file_selector,
                                               make_folder_selector)
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.lib.processing.custom_processing_feedback import CustomFeedback

DIALOG_LOG_EXCEL_UI = get_ui_class('supplies/dlg_missing_supplies.ui')


class MissingSuppliesBaseDialog(QDialog, DIALOG_LOG_EXCEL_UI):
    on_result = pyqtSignal(
        bool)  # whether the tool was run successfully or not

    def __init__(self, db, conn_manager, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self._db = db
        self.conn_manager = conn_manager
        self.parent = parent

        self.logger = Logger()
        self.app = AppInterface()
from asistente_ladm_col.config.symbology import Symbology
from asistente_ladm_col.config.general_config import MAP_SWIPE_TOOL_PLUGIN_NAME
from asistente_ladm_col.config.layer_config import LayerConfig
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.config.change_detection_config import (CHANGE_DETECTION_NEW_PARCEL,
                                                               CHANGE_DETECTION_PARCEL_CHANGED,
                                                               CHANGE_DETECTION_PARCEL_ONLY_GEOMETRY_CHANGED,
                                                               CHANGE_DETECTION_PARCEL_REMAINS,
                                                               CHANGE_DETECTION_SEVERAL_PARCELS,
                                                               CHANGE_DETECTION_NULL_PARCEL,
                                                               DICT_KEY_PARCEL_T_PARCEL_NUMBER_F,
                                                               PARCEL_STATUS,
                                                               PARCEL_STATUS_DISPLAY,
                                                               PLOT_GEOMETRY_KEY)

DOCKWIDGET_UI = get_ui_class('change_detection/dockwidget_change_detection.ui')


class DockWidgetChangeDetection(QgsDockWidget, DOCKWIDGET_UI):

    zoom_to_features_requested = pyqtSignal(QgsVectorLayer, list, dict, int)  # layer, ids, t_ids, duration

    def __init__(self, iface, db, supplies_db, ladm_data, all_parcels_mode=True):
        super(DockWidgetChangeDetection, self).__init__(None)
        self.setupUi(self)
        self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)

        self.utils = ChangeDetectionUtils(iface, db, supplies_db, ladm_data)
        self.utils.change_detection_layer_removed.connect(self.layer_removed)

        self.map_swipe_tool = qgis.utils.plugins[MAP_SWIPE_TOOL_PLUGIN_NAME]
from qgis.gui import QgsMessageBar

import processing

from asistente_ladm_col.config.general_config import (LAYER,
                                                      BLO_LIS_FILE_PATH)
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils.qt_utils import (FileValidator,
                                               DirValidator,
                                               Validators,
                                               make_file_selector,
                                               make_folder_selector)
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.lib.processing.custom_processing_feedback import CustomFeedback

DIALOG_LOG_EXCEL_UI = get_ui_class('supplies/dlg_etl_cobol.ui')


class CobolBaseDialog(QDialog, DIALOG_LOG_EXCEL_UI):
    on_result = pyqtSignal(bool)  # whether the tool was run successfully or not

    def __init__(self, qgis_utils, db, conn_manager, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.qgis_utils = qgis_utils
        self._db = db
        self.conn_manager = conn_manager
        self.parent = parent
        self.logger = Logger()

        self._dialog_mode = None
                              QCoreApplication,
                              pyqtSignal)
from qgis.PyQt.QtGui import QValidator
from qgis.core import Qgis
from qgis.gui import QgsMessageBar

from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils.qt_utils import (FileValidator,
                                               Validators,
                                               make_file_selector,
                                               make_save_file_selector,
                                               ProcessWithStatus)
from asistente_ladm_col.utils import get_ui_class

DIALOG_XTF_MODEL_CONVERTER_UI = get_ui_class('xtf_model_converter/dlg_xtf_model_converter.ui')


class XTFModelConverterDialog(QDialog, DIALOG_XTF_MODEL_CONVERTER_UI):
    on_result = pyqtSignal(bool)  # whether the tool was run successfully or not

    def __init__(self, controller, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self._controller = controller
        self.parent = parent

        self.logger = Logger()
        self.app = AppInterface()
        self.validators = Validators()
                       QgsExpression, QgsVectorLayer)
from qgis.gui import (QgsDockWidget, QgsMapToolIdentifyFeature)

from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.config.layer_config import LayerConfig
from asistente_ladm_col.config.general_config import (TEST_SERVER, LAYER,
                                                      SUFFIX_GET_THUMBNAIL)
from asistente_ladm_col.config.mapping_config import LADMNames

from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.qt_utils import (ProcessWithStatus,
                                               OverrideCursor)

from asistente_ladm_col.logic.ladm_col.data.tree_models import TreeModel

DOCKWIDGET_UI = get_ui_class('dockwidgets/dockwidget_queries.ui')


class DockWidgetQueries(QgsDockWidget, DOCKWIDGET_UI):

    zoom_to_features_requested = pyqtSignal(QgsVectorLayer, list, dict,
                                            int)  # layer, ids, t_ids, duration

    def __init__(self, iface, db, qgis_utils, ladm_data, parent=None):
        super(DockWidgetQueries, self).__init__(None)
        self.setupUi(self)
        self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)
        self.iface = iface
        self._db = db
        self.qgis_utils = qgis_utils
        self.ladm_data = ladm_data
Beispiel #16
0
import os

from qgis.PyQt.QtCore import (QCoreApplication,
                              Qt,
                              pyqtSignal)
from qgis.PyQt.QtWidgets import (QSpacerItem,
                                 QSizePolicy,
                                 QLabel)
from qgis.gui import QgsPanelWidget

from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.config.enums import EnumLogHandler
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class

WIDGET_UI = get_ui_class('field_data_capture/base_split_data_for_receivers_panel_widget.ui')


class BaseSplitDataForReceiversPanelWidget(QgsPanelWidget, WIDGET_UI):
    refresh_parcel_data_clear_selection_requested = pyqtSignal()

    def __init__(self, parent, controller):
        QgsPanelWidget.__init__(self, parent)
        self.setupUi(self)
        self.parent = parent
        self._controller = controller

        self.logger = Logger()
        self.app = AppInterface()

        self.setDockMode(True)
Beispiel #17
0
from qgis.PyQt.QtCore import (Qt, QSettings, QCoreApplication)
from qgis.PyQt.QtGui import (QBrush, QFont, QIcon)
from qgis.PyQt.QtWidgets import (QDialog, QTreeWidgetItem, QLineEdit,
                                 QTreeWidgetItemIterator, QComboBox)
from qgis.core import QgsWkbTypes

from asistente_ladm_col.lib.ladm_col_models import LADMColModelRegistry
from asistente_ladm_col.config.enums import EnumLayerRegistryType
from asistente_ladm_col.config.layer_config import LayerConfig
from asistente_ladm_col.config.query_names import QueryNames
from asistente_ladm_col.config.ili2db_names import ILI2DBNames
from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.utils import show_plugin_help

DIALOG_UI = get_ui_class('dialogs/dlg_load_layers.ui')


class LoadLayersDialog(QDialog, DIALOG_UI):
    def __init__(self, db, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self._db = db

        self.app = AppInterface()
        self.names = self._db.names

        self.models_tree = dict()
        self.selected_items_dict = dict()
        self.icon_names = [
            'points.png', 'lines.png', 'polygons.png', 'tables.png',
Beispiel #18
0
/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License v3.0 as          *
 *   published by the Free Software Foundation.                            *
 *                                                                         *
 ***************************************************************************/
"""

from qgis.PyQt.QtCore import Qt
from qgis.PyQt.QtGui import QIcon
from qgis.PyQt.QtWidgets import (QDialog, QListWidgetItem, QDialogButtonBox)

from asistente_ladm_col.utils import get_ui_class

DIALOG_UI = get_ui_class('dialogs/dlg_topological_edition.ui')


class LayersForTopologicalEditionDialog(QDialog, DIALOG_UI):
    def __init__(self, names, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.names = names
        self.selected_layers_info = dict()

        self.lst_plots.clear()
        self.lst_buildings.clear()

        self.plots = {
            self.names.LC_BOUNDARY_POINT_T: None,
            self.names.LC_BOUNDARY_T: None,
from qgis.gui import QgsPanelWidget

from asistente_ladm_col.config.enums import EnumSTTaskStatus
from asistente_ladm_col.config.general_config import (CHECKED_COLOR,
                                                      UNCHECKED_COLOR,
                                                      GRAY_COLOR)
from asistente_ladm_col.config.task_steps_config import (SLOT_NAME,
                                                         SLOT_PARAMS,
                                                         SLOT_CONTEXT)
from asistente_ladm_col.config.transitional_system_config import TransitionalSystemConfig
from asistente_ladm_col.gui.transitional_system.dlg_cancel_task import STCancelTaskDialog
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.lib.transitional_system.st_session.st_session import STSession
from asistente_ladm_col.utils import get_ui_class

WIDGET_UI = get_ui_class(
    'transitional_system/transitional_system_task_panel_widget.ui')


class TaskPanelWidget(QgsPanelWidget, WIDGET_UI):
    trigger_action_emitted = pyqtSignal(str)  # action tag

    def __init__(self, task_id, parent):
        QgsPanelWidget.__init__(self, parent)
        self.setupUi(self)
        self.session = STSession()
        self._task = self.session.task_manager.get_task(task_id)
        self.parent = parent
        self.logger = Logger()
        self.st_config = TransitionalSystemConfig()

        self.setDockMode(True)
 ***************************************************************************/
"""
from qgis.PyQt.QtCore import (Qt,
                              pyqtSignal,
                              QCoreApplication)
from qgis.gui import QgsDockWidget

from asistente_ladm_col.config.enums import EnumQualityRulePanelMode
from asistente_ladm_col.gui.quality_rules.quality_rules_error_results_panel import QualityRulesErrorResultsPanelWidget
from asistente_ladm_col.gui.quality_rules.quality_rules_general_results_panel import QualityRulesGeneralResultsPanelWidget
from asistente_ladm_col.gui.quality_rules.quality_rules_initial_panel import QualityRulesInitialPanelWidget
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.qt_utils import OverrideCursor

DOCKWIDGET_UI = get_ui_class('quality_rules/dockwidget_quality_rules.ui')


class DockWidgetQualityRules(QgsDockWidget, DOCKWIDGET_UI):
    """
    Main UI for the Quality Rules module. It holds other panels.
    """
    trigger_action_emitted = pyqtSignal(str)  # action tag

    def __init__(self, controller, parent):
        super(DockWidgetQualityRules, self).__init__(parent)
        self.setupUi(self)
        self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)

        self.__controller = controller
        self.__controller.quality_rule_layer_removed.connect(self.__layer_removed)
"""
from qgis.PyQt.QtCore import (Qt, QCoreApplication)
from qgis.PyQt.QtWidgets import (QDialog, QVBoxLayout, QRadioButton,
                                 QSizePolicy)
from qgis.core import Qgis
from qgis.gui import QgsMessageBar

from asistente_ladm_col.config.enums import LogHandlerEnum
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.config.help_strings import HelpStrings
from asistente_ladm_col.lib.transitional_system.st_session.st_session import STSession
from asistente_ladm_col.utils.qt_utils import ProcessWithStatus

from asistente_ladm_col.utils import get_ui_class

DIALOG_UI = get_ui_class('transitional_system/dlg_login_st.ui')


class LoginSTDialog(QDialog, DIALOG_UI):
    def __init__(self, parent=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.session = STSession()

        self.logger = Logger()
        self.help_strings = HelpStrings()

        #self.txt_help_page.setHtml(self.help_strings.DLG_WELCOME_SCREEN)
        #self.txt_help_page.anchorClicked.connect(self.save_template)

        self.buttonBox.accepted.disconnect()
Beispiel #22
0
"""
from qgis.PyQt.QtCore import (Qt,
                              QCoreApplication)
from qgis.gui import QgsDockWidget

from asistente_ladm_col.gui.field_data_capture.base_allocate_parcels_initial_panel import BaseAllocateParcelsInitialPanelWidget
from asistente_ladm_col.gui.field_data_capture.base_allocate_parcels_to_receiver_panel import BaseAllocateParcelsToReceiverPanelWidget
from asistente_ladm_col.gui.field_data_capture.base_configure_receivers_panel import BaseConfigureReceiversPanelWidget
from asistente_ladm_col.gui.field_data_capture.base_split_data_for_receivers_panel import BaseSplitDataForReceiversPanelWidget
from asistente_ladm_col.gui.field_data_capture.base_field_data_capture_controller import BaseFieldDataCaptureController
from asistente_ladm_col.utils import get_ui_class

from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils.qt_utils import OverrideCursor

DOCKWIDGET_UI = get_ui_class('field_data_capture/base_dockwidget_field_data_capture.ui')


class BaseDockWidgetFieldDataCapture(QgsDockWidget, DOCKWIDGET_UI):
    def __init__(self, iface, db, ladm_data, allocate_mode=True):
        super(BaseDockWidgetFieldDataCapture, self).__init__(None)
        self.setupUi(self)
        self.setAllowedAreas(Qt.LeftDockWidgetArea | Qt.RightDockWidgetArea)

        self.logger = Logger()
        self.logger.clear_message_bar()  # Clear QGIS message bar

        self._controller = self._get_controller(iface, db, ladm_data)
        self._controller.field_data_capture_layer_removed.connect(self.layer_removed)

        # Configure panels
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License v3.0 as          *
 *   published by the Free Software Foundation.                            *
 *                                                                         *
 ***************************************************************************/
"""
import uuid

from qgis.PyQt.QtWidgets import QTableWidgetItem
from qgis.PyQt.QtCore import (QCoreApplication, Qt, pyqtSignal)
from qgis.gui import QgsPanelWidget

from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class

WIDGET_UI = get_ui_class(
    'field_data_capture/base_configure_receivers_panel_widget.ui')


class BaseConfigureReceiversPanelWidget(QgsPanelWidget, WIDGET_UI):
    clear_message_bar_requested = pyqtSignal()

    def __init__(self, parent, controller):
        QgsPanelWidget.__init__(self, parent)
        self.setupUi(self)
        self.parent = parent
        self.logger = Logger()
        self._controller = controller

        self.setDockMode(True)
        self.setPanelTitle(
            QCoreApplication.translate("BaseConfigureReceiversPanelWidget",
from qgis.PyQt.QtCore import (QCoreApplication,
                              Qt,
                              pyqtSignal)
from qgis.PyQt.QtGui import QBrush
from qgis.PyQt.QtWidgets import (QTableWidgetItem,
                                 QMessageBox,
                                 QFileDialog)
from qgis.gui import QgsPanelWidget

from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.config.enums import EnumLogHandler
from asistente_ladm_col.config.general_config import NOT_ALLOCATED_PARCEL_COLOR
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class

WIDGET_UI = get_ui_class('field_data_capture/base_allocate_parcels_initial_panel_widget.ui')


class BaseAllocateParcelsInitialPanelWidget(QgsPanelWidget, WIDGET_UI):
    allocate_parcels_to_receiver_panel_requested = pyqtSignal(dict)  # {parcel_fid: parcel_number}
    configure_receivers_panel_requested = pyqtSignal()
    split_data_for_receivers_panel_requested = pyqtSignal()

    STATUS_COL = 1

    def __init__(self, parent, controller):
        QgsPanelWidget.__init__(self, parent)
        self.setupUi(self)
        self.parent = parent
        self._controller = controller
        self.logger = Logger()
    SETTINGS_MODELS_TAB_INDEX)
from asistente_ladm_col.config.help_strings import HelpStrings
from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.config.ladm_names import LADMNames
from asistente_ladm_col.core.supplies.etl_cobol import ETLCobol
from asistente_ladm_col.core.supplies.etl_snc import ETLSNC
from asistente_ladm_col.gui.dialogs.dlg_settings import SettingsDialog
from asistente_ladm_col.gui.supplies.cobol_data_sources_widget import CobolDataSourceWidget
from asistente_ladm_col.gui.supplies.snc_data_sources_widget import SNCDataSourceWidget
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.lib.processing.custom_processing_feedback import CustomFeedback
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.qt_utils import OverrideCursor
from asistente_ladm_col.utils.utils import show_plugin_help

WIZARD_UI = get_ui_class('supplies/wiz_supplies_etl.ui')


class SuppliesETLWizard(QWizard, WIZARD_UI):
    on_result = pyqtSignal(
        bool)  # whether the tool was run successfully or not

    def __init__(self, db, conn_manager, parent=None):
        QWizard.__init__(self, parent)
        self.setupUi(self)
        self._db = db
        self.conn_manager = conn_manager
        self.parent = parent

        self.logger = Logger()
        self.app = AppInterface()
Beispiel #26
0
from asistente_ladm_col.config.general_config import (SOURCE_DB,
                                                      COLLECTED_DB_SOURCE,
                                                      SUPPLIES_DB_SOURCE)
from asistente_ladm_col.config.change_detection_config import (CHANGE_DETECTION_NEW_PARCEL,
                                                               CHANGE_DETECTION_MISSING_PARCEL,
                                                               CHANGE_DETECTION_PARCEL_CHANGED,
                                                               CHANGE_DETECTION_PARCEL_ONLY_GEOMETRY_CHANGED,
                                                               CHANGE_DETECTION_PARCEL_REMAINS,
                                                               CHANGE_DETECTION_SEVERAL_PARCELS,
                                                               CHANGE_DETECTION_NULL_PARCEL,
                                                               DICT_KEY_PARCEL_T_PARCEL_NUMBER_F,
                                                               PARCEL_STATUS)
from asistente_ladm_col.config.query_names import QueryNames
from asistente_ladm_col.utils import get_ui_class

WIDGET_UI = get_ui_class('change_detection/parcels_changes_summary_panel_widget.ui')


class ParcelsChangesSummaryPanelWidget(QgsPanelWidget, WIDGET_UI):
    all_parcels_panel_requested = pyqtSignal(str)

    def __init__(self, parent, utils):
        QgsPanelWidget.__init__(self, parent)
        self.setupUi(self)
        self.parent = parent
        self.utils = utils

        self.setDockMode(True)
        self.setPanelTitle(QCoreApplication.translate("ParcelsChangesSummaryPanelWidget", "Summary of changes detected"))

    def fill_data(self):
from qgis.PyQt.QtCore import (Qt, QCoreApplication)
from qgis.PyQt.QtWidgets import (QDialog, QTableWidgetItem, QListWidgetItem,
                                 QSizePolicy)
from qgis.core import (QgsVectorLayerUtils, QgsExpression,
                       QgsExpressionContext, Qgis, edit)
from qgis.gui import QgsMessageBar

from asistente_ladm_col.config.layer_config import LayerConfig
from asistente_ladm_col.config.general_config import LAYER
from asistente_ladm_col.config.help_strings import HelpStrings
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class
from qgis.core import NULL

DIALOG_UI = get_ui_class('wizards/operation/dlg_group_party.ui')


class CreateGroupPartyOperation(QDialog, DIALOG_UI):
    WIZARD_NAME = "CreateGroupPartyOperationWizard"
    WIZARD_TOOL_NAME = QCoreApplication.translate(WIZARD_NAME,
                                                  "Create group party")

    def __init__(self, iface, db, qgis_utils, parent=None):
        QDialog.__init__(self)
        self.setupUi(self)
        self.iface = iface
        self._db = db
        self.qgis_utils = qgis_utils
        self.logger = Logger()
        self.names = self._db.names
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License v3.0 as          *
 *   published by the Free Software Foundation.                            *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt.QtCore import QCoreApplication
from qgis.PyQt.QtWidgets import (QDialog, QDialogButtonBox)
from qgis.PyQt.QtWidgets import QTableWidgetItem
from qgis.core import (QgsFeatureRequest, QgsExpression)

from asistente_ladm_col.config.general_config import LAYER
from asistente_ladm_col.utils import get_ui_class

DIALOG_UI = get_ui_class(
    'change_detection/dlg_select_duplicate_parcel_change_detection.ui')


class SelectDuplicateParcelDialog(QDialog, DIALOG_UI):
    def __init__(self, utils, parcels_t_ids, parent):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.utils = utils
        self.parcels_t_ids = parcels_t_ids
        self.parent = parent
        self.parcel_t_id = None
        self.parcel_number = None

        self.fill_table()

        self.tbl_changes_parcels.itemSelectionChanged.connect(
from qgis.gui import QgsMessageBar

from asistente_ladm_col.config.general_config import DEFAULT_SRS_AUTHID
from asistente_ladm_col.config.help_strings import HelpStrings
from asistente_ladm_col.app_interface import AppInterface
from asistente_ladm_col.lib.logger import Logger
from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.crs_utils import get_crs_authid
from asistente_ladm_col.utils.utils import show_plugin_help
from asistente_ladm_col.utils.qt_utils import (make_file_selector,
                                               OverrideCursor,
                                               enable_next_wizard,
                                               disable_next_wizard,
                                               normalize_local_url)

WIZARD_UI = get_ui_class('wizards/survey/wiz_create_points_survey.ui')


class CreatePointsSurveyWizard(QWizard, WIZARD_UI):
    WIZARD_NAME = "CreatePointsSurveyWizard"
    WIZARD_TOOL_NAME = QCoreApplication.translate(WIZARD_NAME, "Create Point")

    def __init__(self, iface, db):
        QWizard.__init__(self)
        self.setupUi(self)
        self.iface = iface
        self._db = db
        self.logger = Logger()
        self.app = AppInterface()

        self.names = self._db.names
from functools import partial

from PyQt5.QtCore import QCoreApplication

from asistente_ladm_col.lib.logger import Logger
from qgis.PyQt.QtWidgets import (QDialog,
                                 QVBoxLayout,
                                 QRadioButton)

from asistente_ladm_col.config.help_strings import HelpStrings
from asistente_ladm_col.gui.gui_builder.role_registry import RoleRegistry

from asistente_ladm_col.utils import get_ui_class
from asistente_ladm_col.utils.utils import show_plugin_help

DIALOG_UI = get_ui_class('dialogs/dlg_welcome_screen.ui')


class WelcomeScreenDialog(QDialog, DIALOG_UI):
    def __init__(self, parent):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.logger = Logger()
        self.help_strings = HelpStrings()

        #self.txt_help_page.setHtml(self.help_strings.DLG_WELCOME_SCREEN)
        #self.txt_help_page.anchorClicked.connect(self.save_template)

        self.finished.connect(self.finish_dialog)
        self.buttonBox.helpRequested.connect(self.show_help)