Example #1
0
    def create_count(self):

        layer = self.layers['section']

        selected_count = layer.selectedFeatureCount()
        if selected_count == 0:
            push_info("Veuillez sélectionner un tronçon")
            return
        elif selected_count > 1:
            push_info("Veuillez ne sélectionner qu'un tronçon")
            return
        else:
            selected_feature = next(layer.getSelectedFeatures())

            lanes = self.get_lanes_of_section(selected_feature.attribute('id'))
            installation = self.get_installation_of_lane(
                next(lanes).attribute('id'))

            # Save the id of the installation related to the selected section
            # so we can use in the count form to automatically select the
            # installation in the combobox
            QgsExpressionContextUtils.setProjectVariable(
                QgsProject.instance(), 'selected_installation',
                installation.attribute('id'))
            self.layers['count'].startEditing()
            iface.setActiveLayer(self.layers['count'])
            iface.actionAddFeature().trigger()
Example #2
0
 def __init__(self, edit_dialog):
     """Constructor"""
     ProductionChanges.__init__(self, edit_dialog)
     iface.actionToggleEditing().trigger()
     # set editing to add polygon
     iface.actionAddFeature().trigger()
     # setup toolbar
     selecttools = iface.attributesToolBar().findChildren(QToolButton)
     # selection actions
     iface.building_toolbar.addSeparator()
     for sel in selecttools:
         if sel.text() == "Select Feature(s)":
             for a in sel.actions()[0:3]:
                 iface.building_toolbar.addAction(a)
     # editing actions
     iface.building_toolbar.addSeparator()
     for dig in iface.digitizeToolBar().actions():
         if dig.objectName() in [
                 "mActionAddFeature", "mActionVertexTool",
                 "mActionMoveFeature"
         ]:
             iface.building_toolbar.addAction(dig)
     # advanced Actions
     iface.building_toolbar.addSeparator()
     for adv in iface.advancedDigitizeToolBar().actions():
         if adv.objectName() in [
                 "mActionUndo", "mActionRedo", "mActionReshapeFeatures",
                 "mActionOffsetCurve"
         ]:
             iface.building_toolbar.addAction(adv)
     iface.building_toolbar.show()
     self.disable_UI_functions()
Example #3
0
 def createArea(self):
     l = self.proj.mapLayersByName('Beräkningsområde')
     if l:
         l = l[0]
         iface.setActiveLayer(l)
         iface.actionToggleEditing().trigger()
         iface.actionAddFeature().trigger()
         #l.featureAdded.connect(lambda fid: self.areaAdded(fid, l))
         l.featureAdded.connect(lambda fid: self.showSaveDialog(fid, l))
Example #4
0
 def selectLinePushButton_clicked(self):
     #self.hide()
     vectorDraftLyr = QgsVectorLayer('LineString?crs=epsg:4326',
                                     'Please Draw A Line for Planning',
                                     "memory")
     QgsProject().instance().addMapLayer(vectorDraftLyr)
     # set layer active
     self.hide()
     iface.setActiveLayer(vectorDraftLyr)
     # start edit
     iface.actionToggleEditing().trigger()
     # enable tool
     iface.actionAddFeature().trigger()
     #self.show()
     iface.actionToggleEditing().triggered.connect(self.endDrawLine)
Example #5
0
    def __init__(self, dockwidget, parent=None):
        """Constructor."""
        super(NewCaptureSourceArea, self).__init__(parent)
        self.setupUi(self)

        self.db = db
        self.db.connect()

        self.dockwidget = dockwidget
        self.layer_registry = LayerRegistry()
        self.error_dialog = None
        self.current_layer = None

        self.added_building_ids = []
        self.geom = None

        self.add_capture_source_area_layer()
        self.init_table()
        self.setup_toolbar()

        self.le_area_title.setDisabled(True)
        self.le_external_id.setDisabled(True)
        self.mcb_selection_layer.setDisabled(True)
        self.mcb_selection_layer.setExceptedLayerList(
            [self.capture_source_area])
        self.rb_select_from_layer.setChecked(False)

        self.capture_source_area.featureAdded.connect(
            self.creator_feature_added)
        self.capture_source_area.featureDeleted.connect(
            self.creator_feature_deleted)
        self.capture_source_area.geometryChanged.connect(
            self.creator_geometry_changed)

        self.rb_select_from_layer.toggled.connect(
            self.rb_select_from_layer_clicked)

        self.btn_save.clicked.connect(
            partial(self.save_clicked, commit_status=True))
        self.btn_reset.clicked.connect(self.reset_clicked)
        self.btn_exit.clicked.connect(self.exit_clicked)

        QgsProject.instance().layerWillBeRemoved.connect(self.layers_removed)

        iface.actionToggleEditing().trigger()
        iface.actionAddFeature().trigger()
