Esempio n. 1
0
"""

from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (
    QApplication,
    QDialog
)

from stdm.data.importexport.value_translators import LookupValueTranslator
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.importexport.translator_widget_base import TranslatorDialogBase
from stdm.ui.notification import NotificationBar
#from stdm.ui.importexport.ui_lookup_dialog import Ui_LookupTranslatorDialog

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('importexport/ui_lookup_dialog.ui'))


class LookupDialog(TranslatorDialogBase, WIDGET, BASE):
    """
    Dialog for defining configuration settings for the lookup translation
    implementation.
    """
    def __init__(self, parent, source_cols, dest_table, dest_col, src_col):
        QDialog.__init__(self, parent)

        self.setupUi(self)

        TranslatorDialogBase.__init__(
            self,
            source_cols,
Esempio n. 2
0
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtCore import (Qt)
from qgis.PyQt.QtWidgets import (QDialog, QMessageBox, QTableWidgetItem)
from qgis.core import (QgsPointXY)

from stdm.data.pg_utils import vector_layer
from stdm.settings.registryconfig import (selection_color)
from stdm.ui import gps_tool_data_source_utils as gpx_source
from stdm.ui import gps_tool_data_view_utils as gpx_view
from stdm.ui.forms.editor_dialog import EntityEditorDialog
from stdm.ui.gui_utils import GuiUtils
from stdm.utils.util import openDialog

WIDGET, BASE = uic.loadUiType(GuiUtils.get_ui_file_path('ui_gps_tool.ui'))


class GPSToolDialog(WIDGET, BASE):
    def __init__(self,
                 iface,
                 entity,
                 sp_table,
                 sp_col,
                 model=None,
                 reload=True,
                 row_number=None,
                 entity_browser=None,
                 allow_str_creation=True):
        QDialog.__init__(self, iface.mainWindow())
        self.setupUi(self)
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (
    QApplication,
    QDialog
)

from stdm.data.importexport.value_translators import MultipleEnumerationTranslator
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.importexport.translator_widget_base import TranslatorDialogBase
from stdm.ui.notification import NotificationBar

__all__ = ["MultipleEnumerationDialog"]

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('importexport/ui_multiple_enumeration_dialog.ui'))


class MultipleEnumerationDialog(WIDGET, BASE, TranslatorDialogBase):
    """
    Dialog for defining configuration settings for the MultipleEnumerationTranslator
    class implementation.
    """

    def __init__(self, parent, source_cols, dest_table, dest_col, src_col):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        TranslatorDialogBase.__init__(self, source_cols, dest_table, dest_col, src_col)

        self._notif_bar = NotificationBar(self.vl_notification)
Esempio n. 4
0
        """
        from stdm.composer.chart_configuration import BarValueConfiguration

        bar_value_config = BarValueConfiguration()
        bar_value_config.set_value_field(self._value_field)
        bar_value_config.set_fill_color(self.fill_color_btn.color().name())
        bar_value_config.set_legend_name(self.txt_legend_name.text())

        return bar_value_config

    def set_configuration(self, config):
        pass


WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_chart_vertical_bar.ui'))


class VerticalBarGraphEditor(WIDGET, DataSourceNotifier, BASE):

    changed = pyqtSignal()

    def __init__(self, parent=None):
        super().__init__(parent)

        self.setupUi(self)

        self.btn_add_value_field.setIcon(GuiUtils.get_icon('add.png'))
        self.btn_reset_value_fields.setIcon(GuiUtils.get_icon('reset.png'))

        self._value_config_widgets = OrderedDict()
Esempio n. 5
0
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (QWidget)

from stdm.composer.custom_items.photo import StdmPhotoLayoutItem
from stdm.composer.layout_utils import LayoutUtils
from stdm.data.configuration import entity_model
from stdm.data.supporting_documents import supporting_doc_tables_regexp
from stdm.settings import (current_profile)
from stdm.ui.composer.referenced_table_editor import LinkedTableProps
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import (NotificationBar)

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_composer_photo_data_source.ui'))


class ComposerPhotoDataSourceEditor(WIDGET, BASE):
    def __init__(self, item: StdmPhotoLayoutItem, parent=None):
        QWidget.__init__(self, parent)
        self.setupUi(self)

        self._layout = item.layout()
        self._item = item

        self._notif_bar = NotificationBar(self.vl_notification)

        self._curr_profile = current_profile()

        # Load fields if the data source has been specified
