def __init__(self, parent=None): super(FormWidget, self).__init__(parent) self.setupUi(self) self.form = None self.fieldsmodel = QgsFieldModel() self.widgetmodel = WidgetsModel() self.possiblewidgetsmodel = QStandardItemModel() self.formlayersmodel = QgsLayerModel(watchregistry=True) self.formlayers = CaptureLayerFilter() self.formlayers.setSourceModel(self.formlayersmodel) self.layerCombo.setModel(self.formlayers) self.useablewidgets.setModel(self.possiblewidgetsmodel) self.fieldList.setModel(self.fieldsmodel) self.userwidgets.setModel(self.widgetmodel) self.userwidgets.selectionModel().currentChanged.connect(self.load_widget) self.widgetmodel.rowsRemoved.connect(self.setwidgetconfigvisiable) self.widgetmodel.rowsInserted.connect(self.setwidgetconfigvisiable) self.widgetmodel.modelReset.connect(self.setwidgetconfigvisiable) self.addWidgetButton.pressed.connect(self.newwidget) self.removeWidgetButton.pressed.connect(self.removewidget) self.formfolderLabel.linkActivated.connect(self.openformfolder) self.expressionButton.clicked.connect(self.opendefaultexpression) self.fieldList.currentIndexChanged.connect(self.updatewidgetname) self.fieldwarninglabel.hide() self.formtab.currentChanged.connect(self.formtabchanged) for item, data in readonlyvalues: self.readonlyCombo.addItem(item, data) self.loadwidgettypes() self.formLabelText.textChanged.connect(self.form_name_changed) self.layerCombo.currentIndexChanged.connect(self.layer_updated) self.fieldList.currentIndexChanged.connect(self._save_current_widget) self.nameText.textChanged.connect(self._save_current_widget) self.useablewidgets.currentIndexChanged.connect(self._save_current_widget) self.useablewidgets.currentIndexChanged.connect(self.swapwidgetconfig) menu = QMenu("Field Actions") action = menu.addAction("Auto add all fields") action.triggered.connect(self.auto_add_fields) self.addWidgetButton.setMenu(menu) self.addWidgetButton.setPopupMode(QToolButton.MenuButtonPopup) self.defaultLayerCombo.layerChanged.connect(self.default_layer_changed)
def __init__(self, parent=None): super(FormWidget, self).__init__(parent) self.setupUi(self) self.form = None self.iconlabel.mouseReleaseEvent = self.change_icon self._currentwidgetid = '' self.fieldsmodel = QgsFieldModel() self.widgetmodel = WidgetsModel() self.widgetmodel.rowsMoved.connect(self._widget_moved) self.possiblewidgetsmodel = QStandardItemModel() self.formlayersmodel = QgsLayerModel(watchregistry=True) self.formlayers = CaptureLayerFilter() self.formlayers.setSourceModel(self.formlayersmodel) self.layerCombo.setModel(self.formlayers) self.useablewidgets.setModel(self.possiblewidgetsmodel) self.fieldList.setModel(self.fieldsmodel) self.userwidgets.setModel(self.widgetmodel) self.userwidgets.selectionModel().currentChanged.connect(self.load_widget) self.widgetmodel.rowsRemoved.connect(self.set_widget_config_state) self.widgetmodel.rowsInserted.connect(self.set_widget_config_state) self.widgetmodel.modelReset.connect(self.set_widget_config_state) self.addWidgetButton.pressed.connect(self.newwidget) self.addSectionButton.pressed.connect(self.add_section) self.removeWidgetButton.pressed.connect(self.removewidget) self.formfolderLabel.linkActivated.connect(self.openformfolder) self.expressionButton.clicked.connect(self.opendefaultexpression) self.expressionButton_2.clicked.connect(self.opendefaultexpression_advanced) self.fieldList.currentIndexChanged.connect(self.updatewidgetname) self.fieldwarninglabel.hide() self.formtab.currentChanged.connect(self.formtabchanged) for item, data in readonlyvalues: self.readonlyCombo.addItem(item, data) for item, data in defaultevents: self.defaultEventsCombo.addItem(item, data) self.loadwidgettypes() self.formLabelText.textChanged.connect(self.form_name_changed) self.newStyleCheck.stateChanged.connect(self.form_style_changed) self.layerCombo.currentIndexChanged.connect(self.layer_updated) # Gross but ok for now. self.blockWidgets = [ self.fieldList, self.nameText, self.sectionNameText, self.useablewidgets, self.hiddenCheck, self.requiredCheck, self.readonlyCombo, self.defaultEventsCombo, self.defaultvalueText, self.defaultLayerCombo, self.defaultFieldCombo, self.defaultValueExpression, self.savevalueCheck ] for widget in self.blockWidgets: self._connect_save_event(widget) self.blockWidgetSignels(True) self.useablewidgets.currentIndexChanged.connect(self.swapwidgetconfig) menu = QMenu("Field Actions") action = menu.addAction("Auto add all fields") action.triggered.connect(self.auto_add_fields) self.addWidgetButton.setMenu(menu) self.addWidgetButton.setPopupMode(QToolButton.MenuButtonPopup) self.defaultLayerCombo.layerChanged.connect(self.defaultFieldCombo.setLayer) self.addEvent.pressed.connect(self.addEventItem) self.btnDeleteForm.pressed.connect(ConfigEvents.deleteForm.emit)
def __init__(self, parent=None): super(ProjectWidget, self).__init__(parent) self.setupUi(self) self.project = None self.mapisloaded = False self.bar = None self.canvas.setCanvasColor(Qt.white) self.canvas.enableAntiAliasing(True) self.canvas.setWheelAction(QgsMapCanvas.WheelZoomToMouseCursor) self.canvas.mapRenderer().setLabelingEngine(QgsPalLabeling()) self.fieldsmodel = QgsFieldModel() self.widgetmodel = WidgetsModel() self.possiblewidgetsmodel = QStandardItemModel() self.formlayersmodel = QgsLayerModel(watchregistry=False) self.formlayers = CaptureLayerFilter() self.formlayers.setSourceModel(self.formlayersmodel) self.selectlayermodel = CaptureLayersModel(watchregistry=False) self.selectlayerfilter = LayerTypeFilter() self.selectlayerfilter.setSourceModel(self.selectlayermodel) self.selectlayermodel.dataChanged.connect(self.selectlayerschanged) self.layerCombo.setModel(self.formlayers) self.widgetCombo.setModel(self.possiblewidgetsmodel) self.selectLayers.setModel(self.selectlayerfilter) self.selectLayers_2.setModel(self.selectlayerfilter) self.fieldList.setModel(self.fieldsmodel) self.widgetlist.setModel(self.widgetmodel) self.widgetlist.selectionModel().currentChanged.connect(self.updatecurrentwidget) self.widgetmodel.rowsRemoved.connect(self.setwidgetconfigvisiable) self.widgetmodel.rowsInserted.connect(self.setwidgetconfigvisiable) self.widgetmodel.modelReset.connect(self.setwidgetconfigvisiable) self.titleText.textChanged.connect(self.updatetitle) QgsProject.instance().readProject.connect(self._readproject) self.loadwidgettypes() self.addWidgetButton.pressed.connect(self.newwidget) self.removeWidgetButton.pressed.connect(self.removewidget) self.roamVersionLabel.setText("You are running IntraMaps Roam version {}".format(roam.__version__)) self.openProjectFolderButton.pressed.connect(self.openprojectfolder) self.openinQGISButton.pressed.connect(self.openinqgis) self.filewatcher = QFileSystemWatcher() self.filewatcher.fileChanged.connect(self.qgisprojectupdated) self.formfolderLabel.linkActivated.connect(self.openformfolder) self.projectupdatedlabel.linkActivated.connect(self.reloadproject) self.projectupdatedlabel.hide() self.formtab.currentChanged.connect(self.formtabchanged) self.expressionButton.clicked.connect(self.opendefaultexpression) self.fieldList.currentIndexChanged.connect(self.updatewidgetname) self.fieldwarninglabel.hide() for item, data in readonlyvalues: self.readonlyCombo.addItem(item, data) self.setpage(4) self.form = None