Example #6
0
    def edit_reset_clicked(self):
        """
            When production frame btn_edit_reset clicked
        """
        self.editing_layer.geometryChanged.disconnect(
            self.creator_geometry_changed)
        iface.actionCancelEdits().trigger()
        self.editing_layer.geometryChanged.connect(
            self.creator_geometry_changed)
        # restart editing
        iface.actionToggleEditing().trigger()
        iface.actionAddFeature().trigger()
        # reset and disable comboboxes
        if self.parent_frame.polyline:
            self.parent_frame.polyline.reset()
        iface.mapCanvas().refresh()
        self.disable_UI_functions()

        self.edit_dialog.geom = None
        self.edit_dialog.added_geoms = OrderedDict()
Example #7
0
    def reset_clicked(self):
        """Called When reset is clicked"""
        self.geom = None
        self.added_building_ids = []
        self.le_area_title.clear()
        self.le_area_title.setDisabled(True)
        self.le_external_id.setDisabled(True)
        self.rb_select_from_layer.setChecked(False)
        self.mcb_selection_layer.setDisabled(True)
        self.l_wrong_projection.setText("")

        iface.setActiveLayer(self.capture_source_area)
        self.capture_source_area.geometryChanged.disconnect(
            self.creator_geometry_changed)
        iface.actionCancelEdits().trigger()
        self.capture_source_area.geometryChanged.connect(
            self.creator_geometry_changed)
        # restart editing
        iface.actionToggleEditing().trigger()
        iface.actionAddFeature().trigger()
Example #8
0
    def edit_reset_clicked(self):
        """
            When bulk load frame btn_reset_save clicked
        """
        self.editing_layer.geometryChanged.disconnect(
            self.creator_geometry_changed)
        iface.actionCancelEdits().trigger()
        self.editing_layer.geometryChanged.connect(
            self.creator_geometry_changed)
        # restart editing
        iface.actionToggleEditing().trigger()
        if not self.parent_frame.circle_action.isChecked():
            iface.actionAddFeature().trigger()

        # reset and disable comboboxes
        self.disable_UI_functions()
        if self.parent_frame.polyline:
            self.parent_frame.polyline.reset()
        self.edit_dialog.geom = None
        self.edit_dialog.added_geoms = OrderedDict()
Example #9
0
    def selectPolygonBtn_clicked(self):
        vectorDraftLyr = QgsVectorLayer('Polygon?crs=epsg:4326',
                                        'Please Draw A Polygon for Planning',
                                        "memory")
        QgsProject().instance().addMapLayer(vectorDraftLyr)

        #vectorDraftLyr.startEditing()

        # remove the original myvl
        #QgsProject.instance().layerTreeRoot().removeChildNode(myvl)
        # set layer active
        self.hide()
        iface.setActiveLayer(vectorDraftLyr)
        # start edit
        iface.actionToggleEditing().trigger()
        # enable tool
        iface.actionAddFeature().trigger()
        #self.show()

        iface.actionToggleEditing().triggered.connect(self.endDrawPolygon)
Example #10
0
    def rb_select_from_layer_clicked(self, checked):
        """PyqtSlot: When the select from layer radio button is clicked"""
        self.l_wrong_projection.setText("")
        if checked:
            self.mcb_selection_layer.showPopup()
            self.mcb_selection_layer.setEnabled(True)
            iface.actionSelect().trigger()
            self.mcb_selection_layer.layerChanged.connect(
                self.mcb_selection_layer_changed)
        else:
            self.mcb_selection_layer.layerChanged.disconnect(
                self.mcb_selection_layer_changed)
            if self.current_layer is not None:
                self.current_layer.removeSelection()
                self.current_layer.selectionChanged.disconnect(
                    self.current_layer_selection_changed)

            self.mcb_selection_layer.setDisabled(True)
            iface.actionAddFeature().trigger()
            self.current_layer = None
            iface.setActiveLayer(self.current_layer)
Example #11
0
def trigger_edit_mode(iface, layer_name, trigger='on'):
    """
    Iterate over all layers and activate the Layer called layer_name. Then toggle the edit mode of that layer.
    :param iface: The Qgis-interface that will be accessed
    :type iface: QgisInterface
    :param layer_name: Name of the layer, that shall be switched to edit_mode
    :type layer_name: str
    :return:
    :rtype:
    """
    if layer_name and not layer_name.isspace():

        edit_layer = find_layer_by_name(layer_name)

        # if the layer was found, it is activated and the editing and the adding of features will be triggered
        if edit_layer is not None:

            if trigger == 'on':
                edit_layer.startEditing()
                iface.actionAddFeature().trigger()
            elif trigger == 'off':
                iface.actionAddFeature().trigger()
                edit_layer.commitChanges()
Example #12
0
 def addLink(self):
     layer = QgsProject.instance().mapLayersByName("Liens")[0]
     iface.setActiveLayer(layer)
     layer.startEditing()
     iface.actionAddFeature().trigger()
Example #13
0
 def circle_tool_clicked(self):
     if self.circle_action.isChecked():
         circle_tool.setup_circle(self)
     else:
         iface.actionAddFeature().trigger()