Esempio n. 6
0
from qgis.PyQt import uic
from qgis.PyQt.QtCore import (Qt)
from qgis.PyQt.QtGui import (QStandardItemModel, QIcon, QStandardItem)
from qgis.PyQt.QtWidgets import (QDialog)

from qgis.gui import QgsGui

from stdm.data.database import (Content, Role)
from stdm.data.qtmodels import UsersRolesModel
from stdm.security.privilege_provider import SinglePrivilegeProvider
from stdm.security.roleprovider import RoleProvider
from stdm.settings import current_profile
from stdm.ui.gui_utils import GuiUtils
from stdm.utils.util import getIndex

WIDGET, BASE = uic.loadUiType(GuiUtils.get_ui_file_path('ui_content_auth.ui'))


class contentAuthDlg(WIDGET, BASE):
    '''
    Content authorization dialog
    '''
    def __init__(self, plugin):
        QDialog.__init__(self, plugin.iface.mainWindow())
        self.setupUi(self)

        QgsGui.enableAutoGeometryRestore(self)

        # Initialize the dialog
        self.initGui()
Esempio n. 7
0
 ***************************************************************************/
"""
from datetime import date

from qgis.PyQt import uic
from qgis.PyQt.QtCore import (QRegExp, Qt, QDateTime)
from qgis.PyQt.QtGui import (QRegExpValidator)
from qgis.PyQt.QtWidgets import (QDialog, QDialogButtonBox, QApplication,
                                 QMessageBox)

from stdm.security.exception import SecurityException
from stdm.security.membership import Membership
from stdm.security.user import User
from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(GuiUtils.get_ui_file_path('ui_new_user.ui'))


class newUserDlg(WIDGET, BASE):
    '''
    Create New User Dialog
    '''
    def __init__(self, parent=None, User=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)

        self.user = User

        self.txtUserName.textChanged.connect(self.validate_username)

        # Initialize the dialog
Esempio n. 8
0
                       QgsCoordinateReferenceSystem, QgsDataSourceUri)

from stdm.data.configuration.social_tenure import SocialTenure
from stdm.data.pg_utils import (geometryType, spatial_tables,
                                table_column_names, vector_layer, pg_views)
from stdm.mapping.utils import pg_layerNamesIDMapping
from stdm.settings import (current_profile, save_configuration)
from stdm.ui.forms.spatial_unit_form import (STDMFieldWidget)
from stdm.ui.gps_tool import GPSToolDialog
from stdm.ui.gui_utils import GuiUtils
from stdm.utils.util import (profile_and_user_views)

LOGGER = logging.getLogger('stdm')

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('ui_spatial_unit_manager.ui'))


class SpatialUnitManagerDockWidget(WIDGET, BASE):
    onLayerAdded = pyqtSignal(str, object)

    def __init__(self, iface, plugin=None):
        QDockWidget.__init__(self, iface.mainWindow())
        # Set up the user interface from Designer.
        self.setupUi(self)

        self.iface = iface
        self._plugin = plugin
        self.gps_tool_dialog = None
        # properties of last added layer
        self.curr_lyr_table = None
Esempio n. 9
0
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtGui import (
    QFont
)
from qgis.PyQt.QtWidgets import (
    QDialog,
    QTreeWidgetItem,
    QApplication
)

from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('wizard/ui_entity_depend.ui'))


class EntityDepend(WIDGET, BASE):
    def __init__(self, parent, entity=None, dependencies=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)
        self.label.setPixmap(GuiUtils.get_icon_pixmap('warning_large.png'))

        self.entity = entity
        self.dependencies = dependencies

        self.init_gui()

    def init_gui(self):
        self.btnCancel.clicked.connect(self.cancel_dlg)
Esempio n. 10
0
    QStandardItem,
    QIcon,
)
from qgis.PyQt.QtWidgets import (QDialog, QDialogButtonBox, QApplication,
                                 QInputDialog, QMessageBox)
from qgis.PyQt.QtXml import QDomDocument

from stdm.composer.document_template import DocumentTemplate
from stdm.settings import current_profile
from stdm.settings.registryconfig import RegistryConfig
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import (NotificationBar)
from stdm.utils.util import documentTemplates, user_non_profile_views

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_composer_doc_selector.ui'))


class TemplateDocumentSelector(WIDGET, BASE):
    """
    Dialog for selecting a document template from the saved list.
    """
    def __init__(self,
                 parent=None,
                 selectMode=True,
                 filter_data_source='',
                 access_templates=None):
        QDialog.__init__(self, parent)
        self.setupUi(self)

        self.notifBar = NotificationBar(self.vlNotification)
Esempio n. 11
0
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (
    QDialogButtonBox,
    QHeaderView
)

from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('wizard/ui_spatial_unit_tenure_dialog.ui'))


class SpatialUnitTenureTypeDialog(WIDGET, BASE):
    """
    Dialog for defining configuration settings for the
    RelatedTableTranslator class implementation.
    """

    def __init__(self, parent=None, editable=True):
        """
        Class constructor.
        :param parent: Dialog parent.
        :type parent: QObject
        :param editable: Whether the spatial unit tenure mappings can be
        specified. Default is True.
