def ili_file_changed(self): # If ili file is valid, models is optional if self.ili_file_line_edit.text().strip() and \ self.ili_file_line_edit.validator().validate(self.ili_file_line_edit.text().strip(), 0)[0] == QValidator.Acceptable: self.ili_models_line_edit.setValidator(None) self.ili_models_line_edit.textChanged.emit( self.ili_models_line_edit.text()) # Update completer to add models from given ili file self.ilicache = IliCache(None, self.ili_file_line_edit.text().strip()) self.refresh_ili_cache() models = self.ilicache.process_ili_file( self.ili_file_line_edit.text().strip()) self.ili_models_line_edit.setText(models[-1]['name']) self.ili_models_line_edit.setPlaceholderText(models[-1]['name']) else: nonEmptyValidator = NonEmptyStringValidator() self.ili_models_line_edit.setValidator(nonEmptyValidator) self.ili_models_line_edit.textChanged.emit( self.ili_models_line_edit.text()) # Update completer to add models from given ili file self.ilicache = IliCache(self.base_configuration) self.refresh_ili_cache() self.ili_models_line_edit.setPlaceholderText( self.tr('[Search model from repository]'))
def __init__(self, parent, db_action_type): DbConfigPanel.__init__(self, parent, db_action_type) self.setupUi(self) from QgisModelBaker.libili2db.ili2dbconfig import BaseConfiguration self.pg_use_super_login.setText( self.tr("Execute data management tasks with superuser login from settings ({})").format(BaseConfiguration().super_pg_user)) self.pg_use_super_login.setToolTip(self.tr("Data management tasks are <ul><li>Create the schema</li><li>Read meta information</li><li>Import data from XTF</li><li>Export data to XTF</li></ul>")) if self._db_action_type == DbActionType.GENERATE: self.pg_schema_line_edit.setPlaceholderText(self.tr("[Leave empty to create a default schema]")) elif self._db_action_type == DbActionType.IMPORT_DATA: self.pg_schema_line_edit.setPlaceholderText(self.tr("[Leave empty to import data into a default schema]")) elif self._db_action_type == DbActionType.EXPORT: self.pg_schema_line_edit.setPlaceholderText(self.tr("[Leave empty to load all schemas in the database]")) # define validators self.validators = Validators() nonEmptyValidator = NonEmptyStringValidator() self.pg_host_line_edit.setValidator(nonEmptyValidator) self.pg_database_line_edit.setValidator(nonEmptyValidator) self.pg_host_line_edit.textChanged.connect( self.validators.validate_line_edits) self.pg_host_line_edit.textChanged.emit(self.pg_host_line_edit.text()) self.pg_database_line_edit.textChanged.connect( self.validators.validate_line_edits) self.pg_database_line_edit.textChanged.emit( self.pg_database_line_edit.text()) self.pg_host_line_edit.textChanged.connect(self.notify_fields_modified) self.pg_port_line_edit.textChanged.connect(self.notify_fields_modified) self.pg_database_line_edit.textChanged.connect(self.notify_fields_modified) self.pg_schema_line_edit.textChanged.connect(self.notify_fields_modified)
def __init__(self, parent, db_action_type): DbConfigPanel.__init__(self, parent, db_action_type) self.setupUi(self) for item_odbc_driver in get_odbc_drivers(): self.mssql_odbc_driver.addItem(item_odbc_driver) # define validators self.validators = Validators() nonEmptyValidator = NonEmptyStringValidator() self.mssql_host_line_edit.setValidator(nonEmptyValidator) self.mssql_database_line_edit.setValidator(nonEmptyValidator) self.mssql_user_line_edit.setValidator(nonEmptyValidator) self.mssql_host_line_edit.textChanged.connect( self.validators.validate_line_edits) self.mssql_host_line_edit.textChanged.emit(self.mssql_host_line_edit.text()) self.mssql_database_line_edit.textChanged.connect( self.validators.validate_line_edits) self.mssql_database_line_edit.textChanged.emit( self.mssql_database_line_edit.text()) self.mssql_user_line_edit.textChanged.connect( self.validators.validate_line_edits) self.mssql_user_line_edit.textChanged.emit(self.mssql_user_line_edit.text()) self.mssql_host_line_edit.textChanged.connect(self.notify_fields_modified) self.mssql_instance_line_edit.textChanged.connect(self.notify_fields_modified) self.mssql_port_line_edit.textChanged.connect(self.notify_fields_modified) self.mssql_database_line_edit.textChanged.connect(self.notify_fields_modified) self.mssql_schema_line_edit.textChanged.connect(self.notify_fields_modified) self.mssql_user_line_edit.textChanged.connect(self.notify_fields_modified) self.mssql_password_line_edit.textChanged.connect(self.notify_fields_modified)
def __init__(self, iface, base_config, parent=None): QDialog.__init__(self, parent) self.setupUi(self) self.iface = iface self.db_simple_factory = DbSimpleFactory() QgsGui.instance().enableAutoGeometryRestore(self) self.buttonBox.accepted.disconnect() self.buttonBox.accepted.connect(self.accepted) self.buttonBox.clear() self.buttonBox.addButton(QDialogButtonBox.Cancel) create_button = self.buttonBox.addButton(self.tr('Create'), QDialogButtonBox.AcceptRole) create_button.setDefault(True) self.ili_file_browse_button.clicked.connect( make_file_selector( self.ili_file_line_edit, title=self.tr('Open Interlis Model'), file_filter=self.tr('Interlis Model File (*.ili *.ILI)'))) self.buttonBox.addButton(QDialogButtonBox.Help) self.buttonBox.helpRequested.connect(self.help_requested) self.crs = QgsCoordinateReferenceSystem() self.ili2db_options = Ili2dbOptionsDialog() self.ili2db_options_button.clicked.connect(self.ili2db_options.open) self.ili2db_options.finished.connect(self.fill_toml_file_info_label) self.multiple_models_dialog = MultipleModelsDialog(self) self.multiple_models_button.clicked.connect( self.multiple_models_dialog.open) self.multiple_models_dialog.accepted.connect( self.fill_models_line_edit) self.type_combo_box.clear() self._lst_panel = dict() for db_id in self.db_simple_factory.get_db_list(True): self.type_combo_box.addItem(displayDbIliMode[db_id], db_id) for db_id in self.db_simple_factory.get_db_list(False): db_factory = self.db_simple_factory.create_factory(db_id) item_panel = db_factory.get_config_panel(self, DbActionType.GENERATE) self._lst_panel[db_id] = item_panel self.db_layout.addWidget(item_panel) self.type_combo_box.currentIndexChanged.connect(self.type_changed) self.txtStdout.anchorClicked.connect(self.link_activated) self.crsSelector.crsChanged.connect(self.crs_changed) self.base_configuration = base_config self.bar = QgsMessageBar() self.bar.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) self.txtStdout.setLayout(QGridLayout()) self.txtStdout.layout().setContentsMargins(0, 0, 0, 0) self.txtStdout.layout().addWidget(self.bar, 0, 0, Qt.AlignTop) self.validators = Validators() nonEmptyValidator = NonEmptyStringValidator() fileValidator = FileValidator( pattern=['*.' + ext for ext in self.ValidExtensions], allow_empty=True) self.restore_configuration() self.ili_models_line_edit.setValidator(nonEmptyValidator) self.ili_file_line_edit.setValidator(fileValidator) self.ili_models_line_edit.textChanged.connect( self.validators.validate_line_edits) self.ili_models_line_edit.textChanged.emit( self.ili_models_line_edit.text()) self.ili_models_line_edit.textChanged.connect(self.on_model_changed) self.ili_models_line_edit.textChanged.connect( self.complete_models_completer) self.ili_models_line_edit.punched.connect( self.complete_models_completer) self.ilicache = IliCache(self.base_configuration) self.refresh_ili_cache() self.ili_models_line_edit.setPlaceholderText( self.tr('[Search model from repository]')) self.ili_file_line_edit.textChanged.connect( self.validators.validate_line_edits) self.ili_file_line_edit.textChanged.connect(self.ili_file_changed) self.ili_file_line_edit.textChanged.emit( self.ili_file_line_edit.text())
def __init__(self, parent, db_action_type): DbConfigPanel.__init__(self, parent, db_action_type) lbl_host = QLabel(self.tr("Host")) lbl_port = QLabel(self.tr("Port")) lbl_database = QLabel(self.tr("Database")) lbl_schema = QLabel(self.tr("Schema")) lbl_user = QLabel(self.tr("User")) lbl_password = QLabel(self.tr("Password")) self.pg_host_line_edit = QLineEdit() self.pg_host_line_edit.setPlaceholderText(self.tr("Database Hostname")) self.pg_host_line_edit.setText('localhost') self.pg_port_line_edit = QLineEdit() self.pg_port_line_edit.setPlaceholderText( self.tr("[Leave empty to use standard port 5432]")) self.pg_database_line_edit = QLineEdit() self.pg_database_line_edit.setPlaceholderText(self.tr("Database Name")) self.pg_schema_line_edit = QLineEdit() self.pg_schema_line_edit.setPlaceholderText( self.tr("[Leave empty to load all schemas in the database]")) self.pg_user_line_edit = QLineEdit() self.pg_user_line_edit.setPlaceholderText(self.tr("Database Username")) self.pg_password_line_edit = QLineEdit() self.pg_password_line_edit.setEchoMode(QLineEdit.Password) self.pg_password_line_edit.setPlaceholderText( self.tr("[Leave empty to use system password]")) from QgisModelBaker.libili2db.ili2dbconfig import BaseConfiguration if self._db_action_type != DbActionType.EXPORT: self.pg_use_super_login = QCheckBox() self.pg_use_super_login.setText( self.tr( "Generate schema with superuser login from settings ({})"). format(BaseConfiguration().super_pg_user)) layout = QGridLayout(self) layout.addWidget(lbl_host, 0, 0) layout.addWidget(lbl_port, 1, 0) layout.addWidget(lbl_database, 2, 0) layout.addWidget(lbl_schema, 3, 0) layout.addWidget(lbl_user, 4, 0) layout.addWidget(lbl_password, 5, 0) layout.addWidget(self.pg_host_line_edit, 0, 1) layout.addWidget(self.pg_port_line_edit, 1, 1) layout.addWidget(self.pg_database_line_edit, 2, 1) layout.addWidget(self.pg_schema_line_edit, 3, 1) layout.addWidget(self.pg_user_line_edit, 4, 1) layout.addWidget(self.pg_password_line_edit, 5, 1) if self._db_action_type != DbActionType.EXPORT: layout.addWidget(self.pg_use_super_login, 6, 1) # define validators self.validators = Validators() nonEmptyValidator = NonEmptyStringValidator() self.pg_host_line_edit.setValidator(nonEmptyValidator) self.pg_database_line_edit.setValidator(nonEmptyValidator) self.pg_user_line_edit.setValidator(nonEmptyValidator) self.pg_host_line_edit.textChanged.connect( self.validators.validate_line_edits) self.pg_host_line_edit.textChanged.emit(self.pg_host_line_edit.text()) self.pg_database_line_edit.textChanged.connect( self.validators.validate_line_edits) self.pg_database_line_edit.textChanged.emit( self.pg_database_line_edit.text()) self.pg_user_line_edit.textChanged.connect( self.validators.validate_line_edits) self.pg_user_line_edit.textChanged.emit(self.pg_user_line_edit.text()) self.pg_host_line_edit.textChanged.connect(self.notify_fields_modified) self.pg_port_line_edit.textChanged.connect(self.notify_fields_modified) self.pg_database_line_edit.textChanged.connect( self.notify_fields_modified) self.pg_schema_line_edit.textChanged.connect( self.notify_fields_modified) self.pg_user_line_edit.textChanged.connect(self.notify_fields_modified) self.pg_password_line_edit.textChanged.connect( self.notify_fields_modified)