Esempio n. 12
0
    QgsSimpleMarkerSymbolLayerWidget,
    QgsSimpleLineSymbolLayerWidget,
    QgsSimpleFillSymbolLayerWidget
)

from stdm.composer.custom_items.map import StdmMapLayoutItem
from stdm.composer.layout_utils import LayoutUtils
from stdm.data.pg_utils import (
    table_column_names,
    geometryType
)
from stdm.ui.composer.composer_spcolumn_styler import ComposerSpatialColumnEditor
from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_composer_symbol_editor.ui'))


class _SymbolLayerProxyWidgetMixin(object):
    """
    Removes data-defined properties button plus any additional
    customizations common across the symbol layer widgets.
    """

    def remove_data_defined_properties_button(self):
        btn_data_prop = self.findChild(QPushButton, "mDataDefinedPropertiesButton")
        if btn_data_prop is not None:
            btn_data_prop.setVisible(False)


class _SimpleMarkerSymbolLayerProxyWidget(QgsSimpleMarkerSymbolLayerWidget,
Esempio n. 13
0
    QWidget
)

from stdm.ui.composer.chart_type_editors import DataSourceNotifier
from stdm.ui.composer.chart_type_register import ChartTypeUISettings
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import (
    NotificationBar
)
from stdm.utils.util import (
    setComboCurrentIndexWithItemData,
    setComboCurrentIndexWithText
)

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_composer_chart_config.ui'))


class ComposerChartConfigEditor(WIDGET, BASE):
    def __init__(self, composer_wrapper, parent=None):
        QWidget.__init__(self, parent)
        self.setupUi(self)

        self._composer_wrapper = composer_wrapper

        self._notif_bar = NotificationBar(self.vl_notification)

        self.cbo_chart_type.currentIndexChanged[int].connect(self._on_chart_type_changed)

        '''
        Register chartname to the positional index of the corresponding editor
Esempio n. 14
0
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtCore import (QSettings, QRegExp)
from qgis.PyQt.QtGui import (QValidator, QRegExpValidator)
from qgis.PyQt.QtWidgets import (QDialog, QApplication, QMessageBox,
                                 QDialogButtonBox)

from stdm.data.configuration.value_list import (ValueList, value_list_factory)
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import NotificationBar

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('wizard/ui_lookup_entity.ui'))


class LookupEditor(WIDGET, BASE):
    """
    Form to add/edit lookup entities.
    """
    def __init__(self, parent, profile, lookup=None):
        """
        :param parent: Owner of this dialog
        :type parent: QWidget
        :param profile: A profile to add/edit lookup
        :type profile: Profile
        :type inplace: Flag to check if lookup creation is initiated from the
                       'normal' lookup creation process -inplace = False,
                       this is the normal state. If 'inplace' = True, then
Esempio n. 15
0
                self._populateAUSChildren(ausNode, ausChild)

    def _extractAdminUnitSetInfo(self, aus):
        '''
        Returns the properties of the admin unit set object.
        '''
        return [aus.Name, aus.Code, aus.id]


# Widget States
VIEW = 2301
MANAGE = 2302
SELECT = 2303  # When widget is used to select one or more records from the table list

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('ui_adminUnitManager.ui'))


class AdminUnitManager(WIDGET, BASE):
    '''
    Administrative Unit Manager Widget
    '''
    # Signal raised when the state (view/manage) of the widet changes.
    stateChanged = pyqtSignal('bool')

    def __init__(self, parent=None, State=VIEW):
        QWidget.__init__(self, parent)
        self.setupUi(self)

        self.btnRemove.setIcon(GuiUtils.get_icon('remove.png'))
        self.btnClear.setIcon(GuiUtils.get_icon('reset.png'))
Esempio n. 16
0
from qgis.PyQt.QtWidgets import (QWizard, QMessageBox, QApplication, QAction,
                                 QMenu, QDialog, QListWidgetItem, QFileDialog,
                                 QComboBox)

from stdm.data.importexport import (vectorFileDir, setVectorFileDir)
from stdm.data.importexport.reader import OGRReader
from stdm.data.pg_utils import (table_column_names)
from stdm.settings import current_profile
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.importexport.translator_config import (ValueTranslatorConfig)
from stdm.ui.importexport.translator_widget_base import (
    TranslatorWidgetManager)
from stdm.utils.util import getIndex
from stdm.utils.util import (profile_user_tables, profile_spatial_tables)

WIDGET, BASE = uic.loadUiType(GuiUtils.get_ui_file_path('ui_import_data.ui'))


class ImportData(WIDGET, BASE):
    def __init__(self, parent=None):
        QWizard.__init__(self, parent)
        self.setupUi(self)

        self.btnSrcUp.setIcon(GuiUtils.get_icon('up.png'))
        self.btnSrcDown.setIcon(GuiUtils.get_icon('down.png'))
        self.btn_add_translator.setIcon(GuiUtils.get_icon('add.png'))
        self.btn_edit_translator.setIcon(GuiUtils.get_icon('edit.png'))
        self.btn_delete_translator.setIcon(GuiUtils.get_icon('remove.png'))
        self.btnDestUp.setIcon(GuiUtils.get_icon('up.png'))
        self.btnDestDown.setIcon(GuiUtils.get_icon('down.png'))
Esempio n. 17
0
            self._notifications = {}
        self.onClear.emit()

    def onNotificationClosed(self, code):
        '''
        Slot raised when a user chooses to close a notification item.
        Prevents an error from occurring when removing all notifications from the container.
        '''
        strCode = str(code)
        if strCode in self._notifications:
            del self._notifications[strCode]
            self.userClosed.emit()


WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('ui_notif_item.ui'))


class NotificationItem(BASE, WIDGET):
    # Close signal
    messageClosed = pyqtSignal(str)

    def __init__(self, parent=None):
        QWidget.__init__(self, parent)
        self.setupUi(self)

        self.lblClose.setPixmap(GuiUtils.get_icon_pixmap('close_msg.png'))

        # Unique identifier for the message
        self.code = str(uuid4())
Esempio n. 18
0
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (QTabWidget, QApplication, QMessageBox)
from qgis.core import (QgsFeature, QgsGeometry, QgsProject, QgsVectorLayer)
from qgis.gui import (QgsHighlight)

from stdm.data.database import STDMDb
from stdm.data.pg_utils import (pg_table_exists, qgsgeometry_from_wkbelement)
from stdm.navigation.web_spatial_loader import (WebSpatialLoader,
                                                GMAP_SATELLITE, OSM)
from stdm.settings.registryconfig import (selection_color)
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import (ERROR)
from stdm.ui.spatial_unit_manager import SpatialUnitManagerDockWidget

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('ui_property_preview.ui'))


class SpatialPreview(WIDGET, BASE):
    """
    Widget for previewing spatial unit on either local map or web source.
    """
    def __init__(self, parent=None, iface=None):
        QTabWidget.__init__(self, parent)
        self.setupUi(self)

        self.setTabIcon(0, GuiUtils.get_icon('local.png'))
        self.setTabIcon(1, GuiUtils.get_icon('web.png'))

        self._notif_bar = None
        self._ol_loaded = False
Esempio n. 19
0
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (QDialog, QDialogButtonBox, QApplication,
                                 QMessageBox)

from stdm.data import globals
from stdm.security.exception import SecurityException
from stdm.security.membership import Membership
from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(GuiUtils.get_ui_file_path('ui_changepwd.ui'))


class changePwdDlg(WIDGET, BASE):
    def __init__(self, plugin):
        QDialog.__init__(self, plugin.iface.mainWindow())
        self.setupUi(self)

        # gui initialization
        self.initGui()

    def initGui(self):
        '''
        Initialize GUI
        '''
        # Change the name of the OK button to Login
Esempio n. 20
0
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtGui import QIntValidator
from qgis.PyQt.QtWidgets import (QDialog, QApplication, QMessageBox)

from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('wizard/ui_bigint_property.ui'))


class BigintProperty(WIDGET, BASE):
    """
    Editor to create/edit integer column property
    """
    def __init__(self, parent, form_fields):
        """
        :param parent: Owner of the form
        :type parent: QWidget
        :param form_fields: Contains data from the column editor window
        :type form_field: dictionary
        """
        QDialog.__init__(self, parent)
        self.setupUi(self)
Esempio n. 21
0
from qgis.PyQt.QtWidgets import (QDialog, QApplication, QDialogButtonBox,
                                 QMessageBox)

from qgis.gui import QgsGui

from stdm.data.config import DatabaseConfig
from stdm.data.connection import DatabaseConnection
from stdm.security.user import User
from stdm.settings.registryconfig import RegistryConfig
from stdm.ui.db_conn_dlg import dbconnDlg
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import NotificationBar

SUPERUSER = '******'

WIDGET, BASE = uic.loadUiType(GuiUtils.get_ui_file_path('ui_login.ui'))


class loginDlg(WIDGET, BASE):
    '''
    This class handles user authentication for accessing STDM resources
    '''
    def __init__(self, parent=None, test_connect_mode=False):
        QDialog.__init__(self, parent)
        self.setupUi(self)

        QgsGui.enableAutoGeometryRestore(self)

        self.btn_db_settings.setIcon(
            GuiUtils.get_icon('db_server_settings.png'))
Esempio n. 22
0
from qgis.PyQt.QtWidgets import (
    QApplication,
    QWidget
)

from stdm.data.pg_utils import (
    vector_layer
)
from stdm.ui.composer.referenced_table_editor import LinkedTableProps
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import (
    NotificationBar
)

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_composer_table_source.ui'))


class ComposerTableDataSourceEditor(WIDGET, BASE):
    def __init__(self, composer_wrapper, frame_item, parent=None):
        QWidget.__init__(self, parent)
        self.setupUi(self)

        self._composer_wrapper = composer_wrapper
        if isinstance(frame_item, QgsComposerFrame):
            self._composer_table_item = frame_item.multiFrame()
        else:
            self._composer_table_item = frame_item

        self._notif_bar = NotificationBar(self.vl_notification)
Esempio n. 23
0
)
from qgis.PyQt.QtWidgets import (
    QDialog,
    QApplication,
    QMessageBox
)

from stdm.data.configuration.value_list import (
    ValueList,
    CodeValue
)
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import NotificationBar

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('wizard/ui_lookup_value.ui'))


class ValueEditor(WIDGET, BASE):
    """
    Form to add/edit values added to a lookup. Values are objects of type
    CodeValue
    """

    def __init__(self, parent, lookup, code_value=None):
        """
        :param parent: Owner of this dialog window
        :type parent: QWidget
        :param lookup: A value list object to add the value
        :type lookup: ValueList
        :param code_value: A value object to add to the lookup,
Esempio n. 24
0
    and full path stored by QGIS.
    :rtype: list
    """
    pg_connection_path = "/PostgreSQL/connections"
    q_config = QGISRegistryConfig(pg_connection_path)

    pg_connections = q_config.group_children()

    profiles = [(conn_name, "{0}/{1}".format(pg_connection_path, conn_name))
                for conn_name in pg_connections]

    return profiles


WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('ui_options.ui'))


class OptionsDialog(WIDGET, BASE):
    """
    Dialog for editing STDM settings.
    """

    def __init__(self, iface):
        QDialog.__init__(self, iface.mainWindow())
        self.setupUi(self)

        QgsGui.enableAutoGeometryRestore(self)

        self.btn_composer_out_folder.setIcon(GuiUtils.get_icon('open_file.png'))
        self.btn_template_folder.setIcon(GuiUtils.get_icon('open_file.png'))
Esempio n. 25
0
from stdm.data.qtmodels import (BaseSTDMTableModel)
from stdm.security.authorization import Authorizer
from stdm.settings import current_profile
from stdm.ui.feature_details import DetailsTreeView, SelectedItem
from stdm.ui.forms.widgets import ColumnWidgetRegistry
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import (NotificationBar)
from stdm.ui.social_tenure.str_editor import STREditor
from stdm.ui.sourcedocument import (SourceDocumentManager, DocumentWidget)
from stdm.ui.spatial_unit_manager import SpatialUnitManagerDockWidget
from stdm.utils.util import (entity_searchable_columns, entity_display_columns,
                             format_name, lookup_parent_entity)

LOGGER = logging.getLogger('stdm')

WIDGET, BASE = uic.loadUiType(GuiUtils.get_ui_file_path('ui_view_str.ui'))


class ViewSTRWidget(WIDGET, BASE):
    """
    Search and browse the social tenure relationship
    of all participating entities.
    """
    def __init__(self, plugin):
        QMainWindow.__init__(self, plugin.iface.mainWindow())
        self.setupUi(self)

        self.btnSearch.setIcon(GuiUtils.get_icon('search.png'))
        self.btnClearSearch.setIcon(GuiUtils.get_icon('reset.png'))

        self._plugin = plugin
Esempio n. 26
0
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (QDialog, QApplication, QMessageBox)
from qgis.gui import QgsProjectionSelectionDialog

from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('wizard/ui_geom_property.ui'))

geom_types = [
    'POINT', 'LINE', 'POLYGON', 'MULTIPOINT', 'MULTILINE', 'MULTIPOLYGON'
]


class GeometryProperty(WIDGET, BASE):
    """
    Geometry column property editor
    """
    def __init__(self, parent, form_fields):
        """
        :param parent: Owner of this dialog window
        :type parent: QWidget
        :param form_fields: Dictionary used to pass parameters from
Esempio n. 27
0
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (QWidget)

from stdm.data.pg_utils import table_column_names
from stdm.ui.gui_utils import GuiUtils

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_composer_data_field.ui'))


class BaseComposerFieldSelector(WIDGET, BASE):
    """
    Base widget for enabling the selection of a field from a database table
    or view.
    """
    def __init__(self, composerWrapper, label, parent=None):
        QWidget.__init__(self, parent)
        self.setupUi(self)

        self._composerWrapper = composerWrapper
        self._label = label

        # Load fields if the data source has been specified
Esempio n. 28
0
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/
"""
from collections import OrderedDict

from qgis.PyQt import uic
from qgis.PyQt.QtWidgets import (QDialog, QMessageBox)

from stdm.data.configuration.entity import Entity
from stdm.ui.gui_utils import GuiUtils
from stdm.ui.notification import NotificationBar
from stdm.ui.wizard.column_editor import ColumnEditor

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('wizard/ui_entity_attributes_editor.ui'))


class TenureCustomAttributesEditor(WIDGET, BASE):
    """
    Dialog for editing an entity's attributes.
    """
    def __init__(self,
                 profile,
                 tenure_custom_entities,
                 parent=None,
                 editable=True,
                 exclude_columns=None):
        """
        Class constructor.
        :param profile: Profile object.
Esempio n. 29
0
        symbolElement = domDocument.createElement("Symbol")

        # Append symbol properties element
        if self._symbol is not None:
            prop = self._symbol.properties()
            QgsSymbolLayerUtils.saveProperties(prop, domDocument,
                                               symbolElement)
            symbolElement.setAttribute("layerType", self._layerType)

        spColumnElement.appendChild(symbolElement)

        return spColumnElement


WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('composer/ui_composer_spcolumn_styler.ui'))


class ComposerSpatialColumnEditor(WIDGET, BASE):
    """
    Widget for defining symbology and labeling properties for the selected spatial field.
    """
    def __init__(self, spColumnName, layout_item, parent=None):
        super().__init__(parent)
        self.setupUi(self)

        self._layout = layout_item.layout()
        self._item = layout_item

        self._spColumnName = spColumnName
Esempio n. 30
0
from qgis.core import (
    QgsPointXY
)

from stdm.data.pg_utils import vector_layer
from stdm.settings.registryconfig import (
    selection_color
)
from stdm.ui import gps_tool_data_source_utils as gpx_source
from stdm.ui import gps_tool_data_view_utils as gpx_view
from stdm.ui.forms.editor_dialog import EntityEditorDialog
from stdm.ui.gui_utils import GuiUtils
from stdm.utils.util import openDialog

WIDGET, BASE = uic.loadUiType(
    GuiUtils.get_ui_file_path('ui_gps_tool.ui'))


class GPSToolDialog(WIDGET, BASE):
    def __init__(self, iface, entity, sp_table, sp_col,
                 model=None, reload=True, row_number=None, entity_browser=None):
        QDialog.__init__(self, iface.mainWindow())
        self.setupUi(self)
        self.iface = iface
        self.entity = entity
        self._entity = self.entity
        self.sp_table = sp_table
        self.sp_col = sp_col
        self.model = model
        self.reload = reload
        self.entity_browser = entity_browser