Compare commits

...
48 Commits
Author SHA1 Message Date
trousseau 3d62ac8d5e Update plugins.xml 2026-05-12 13:52:45 +02:00
trousseau d89c17cf62 Update plugins.xml 2026-04-27 15:54:41 +02:00
trousseau 4019e483b7 Update plugins.xml 2026-04-27 15:50:09 +02:00
trousseau 5854252f02 Update plugins.xml 2026-04-27 15:49:22 +02:00
trousseau 6a955acd90 Update plugins.xml 2026-04-27 15:49:13 +02:00
trousseau 0fe0dd2dd3 Update plugins.xml 2026-04-27 15:45:46 +02:00
Colas 74ac0da75d fix install plugin 2026-04-22 15:24:18 +02:00
Colas 9066192072 fix downlowd url 2026-04-22 15:07:56 +02:00
Colas b299d3bdbf add gn_tools plugin 2026-04-22 14:56:10 +02:00
Colas 684b1fa869 Ajout logos RNGL 2025-03-06 17:26:39 +01:00
Colas 2a670b41e8 update version 2025-02-07 14:54:57 +01:00
Colas d1a3192129 update version 2025-02-07 14:51:01 +01:00
Colas 124938ff6b adjust polices 2025-02-07 14:48:43 +01:00
Colas 36403781ac adjust params position 2025-02-07 14:47:57 +01:00
Colas c8a7d6a209 add logos 2025-02-07 14:46:08 +01:00
Colas 0f94dbad98 Remove mdp from repot 2025-02-05 12:14:04 +01:00
Colas 6991e83ccc Remove mdp from repot 2025-02-05 12:13:13 +01:00
Colas fb7addbe75 add PythonSQL.py 2025-02-05 12:12:40 +01:00
Colas 488dae338f add PythonSQL.py 2025-02-05 12:11:04 +01:00
Colas a507309986 Remove mdp from repot 2025-02-05 12:09:55 +01:00
Colas a3d9d0730c init gitignore 2025-02-05 12:07:31 +01:00
Colas ace0310c2c Update logo CEN 2025-02-05 12:04:45 +01:00
Colas 27afebc093 add CEN38 icon 2025-02-04 18:41:56 +01:00
Colas 059ba80004 rename CEN-RA icon 2025-02-04 18:41:39 +01:00
Colas 2ecb90389a Update template title 2025-02-04 18:37:49 +01:00
Colas 3c5d8dc805 init file 2025-02-04 18:28:16 +01:00
Colas ab6d2abb67 Update metadata 2025-02-04 18:27:49 +01:00
Colas 923ceeb52f init file 2025-02-04 18:27:03 +01:00
Colas 344f02f3de update dimensional parameters 2025-02-04 18:25:21 +01:00
Colas ba39d889b3 transform to 2025-02-04 18:23:44 +01:00
Colas e6e888639f transform to 2025-02-04 18:22:37 +01:00
Colas bf4cb3de7f comment code writing in comments 2025-02-04 18:20:35 +01:00
Colas 7ad428ff5d init left_corner.py 2025-02-04 18:19:28 +01:00
Colas c1ceb1eeaf comment code writing in comments 2025-02-04 18:18:25 +01:00
Colas 01c3cfcca6 filter & sort modele 2025-02-04 18:13:55 +01:00
Colas 0f514e9f51 deactivate function login_base 2025-02-04 18:08:46 +01:00
Colas ca4999737e correction description 2025-02-04 18:07:28 +01:00
Colas ae1db1bba4 deactivate login_base & update plugins.xml URL 2025-02-04 18:06:39 +01:00
Colas 69050f3a6f clean password 2025-02-04 18:04:46 +01:00
Colas fd92bbefad Actualiser plugins.xml
Actualisation version plugin
2024-12-11 15:09:41 +01:00
Natacha 90555a5999 Actualiser plugins.xml 2024-12-06 11:40:14 +01:00
Natacha 8fc2dff981 Actualiser plugins.xml 2024-12-06 11:36:08 +01:00
Natacha a952c37b41 Actualisation xml 2024-11-29 10:05:41 +01:00
Natacha 0b7912a512 Actualisation xml 2024-11-29 10:05:10 +01:00
Natacha 6a66140db7 Custom CenIsere 2024-11-28 16:35:32 +01:00
Natacha 66df248ab8 Renommage des fichiers CenRa en CenIsere 2024-11-28 16:33:11 +01:00
Natacha 01015e6f46 Renommage en CenIsere_AUTOMAP 2024-11-28 16:28:45 +01:00
Natacha 1380827465 Remove gitignore 2024-11-28 16:27:11 +01:00
75 changed files with 2623 additions and 499 deletions
+2 -19
View File
@@ -1,19 +1,2 @@
#Ignores gitignore *.zip
/.gitignore */*/PythonSQL.py
#Ignores all folders
/*
!plugins.xml
#Skip Ignores
!CenRa_AUTOMAP/
!CenRa_COPIE/
!CenRa_FLUX/
!CenRa_METABASE/
!CenRa_POSTGIS/
!CenRa_SICEN/
!CenRa_PAGERENDER/
#ReIgnore
**/__pycache__
**/test/
@@ -50,7 +50,7 @@ class PgAutoMap:
maj_verif(NAME) maj_verif(NAME)
# Display About window on first use # Display About window on first use
version = qgis.utils.pluginMetadata('CenRa_AUTOMAP','version') version = qgis.utils.pluginMetadata('CenIsere_AUTOMAP','version')
s = QSettings() s = QSettings()
versionUse = s.value("automap/version", 1, type=str) versionUse = s.value("automap/version", 1, type=str)
if str(versionUse) != str(version) : if str(versionUse) != str(version) :
@@ -61,64 +61,65 @@ class PgAutoMap:
def initGui(self): def initGui(self):
""" Build the plugin GUI. """ """ Build the plugin GUI. """
self.toolBar = iface.addToolBar("CenRa_AutoMap") self.toolBar = iface.addToolBar("CenIsere_AutoMap")
self.toolBar.setObjectName("CenRa_AutoMap") self.toolBar.setObjectName("CenIsere_AutoMap")
icon = QIcon(resources_path('icons', 'icon.png')) icon = QIcon(resources_path('icons', 'icon.png'))
# Open the online help # Open the online help
self.help_action = QAction(icon, 'CenRa_AutoMap', iface.mainWindow()) self.help_action = QAction(icon, 'CenIsere_AutoMap', iface.mainWindow())
iface.pluginHelpMenu().addAction(self.help_action) iface.pluginHelpMenu().addAction(self.help_action)
self.help_action.triggered.connect(self.open_help) self.help_action.triggered.connect(self.open_help)
if not self.canvas_editor: if not self.canvas_editor:
self.canvas_editor = AutoMap_Editor() self.canvas_editor = AutoMap_Editor()
self.automap_action = QAction(icon, 'CenRa_AutoMap',None) self.automap_action = QAction(icon, 'CenIsere_AutoMap',None)
self.toolBar.addAction(self.automap_action) self.toolBar.addAction(self.automap_action)
self.automap_action.triggered.connect(self.open_editor) self.automap_action.triggered.connect(self.open_editor)
''' # '''
if not self.locator_filter: # if not self.locator_filter:
self.locator_filter = LocatorFilter(iface) # self.locator_filter = LocatorFilter(iface)
iface.registerLocatorFilter(self.locator_filter) # iface.registerLocatorFilter(self.locator_filter)
@staticmethod # @staticmethod
def check_invalid_connection_names(): # def check_invalid_connection_names():
""" Check for invalid connection names in the QgsSettings. """ # """ Check for invalid connection names in the QgsSettings. """
valid, invalid = validate_connections_names() # valid, invalid = validate_connections_names()
n_invalid = len(invalid) # n_invalid = len(invalid)
if n_invalid == 0: # if n_invalid == 0:
return # return
invalid_text = ', '.join(invalid) # invalid_text = ', '.join(invalid)
msg = QMessageBox() # msg = QMessageBox()
msg.setIcon(QMessageBox.Warning) # msg.setIcon(QMessageBox.Warning)
msg.setWindowTitle(tr('PgMetadata: Database connection(s) not available')) # msg.setWindowTitle(tr('PgMetadata: Database connection(s) not available'))
msg.setText(tr( # msg.setText(tr(
f'{n_invalid} connection(s) listed in PgMetadata’s settings are invalid or ' # f'{n_invalid} connection(s) listed in PgMetadata’s settings are invalid or '
f'no longer available: {invalid_text}')) # f'no longer available: {invalid_text}'))
msg.setInformativeText(tr( # msg.setInformativeText(tr(
'Do you want to remove these connection(s) from the PgMetadata settings? ' # 'Do you want to remove these connection(s) from the PgMetadata settings? '
'(You can also do this later with the “Set Connections” tool.)')) # '(You can also do this later with the “Set Connections” tool.)'))
msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No) # msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
clicked = msg.exec() # clicked = msg.exec()
if clicked == QMessageBox.Yes: # if clicked == QMessageBox.Yes:
iface.messageBar().pushSuccess('PgMetadata', tr(f'{n_invalid} invalid connection(s) removed.')) # iface.messageBar().pushSuccess('PgMetadata', tr(f'{n_invalid} invalid connection(s) removed.'))
store_connections(valid) # store_connections(valid)
if clicked == QMessageBox.No: # if clicked == QMessageBox.No:
iface.messageBar().pushInfo('PgMetadata', tr(f'Keeping {n_invalid} invalid connections.')) # iface.messageBar().pushInfo('PgMetadata', tr(f'Keeping {n_invalid} invalid connections.'))
''' # '''
def open_about_dialog(self): def open_about_dialog(self):
""" """
About dialog About dialog
""" """
dialog = AutoMapAboutDialog(iface) dialog = AutoMapAboutDialog(iface)
dialog.exec_() dialog.exec_()
def open_help(): def open_help():
""" Open the online help. """ """ Open the online help. """
QDesktopServices.openUrl(QUrl('https://plateformesig.cenra-outils.org/')) # QDesktopServices.openUrl(QUrl('https://plateformesig.CenIsere-outils.org/'))
def open_editor(self): def open_editor(self):
self.canvas_editor.show() self.canvas_editor.show()
@@ -127,7 +128,7 @@ class PgAutoMap:
def unload(self): def unload(self):
""" Unload the plugin. """ """ Unload the plugin. """
if self.canvas_editor: if self.canvas_editor:
iface.removePluginMenu('CenRa_AutoMap',self.automap_action) iface.removePluginMenu('CenIsere_AutoMap',self.automap_action)
if self.provider: if self.provider:
QgsApplication.processingRegistry().removeProvider(self.provider) QgsApplication.processingRegistry().removeProvider(self.provider)
+1
View File
@@ -0,0 +1 @@
# CenIsere_AutoMap
+10
View File
@@ -0,0 +1,10 @@
__copyright__ = "Copyright 2021, 3Liz"
__license__ = "GPL version 3"
__email__ = "info@3liz.org"
# noinspection PyPep8Naming
def classFactory(iface): # pylint: disable=invalid-name
_ = iface
from CenIsere_AUTOMAP.CenIsere_AutoMap import PgAutoMap
return PgAutoMap()
@@ -12,7 +12,7 @@ ABOUT_FORM_CLASS, _ = uic.loadUiType(
os.path.join( os.path.join(
str(Path(__file__).resolve().parent), str(Path(__file__).resolve().parent),
'tools/ui', 'tools/ui',
'CenRa_AutoMap_about_form.ui' 'CenIsere_AutoMap_about_form.ui'
) )
) )
@@ -26,7 +26,7 @@ class AutoMapAboutDialog(QDialog, ABOUT_FORM_CLASS):
self.iface = iface self.iface = iface
self.setupUi(self) self.setupUi(self)
self.viewer.setHtml(devlog('CenRa_AUTOMAP')) self.viewer.setHtml(devlog('CenIsere_AUTOMAP'))
self.rejected.connect(self.onReject) self.rejected.connect(self.onReject)
self.buttonBox.rejected.connect(self.onReject) self.buttonBox.rejected.connect(self.onReject)
@@ -43,4 +43,4 @@ class AutoMapAboutDialog(QDialog, ABOUT_FORM_CLASS):
Run some actions when Run some actions when
the user closes the dialog the user closes the dialog
""" """
self.close() self.close()
@@ -8,7 +8,6 @@ from pathlib import Path
from xml.dom.minidom import parseString from xml.dom.minidom import parseString
from qgis.gui import * from qgis.gui import *
import qgis import qgis
from importlib import import_module
from qgis.core import ( from qgis.core import (
NULL, NULL,
QgsApplication, QgsApplication,
@@ -57,56 +56,49 @@ from qgis.PyQt.QtWidgets import (
QTableWidgetItem, QTableWidgetItem,
QVBoxLayout, QVBoxLayout,
) )
from PyQt5 import QtGui
from qgis.PyQt.QtXml import QDomDocument from qgis.PyQt.QtXml import QDomDocument
from qgis.utils import iface from qgis.utils import iface
import glob import glob
from .tools.resources import ( from .tools.resources import (
load_ui, load_ui,
resources_path, resources_path,
login_base, # login_base,
send_issues, send_issues,
) )
from .issues import CenRa_Issues from .tools.mises_en_pages.canvas import (fletch_canvas)
from .issues import CenIsere_Issues
from .tools.mises_en_pages import carto_standard
from .tools.mises_en_pages import full_page
from .tools.mises_en_pages import demo
from datetime import date from datetime import date
EDITOR_CLASS = load_ui('CenRa_AutoMap_base.ui') EDITOR_CLASS = load_ui('CenIsere_AutoMap_base.ui')
LOGGER = logging.getLogger('CenRa_AutoMap') LOGGER = logging.getLogger('CenIsere_AutoMap')
url_osm = 'https://osm.datagrandest.fr/mapcache/?crs=EPSG:2154&featureCount=10&format=image/png&layers=pure&maxHeight=256&maxWidth=256&styles=&url=https://osm.datagrandest.fr/mapcache' url_osm = 'https://osm.datagrandest.fr/mapcache/?crs=EPSG:2154&featureCount=10&format=image/png&layers=pure&maxHeight=256&maxWidth=256&styles=&url=https://osm.datagrandest.fr/mapcache'
url_ortho = 'http://tiles.craig.fr/ortho/service/?crs=EPSG:2154&featureCount=10&format=image/jpeg&layers=ortho&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/ortho/service' url_ortho = 'http://tiles.craig.fr/ortho/service/?crs=EPSG:2154&featureCount=10&format=image/jpeg&layers=ortho&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/ortho/service'
url_mnt = 'http://tiles.craig.fr/mnt/crs=EPSG:2154&featureCount=10&format=image/png&layers=relief&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/mnt' url_mnt = 'http://tiles.craig.fr/mnt/crs=EPSG:2154&featureCount=10&format=image/png&layers=relief&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/mnt'
url_pente = 'http://tiles.craig.fr/mnt/crs=EPSG:2154&featureCount=10&format=image/png&layers=pente&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/mnt' url_pente = 'http://tiles.craig.fr/mnt/crs=EPSG:2154&featureCount=10&format=image/png&layers=pente&maxHeight=256&maxWidth=256&styles=&url=http://tiles.craig.fr/mnt'
data_source = [ data_source = [
'CENRA', 'CEN Isère',
'IGN', 'CEN-RA',
'CRAIG', 'IGN',
'OpenStreetMap', 'CRAIG',
'Sandre', 'OpenStreetMap',
'BRGM', 'Sandre',
'MUSÉUM NATIONAL D’HISTOIRE NATURELLE', 'BRGM',
"Muséum national d'Histoire naturelle", 'MUSÉUM NATIONAL D’HISTOIRE NATURELLE',
'ONF', "Muséum national d'Histoire naturelle",
'20xx LPO', 'ONF',
'ofb.gouv.fr', '20xx LPO',
'Stamen Design', 'ofb.gouv.fr',
'MTES', 'Stamen Design',
'MTES', 'MTES',
'FEDER', 'MTES',
'DREAL Auvergne-Rhône-Alpes', 'FEDER',
'INSEE', 'DREAL Auvergne-Rhône-Alpes',
'DGFiP', 'INSEE',
'Fédération des Conservatoires d’espaces naturels', 'DGFiP',
'Plan cadastral informatisé - Etalab - juillet 202X', 'Fédération des Conservatoires d’espaces naturels',
'Parcellaire Express - IGN - 202X', 'Plan cadastral informatisé - Etalab - juillet 202X',
'Parcellaire Express - IGN - 202X',
] ]
A4_size = {'Portrait':{'RIGHT':210,'LEFT':0,'TOP':0,'BOTTOM':297},'Landscape':{'RIGHT':297,'LEFT':0,'TOP':0,'BOTTOM':210}}
A3_size = {'Portrait':{'RIGHT':298,'LEFT':0,'TOP':0,'BOTTOM':420},'Landscape':{'RIGHT':420,'LEFT':0,'TOP':0,'BOTTOM':298}}
class AutoMap_Editor(QDialog, EDITOR_CLASS): class AutoMap_Editor(QDialog, EDITOR_CLASS):
def __init__(self, parent=None): def __init__(self, parent=None):
@@ -115,7 +107,6 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.setupUi(self) self.setupUi(self)
self.settings = QgsSettings() self.settings = QgsSettings()
self.s = QSettings() self.s = QSettings()
self.setWindowIcon(QtGui.QIcon(resources_path('icons','icon.png')))
path = '' path = ''
ix = 0 ix = 0
@@ -139,8 +130,11 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
## On ajoute le nom des templates à la liste déroulante de l'onglet "mises en page" : ## On ajoute le nom des templates à la liste déroulante de l'onglet "mises en page" :
mises_en_page = [] mises_en_page = []
for filename in glob.glob(resources_path("mises_en_pages","*.py")): for filename in glob.glob(resources_path("mises_en_pages","*.qpt")):
if filename.split("/")[-1] == "modele_carto.qpt":
continue
mises_en_page.append(filename) mises_en_page.append(filename)
mises_en_page.sort()
for i, filename in enumerate(mises_en_page): for i, filename in enumerate(mises_en_page):
@@ -149,42 +143,32 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.comboBox.setCurrentIndex(1) self.comboBox.setCurrentIndex(1)
self.template_parameters = { self.template_parameters = {
'Carte_size': None, 'map_size': None,
'Carte_locals' : None, 'map_position' : None,
'Carte_rotate':None, 'position_map_size' : None,
'Carte_2_size' : None, 'position_map_position' : None,
'Carte_2_locals' : None, 'title_position': None,
'Carte_2_rotate':None, 'title_size': None,
'Legande_size': None, 'subtitle_position': None,
'Legande_locals': None, 'subtitle_size': None,
'Legande_rotate':None, 'logo_position': None,
'Arrow_size': None, 'logo_size': None,
'Arrow_locals': None, 'legend_position': None,
'Arrow_rotate':None, 'legend_size': None,
'Echelle_size': None, 'scalebarnumeric_position':None,
'Echelle_locals': None, 'scalebarnumeric_size':None,
'Echelle_rotate':None, 'scalebar_position': None,
'Logo_size': None, 'scalebar_size': None,
'Logo_locals': None, 'north_position': None,
'Logo_rotate':None, 'north_size': None,
'Titre_size':None, 'credit_text_position': None,
'Titre_locals':None, 'credit_text_size': None,
'Titre_rotate':None, 'credit_text2_position': None,
'Sous_titre_size':None, 'credit_text2_size': None,
'Sous_titre_locals':None, 'image_size':None,
'Sous_titre_rotate':None, 'image_position':None,
'Credit_size': None, 'image_size_2':None,
'Credit_locals': None, 'image_position_2':None,
'Credit_rotate':None,
'Source_size': None,
'Source_locals': None,
'Source_rotate':None,
'Logo_2_size': None,
'Logo_2_locals': None,
'Logo_2_rotate': None,
'Echelle_2_size': None,
'Echelle_2_locals': None,
'Echelle_2_rotate': None,
# Add more variables as needed # Add more variables as needed
} }
self.update_logo_library() self.update_logo_library()
@@ -201,7 +185,9 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
for l,logo_x in enumerate(custome_bibliotech): for l,logo_x in enumerate(custome_bibliotech):
logo_library.append(' '+os.path.basename(logo_x)) logo_library.append(' '+os.path.basename(logo_x))
bibliotech = glob.glob(resources_path("logo_library","*.png")) bibliotech_png = glob.glob(resources_path("logo_library","*.png"))
bibliotech_jpeg = glob.glob(resources_path("logo_library","*.jpg"))
bibliotech = [*bibliotech_png, *bibliotech_jpeg]
for l,logo_x in enumerate(bibliotech): for l,logo_x in enumerate(bibliotech):
logo_library.append(os.path.basename(logo_x)) logo_library.append(os.path.basename(logo_x))
self.mComboBox_4.addItems(sorted(logo_library)) self.mComboBox_4.addItems(sorted(logo_library))
@@ -439,15 +425,8 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
doc.setContent(template_content) doc.setContent(template_content)
self.layout.loadFromTemplate(doc, QgsReadWriteContext(), True) self.layout.loadFromTemplate(doc, QgsReadWriteContext(), True)
self.layout.setName(layout_name) self.layout.setName(layout_name)
if self.radioButton_6.isChecked() and self.radioButton_7.isChecked():
logo_div = A4_size['Portrait']['RIGHT']
if self.radioButton_6.isChecked() and self.radioButton_8.isChecked():
logo_div = A4_size['Portrait']['BOTTOM']
if self.radioButton_5.isChecked() and self.radioButton_7.isChecked():
logo_div = A3_size['Portrait']['RIGHT']
if self.radioButton_5.isChecked() and self.radioButton_8.isChecked():
logo_div = A3_size['Portrait']['BOTTOM']
if True:#os.path.basename(filename) == "1. Modèle carto standard (consolidé).qpt": if True:#os.path.basename(filename) == "1. Modèle carto standard (consolidé).qpt":
self.actualisation_mise_en_page() self.actualisation_mise_en_page()
@@ -460,10 +439,10 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.map_modele_test.setExtent(iface.mapCanvas().extent()) self.map_modele_test.setExtent(iface.mapCanvas().extent())
# Position de la carte dans le composeur # Position de la carte dans le composeur
self.map_modele_test.setItemRotation(self.template_parameters['Carte_rotate']) self.map_modele_test.attemptMove(self.template_parameters['map_position'])
self.map_modele_test.attemptResize(self.template_parameters['Carte_size'])
self.map_modele_test.attemptMove(self.template_parameters['Carte_locals'])
# on dimensionne le rendu de la carte (pour référence la page totale est une page A4 donc 297*210) # on dimensionne le rendu de la carte (pour référence la page totale est une page A4 donc 297*210)
self.map_modele_test.attemptResize(self.template_parameters['map_size'])
self.map_modele_test.setKeepLayerSet(True) self.map_modele_test.setKeepLayerSet(True)
self.map_modele_test.setKeepLayerStyles(True) self.map_modele_test.setKeepLayerStyles(True)
if self.radioButton_11.isChecked() == 1: if self.radioButton_11.isChecked() == 1:
@@ -477,9 +456,8 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.position_map.setExtent(QgsRectangle(641552,6647386, 995856,6331104)) self.position_map.setExtent(QgsRectangle(641552,6647386, 995856,6331104))
self.position_map.setFollowVisibilityPreset(True) self.position_map.setFollowVisibilityPreset(True)
self.position_map.setFollowVisibilityPresetName(self.comboBox_6.currentText()) self.position_map.setFollowVisibilityPresetName(self.comboBox_6.currentText())
self.position_map.setItemRotation(self.template_parameters['Carte_2_rotate']) self.position_map.attemptMove(self.template_parameters['position_map_position'])
self.position_map.attemptResize(self.template_parameters['Carte_2_size']) self.position_map.attemptResize(self.template_parameters['position_map_size'])
self.position_map.attemptMove(self.template_parameters['Carte_2_locals'])
overviewitem = QgsLayoutItemMapOverviewStack(self.position_map) overviewitem = QgsLayoutItemMapOverviewStack(self.position_map)
map_overview = self.position_map.overview() map_overview = self.position_map.overview()
map_overview.setLinkedMap(self.map_modele_test) map_overview.setLinkedMap(self.map_modele_test)
@@ -487,28 +465,48 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
overviewitem.addOverview(map_overview) overviewitem.addOverview(map_overview)
self.position_map.refresh() self.position_map.refresh()
self.map_modele_test.setFrameEnabled(True) self.map_modele_test.setFrameEnabled(False)
self.layout.addLayoutItem(self.position_map) self.layout.addLayoutItem(self.position_map)
self.position_map.setId("Carte_locals") self.position_map.setId("carte_position")
self.map_modele_test.refresh() self.map_modele_test.refresh()
self.map_modele_test.setBackgroundColor(QColor(255, 255, 255, 255)) self.map_modele_test.setBackgroundColor(QColor(255, 255, 255, 255))
self.map_modele_test.setFrameEnabled(True)
self.map_modele_test.setFrameEnabled(False)
if self.radioButton_9.isChecked() == 1: if self.radioButton_9.isChecked() == 1:
self.map_modele_test.setAtlasDriven(True) self.map_modele_test.setAtlasDriven(True)
self.layout.addLayoutItem(self.map_modele_test) self.layout.addLayoutItem(self.map_modele_test)
self.map_modele_test.setId("carte_principale") self.map_modele_test.setId("carte_principale")
if self.comboBox.currentText() == "3. Modèle carto standard Cen Isere.qpt":
# Ajout de la vague haute
image1 = QgsLayoutItemPicture(self.layout)
image1.setPicturePath(resources_path("mises_en_pages","vague.png"))
image1.attemptMove(self.template_parameters['image_position'])
image1.attemptResize(self.template_parameters['image_size'])
self.layout.addLayoutItem(image1)
image1.setMode(QgsLayoutItemPicture.FormatRaster)
# Ajout de la vague basse
image2 = QgsLayoutItemPicture(self.layout)
image2.setPicturePath(resources_path("mises_en_pages","vague2.png"))
image2.attemptMove(self.template_parameters['image_position_2'])
image2.attemptResize(self.template_parameters['image_size_2'])
self.layout.addLayoutItem(image2)
image2.setMode(QgsLayoutItemPicture.FormatRaster)
## Ajout d'un titre à la mise en page ## Ajout d'un titre à la mise en page
title = QgsLayoutItemLabel(self.layout) title = QgsLayoutItemLabel(self.layout)
self.layout.addLayoutItem(title) self.layout.addLayoutItem(title)
titre = layout_name titre = layout_name
title.setText(titre) title.setText(titre)
title.setFont(QFont("Calibri", 15, QFont.Bold)) title.setFont(QFont("Museo 700", 15, QFont.Bold))
title.setItemRotation(self.template_parameters['Titre_rotate']) title.setFontColor(QColor(62, 62, 62, 24))
title.attemptResize(self.template_parameters['Titre_size']) title.attemptMove(self.template_parameters['title_position'])
title.attemptMove(self.template_parameters['Titre_locals']) title.attemptResize(self.template_parameters['title_size'])
title.setBackgroundEnabled(True) title.setBackgroundEnabled(True)
title.setBackgroundColor(QColor(255, 255, 255, 130)) title.setBackgroundColor(QColor(255, 255, 255, 130))
self.layout.addItem(title) self.layout.addItem(title)
@@ -524,10 +522,10 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
if self.radioButton_9.isChecked() == 1: if self.radioButton_9.isChecked() == 1:
titre = titre + ' [%' + self.comboBox_4.currentText() + '%]' titre = titre + ' [%' + self.comboBox_4.currentText() + '%]'
subtitle.setText(titre) subtitle.setText(titre)
subtitle.setFont(QFont("MS Shell Dlg 2", 10)) subtitle.setFont(QFont("Calibri", 10))
subtitle.setItemRotation(self.template_parameters['Sous_titre_rotate']) subtitle.setFontColor(QColor(0, 69, 148, 58))
subtitle.attemptResize(self.template_parameters['Sous_titre_size']) subtitle.attemptMove(self.template_parameters['subtitle_position'])
subtitle.attemptMove(self.template_parameters['Sous_titre_locals']) subtitle.attemptResize(self.template_parameters['subtitle_size'])
subtitle.setId("SubTitle") subtitle.setId("SubTitle")
subtitle.setBackgroundEnabled(True) subtitle.setBackgroundEnabled(True)
subtitle.setBackgroundColor(QColor(255, 255, 255, 130)) subtitle.setBackgroundColor(QColor(255, 255, 255, 130))
@@ -540,10 +538,9 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
logo = QgsLayoutItemPicture(self.layout) logo = QgsLayoutItemPicture(self.layout)
logo.setResizeMode(QgsLayoutItemPicture.Zoom) logo.setResizeMode(QgsLayoutItemPicture.Zoom)
logo.setMode(QgsLayoutItemPicture.FormatRaster) logo.setMode(QgsLayoutItemPicture.FormatRaster)
logo.setItemRotation(self.template_parameters['Logo_rotate']) logo.attemptMove(self.template_parameters['logo_position'])
logo.setFixedSize(self.template_parameters['Logo_size']) logo.setFixedSize(self.template_parameters['logo_size'])
logo.attemptMove(self.template_parameters['Logo_locals']) logo.setPicturePath(resources_path("icons","CEN38.jpg"))
logo.setPicturePath(resources_path("icons","CEN_RA.png"))
logo.setId('logo') logo.setId('logo')
self.layout.addLayoutItem(logo) self.layout.addLayoutItem(logo)
@@ -607,9 +604,14 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
legend.setEqualColumnWidth(True) legend.setEqualColumnWidth(True)
legend.setSplitLayer(True) legend.setSplitLayer(True)
legend.setColumnSpace(5) legend.setColumnSpace(5)
legend.setTitle('Légende')
legend.rstyle(QgsLegendStyle.Title).setMargin(1.5) # 1 mm legend.rstyle(QgsLegendStyle.Title).setMargin(1.5) # 1 mm
legend.rstyle(QgsLegendStyle.Title).setFont(QFont("Calibri", 12,QFont.Bold))
legend.rstyle(QgsLegendStyle.Group).setMargin(QgsLegendStyle.Top, 3) legend.rstyle(QgsLegendStyle.Group).setMargin(QgsLegendStyle.Top, 3)
legend.rstyle(QgsLegendStyle.Group).setFont(QFont("Calibri", 10))
legend.rstyle(QgsLegendStyle.Subgroup).setMargin(QgsLegendStyle.Top, 3) legend.rstyle(QgsLegendStyle.Subgroup).setMargin(QgsLegendStyle.Top, 3)
legend.rstyle(QgsLegendStyle.Subgroup).setFont(QFont("Calibri", 10,QFont.Bold))
legend.rstyle(QgsLegendStyle.SymbolLabel).setFont(QFont("Calibri", 10))
legend.setColumnCount(self.spinBox.value()) legend.setColumnCount(self.spinBox.value())
legend.adjustBoxSize() legend.adjustBoxSize()
@@ -618,7 +620,8 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.layout.refresh() self.layout.refresh()
legend.updateLegend() legend.updateLegend()
legend.attemptMove(self.template_parameters['Legande_locals']) legend.attemptMove(self.template_parameters['legend_position'])
## Ajout de l'échelle numeric à la mise en page ## Ajout de l'échelle numeric à la mise en page
self.scalebarnumeric_qpt = QgsLayoutItemScaleBar(self.layout) self.scalebarnumeric_qpt = QgsLayoutItemScaleBar(self.layout)
@@ -630,10 +633,10 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.scalebarnumeric_qpt.setNumberOfSegments(2) self.scalebarnumeric_qpt.setNumberOfSegments(2)
self.scalebarnumeric_qpt.setNumberOfSegmentsLeft(0) self.scalebarnumeric_qpt.setNumberOfSegmentsLeft(0)
self.scalebarnumeric_qpt.attemptMove(self.template_parameters['Echelle_locals']) self.scalebarnumeric_qpt.attemptMove(self.template_parameters['scalebarnumeric_position'])
self.scalebarnumeric_qpt.attemptResize(self.template_parameters['Echelle_size']) self.scalebarnumeric_qpt.attemptResize(self.template_parameters['scalebarnumeric_size'])
self.scalebarnumeric_qpt.setItemRotation(self.template_parameters['Echelle_rotate'])
self.scalebarnumeric_qpt.setAlignment(QgsScaleBarSettings.Alignment(1)) self.scalebarnumeric_qpt.setAlignment(QgsScaleBarSettings.Alignment(1))
self.scalebarnumeric_qpt.setFont(QFont("Calibri", 10))
self.scalebarnumeric_qpt.setBackgroundEnabled(True) self.scalebarnumeric_qpt.setBackgroundEnabled(True)
self.scalebarnumeric_qpt.setBackgroundColor(QColor(255, 255, 255, 130)) self.scalebarnumeric_qpt.setBackgroundColor(QColor(255, 255, 255, 130))
@@ -649,10 +652,10 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.scalebar_qpt.setNumberOfSegments(2) self.scalebar_qpt.setNumberOfSegments(2)
self.scalebar_qpt.setNumberOfSegmentsLeft(0) self.scalebar_qpt.setNumberOfSegmentsLeft(0)
self.scalebar_qpt.attemptMove(self.template_parameters['Echelle_2_locals']) self.scalebar_qpt.attemptMove(self.template_parameters['scalebar_position'])
self.scalebar_qpt.attemptResize(self.template_parameters['Echelle_2_size']) self.scalebar_qpt.attemptResize(self.template_parameters['scalebar_size'])
self.scalebar_qpt.setItemRotation(self.template_parameters['Echelle_2_rotate'])
self.scalebar_qpt.setAlignment(QgsScaleBarSettings.Alignment(1)) self.scalebar_qpt.setAlignment(QgsScaleBarSettings.Alignment(1))
self.scalebar_qpt.setFont(QFont("Calibri", 10))
self.scalebar_qpt.setBackgroundEnabled(True) self.scalebar_qpt.setBackgroundEnabled(True)
self.scalebar_qpt.setBackgroundColor(QColor(255, 255, 255, 130)) self.scalebar_qpt.setBackgroundColor(QColor(255, 255, 255, 130))
@@ -663,47 +666,46 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
north = QgsLayoutItemPicture(self.layout) north = QgsLayoutItemPicture(self.layout)
north.setPicturePath(resources_path("mises_en_pages","NorthArrow_02.svg")) north.setPicturePath(resources_path("mises_en_pages","NorthArrow_02.svg"))
self.layout.addLayoutItem(north) self.layout.addLayoutItem(north)
north.attemptMove(self.template_parameters['Arrow_locals']) north.attemptMove(self.template_parameters['north_position'])
north.attemptResize(self.template_parameters['Arrow_size']) north.attemptResize(self.template_parameters['north_size'])
north.setItemRotation(self.template_parameters['Arrow_rotate'])
if self.radioButton_10.isChecked() == 1: if self.radioButton_10.isChecked() == 1:
info_text = ["Source : " + self.mComboBox_3.currentText()][0] info_text = ["Source : ©" + ', ©'.join(self.mComboBox_3.checkedItems())][0]
else: else:
info_text = ["Source : " + self.lineEdit_4.text()][0] info_text = ["Source : ©" + self.lineEdit_4.text()][0]
# ajout note info: # ajout note info:
info = ["Réalisation : " + "CEN Rhône-Alpes (" + date.today().strftime( info = ["Réalisation : " + "CEN Isère (" + date.today().strftime(
"%d/%m/%Y") + ")"] "%d/%m/%Y") + ")"]
credit_text = QgsLayoutItemLabel(self.layout) credit_text = QgsLayoutItemLabel(self.layout)
credit_text.setText(info[0]) credit_text.setText(info[0])
credit_text.setFont(QFont("Calibri", 9)) credit_text.setFont(QFont("Calibri", 9))
credit_text.setHAlign(Qt.AlignRight) credit_text.setHAlign(Qt.AlignRight)
credit_text.setVAlign(Qt.AlignVCenter) credit_text.setVAlign(Qt.AlignVCenter)
credit_text.setItemRotation(-90)
credit_text.setBackgroundEnabled(True)
credit_text.setBackgroundColor(QColor(255, 255, 255, 30))
credit_text2 = QgsLayoutItemLabel(self.layout) credit_text2 = QgsLayoutItemLabel(self.layout)
credit_text2.setText(info_text) credit_text2.setText(info_text)
credit_text2.setFont(QFont("Calibri", 9)) credit_text2.setFont(QFont("Calibri", 9))
credit_text2.setHAlign(Qt.AlignRight) credit_text2.setHAlign(Qt.AlignRight)
credit_text2.setVAlign(Qt.AlignVCenter) credit_text2.setVAlign(Qt.AlignVCenter)
credit_text.setItemRotation(self.template_parameters['Credit_rotate']) credit_text.attemptMove(self.template_parameters['credit_text_position'])
credit_text.attemptResize(self.template_parameters['Credit_size']) credit_text.attemptResize(self.template_parameters['credit_text_size'])
credit_text.attemptMove(self.template_parameters['Credit_locals']) credit_text2.attemptMove(self.template_parameters['credit_text2_position'])
credit_text2.setItemRotation(self.template_parameters['Source_rotate']) credit_text2.attemptResize(self.template_parameters['credit_text2_size'])
credit_text2.attemptResize(self.template_parameters['Source_size'])
credit_text2.attemptMove(self.template_parameters['Source_locals'])
self.layout.addLayoutItem(credit_text) self.layout.addLayoutItem(credit_text)
self.layout.addLayoutItem(credit_text2) self.layout.addLayoutItem(credit_text2)
## Ajout du logo credit en bas à droit de la page ## Ajout du logo credit en bas à droit de la page
len_item = (len(self.mComboBox_4.checkedItems()))
for logo_run in self.mComboBox_4.checkedItems(): for logo_run in self.mComboBox_4.checkedItems():
logo_credit = QgsLayoutItemPicture(self.layout) logo_credit = QgsLayoutItemPicture(self.layout)
logo_credit.setResizeMode(QgsLayoutItemPicture.Zoom) logo_credit.setResizeMode(QgsLayoutItemPicture.Zoom)
logo_credit.setMode(QgsLayoutItemPicture.FormatRaster) logo_credit.setMode(QgsLayoutItemPicture.FormatRaster)
cur_x = self.template_parameters['Logo_2_locals'].x() cur_x = self.template_parameters['logo_credit_position'].x()
logo_credit.attemptMove(self.template_parameters['Logo_2_locals']) logo_credit.attemptMove(self.template_parameters['logo_credit_position'])
logo_credit.setPictureAnchor(4) logo_credit.setPictureAnchor(4)
self.template_parameters['Logo_2_locals'].setX(cur_x+(logo_div/len_item)) self.template_parameters['logo_credit_position'].setX(cur_x+51)
logo_credit.setFixedSize(self.template_parameters['Logo_2_size']) logo_credit.setFixedSize(self.template_parameters['logo_credit_size'])
if logo_run[0] == ' ': if logo_run[0] == ' ':
logo_credit.setPicturePath(self.s.value("automap/logoteck", 1, type=str)+logo_run[1:]) logo_credit.setPicturePath(self.s.value("automap/logoteck", 1, type=str)+logo_run[1:])
else: else:
@@ -739,6 +741,10 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
self.close() self.close()
def actualisation_mise_en_page(self): def actualisation_mise_en_page(self):
A4_size = {'Portrait':{'RIGHT':210,'LEFT':0,'TOP':0,'BOTTOM':297},'Landscape':{'RIGHT':297,'LEFT':0,'TOP':0,'BOTTOM':210}}
A3_size = {'Portrait':{'RIGHT':298,'LEFT':0,'TOP':0,'BOTTOM':420},'Landscape':{'RIGHT':420,'LEFT':0,'TOP':0,'BOTTOM':298}}
values_page = self.comboBox.currentText() values_page = self.comboBox.currentText()
if self.radioButton_6.isChecked() and self.radioButton_7.isChecked(): if self.radioButton_6.isChecked() and self.radioButton_7.isChecked():
@@ -757,24 +763,18 @@ class AutoMap_Editor(QDialog, EDITOR_CLASS):
pc = self.layout.pageCollection() pc = self.layout.pageCollection()
pc.pages()[0].setPageSize('A3', QgsLayoutItemPage.Landscape) pc.pages()[0].setPageSize('A3', QgsLayoutItemPage.Landscape)
if values_page == "demo.py": self.template_parameters = fletch_canvas(self,values_page)
self.template_parameters = demo.fletch_canvas(self)
if values_page == "carto_standard.py":
self.template_parameters = carto_standard.fletch_canvas(self)
if values_page == "full_page.py":
self.template_parameters = full_page.fletch_canvas(self)
def bar_echelle_auto(self, echelle, bar_echelle): def bar_echelle_auto(self, echelle, bar_echelle):
if True: if True:
if echelle.scale() >= 40000: if echelle.scale() >= 20000:
bar_echelle.setUnits(QgsUnitTypes.DistanceKilometers) bar_echelle.setUnits(QgsUnitTypes.DistanceKilometers)
bar_echelle.setUnitLabel("km") bar_echelle.setUnitLabel("km")
bar_echelle.setUnitsPerSegment(round((echelle.scale()*0.04)/1000)) bar_echelle.setUnitsPerSegment(round((echelle.scale()*0.02)/1000))
else: else:
bar_echelle.setUnits(QgsUnitTypes.DistanceMeters) bar_echelle.setUnits(QgsUnitTypes.DistanceMeters)
bar_echelle.setUnitLabel("m") bar_echelle.setUnitLabel("m")
bar_echelle.setUnitsPerSegment(round(echelle.scale()*0.04)) bar_echelle.setUnitsPerSegment(round(echelle.scale()*0.02))
bar_echelle.update() bar_echelle.update()

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

@@ -39,9 +39,9 @@ from .tools.resources import (
send_issues, send_issues,
) )
EDITOR_CLASS = load_ui('CenRa_IssuesSend.ui') EDITOR_CLASS = load_ui('CenIsere_IssuesSend.ui')
class CenRa_Issues(QDialog, EDITOR_CLASS): class CenIsere_Issues(QDialog, EDITOR_CLASS):
def __init__(self, parent=None): def __init__(self, parent=None):
_ = parent _ = parent
+48
View File
@@ -0,0 +1,48 @@
# This file contains metadata for your plugin.
# This file should be included when you package your plugin.# Mandatory items:
[general]
name=CenIsere_AutoMap
qgisMinimumVersion=3.0
description=CenIsere_AutoMap
version=1.6
author=Conservatoire d'Espaces Naturels Isère
about=Outils de création de mise en page prédéfinis pour simplifier et organiser cette étape.
repository=https://gitea.cenra-outils.org/CEN38/Plugin_QGIS
#homepage=https://plateformesig.cenra-outils.org/
tracker=https://gitea.cenra-outils.org/api/v1/repos/CEN38/Plugin_QGIS/issues
# End of mandatory metadata
# Recommended items:
hasProcessingProvider=no
# Uncomment the following line and add your changelog:
changelog=<h2>CenIsere_AutoMap:</h2></br><p><h3>07/10/2024 - Version 1.6: </h3> - Option de bibliotheque de logo custome.</p></br><p><h3>03/10/2024 - Version 1.5: </h3> - Remonte la fênetre dans la pille.</br> - Gestion du nombre de colonne dans la légend.</br></p></br><p><h3>02/10/2024 - Version 1.4: </h3> - Mise en page plein écrant.</br></p></br><p><h3>01/10/2024 - Version 1.3: </h3> - Récupération du titre et sous-titre pour mise en page existente.</br> - Integration de bibliotheque de logo.</br> - Integration de gestionaire pour les source de donnée.</br> - Mise en place d'une bar d'echelle adaptative. </br></p></br><p><h3>30/09/2024 - Version 1.2: </h3> - Activation du thème. </br> - Ajouter une carte de suivie. </br><p></br><h3>27/09/2024 - Version 1.1: </h3> - Ajout d'une liste déroulante pour les sources de données. </br>- Bouton pour ajouter des fonts de carte customisés. </br>- Fonctionnalité de génération d'atlas. </p></br><p><h3>26/09/2024 - Version 1.0: </h3> - Lancement du plugin CenIsere_AutoMap avec une seul mise en page. </p></br>
# Tags are comma separated with spaces allowed
tags=python
category=Plugins
icon=icon.png
# experimental flag
experimental=False
# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False
# Since QGIS 3.8, a comma separated list of plugins to be installed
# (or upgraded) can be specified.
# Check the documentation for more information.
# plugin_dependencies=
Category of the plugin: Raster, Vector, Database or Web
# category=CenIsere,mise en page,atlas
# If the plugin can run on QGIS Server.
server=False
@@ -9,21 +9,21 @@ if IPAddr[0:11] == "100.100.100": #4269
dbname = "sig4269" dbname = "sig4269"
sigdb="sig4269" sigdb="sig4269"
refdb="ref_geo4269" refdb="ref_geo4269"
password = "McVities" password = "xxxxx"
if IPAddr[0:9] == "192.168.0": #01 if IPAddr[0:9] == "192.168.0": #01
host = "192.168.0.201" host = "192.168.0.201"
port = "5432" port = "5432"
dbname = "sig01" dbname = "sig01"
sigdb="sig01" sigdb="sig01"
refdb="ref_geo01" refdb="ref_geo01"
password = "McVities" password = "xxxxx"
if IPAddr[0:9] == "192.168.1": #0726 if IPAddr[0:9] == "192.168.1": #0726
host = "192.168.1.201" host = "192.168.1.201"
port = "5432" port = "5432"
dbname = "sig0726" dbname = "sig0726"
sigdb="sig0726" sigdb="sig0726"
refdb="ref_geo0726" refdb="ref_geo0726"
password = "McVities" password = "xxxxx"
if sys.platform == 'linux': if sys.platform == 'linux':
os_user = os.environ['USER'] os_user = os.environ['USER']
else: else:

Before

Width:  |  Height:  |  Size: 750 KiB

After

Width:  |  Height:  |  Size: 750 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 154 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 163 KiB

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Before

Width:  |  Height:  |  Size: 286 KiB

After

Width:  |  Height:  |  Size: 286 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

Before

Width:  |  Height:  |  Size: 87 KiB

After

Width:  |  Height:  |  Size: 87 KiB

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 165 KiB

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 125 KiB

Before

Width:  |  Height:  |  Size: 170 KiB

After

Width:  |  Height:  |  Size: 170 KiB

Before

Width:  |  Height:  |  Size: 86 KiB

After

Width:  |  Height:  |  Size: 86 KiB

Before

Width:  |  Height:  |  Size: 44 KiB

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

@@ -0,0 +1,120 @@
<Layout worldFileMap="" name="test.qpt" printResolution="300" units="mm">
<Snapper snapToGrid="0" snapToItems="1" tolerance="5" snapToGuides="1"/>
<Grid resolution="10" offsetUnits="mm" offsetX="0" resUnits="mm" offsetY="0"/>
<PageCollection>
<symbol name="" clip_to_extent="1" type="fill" force_rhr="0" alpha="1">
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
<layer class="SimpleFill" locked="0" enabled="1" pass="0">
<Option type="Map">
<Option name="border_width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="color" value="255,255,255,255" type="QString"/>
<Option name="joinstyle" value="miter" type="QString"/>
<Option name="offset" value="0,0" type="QString"/>
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="offset_unit" value="MM" type="QString"/>
<Option name="outline_color" value="35,35,35,255" type="QString"/>
<Option name="outline_style" value="no" type="QString"/>
<Option name="outline_width" value="0.26" type="QString"/>
<Option name="outline_width_unit" value="MM" type="QString"/>
<Option name="style" value="solid" type="QString"/>
</Option>
<prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="color" v="255,255,255,255"/>
<prop k="joinstyle" v="miter"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="35,35,35,255"/>
<prop k="outline_style" v="no"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
<LayoutItem zValue="0" id="" itemRotation="0" position="0,0,mm" frame="false" templateUuid="{5c80221d-7561-455b-94fd-69a27d877679}" referencePoint="0" opacity="1" frameJoinStyle="miter" uuid="{5c80221d-7561-455b-94fd-69a27d877679}" blendMode="0" size="297,210,mm" groupUuid="" outlineWidthM="0.3,mm" positionOnPage="0,0,mm" type="65638" excludeFromExports="0" positionLock="false" background="true" visibility="1">
<FrameColor green="0" blue="0" red="0" alpha="255"/>
<BackgroundColor green="255" blue="255" red="255" alpha="255"/>
<LayoutObject>
<dataDefinedProperties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</dataDefinedProperties>
<customproperties>
<Option/>
</customproperties>
</LayoutObject>
<symbol name="" clip_to_extent="1" type="fill" force_rhr="0" alpha="1">
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
<layer class="SimpleFill" locked="0" enabled="1" pass="0">
<Option type="Map">
<Option name="border_width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="color" value="255,255,255,255" type="QString"/>
<Option name="joinstyle" value="miter" type="QString"/>
<Option name="offset" value="0,0" type="QString"/>
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="offset_unit" value="MM" type="QString"/>
<Option name="outline_color" value="35,35,35,255" type="QString"/>
<Option name="outline_style" value="no" type="QString"/>
<Option name="outline_width" value="0.26" type="QString"/>
<Option name="outline_width_unit" value="MM" type="QString"/>
<Option name="style" value="solid" type="QString"/>
</Option>
<prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="color" v="255,255,255,255"/>
<prop k="joinstyle" v="miter"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="35,35,35,255"/>
<prop k="outline_style" v="no"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</LayoutItem>
<GuideCollection visible="1"/>
</PageCollection>
<customproperties>
<Option type="Map">
<Option name="atlasRasterFormat" value="png" type="QString"/>
<Option name="imageAntialias" value="true" type="bool"/>
<Option name="imageCropMarginBottom" value="0" type="int"/>
<Option name="imageCropMarginLeft" value="0" type="int"/>
<Option name="imageCropMarginRight" value="0" type="int"/>
<Option name="imageCropMarginTop" value="0" type="int"/>
<Option name="imageCropToContents" value="false" type="bool"/>
<Option name="singleFile" value="true" type="bool"/>
</Option>
</customproperties>
<Atlas coverageLayer="" pageNameExpression="" filterFeatures="0" filenamePattern="'output_'||@atlas_featurenumber" enabled="0" hideCoverage="0" sortFeatures="0"/>
</Layout>
@@ -0,0 +1,114 @@
<Layout units="mm" worldFileMap="" printResolution="300" name="3. Modèle_carto_standard_cenIsere">
<Snapper snapToGuides="1" tolerance="5" snapToItems="1" snapToGrid="0"/>
<Grid offsetUnits="mm" resUnits="mm" resolution="10" offsetX="0" offsetY="0"/>
<PageCollection>
<symbol clip_to_extent="1" force_rhr="0" type="fill" name="" alpha="1">
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option name="properties"/>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
<layer locked="0" pass="0" enabled="1" class="SimpleFill">
<Option type="Map">
<Option value="3x:0,0,0,0,0,0" type="QString" name="border_width_map_unit_scale"/>
<Option value="255,255,255,255" type="QString" name="color"/>
<Option value="miter" type="QString" name="joinstyle"/>
<Option value="0,0" type="QString" name="offset"/>
<Option value="3x:0,0,0,0,0,0" type="QString" name="offset_map_unit_scale"/>
<Option value="MM" type="QString" name="offset_unit"/>
<Option value="35,35,35,255" type="QString" name="outline_color"/>
<Option value="no" type="QString" name="outline_style"/>
<Option value="0.26" type="QString" name="outline_width"/>
<Option value="MM" type="QString" name="outline_width_unit"/>
<Option value="solid" type="QString" name="style"/>
</Option>
<prop v="3x:0,0,0,0,0,0" k="border_width_map_unit_scale"/>
<prop v="255,255,255,255" k="color"/>
<prop v="miter" k="joinstyle"/>
<prop v="0,0" k="offset"/>
<prop v="3x:0,0,0,0,0,0" k="offset_map_unit_scale"/>
<prop v="MM" k="offset_unit"/>
<prop v="35,35,35,255" k="outline_color"/>
<prop v="no" k="outline_style"/>
<prop v="0.26" k="outline_width"/>
<prop v="MM" k="outline_width_unit"/>
<prop v="solid" k="style"/>
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option name="properties"/>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
<LayoutItem type="65638" zValue="0" blendMode="0" referencePoint="0" frameJoinStyle="miter" outlineWidthM="0.3,mm" frame="false" groupUuid="" itemRotation="0" excludeFromExports="0" background="true" opacity="1" visibility="1" size="297,210,mm" positionOnPage="0,0,mm" id="" templateUuid="{2b090846-ab96-44d2-b168-90e1bcb35427}" uuid="{2b090846-ab96-44d2-b168-90e1bcb35427}" position="0,0,mm" positionLock="false">
<FrameColor red="0" blue="0" green="0" alpha="255"/>
<BackgroundColor red="255" blue="255" green="255" alpha="255"/>
<LayoutObject>
<dataDefinedProperties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option name="properties"/>
<Option value="collection" type="QString" name="type"/>
</Option>
</dataDefinedProperties>
<customproperties>
<Option/>
</customproperties>
</LayoutObject>
<symbol clip_to_extent="1" force_rhr="0" type="fill" name="" alpha="1">
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option name="properties"/>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
<layer locked="0" pass="0" enabled="1" class="SimpleFill">
<Option type="Map">
<Option value="3x:0,0,0,0,0,0" type="QString" name="border_width_map_unit_scale"/>
<Option value="255,255,255,255" type="QString" name="color"/>
<Option value="miter" type="QString" name="joinstyle"/>
<Option value="0,0" type="QString" name="offset"/>
<Option value="3x:0,0,0,0,0,0" type="QString" name="offset_map_unit_scale"/>
<Option value="MM" type="QString" name="offset_unit"/>
<Option value="35,35,35,255" type="QString" name="outline_color"/>
<Option value="no" type="QString" name="outline_style"/>
<Option value="0.26" type="QString" name="outline_width"/>
<Option value="MM" type="QString" name="outline_width_unit"/>
<Option value="solid" type="QString" name="style"/>
</Option>
<prop v="3x:0,0,0,0,0,0" k="border_width_map_unit_scale"/>
<prop v="255,255,255,255" k="color"/>
<prop v="miter" k="joinstyle"/>
<prop v="0,0" k="offset"/>
<prop v="3x:0,0,0,0,0,0" k="offset_map_unit_scale"/>
<prop v="MM" k="offset_unit"/>
<prop v="35,35,35,255" k="outline_color"/>
<prop v="no" k="outline_style"/>
<prop v="0.26" k="outline_width"/>
<prop v="MM" k="outline_width_unit"/>
<prop v="solid" k="style"/>
<data_defined_properties>
<Option type="Map">
<Option value="" type="QString" name="name"/>
<Option name="properties"/>
<Option value="collection" type="QString" name="type"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</LayoutItem>
<GuideCollection visible="1"/>
</PageCollection>
<customproperties>
<Option type="Map">
<Option value="png" type="QString" name="atlasRasterFormat"/>
<Option value="true" type="bool" name="singleFile"/>
</Option>
</customproperties>
<Atlas filterFeatures="0" pageNameExpression="" filenamePattern="'output_'||@atlas_featurenumber" hideCoverage="0" enabled="0" sortFeatures="0" coverageLayer=""/>
</Layout>

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

@@ -0,0 +1,492 @@
from qgis.core import (
QgsLayoutSize,
QgsUnitTypes,
QgsLayoutPoint,
)
def fletch_canvas(self,values_page):
### Modèle carto standard ###
if values_page == '1. Modèle carto standard.qpt':
if self.radioButton_6.isChecked() and self.radioButton_7.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(50, 50, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(2.5, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(199, 175+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(5, 25, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(200, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(200, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 12, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 275, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 205+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(55, 5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(145, 228+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(145, 215+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(12, 12, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(193, 214+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(200, 75, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(104, 201+47, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_6.isChecked() and self.radioButton_8.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(100, 100, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(285, 145, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 185, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 168, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(207, 193, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(207, 180, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(8.4, 12.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(273, 182, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(287, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(189, 168.5, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_5.isChecked() and self.radioButton_7.isChecked():
self.template_parameters['map_size'] = QgsLayoutSize(285, 260, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 395, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 284, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(50, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(207, 310, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(50, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(207, 298, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(8.4, 12.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(273, 297, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(287, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(189, 284, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_5.isChecked() and self.radioButton_8.isChecked():
self.template_parameters['map_size'] = QgsLayoutSize(408.5, 222, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(5, 23.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(409, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(409, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 275, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 249, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(323, 282, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(323, 270, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(8.4, 12.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(402, 270, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(415, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(313, 247, QgsUnitTypes.LayoutMillimeters)
### Modèle carto plein page ###
if values_page == '2. Modèle carto plein page.qpt':
if self.radioButton_6.isChecked() and self.radioButton_7.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(50, 50, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(2.5, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(210, 297, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(0, 0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(200, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(200, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(48, 17, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 275, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(133, 215, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(64, 7, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(3, 288, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(65, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(3, 273, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(12, 12, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(196, 283, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(200, 75, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(55, 292, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_6.isChecked() and self.radioButton_8.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(100, 100, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(297, 210, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(0, 0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(48, 17, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 185, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(231, 135, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(64, 7, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(3, 201, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(65, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(3, 186, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(12, 12, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(283, 196, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(287, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(98, 205, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_5.isChecked() and self.radioButton_7.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(50, 50, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(2.5, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(297, 420, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(0, 0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(48, 17, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 370, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(219, 324, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(64, 7, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(3, 410, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(65, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(3, 395, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(24, 24, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(271, 394, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(287125, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(98, 414, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_5.isChecked() and self.radioButton_8.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(100, 100, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(420, 297, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(0, 0, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(411, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(411, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(48, 17, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 247, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(341, 196, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(64, 7, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(3, 287, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(65, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(3, 272, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(24, 24, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(394, 271, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(414, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(185, 292, QgsUnitTypes.LayoutMillimeters)
### Modèle carto standard CEN ISERE###
if values_page == '3. Modèle carto standard Cen Isere.qpt':
if self.radioButton_6.isChecked() and self.radioButton_7.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(50, 50, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(2.5, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(199, 175+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(5, 25, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(200, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(200, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 12, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 275, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 205+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(55, 5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(145, 228+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(145, 215+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(12, 12, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(193, 214+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(200, 79, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(104, 201+47, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size'] = QgsLayoutSize(199, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position'] = QgsLayoutPoint(5, 18, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size_2'] = QgsLayoutSize(200, 12, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position_2'] = QgsLayoutPoint(4.5, 194.9+47, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_6.isChecked() and self.radioButton_8.isChecked():
self.template_parameters['position_map_size'] = QgsLayoutSize(100, 100, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['position_map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_size'] = QgsLayoutSize(285, 145, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 185, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 168, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(207, 193, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(207, 180, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(8.4, 12.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(273, 182, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(287, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(189, 168.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size'] = QgsLayoutSize(285, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position'] = QgsLayoutPoint(6, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size_2'] = QgsLayoutSize(286, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position_2'] = QgsLayoutPoint(5.5, 162.2, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_5.isChecked() and self.radioButton_7.isChecked():
self.template_parameters['map_size'] = QgsLayoutSize(285, 260, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(6, 23, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(286, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 395, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 284, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(50, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(207, 310, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(50, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(207, 298, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(8.4, 12.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(273, 297, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(287, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(189, 284, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size'] = QgsLayoutSize(285, 30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position'] = QgsLayoutPoint(6, 13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size_2'] = QgsLayoutSize(286, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position_2'] = QgsLayoutPoint(5.5, 278.2, QgsUnitTypes.LayoutMillimeters)
if self.radioButton_5.isChecked() and self.radioButton_8.isChecked():
self.template_parameters['map_size'] = QgsLayoutSize(408.5, 222, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['map_position'] = QgsLayoutPoint(5, 23.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_size'] = QgsLayoutSize(409, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['title_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_size'] = QgsLayoutSize(409, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['subtitle_position'] = QgsLayoutPoint(5, 10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_size'] = QgsLayoutSize(46, 16, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_position'] = QgsLayoutPoint(5, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_size'] = QgsLayoutSize(50, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['logo_credit_position'] = QgsLayoutPoint(5, 275, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_size'] = QgsLayoutSize(405, 203, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['legend_position'] = QgsLayoutPoint(5, 249, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebarnumeric_position'] = QgsLayoutPoint(323, 282, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_size'] = QgsLayoutSize(55, 15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['scalebar_position'] = QgsLayoutPoint(323, 270, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_size'] = QgsLayoutSize(8.4, 12.5, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['north_position'] = QgsLayoutPoint(402, 270, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_size'] = QgsLayoutSize(50, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text_position'] = QgsLayoutPoint(415, 123, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_size'] = QgsLayoutSize(100, 3.9, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['credit_text2_position'] = QgsLayoutPoint(313, 247, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size'] = QgsLayoutSize(408.5, 38, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position'] = QgsLayoutPoint(5, 8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_size_2'] = QgsLayoutSize(409.3, 22, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['image_position_2'] = QgsLayoutPoint(4.6, 237.15, QgsUnitTypes.LayoutMillimeters)
# Retour des info #
return self.template_parameters
@@ -0,0 +1,167 @@
from qgis.core import (
QgsLayoutSize,
QgsUnitTypes,
QgsLayoutPoint,
)
def fletch_canvas(self):
if self.radioButton_6.isChecked():
values_page = 'A4'
else:
values_page = 'A3'
if self.radioButton_7.isChecked():
page_rotate = 'Portrait'
else:
page_rotate = 'Landscape'
if page_rotate == 'Portrait':
if values_page == 'A4':
self.template_parameters['Carte_size'] = QgsLayoutSize(168.0,262, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(41, 1, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_2_size'] = QgsLayoutSize(78.85714285714286,70, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(130, 1, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Legande_size'] = QgsLayoutSize(168.0,32, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(41, 264, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.285714285714286,14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(13, 254, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Echelle_size'] = QgsLayoutSize(38.857142857142854,7, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(1, 289, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(34.857142857142854,10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(3, 139, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(38.857142857142854,11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(1, 3, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(74.85714285714286,6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(43, 3, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Source_size'] = QgsLayoutSize(104.0,6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(104, 256, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(38.857142857142854,14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(1, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(38.857142857142854,13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(1, 276, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(30.0,30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(41, 233, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if values_page == 'A3':
self.template_parameters['Carte_size'] = QgsLayoutSize(237,369, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(58, 2, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_2_size'] = QgsLayoutSize(111,99, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(183, 2, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Legande_size'] = QgsLayoutSize(237,45, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(58, 372, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Arrow_size'] = QgsLayoutSize(20,20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(19, 358, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Echelle_size'] = QgsLayoutSize(55,10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(2, 408, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(49,14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(4, 196, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(55,15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(106,8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(60, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Source_size'] = QgsLayoutSize(147,8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(147, 361, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(55,20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(2, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(55,19, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(2, 389, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(42,42, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(58, 329, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if page_rotate == 'Landscape':
if values_page == 'A4':
self.template_parameters['Carte_size'] = QgsLayoutSize(254.85714285714286,175, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(41, 1, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_2_size'] = QgsLayoutSize(78.85714285714286,70, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(217, 1, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Legande_size'] = QgsLayoutSize(254.85714285714286,32, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(41, 177, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Arrow_size'] = QgsLayoutSize(14.285714285714286,14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(13, 168, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Echelle_size'] = QgsLayoutSize(38.857142857142854,7, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(1, 202, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(34.857142857142854,10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(3, 94, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(38.857142857142854,11, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(1, 3, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(74.85714285714286,6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(43, 3, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Source_size'] = QgsLayoutSize(104.0,6, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(190, 169, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(38.857142857142854,14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(1, 14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(38.857142857142854,13, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(1, 189, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(30.0,30, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(41, 146, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
if values_page == 'A3':
self.template_parameters['Carte_size'] = QgsLayoutSize(359,247, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_locals'] = QgsLayoutPoint(58, 2, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_rotate'] = 0
self.template_parameters['Carte_2_size'] = QgsLayoutSize(111,99, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_locals'] = QgsLayoutPoint(306, 2, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Carte_2_rotate'] = 0
self.template_parameters['Legande_size'] = QgsLayoutSize(359,45, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_locals'] = QgsLayoutPoint(58, 250, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Legande_rotate'] = 0
self.template_parameters['Arrow_size'] = QgsLayoutSize(20,20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_locals'] = QgsLayoutPoint(19, 237, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Arrow_rotate'] = 0
self.template_parameters['Echelle_size'] = QgsLayoutSize(55,10, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_locals'] = QgsLayoutPoint(2, 285, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_rotate'] = 0
self.template_parameters['Logo_size'] = QgsLayoutSize(49,14, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_locals'] = QgsLayoutPoint(4, 133, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_rotate'] = 0
self.template_parameters['Titre_size'] = QgsLayoutSize(55,15, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_locals'] = QgsLayoutPoint(2, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Titre_rotate'] = 0
self.template_parameters['Credit_size'] = QgsLayoutSize(106,8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_locals'] = QgsLayoutPoint(60, 4, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Credit_rotate'] = 0
self.template_parameters['Source_size'] = QgsLayoutSize(147,8, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_locals'] = QgsLayoutPoint(268, 238, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Source_rotate'] = 0
self.template_parameters['Sous_titre_size'] = QgsLayoutSize(55,20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_locals'] = QgsLayoutPoint(2, 20, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Sous_titre_rotate'] = 0
self.template_parameters['Echelle_2_size'] = QgsLayoutSize(55,19, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_locals'] = QgsLayoutPoint(2, 267, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Echelle_2_rotate'] = 0
self.template_parameters['Logo_2_size'] = QgsLayoutSize(42,42, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_locals'] = QgsLayoutPoint(58, 206, QgsUnitTypes.LayoutMillimeters)
self.template_parameters['Logo_2_rotate'] = 0
return self.template_parameters
@@ -0,0 +1,120 @@
<Layout worldFileMap="" name="test.qpt" printResolution="300" units="mm">
<Snapper snapToGrid="0" snapToItems="1" tolerance="5" snapToGuides="1"/>
<Grid resolution="10" offsetUnits="mm" offsetX="0" resUnits="mm" offsetY="0"/>
<PageCollection>
<symbol name="" clip_to_extent="1" type="fill" force_rhr="0" alpha="1">
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
<layer class="SimpleFill" locked="0" enabled="1" pass="0">
<Option type="Map">
<Option name="border_width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="color" value="255,255,255,255" type="QString"/>
<Option name="joinstyle" value="miter" type="QString"/>
<Option name="offset" value="0,0" type="QString"/>
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="offset_unit" value="MM" type="QString"/>
<Option name="outline_color" value="35,35,35,255" type="QString"/>
<Option name="outline_style" value="no" type="QString"/>
<Option name="outline_width" value="0.26" type="QString"/>
<Option name="outline_width_unit" value="MM" type="QString"/>
<Option name="style" value="solid" type="QString"/>
</Option>
<prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="color" v="255,255,255,255"/>
<prop k="joinstyle" v="miter"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="35,35,35,255"/>
<prop k="outline_style" v="no"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
<LayoutItem zValue="0" id="" itemRotation="0" position="0,0,mm" frame="false" templateUuid="{5c80221d-7561-455b-94fd-69a27d877679}" referencePoint="0" opacity="1" frameJoinStyle="miter" uuid="{5c80221d-7561-455b-94fd-69a27d877679}" blendMode="0" size="297,210,mm" groupUuid="" outlineWidthM="0.3,mm" positionOnPage="0,0,mm" type="65638" excludeFromExports="0" positionLock="false" background="true" visibility="1">
<FrameColor green="0" blue="0" red="0" alpha="255"/>
<BackgroundColor green="255" blue="255" red="255" alpha="255"/>
<LayoutObject>
<dataDefinedProperties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</dataDefinedProperties>
<customproperties>
<Option/>
</customproperties>
</LayoutObject>
<symbol name="" clip_to_extent="1" type="fill" force_rhr="0" alpha="1">
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
<layer class="SimpleFill" locked="0" enabled="1" pass="0">
<Option type="Map">
<Option name="border_width_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="color" value="255,255,255,255" type="QString"/>
<Option name="joinstyle" value="miter" type="QString"/>
<Option name="offset" value="0,0" type="QString"/>
<Option name="offset_map_unit_scale" value="3x:0,0,0,0,0,0" type="QString"/>
<Option name="offset_unit" value="MM" type="QString"/>
<Option name="outline_color" value="35,35,35,255" type="QString"/>
<Option name="outline_style" value="no" type="QString"/>
<Option name="outline_width" value="0.26" type="QString"/>
<Option name="outline_width_unit" value="MM" type="QString"/>
<Option name="style" value="solid" type="QString"/>
</Option>
<prop k="border_width_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="color" v="255,255,255,255"/>
<prop k="joinstyle" v="miter"/>
<prop k="offset" v="0,0"/>
<prop k="offset_map_unit_scale" v="3x:0,0,0,0,0,0"/>
<prop k="offset_unit" v="MM"/>
<prop k="outline_color" v="35,35,35,255"/>
<prop k="outline_style" v="no"/>
<prop k="outline_width" v="0.26"/>
<prop k="outline_width_unit" v="MM"/>
<prop k="style" v="solid"/>
<data_defined_properties>
<Option type="Map">
<Option name="name" value="" type="QString"/>
<Option name="properties"/>
<Option name="type" value="collection" type="QString"/>
</Option>
</data_defined_properties>
</layer>
</symbol>
</LayoutItem>
<GuideCollection visible="1"/>
</PageCollection>
<customproperties>
<Option type="Map">
<Option name="atlasRasterFormat" value="png" type="QString"/>
<Option name="imageAntialias" value="true" type="bool"/>
<Option name="imageCropMarginBottom" value="0" type="int"/>
<Option name="imageCropMarginLeft" value="0" type="int"/>
<Option name="imageCropMarginRight" value="0" type="int"/>
<Option name="imageCropMarginTop" value="0" type="int"/>
<Option name="imageCropToContents" value="false" type="bool"/>
<Option name="singleFile" value="true" type="bool"/>
</Option>
</customproperties>
<Atlas coverageLayer="" pageNameExpression="" filterFeatures="0" filenamePattern="'output_'||@atlas_featurenumber" enabled="0" hideCoverage="0" sortFeatures="0"/>
</Layout>
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

@@ -89,7 +89,7 @@ def resources_path(*args):
:return: Absolute path to the resources folder. :return: Absolute path to the resources folder.
:rtype: str :rtype: str
""" """
path = abspath(abspath(join(plugin_path(), "CenRa_AUTOMAP\\tools"))) path = abspath(abspath(join(plugin_path(), "CenIsere_AUTOMAP/tools")))
for item in args: for item in args:
path = abspath(join(path, item)) path = abspath(join(path, item))
return path return path
@@ -107,25 +107,25 @@ def load_ui(*args):
return ui_class return ui_class
def login_base(take=None): # def login_base(take=None):
from CenRa_METABASE.tools.PythonSQL import host,port,dbname,password,os_user # from CenRa_METABASE.tools.PythonSQL import host,port,dbname,password,os_user
first_conn = psycopg2.connect("host=" + host + " port=" + port + " dbname="+dbname+" user=first_cnx password=" + password) # first_conn = psycopg2.connect("host=" + host + " port=" + port + " dbname="+dbname+" user=first_cnx password=" + password)
first_cur = first_conn.cursor(cursor_factory = psycopg2.extras.DictCursor) # first_cur = first_conn.cursor(cursor_factory = psycopg2.extras.DictCursor)
first_cur.execute("SELECT mdp_w, login_w FROM pg_catalog.pg_user t1, admin_sig.vm_users_sig t2 WHERE t2.oid = t1.usesysid AND (login_w = '" + os_user + "' OR login_w = '" + os_user + "')") # first_cur.execute("SELECT mdp_w, login_w FROM pg_catalog.pg_user t1, admin_sig.vm_users_sig t2 WHERE t2.oid = t1.usesysid AND (login_w = '" + os_user + "' OR login_w = '" + os_user + "')")
res_ident = first_cur.fetchone() # res_ident = first_cur.fetchone()
mdp = base64.b64decode(str(res_ident[0])).decode('utf-8') # mdp = base64.b64decode(str(res_ident[0])).decode('utf-8')
user = res_ident[1] # user = res_ident[1]
con = psycopg2.connect("host=" + host + " port=" + port + " dbname="+dbname+" user=" + user + " password=" + mdp) # con = psycopg2.connect("host=" + host + " port=" + port + " dbname="+dbname+" user=" + user + " password=" + mdp)
cur = con.cursor(cursor_factory = psycopg2.extras.DictCursor) # cur = con.cursor(cursor_factory = psycopg2.extras.DictCursor)
first_conn.close() # first_conn.close()
if take: # if take:
return cur,con # return cur,con
else: # else:
return cur # return cur
def send_issues(url,titre,body,labels): def send_issues(url,titre,body,labels):
import requests import requests
import json import json
@@ -158,7 +158,7 @@ def maj_verif(NAME):
url = qgis.utils.pluginMetadata(NAME,'repository') url = qgis.utils.pluginMetadata(NAME,'repository')
#URL = url+'/raw/branch/main/plugins.xml' #URL = url+'/raw/branch/main/plugins.xml'
URL = 'https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/releases/plugins.xml' URL = 'https://gitea.cenra-outils.org/CEN38/Plugin_QGIS/releases/download/latest/plugins.xml'
# print(URL) # print(URL)
version = qgis.utils.pluginMetadata(NAME,'version') version = qgis.utils.pluginMetadata(NAME,'version')
len_version = len(version) len_version = len(version)
@@ -184,4 +184,4 @@ def devlog(NAME):
import qgis import qgis
devmaj = '<head><style>* {margin:0; padding:0; }</style></head>' devmaj = '<head><style>* {margin:0; padding:0; }</style></head>'
devmaj = devmaj+qgis.utils.pluginMetadata(NAME,'changelog') devmaj = devmaj+qgis.utils.pluginMetadata(NAME,'changelog')
return devmaj return devmaj
@@ -130,7 +130,7 @@
<string notr="true">color: rgb(11, 11, 11);</string> <string notr="true">color: rgb(11, 11, 11);</string>
</property> </property>
<property name="text"> <property name="text">
<string>Sélectionner un template de mise en page :</string> <string>Modèles de mise en page :</string>
</property> </property>
</widget> </widget>
<widget class="QComboBox" name="comboBox"> <widget class="QComboBox" name="comboBox">
@@ -163,9 +163,9 @@
</property> </property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>90</x> <x>40</x>
<y>200</y> <y>200</y>
<width>211</width> <width>311</width>
<height>21</height> <height>21</height>
</rect> </rect>
</property> </property>
@@ -211,9 +211,9 @@
</property> </property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>90</x> <x>40</x>
<y>290</y> <y>290</y>
<width>211</width> <width>311</width>
<height>21</height> <height>21</height>
</rect> </rect>
</property> </property>
@@ -257,7 +257,7 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>30</x> <x>30</x>
<y>350</y> <y>330</y>
<width>311</width> <width>311</width>
<height>41</height> <height>41</height>
</rect> </rect>
@@ -282,9 +282,9 @@
</property> </property>
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>90</x> <x>40</x>
<y>380</y> <y>360</y>
<width>211</width> <width>311</width>
<height>21</height> <height>21</height>
</rect> </rect>
</property> </property>
@@ -305,14 +305,14 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>40</x> <x>40</x>
<y>470</y> <y>450</y>
<width>290</width> <width>250</width>
<height>20</height> <height>20</height>
</rect> </rect>
</property> </property>
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
<width>290</width> <width>260</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
@@ -342,8 +342,8 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>30</x> <x>30</x>
<y>440</y> <y>420</y>
<width>311</width> <width>290</width>
<height>41</height> <height>41</height>
</rect> </rect>
</property> </property>
@@ -358,7 +358,7 @@
<string notr="true">color: rgb(11, 11, 11);</string> <string notr="true">color: rgb(11, 11, 11);</string>
</property> </property>
<property name="text"> <property name="text">
<string>Eléments à intégrer à la légende :</string> <string>Éléments à intégrer à la légende :</string>
</property> </property>
</widget> </widget>
<widget class="QWidget" name="horizontalLayoutWidget"> <widget class="QWidget" name="horizontalLayoutWidget">
@@ -375,7 +375,7 @@
<widget class="QLabel" name="label_3"> <widget class="QLabel" name="label_3">
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
<underline>false</underline> <underline>false</underline>
@@ -390,7 +390,7 @@
<widget class="QRadioButton" name="radioButton_6"> <widget class="QRadioButton" name="radioButton_6">
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -411,7 +411,7 @@
<widget class="QRadioButton" name="radioButton_5"> <widget class="QRadioButton" name="radioButton_5">
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -435,7 +435,7 @@
<widget class="QLabel" name="label_16"> <widget class="QLabel" name="label_16">
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
<underline>false</underline> <underline>false</underline>
@@ -450,7 +450,7 @@
<widget class="QRadioButton" name="radioButton_7"> <widget class="QRadioButton" name="radioButton_7">
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -471,7 +471,7 @@
<widget class="QRadioButton" name="radioButton_8"> <widget class="QRadioButton" name="radioButton_8">
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -492,7 +492,7 @@
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -502,15 +502,15 @@
<widget class="QRadioButton" name="radioButton_10"> <widget class="QRadioButton" name="radioButton_10">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>140</x> <x>75</x>
<y>410</y> <y>390</y>
<width>121</width> <width>200</width>
<height>16</height> <height>16</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -521,7 +521,7 @@
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>40</x> <x>40</x>
<y>380</y> <y>360</y>
<width>310</width> <width>310</width>
<height>20</height> <height>20</height>
</rect> </rect>
@@ -560,15 +560,15 @@
<widget class="QRadioButton" name="radioButton_11"> <widget class="QRadioButton" name="radioButton_11">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>110</x> <x>75</x>
<y>150</y> <y>150</y>
<width>181</width> <width>200</width>
<height>16</height> <height>16</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -578,15 +578,15 @@
<widget class="QRadioButton" name="radioButton_13"> <widget class="QRadioButton" name="radioButton_13">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>130</x> <x>75</x>
<y>230</y> <y>230</y>
<width>121</width> <width>200</width>
<height>16</height> <height>16</height>
</rect> </rect>
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -596,9 +596,9 @@
<widget class="QComboBox" name="comboBox_7"> <widget class="QComboBox" name="comboBox_7">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>90</x> <x>40</x>
<y>200</y> <y>200</y>
<width>211</width> <width>311</width>
<height>22</height> <height>22</height>
</rect> </rect>
</property> </property>
@@ -677,11 +677,57 @@
<string>Bibliotheque de logo :</string> <string>Bibliotheque de logo :</string>
</property> </property>
</widget> </widget>
<widget class="QLabel" name="label_17">
<property name="geometry">
<rect>
<x>75</x>
<y>465</y>
<width>311</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(11, 11, 11);</string>
</property>
<property name="text">
<string>Sur</string>
</property>
</widget>
<widget class="QLabel" name="label_18">
<property name="geometry">
<rect>
<x>155</x>
<y>465</y>
<width>311</width>
<height>41</height>
</rect>
</property>
<property name="font">
<font>
<weight>50</weight>
<bold>false</bold>
<underline>false</underline>
</font>
</property>
<property name="styleSheet">
<string notr="true">color: rgb(11, 11, 11);</string>
</property>
<property name="text">
<string>colonne(s)</string>
</property>
</widget>
<widget class="QSpinBox" name="spinBox"> <widget class="QSpinBox" name="spinBox">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>340</x> <x>110</x>
<y>470</y> <y>475</y>
<width>42</width> <width>42</width>
<height>22</height> <height>22</height>
</rect> </rect>
@@ -698,7 +744,7 @@
<rect> <rect>
<x>30</x> <x>30</x>
<y>560</y> <y>560</y>
<width>111</width> <width>180</width>
<height>23</height> <height>23</height>
</rect> </rect>
</property> </property>
@@ -726,6 +772,8 @@
<zorder>radioButton_13</zorder> <zorder>radioButton_13</zorder>
<zorder>mComboBox_4</zorder> <zorder>mComboBox_4</zorder>
<zorder>label_15</zorder> <zorder>label_15</zorder>
<zorder>label_17</zorder>
<zorder>label_18</zorder>
<zorder>spinBox</zorder> <zorder>spinBox</zorder>
<zorder>CustomeLogo</zorder> <zorder>CustomeLogo</zorder>
</widget> </widget>
@@ -905,9 +953,9 @@
<widget class="QGroupBox" name="groupBox_2"> <widget class="QGroupBox" name="groupBox_2">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>970</x> <x>960</x>
<y>10</y> <y>10</y>
<width>161</width> <width>171</width>
<height>111</height> <height>111</height>
</rect> </rect>
</property> </property>
@@ -922,7 +970,7 @@
<rect> <rect>
<x>10</x> <x>10</x>
<y>60</y> <y>60</y>
<width>141</width> <width>161</width>
<height>41</height> <height>41</height>
</rect> </rect>
</property> </property>
@@ -1061,7 +1109,7 @@
</property> </property>
<property name="font"> <property name="font">
<font> <font>
<pointsize>7</pointsize> <pointsize>10</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
@@ -0,0 +1,477 @@
# Form implementation generated from reading ui file '/home/colas/Git/Plugin_QGIS/CenIsere_AUTOMAP/tools/ui/CenIsere_AutoMap_base.ui'
#
# Created by: PyQt6 UI code generator 6.7.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_MapCENDialogBase(object):
def setupUi(self, MapCENDialogBase):
MapCENDialogBase.setObjectName("MapCENDialogBase")
MapCENDialogBase.resize(1150, 778)
self.tabWidget = QtWidgets.QTabWidget(parent=MapCENDialogBase)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 1150, 781))
self.tabWidget.setMinimumSize(QtCore.QSize(1150, 781))
self.tabWidget.setMaximumSize(QtCore.QSize(1150, 781))
self.tabWidget.setBaseSize(QtCore.QSize(1150, 781))
self.tabWidget.setStyleSheet("QWidget#tab{background-image: url(/Users/tlaveille/Pictures/Capturel.png);}\n"
" ")
self.tabWidget.setObjectName("tabWidget")
self.tab = QtWidgets.QWidget()
self.tab.setObjectName("tab")
self.groupBox_6 = QtWidgets.QGroupBox(parent=self.tab)
self.groupBox_6.setGeometry(QtCore.QRect(680, 350, 141, 41))
self.groupBox_6.setStyleSheet("QGroupBox#groupBox_6{background-color: rgb(255, 255, 255, 170);}")
self.groupBox_6.setTitle("")
self.groupBox_6.setObjectName("groupBox_6")
self.commandLinkButton = QtWidgets.QCommandLinkButton(parent=self.groupBox_6)
self.commandLinkButton.setGeometry(QtCore.QRect(0, 0, 141, 41))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
self.commandLinkButton.setFont(font)
self.commandLinkButton.setStyleSheet("background-color: qconicalgradient(cx:0, cy:0, angle:135, stop:0 rgba(255, 255, 0, 69), stop:0.375 rgba(255, 255, 0, 69), stop:0.423533 rgba(251, 255, 0, 145), stop:0.45 rgba(247, 255, 0, 208), stop:0.477581 rgba(255, 244, 71, 130), stop:0.518717 rgba(255, 218, 71, 130), stop:0.55 rgba(255, 255, 0, 255), stop:0.57754 rgba(255, 203, 0, 130), stop:0.625 rgba(255, 255, 0, 69), stop:1 rgba(255, 255, 0, 69));")
self.commandLinkButton.setObjectName("commandLinkButton")
self.groupBox_7 = QtWidgets.QGroupBox(parent=self.tab)
self.groupBox_7.setGeometry(QtCore.QRect(20, 70, 391, 611))
font = QtGui.QFont()
font.setBold(True)
font.setWeight(75)
self.groupBox_7.setFont(font)
self.groupBox_7.setStyleSheet("QGroupBox#groupBox_7{background-color: rgb(255, 255, 255, 170);}")
self.groupBox_7.setTitle("")
self.groupBox_7.setObjectName("groupBox_7")
self.label_4 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_4.setGeometry(QtCore.QRect(30, 10, 311, 41))
font = QtGui.QFont()
font.setBold(True)
font.setUnderline(True)
font.setWeight(75)
self.label_4.setFont(font)
self.label_4.setStyleSheet("color: rgb(11, 11, 11);")
self.label_4.setObjectName("label_4")
self.comboBox = QtWidgets.QComboBox(parent=self.groupBox_7)
self.comboBox.setGeometry(QtCore.QRect(30, 40, 331, 22))
self.comboBox.setEditable(False)
self.comboBox.setCurrentText("")
self.comboBox.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
self.comboBox.setObjectName("comboBox")
self.comboBox.addItem("")
self.comboBox.setItemText(0, "")
self.lineEdit_2 = QtWidgets.QLineEdit(parent=self.groupBox_7)
self.lineEdit_2.setEnabled(True)
self.lineEdit_2.setGeometry(QtCore.QRect(40, 200, 311, 21))
self.lineEdit_2.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.lineEdit_2.setReadOnly(False)
self.lineEdit_2.setClearButtonEnabled(True)
self.lineEdit_2.setObjectName("lineEdit_2")
self.label_6 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_6.setGeometry(QtCore.QRect(30, 170, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_6.setFont(font)
self.label_6.setStyleSheet("color: rgb(11, 11, 11);")
self.label_6.setObjectName("label_6")
self.lineEdit_3 = QtWidgets.QLineEdit(parent=self.groupBox_7)
self.lineEdit_3.setEnabled(True)
self.lineEdit_3.setGeometry(QtCore.QRect(40, 290, 311, 21))
self.lineEdit_3.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.lineEdit_3.setReadOnly(False)
self.lineEdit_3.setClearButtonEnabled(True)
self.lineEdit_3.setObjectName("lineEdit_3")
self.label_7 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_7.setGeometry(QtCore.QRect(30, 260, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_7.setFont(font)
self.label_7.setStyleSheet("color: rgb(11, 11, 11);")
self.label_7.setObjectName("label_7")
self.label_8 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_8.setGeometry(QtCore.QRect(30, 330, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_8.setFont(font)
self.label_8.setStyleSheet("color: rgb(11, 11, 11);")
self.label_8.setObjectName("label_8")
self.lineEdit_4 = QtWidgets.QLineEdit(parent=self.groupBox_7)
self.lineEdit_4.setEnabled(True)
self.lineEdit_4.setGeometry(QtCore.QRect(40, 360, 311, 21))
self.lineEdit_4.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.lineEdit_4.setReadOnly(False)
self.lineEdit_4.setClearButtonEnabled(True)
self.lineEdit_4.setObjectName("lineEdit_4")
self.mComboBox_2 = QgsCheckableComboBox(parent=self.groupBox_7)
self.mComboBox_2.setGeometry(QtCore.QRect(40, 450, 250, 20))
self.mComboBox_2.setMinimumSize(QtCore.QSize(260, 20))
self.mComboBox_2.setMaximumSize(QtCore.QSize(310, 20))
self.mComboBox_2.setStyleSheet("")
self.mComboBox_2.setCurrentText("")
self.mComboBox_2.setMaxVisibleItems(15)
self.mComboBox_2.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
self.mComboBox_2.setDefaultText("")
self.mComboBox_2.setObjectName("mComboBox_2")
self.label_14 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_14.setGeometry(QtCore.QRect(30, 420, 290, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_14.setFont(font)
self.label_14.setStyleSheet("color: rgb(11, 11, 11);")
self.label_14.setObjectName("label_14")
self.horizontalLayoutWidget = QtWidgets.QWidget(parent=self.groupBox_7)
self.horizontalLayoutWidget.setGeometry(QtCore.QRect(40, 80, 261, 31))
self.horizontalLayoutWidget.setObjectName("horizontalLayoutWidget")
self.horizontalLayout = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget)
self.horizontalLayout.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_3 = QtWidgets.QLabel(parent=self.horizontalLayoutWidget)
font = QtGui.QFont()
font.setPointSize(10)
font.setBold(True)
font.setUnderline(False)
font.setWeight(75)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.horizontalLayout.addWidget(self.label_3)
self.radioButton_6 = QtWidgets.QRadioButton(parent=self.horizontalLayoutWidget)
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_6.setFont(font)
self.radioButton_6.setIconSize(QtCore.QSize(16, 16))
self.radioButton_6.setChecked(True)
self.radioButton_6.setObjectName("radioButton_6")
self.horizontalLayout.addWidget(self.radioButton_6)
self.radioButton_5 = QtWidgets.QRadioButton(parent=self.horizontalLayoutWidget)
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_5.setFont(font)
self.radioButton_5.setObjectName("radioButton_5")
self.horizontalLayout.addWidget(self.radioButton_5)
self.horizontalLayoutWidget_2 = QtWidgets.QWidget(parent=self.groupBox_7)
self.horizontalLayoutWidget_2.setGeometry(QtCore.QRect(40, 110, 261, 31))
self.horizontalLayoutWidget_2.setObjectName("horizontalLayoutWidget_2")
self.horizontalLayout_2 = QtWidgets.QHBoxLayout(self.horizontalLayoutWidget_2)
self.horizontalLayout_2.setContentsMargins(0, 0, 0, 0)
self.horizontalLayout_2.setObjectName("horizontalLayout_2")
self.label_16 = QtWidgets.QLabel(parent=self.horizontalLayoutWidget_2)
font = QtGui.QFont()
font.setPointSize(10)
font.setBold(True)
font.setUnderline(False)
font.setWeight(75)
self.label_16.setFont(font)
self.label_16.setObjectName("label_16")
self.horizontalLayout_2.addWidget(self.label_16)
self.radioButton_7 = QtWidgets.QRadioButton(parent=self.horizontalLayoutWidget_2)
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_7.setFont(font)
self.radioButton_7.setIconSize(QtCore.QSize(16, 16))
self.radioButton_7.setChecked(True)
self.radioButton_7.setObjectName("radioButton_7")
self.horizontalLayout_2.addWidget(self.radioButton_7)
self.radioButton_8 = QtWidgets.QRadioButton(parent=self.horizontalLayoutWidget_2)
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_8.setFont(font)
self.radioButton_8.setObjectName("radioButton_8")
self.horizontalLayout_2.addWidget(self.radioButton_8)
self.radioButton_9 = QtWidgets.QRadioButton(parent=self.groupBox_7)
self.radioButton_9.setGeometry(QtCore.QRect(270, 570, 82, 15))
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_9.setFont(font)
self.radioButton_9.setObjectName("radioButton_9")
self.radioButton_10 = QtWidgets.QRadioButton(parent=self.groupBox_7)
self.radioButton_10.setGeometry(QtCore.QRect(75, 390, 200, 16))
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_10.setFont(font)
self.radioButton_10.setObjectName("radioButton_10")
self.mComboBox_3 = QgsCheckableComboBox(parent=self.groupBox_7)
self.mComboBox_3.setGeometry(QtCore.QRect(40, 360, 310, 20))
self.mComboBox_3.setMinimumSize(QtCore.QSize(310, 20))
self.mComboBox_3.setMaximumSize(QtCore.QSize(310, 20))
self.mComboBox_3.setStyleSheet("")
self.mComboBox_3.setInputMethodHints(QtCore.Qt.InputMethodHint.ImhNone)
self.mComboBox_3.setCurrentText("")
self.mComboBox_3.setMaxVisibleItems(15)
self.mComboBox_3.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
self.mComboBox_3.setDefaultText("")
self.mComboBox_3.setObjectName("mComboBox_3")
self.radioButton_11 = QtWidgets.QRadioButton(parent=self.groupBox_7)
self.radioButton_11.setGeometry(QtCore.QRect(75, 150, 200, 16))
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_11.setFont(font)
self.radioButton_11.setObjectName("radioButton_11")
self.radioButton_13 = QtWidgets.QRadioButton(parent=self.groupBox_7)
self.radioButton_13.setGeometry(QtCore.QRect(75, 230, 200, 16))
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_13.setFont(font)
self.radioButton_13.setObjectName("radioButton_13")
self.comboBox_7 = QtWidgets.QComboBox(parent=self.groupBox_7)
self.comboBox_7.setGeometry(QtCore.QRect(40, 200, 311, 22))
self.comboBox_7.setEditable(False)
self.comboBox_7.setCurrentText("")
self.comboBox_7.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
self.comboBox_7.setObjectName("comboBox_7")
self.comboBox_7.addItem("")
self.comboBox_7.setItemText(0, "")
self.mComboBox_4 = QgsCheckableComboBox(parent=self.groupBox_7)
self.mComboBox_4.setGeometry(QtCore.QRect(40, 530, 310, 20))
self.mComboBox_4.setMinimumSize(QtCore.QSize(310, 20))
self.mComboBox_4.setMaximumSize(QtCore.QSize(310, 20))
self.mComboBox_4.setStyleSheet("")
self.mComboBox_4.setCurrentText("")
self.mComboBox_4.setMaxVisibleItems(15)
self.mComboBox_4.setSizeAdjustPolicy(QtWidgets.QComboBox.SizeAdjustPolicy.AdjustToContents)
self.mComboBox_4.setDefaultText("")
self.mComboBox_4.setObjectName("mComboBox_4")
self.label_15 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_15.setGeometry(QtCore.QRect(30, 500, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_15.setFont(font)
self.label_15.setStyleSheet("color: rgb(11, 11, 11);")
self.label_15.setObjectName("label_15")
self.label_17 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_17.setGeometry(QtCore.QRect(75, 465, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(False)
font.setWeight(50)
self.label_17.setFont(font)
self.label_17.setStyleSheet("color: rgb(11, 11, 11);")
self.label_17.setObjectName("label_17")
self.label_18 = QtWidgets.QLabel(parent=self.groupBox_7)
self.label_18.setGeometry(QtCore.QRect(155, 465, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(False)
font.setWeight(50)
self.label_18.setFont(font)
self.label_18.setStyleSheet("color: rgb(11, 11, 11);")
self.label_18.setObjectName("label_18")
self.spinBox = QtWidgets.QSpinBox(parent=self.groupBox_7)
self.spinBox.setGeometry(QtCore.QRect(110, 475, 42, 22))
self.spinBox.setMinimum(1)
self.spinBox.setMaximum(10)
self.spinBox.setObjectName("spinBox")
self.CustomeLogo = QtWidgets.QPushButton(parent=self.groupBox_7)
self.CustomeLogo.setGeometry(QtCore.QRect(30, 560, 180, 23))
self.CustomeLogo.setObjectName("CustomeLogo")
self.comboBox_7.raise_()
self.mComboBox_3.raise_()
self.label_4.raise_()
self.comboBox.raise_()
self.lineEdit_2.raise_()
self.label_6.raise_()
self.lineEdit_3.raise_()
self.label_7.raise_()
self.label_8.raise_()
self.lineEdit_4.raise_()
self.mComboBox_2.raise_()
self.label_14.raise_()
self.horizontalLayoutWidget.raise_()
self.horizontalLayoutWidget_2.raise_()
self.radioButton_9.raise_()
self.radioButton_10.raise_()
self.radioButton_11.raise_()
self.radioButton_13.raise_()
self.mComboBox_4.raise_()
self.label_15.raise_()
self.label_17.raise_()
self.label_18.raise_()
self.spinBox.raise_()
self.CustomeLogo.raise_()
self.label_5 = QtWidgets.QLabel(parent=self.tab)
self.label_5.setGeometry(QtCore.QRect(920, 10, 211, 71))
self.label_5.setText("")
self.label_5.setScaledContents(True)
self.label_5.setObjectName("label_5")
self.groupBox = QtWidgets.QGroupBox(parent=self.tab)
self.groupBox.setGeometry(QtCore.QRect(430, 500, 411, 201))
self.groupBox.setStyleSheet("QGroupBox#groupBox{background-color: rgb(255, 255, 255, 170);}")
self.groupBox.setTitle("")
self.groupBox.setObjectName("groupBox")
self.comboBox_4 = QtWidgets.QComboBox(parent=self.groupBox)
self.comboBox_4.setGeometry(QtCore.QRect(40, 160, 331, 22))
self.comboBox_4.setEditable(False)
self.comboBox_4.setCurrentText("")
self.comboBox_4.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
self.comboBox_4.setObjectName("comboBox_4")
self.comboBox_4.addItem("")
self.comboBox_4.setItemText(0, "")
self.label_9 = QtWidgets.QLabel(parent=self.groupBox)
self.label_9.setGeometry(QtCore.QRect(30, 130, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_9.setFont(font)
self.label_9.setStyleSheet("color: rgb(11, 11, 11);")
self.label_9.setObjectName("label_9")
self.label_10 = QtWidgets.QLabel(parent=self.groupBox)
self.label_10.setGeometry(QtCore.QRect(30, 70, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_10.setFont(font)
self.label_10.setStyleSheet("color: rgb(11, 11, 11);")
self.label_10.setObjectName("label_10")
self.comboBox_3 = QtWidgets.QComboBox(parent=self.groupBox)
self.comboBox_3.setGeometry(QtCore.QRect(40, 100, 331, 22))
self.comboBox_3.setEditable(False)
self.comboBox_3.setCurrentText("")
self.comboBox_3.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
self.comboBox_3.setObjectName("comboBox_3")
self.comboBox_3.addItem("")
self.comboBox_3.setItemText(0, "")
self.comboBox_2 = QtWidgets.QComboBox(parent=self.groupBox)
self.comboBox_2.setGeometry(QtCore.QRect(40, 40, 331, 22))
self.comboBox_2.setEditable(False)
self.comboBox_2.setCurrentText("")
self.comboBox_2.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
self.comboBox_2.setObjectName("comboBox_2")
self.comboBox_2.addItem("")
self.comboBox_2.setItemText(0, "")
self.label_11 = QtWidgets.QLabel(parent=self.groupBox)
self.label_11.setGeometry(QtCore.QRect(30, 10, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_11.setFont(font)
self.label_11.setStyleSheet("color: rgb(11, 11, 11);")
self.label_11.setObjectName("label_11")
self.groupBox_2 = QtWidgets.QGroupBox(parent=self.tab)
self.groupBox_2.setGeometry(QtCore.QRect(960, 10, 171, 111))
self.groupBox_2.setStyleSheet("QGroupBox#groupBox_2{background-color: rgb(255, 255, 255, 170);}")
self.groupBox_2.setTitle("")
self.groupBox_2.setObjectName("groupBox_2")
self.commandLinkButton_3 = QtWidgets.QCommandLinkButton(parent=self.groupBox_2)
self.commandLinkButton_3.setGeometry(QtCore.QRect(10, 60, 161, 41))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
self.commandLinkButton_3.setFont(font)
self.commandLinkButton_3.setStyleSheet("background-color: qconicalgradient(cx:0, cy:0, angle:135, stop:0 rgba(255, 255, 0, 69), stop:0.375 rgba(255, 255, 0, 69), stop:0.423533 rgba(251, 255, 0, 145), stop:0.45 rgba(247, 255, 0, 208), stop:0.477581 rgba(255, 244, 71, 130), stop:0.518717 rgba(255, 218, 71, 130), stop:0.55 rgba(255, 255, 0, 255), stop:0.57754 rgba(255, 203, 0, 130), stop:0.625 rgba(255, 255, 0, 69), stop:1 rgba(255, 255, 0, 69));")
self.commandLinkButton_3.setObjectName("commandLinkButton_3")
self.commandLinkButton_2 = QtWidgets.QCommandLinkButton(parent=self.groupBox_2)
self.commandLinkButton_2.setGeometry(QtCore.QRect(10, 10, 141, 41))
font = QtGui.QFont()
font.setFamily("Segoe UI")
font.setPointSize(10)
self.commandLinkButton_2.setFont(font)
self.commandLinkButton_2.setAutoFillBackground(False)
self.commandLinkButton_2.setStyleSheet("background-color: qconicalgradient(cx:0, cy:0, angle:135, stop:0 rgba(255, 255, 0, 69), stop:0.375 rgba(255, 255, 0, 69), stop:0.423533 rgba(251, 255, 0, 145), stop:0.45 rgba(247, 255, 0, 208), stop:0.477581 rgba(255, 244, 71, 130), stop:0.518717 rgba(255, 218, 71, 130), stop:0.55 rgba(255, 255, 0, 255), stop:0.57754 rgba(255, 203, 0, 130), stop:0.625 rgba(255, 255, 0, 69), stop:1 rgba(255, 255, 0, 69));")
self.commandLinkButton_2.setObjectName("commandLinkButton_2")
self.groupBox_3 = QtWidgets.QGroupBox(parent=self.tab)
self.groupBox_3.setGeometry(QtCore.QRect(430, 110, 251, 161))
self.groupBox_3.setStyleSheet("QGroupBox#groupBox_3{background-color: rgb(255, 255, 255, 170);}")
self.groupBox_3.setTitle("")
self.groupBox_3.setObjectName("groupBox_3")
self.comboBox_5 = QtWidgets.QComboBox(parent=self.groupBox_3)
self.comboBox_5.setGeometry(QtCore.QRect(20, 40, 211, 22))
self.comboBox_5.setEditable(False)
self.comboBox_5.setCurrentText("")
self.comboBox_5.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
self.comboBox_5.setObjectName("comboBox_5")
self.comboBox_5.addItem("")
self.comboBox_5.setItemText(0, "")
self.label_12 = QtWidgets.QLabel(parent=self.groupBox_3)
self.label_12.setGeometry(QtCore.QRect(10, 10, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_12.setFont(font)
self.label_12.setStyleSheet("color: rgb(11, 11, 11);")
self.label_12.setObjectName("label_12")
self.label_13 = QtWidgets.QLabel(parent=self.groupBox_3)
self.label_13.setGeometry(QtCore.QRect(10, 70, 311, 41))
font = QtGui.QFont()
font.setBold(False)
font.setUnderline(True)
font.setWeight(50)
self.label_13.setFont(font)
self.label_13.setStyleSheet("color: rgb(11, 11, 11);")
self.label_13.setObjectName("label_13")
self.radioButton_12 = QtWidgets.QRadioButton(parent=self.groupBox_3)
self.radioButton_12.setGeometry(QtCore.QRect(80, 130, 181, 16))
font = QtGui.QFont()
font.setPointSize(10)
self.radioButton_12.setFont(font)
self.radioButton_12.setObjectName("radioButton_12")
self.comboBox_6 = QtWidgets.QComboBox(parent=self.groupBox_3)
self.comboBox_6.setGeometry(QtCore.QRect(20, 100, 211, 22))
self.comboBox_6.setEditable(False)
self.comboBox_6.setCurrentText("")
self.comboBox_6.setInsertPolicy(QtWidgets.QComboBox.InsertPolicy.InsertAlphabetically)
self.comboBox_6.setObjectName("comboBox_6")
self.comboBox_6.addItem("")
self.comboBox_6.setItemText(0, "")
self.groupBox.raise_()
self.groupBox_6.raise_()
self.groupBox_7.raise_()
self.label_5.raise_()
self.groupBox_2.raise_()
self.groupBox_3.raise_()
self.tabWidget.addTab(self.tab, "")
self.retranslateUi(MapCENDialogBase)
self.tabWidget.setCurrentIndex(0)
QtCore.QMetaObject.connectSlotsByName(MapCENDialogBase)
def retranslateUi(self, MapCENDialogBase):
_translate = QtCore.QCoreApplication.translate
MapCENDialogBase.setWindowTitle(_translate("MapCENDialogBase", "AutoMap"))
self.commandLinkButton.setText(_translate("MapCENDialogBase", " Mise en page"))
self.label_4.setText(_translate("MapCENDialogBase", "Modèles de mise en page :"))
self.lineEdit_2.setText(_translate("MapCENDialogBase", "Titre à renseigner ici"))
self.label_6.setText(_translate("MapCENDialogBase", "Titre de la carte :"))
self.lineEdit_3.setText(_translate("MapCENDialogBase", "Sous-titre à renseigner ici"))
self.label_7.setText(_translate("MapCENDialogBase", "Sous-titre de la carte :"))
self.label_8.setText(_translate("MapCENDialogBase", "Source des données :"))
self.lineEdit_4.setText(_translate("MapCENDialogBase", "à renseigner ici"))
self.label_14.setText(_translate("MapCENDialogBase", "Éléments à intégrer à la légende :"))
self.label_3.setText(_translate("MapCENDialogBase", "Format :"))
self.radioButton_6.setText(_translate("MapCENDialogBase", "A4"))
self.radioButton_5.setText(_translate("MapCENDialogBase", "A3"))
self.label_16.setText(_translate("MapCENDialogBase", "Orientation :"))
self.radioButton_7.setText(_translate("MapCENDialogBase", "Portrait"))
self.radioButton_8.setText(_translate("MapCENDialogBase", "Paysage"))
self.radioButton_9.setText(_translate("MapCENDialogBase", "Atlas"))
self.radioButton_10.setText(_translate("MapCENDialogBase", "Utilisez le gestionnaire"))
self.radioButton_11.setText(_translate("MapCENDialogBase", "Theme et suivie de positionnement"))
self.radioButton_13.setText(_translate("MapCENDialogBase", "Mise en page existante"))
self.label_15.setText(_translate("MapCENDialogBase", "Bibliotheque de logo :"))
self.label_17.setText(_translate("MapCENDialogBase", "Sur"))
self.label_18.setText(_translate("MapCENDialogBase", "colonne(s)"))
self.CustomeLogo.setText(_translate("MapCENDialogBase", "Custom Bibliotheque"))
self.label_9.setText(_translate("MapCENDialogBase", "Colonne de sous-titre :"))
self.label_10.setText(_translate("MapCENDialogBase", "Colonne d\'identification :"))
self.label_11.setText(_translate("MapCENDialogBase", "Couche de suivie :"))
self.commandLinkButton_3.setText(_translate("MapCENDialogBase", "OpenStreetMap"))
self.commandLinkButton_2.setText(_translate("MapCENDialogBase", " Ortho"))
self.label_12.setText(_translate("MapCENDialogBase", "Théme principal :"))
self.label_13.setText(_translate("MapCENDialogBase", "Théme de suivie :"))
self.radioButton_12.setText(_translate("MapCENDialogBase", "Activé le suivie"))
self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("MapCENDialogBase", "Liste de templates existants"))
from qgscheckablecombobox import QgsCheckableComboBox
@@ -11,7 +11,7 @@
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>CEN-RA Metabase</string> <string>CEN38 Metabase</string>
</property> </property>
<property name="windowIcon"> <property name="windowIcon">
<iconset> <iconset>
@@ -0,0 +1,126 @@
# Form implementation generated from reading ui file '/home/colas/Git/Plugin_QGIS/CenIsere_AUTOMAP/tools/ui/CenIsere_IssuesSend.ui'
#
# Created by: PyQt6 UI code generator 6.7.0
#
# WARNING: Any manual changes made to this file will be lost when pyuic6 is
# run again. Do not edit this file unless you know what you are doing.
from PyQt6 import QtCore, QtGui, QtWidgets
class Ui_CenRa_IssuesSend(object):
def setupUi(self, CenRa_IssuesSend):
CenRa_IssuesSend.setObjectName("CenRa_IssuesSend")
CenRa_IssuesSend.resize(810, 587)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("/home/colas/Git/Plugin_QGIS/CenIsere_AUTOMAP/tools/ui/icon.svg"), QtGui.QIcon.Mode.Normal, QtGui.QIcon.State.Off)
CenRa_IssuesSend.setWindowIcon(icon)
self.gridLayoutWidget = QtWidgets.QWidget(parent=CenRa_IssuesSend)
self.gridLayoutWidget.setGeometry(QtCore.QRect(0, 550, 811, 31))
self.gridLayoutWidget.setObjectName("gridLayoutWidget")
self.gridLayout_2 = QtWidgets.QGridLayout(self.gridLayoutWidget)
self.gridLayout_2.setContentsMargins(0, 0, 0, 0)
self.gridLayout_2.setObjectName("gridLayout_2")
self.annuler_button = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.annuler_button.setObjectName("annuler_button")
self.gridLayout_2.addWidget(self.annuler_button, 0, 2, 1, 1)
spacerItem = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.gridLayout_2.addItem(spacerItem, 0, 3, 1, 1)
spacerItem1 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.gridLayout_2.addItem(spacerItem1, 0, 0, 1, 1)
self.ok_button = QtWidgets.QPushButton(parent=self.gridLayoutWidget)
self.ok_button.setObjectName("ok_button")
self.gridLayout_2.addWidget(self.ok_button, 0, 1, 1, 1)
self.groupBox = QtWidgets.QGroupBox(parent=CenRa_IssuesSend)
self.groupBox.setGeometry(QtCore.QRect(10, 10, 791, 531))
self.groupBox.setObjectName("groupBox")
self.titre_line = QtWidgets.QLineEdit(parent=self.groupBox)
self.titre_line.setGeometry(QtCore.QRect(240, 40, 321, 41))
self.titre_line.setAlignment(QtCore.Qt.AlignmentFlag.AlignCenter)
self.titre_line.setObjectName("titre_line")
self.messages_plain = QtWidgets.QPlainTextEdit(parent=self.groupBox)
self.messages_plain.setGeometry(QtCore.QRect(10, 101, 571, 421))
self.messages_plain.setObjectName("messages_plain")
self.frame = QtWidgets.QFrame(parent=self.groupBox)
self.frame.setGeometry(QtCore.QRect(589, 100, 191, 431))
self.frame.setFrameShape(QtWidgets.QFrame.Shape.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Shadow.Raised)
self.frame.setObjectName("frame")
self.formLayoutWidget = QtWidgets.QWidget(parent=self.frame)
self.formLayoutWidget.setGeometry(QtCore.QRect(9, 9, 341, 411))
self.formLayoutWidget.setObjectName("formLayoutWidget")
self.formLayout = QtWidgets.QFormLayout(self.formLayoutWidget)
self.formLayout.setLabelAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTrailing|QtCore.Qt.AlignmentFlag.AlignVCenter)
self.formLayout.setFormAlignment(QtCore.Qt.AlignmentFlag.AlignRight|QtCore.Qt.AlignmentFlag.AlignTop|QtCore.Qt.AlignmentFlag.AlignTrailing)
self.formLayout.setContentsMargins(0, 0, 0, 0)
self.formLayout.setObjectName("formLayout")
spacerItem2 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
self.formLayout.setItem(0, QtWidgets.QFormLayout.ItemRole.LabelRole, spacerItem2)
spacerItem3 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.formLayout.setItem(1, QtWidgets.QFormLayout.ItemRole.LabelRole, spacerItem3)
self.check_bug = QtWidgets.QCheckBox(parent=self.formLayoutWidget)
self.check_bug.setObjectName("check_bug")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.ItemRole.FieldRole, self.check_bug)
spacerItem4 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.formLayout.setItem(2, QtWidgets.QFormLayout.ItemRole.LabelRole, spacerItem4)
self.check_aide = QtWidgets.QCheckBox(parent=self.formLayoutWidget)
self.check_aide.setObjectName("check_aide")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.ItemRole.FieldRole, self.check_aide)
spacerItem5 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.formLayout.setItem(3, QtWidgets.QFormLayout.ItemRole.LabelRole, spacerItem5)
self.check_question = QtWidgets.QCheckBox(parent=self.formLayoutWidget)
self.check_question.setObjectName("check_question")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.ItemRole.FieldRole, self.check_question)
spacerItem6 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.formLayout.setItem(4, QtWidgets.QFormLayout.ItemRole.LabelRole, spacerItem6)
self.check_amelioration = QtWidgets.QCheckBox(parent=self.formLayoutWidget)
self.check_amelioration.setObjectName("check_amelioration")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.ItemRole.FieldRole, self.check_amelioration)
spacerItem7 = QtWidgets.QSpacerItem(40, 20, QtWidgets.QSizePolicy.Policy.Expanding, QtWidgets.QSizePolicy.Policy.Minimum)
self.formLayout.setItem(5, QtWidgets.QFormLayout.ItemRole.LabelRole, spacerItem7)
self.check_autre = QtWidgets.QCheckBox(parent=self.formLayoutWidget)
self.check_autre.setObjectName("check_autre")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.ItemRole.FieldRole, self.check_autre)
spacerItem8 = QtWidgets.QSpacerItem(20, 40, QtWidgets.QSizePolicy.Policy.Minimum, QtWidgets.QSizePolicy.Policy.Expanding)
self.formLayout.setItem(6, QtWidgets.QFormLayout.ItemRole.LabelRole, spacerItem8)
self.label = QtWidgets.QLabel(parent=self.groupBox)
self.label.setGeometry(QtCore.QRect(250, 20, 51, 21))
font = QtGui.QFont()
font.setFamily("Arial")
font.setPointSize(14)
self.label.setFont(font)
self.label.setObjectName("label")
self.label_2 = QtWidgets.QLabel(parent=self.groupBox)
self.label_2.setGeometry(QtCore.QRect(20, 70, 91, 31))
font = QtGui.QFont()
font.setFamily("Arial")
font.setPointSize(12)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.label_3 = QtWidgets.QLabel(parent=self.groupBox)
self.label_3.setGeometry(QtCore.QRect(600, 70, 91, 31))
font = QtGui.QFont()
font.setFamily("Arial")
font.setPointSize(12)
self.label_3.setFont(font)
self.label_3.setObjectName("label_3")
self.retranslateUi(CenRa_IssuesSend)
QtCore.QMetaObject.connectSlotsByName(CenRa_IssuesSend)
CenRa_IssuesSend.setTabOrder(self.ok_button, self.annuler_button)
def retranslateUi(self, CenRa_IssuesSend):
_translate = QtCore.QCoreApplication.translate
CenRa_IssuesSend.setWindowTitle(_translate("CenRa_IssuesSend", "CEN38 Metabase"))
self.annuler_button.setText(_translate("CenRa_IssuesSend", "Annuler"))
self.ok_button.setText(_translate("CenRa_IssuesSend", "Envoyer"))
self.groupBox.setTitle(_translate("CenRa_IssuesSend", "Issues"))
self.check_bug.setText(_translate("CenRa_IssuesSend", "Bug"))
self.check_aide.setText(_translate("CenRa_IssuesSend", "Aide"))
self.check_question.setText(_translate("CenRa_IssuesSend", "Question"))
self.check_amelioration.setText(_translate("CenRa_IssuesSend", "Amélioration"))
self.check_autre.setText(_translate("CenRa_IssuesSend", "Autre"))
self.label.setText(_translate("CenRa_IssuesSend", "Titre:"))
self.label_2.setText(_translate("CenRa_IssuesSend", "Messages:"))
self.label_3.setText(_translate("CenRa_IssuesSend", "Sujet:"))
-4
View File
@@ -1,4 +0,0 @@
# CenRa_AutoMap
---
Outil de création de mise en page,
Permet de préprogramé des mise en page pour les mêtre à disposition des collégue.
-10
View File
@@ -1,10 +0,0 @@
# -*- coding: utf-8 -*-
__copyright__ = "Copyright 2021, 3Liz"
__license__ = "GPL version 3"
__email__ = "info@3liz.org"
def classFactory(iface):
_ = iface
from CenRa_AUTOMAP.CenRa_AutoMap import PgAutoMap
return PgAutoMap()
-48
View File
@@ -1,48 +0,0 @@
# This file contains metadata for your plugin.
# This file should be included when you package your plugin.# Mandatory items:
[general]
name=CenRa_AutoMap
qgisMinimumVersion=3.0
description=CenRa_AutoMap
version=1.7
author=Conservatoire d'Espaces Naturels de Rhône-Alpes
email=si_besoin@cen-rhonealpes.fr
about=Outils de création de mise en page prédéfinis pour simplifier et organiser cette étape.
repository=https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS
homepage=https://plateformesig.cenra-outils.org/
tracker=https://gitea.cenra-outils.org/api/v1/repos/CEN-RA/Plugin_QGIS/issues
# End of mandatory metadata
# Recommended items:
hasProcessingProvider=no
# Uncomment the following line and add your changelog:
changelog=<h2>CenRa_AutoMap:</h2></br><p><h3>21/10/2024 - Version 1.7: </h3> - Epurations du code.</p></br><p><h3>07/10/2024 - Version 1.6: </h3> - Option de bibliotheque de logo custome.</p></br><p><h3>03/10/2024 - Version 1.5: </h3> - Remonte la fênetre dans la pille.</br> - Gestion du nombre de colonne dans la légend.</br></p></br><p><h3>02/10/2024 - Version 1.4: </h3> - Mise en page plein écrant.</br></p></br><p><h3>01/10/2024 - Version 1.3: </h3> - Récupération du titre et sous-titre pour mise en page existente.</br> - Integration de bibliotheque de logo.</br> - Integration de gestionaire pour les source de donnée.</br> - Mise en place d'une bar d'echelle adaptative. </br></p></br><p><h3>30/09/2024 - Version 1.2: </h3> - Activation du thème. </br> - Ajouter une carte de suivie. </br><p></br><h3>27/09/2024 - Version 1.1: </h3> - Ajout d'une liste déroulante pour les sources de données. </br>- Bouton pour ajouter des fonts de carte customisés. </br>- Fonctionnalité de génération d'atlas. </p></br><p><h3>26/09/2024 - Version 1.0: </h3> - Lancement du plugin CenRa_AutoMap avec une seul mise en page. </p></br>
# Tags are comma separated with spaces allowed
tags=python
category=Plugins
icon=icon.png
# experimental flag
experimental=False
# deprecated flag (applies to the whole plugin, not just a single version)
deprecated=False
# Since QGIS 3.8, a comma separated list of plugins to be installed
# (or upgraded) can be specified.
# Check the documentation for more information.
# plugin_dependencies=
Category of the plugin: Raster, Vector, Database or Web
# category=cenra,mise en page,atlas
# If the plugin can run on QGIS Server.
server=False
Binary file not shown.

Before

Width:  |  Height:  |  Size: 114 KiB

+3 -3
View File
@@ -8,21 +8,21 @@ if IPAddr[0:11] == "100.100.100": #4269
dbname = "sig4269" dbname = "sig4269"
sigdb="sig4269" sigdb="sig4269"
refdb="ref_geo4269" refdb="ref_geo4269"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.0": #01 if IPAddr[0:9] == "192.168.0": #01
host = "192.168.0.201" host = "192.168.0.201"
port = "5432" port = "5432"
dbname = "sig01" dbname = "sig01"
sigdb="sig01" sigdb="sig01"
refdb="ref_geo01" refdb="ref_geo01"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.1": #0726 if IPAddr[0:9] == "192.168.1": #0726
host = "192.168.1.201" host = "192.168.1.201"
port = "5432" port = "5432"
dbname = "sig0726" dbname = "sig0726"
sigdb="sig0726" sigdb="sig0726"
refdb="ref_geo0726" refdb="ref_geo0726"
password = "McVities" password = "XXXXXX"
if sys.platform == 'linux': if sys.platform == 'linux':
os_user = os.environ['USER'] os_user = os.environ['USER']
else: else:
+3 -3
View File
@@ -9,21 +9,21 @@ if IPAddr[0:11] == "100.100.100": #4269
dbname = "sig4269" dbname = "sig4269"
sigdb="sig4269" sigdb="sig4269"
refdb="ref_geo4269" refdb="ref_geo4269"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.0": #01 if IPAddr[0:9] == "192.168.0": #01
host = "192.168.0.201" host = "192.168.0.201"
port = "5432" port = "5432"
dbname = "sig01" dbname = "sig01"
sigdb="sig01" sigdb="sig01"
refdb="ref_geo01" refdb="ref_geo01"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.1": #0726 if IPAddr[0:9] == "192.168.1": #0726
host = "192.168.1.201" host = "192.168.1.201"
port = "5432" port = "5432"
dbname = "sig0726" dbname = "sig0726"
sigdb="sig0726" sigdb="sig0726"
refdb="ref_geo0726" refdb="ref_geo0726"
password = "McVities" password = "XXXXXX"
if sys.platform == 'linux': if sys.platform == 'linux':
os_user = os.environ['USER'] os_user = os.environ['USER']
else: else:
+30 -30
View File
@@ -119,39 +119,39 @@ class PgMetadata:
# self.issues_action = QAction(icon, 'CenRa_Metabase',None) # self.issues_action = QAction(icon, 'CenRa_Metabase',None)
# self.toolBar.addAction(self.issues_action) # self.toolBar.addAction(self.issues_action)
# self.issues_action.triggered.connect(self.open_issues) # self.issues_action.triggered.connect(self.open_issues)
''' # '''
if not self.locator_filter: # if not self.locator_filter:
self.locator_filter = LocatorFilter(iface) # self.locator_filter = LocatorFilter(iface)
iface.registerLocatorFilter(self.locator_filter) # iface.registerLocatorFilter(self.locator_filter)
@staticmethod # @staticmethod
def check_invalid_connection_names(): # def check_invalid_connection_names():
""" Check for invalid connection names in the QgsSettings. """ # """ Check for invalid connection names in the QgsSettings. """
valid, invalid = validate_connections_names() # valid, invalid = validate_connections_names()
n_invalid = len(invalid) # n_invalid = len(invalid)
if n_invalid == 0: # if n_invalid == 0:
return # return
invalid_text = ', '.join(invalid) # invalid_text = ', '.join(invalid)
msg = QMessageBox() # msg = QMessageBox()
msg.setIcon(QMessageBox.Warning) # msg.setIcon(QMessageBox.Warning)
msg.setWindowTitle(tr('PgMetadata: Database connection(s) not available')) # msg.setWindowTitle(tr('PgMetadata: Database connection(s) not available'))
msg.setText(tr( # msg.setText(tr(
f'{n_invalid} connection(s) listed in PgMetadata’s settings are invalid or ' # f'{n_invalid} connection(s) listed in PgMetadata’s settings are invalid or '
f'no longer available: {invalid_text}')) # f'no longer available: {invalid_text}'))
msg.setInformativeText(tr( # msg.setInformativeText(tr(
'Do you want to remove these connection(s) from the PgMetadata settings? ' # 'Do you want to remove these connection(s) from the PgMetadata settings? '
'(You can also do this later with the “Set Connections” tool.)')) # '(You can also do this later with the “Set Connections” tool.)'))
msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No) # msg.setStandardButtons(QMessageBox.Yes | QMessageBox.No)
clicked = msg.exec() # clicked = msg.exec()
if clicked == QMessageBox.Yes: # if clicked == QMessageBox.Yes:
iface.messageBar().pushSuccess('PgMetadata', tr(f'{n_invalid} invalid connection(s) removed.')) # iface.messageBar().pushSuccess('PgMetadata', tr(f'{n_invalid} invalid connection(s) removed.'))
store_connections(valid) # store_connections(valid)
if clicked == QMessageBox.No: # if clicked == QMessageBox.No:
iface.messageBar().pushInfo('PgMetadata', tr(f'Keeping {n_invalid} invalid connections.')) # iface.messageBar().pushInfo('PgMetadata', tr(f'Keeping {n_invalid} invalid connections.'))
''' # '''
def open_about_dialog(self): def open_about_dialog(self):
""" """
About dialog About dialog
@@ -160,7 +160,7 @@ class PgMetadata:
dialog.exec_() dialog.exec_()
def open_help(): def open_help():
""" Open the online help. """ """ Open the online help. """
QDesktopServices.openUrl(QUrl('https://plateformesig.cenra-outils.org/')) # QDesktopServices.openUrl(QUrl('https://plateformesig.cenra-outils.org/'))
def open_dock(self): def open_dock(self):
""" Open the dock. """ """ Open the dock. """
+3 -3
View File
@@ -9,21 +9,21 @@ if IPAddr[0:11] == "100.100.100": #4269
dbname = "sig4269" dbname = "sig4269"
sigdb="sig4269" sigdb="sig4269"
refdb="ref_geo4269" refdb="ref_geo4269"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.0": #01 if IPAddr[0:9] == "192.168.0": #01
host = "192.168.0.201" host = "192.168.0.201"
port = "5432" port = "5432"
dbname = "sig01" dbname = "sig01"
sigdb="sig01" sigdb="sig01"
refdb="ref_geo01" refdb="ref_geo01"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.1": #0726 if IPAddr[0:9] == "192.168.1": #0726
host = "192.168.1.201" host = "192.168.1.201"
port = "5432" port = "5432"
dbname = "sig0726" dbname = "sig0726"
sigdb="sig0726" sigdb="sig0726"
refdb="ref_geo0726" refdb="ref_geo0726"
password = "McVities" password = "XXXXXX"
if sys.platform == 'linux': if sys.platform == 'linux':
os_user = os.environ['USER'] os_user = os.environ['USER']
else: else:
+3 -3
View File
@@ -9,21 +9,21 @@ if IPAddr[0:11] == "100.100.100": #4269
dbname = "sig4269" dbname = "sig4269"
sigdb="sig4269" sigdb="sig4269"
refdb="ref_geo4269" refdb="ref_geo4269"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.0": #01 if IPAddr[0:9] == "192.168.0": #01
host = "192.168.0.201" host = "192.168.0.201"
port = "5432" port = "5432"
dbname = "sig01" dbname = "sig01"
sigdb="sig01" sigdb="sig01"
refdb="ref_geo01" refdb="ref_geo01"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.1": #0726 if IPAddr[0:9] == "192.168.1": #0726
host = "192.168.1.201" host = "192.168.1.201"
port = "5432" port = "5432"
dbname = "sig0726" dbname = "sig0726"
sigdb="sig0726" sigdb="sig0726"
refdb="ref_geo0726" refdb="ref_geo0726"
password = "McVities" password = "XXXXXX"
if sys.platform == 'linux': if sys.platform == 'linux':
os_user = os.environ['USER'] os_user = os.environ['USER']
else: else:
+3 -3
View File
@@ -8,21 +8,21 @@ if IPAddr[0:11] == "100.100.100": #4269
dbname = "sig4269" dbname = "sig4269"
sigdb="sig4269" sigdb="sig4269"
refdb="ref_geo4269" refdb="ref_geo4269"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.0": #01 if IPAddr[0:9] == "192.168.0": #01
host = "192.168.0.201" host = "192.168.0.201"
port = "5432" port = "5432"
dbname = "sig01" dbname = "sig01"
sigdb="sig01" sigdb="sig01"
refdb="ref_geo01" refdb="ref_geo01"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.1": #0726 if IPAddr[0:9] == "192.168.1": #0726
host = "192.168.1.201" host = "192.168.1.201"
port = "5432" port = "5432"
dbname = "sig0726" dbname = "sig0726"
sigdb="sig0726" sigdb="sig0726"
refdb="ref_geo0726" refdb="ref_geo0726"
password = "McVities" password = "XXXXXX"
if sys.platform == 'linux': if sys.platform == 'linux':
os_user = os.environ['USER'] os_user = os.environ['USER']
else: else:
+566
View File
@@ -0,0 +1,566 @@
# -*- coding: utf-8 -*-
# Resource object code
#
# Created by: The Resource Compiler for PyQt5 (Qt v5.15.2)
#
# WARNING! All changes made in this file will be lost!
from PyQt5 import QtCore
qt_resource_data = b"\
\x00\x00\x0d\x89\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x24\x00\x00\x00\x29\x08\x06\x00\x00\x00\x5d\x9e\x8b\x46\
\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
\x01\x00\x9a\x9c\x18\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\
\x25\x00\x00\x80\x83\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\
\x30\x00\x00\xea\x60\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\
\x46\x00\x00\x0d\x0f\x49\x44\x41\x54\x78\xda\xac\x98\x7b\x50\x54\
\x57\x9e\xc7\xbf\xf7\xd1\x0f\xe0\x76\x43\x0b\xdd\x76\x0b\x74\xf3\
\x68\x24\x38\xc0\x62\x8b\x04\x15\xc5\x58\x92\x07\x3b\x06\x0d\x1a\
\x34\xbb\x15\x2b\x6b\x25\xc6\x75\x35\x0f\x2b\x9b\xca\xce\x5a\x26\
\xd4\x26\xba\x6e\xca\x11\x33\xc6\x1d\x93\xd1\xe0\x90\x38\x4a\x92\
\xb1\x8c\x92\x04\xb5\x70\x65\xa0\x8a\x97\x44\x5b\x85\xf0\xec\x06\
\x3a\x74\x37\x2d\xdd\x4d\x3f\x6e\x3f\xee\x63\xff\x30\xa4\x9c\x44\
\x34\x26\xfe\xaa\x7e\xff\xdc\x7b\xbe\xbf\xf3\xb9\xe7\xfc\xce\x3d\
\xe7\xfc\x88\x23\x47\x8e\x60\xda\x38\x8e\x03\xc7\x71\x48\x4b\x4b\
\x43\x7e\x7e\x3e\x74\x3a\x1d\x78\x9e\x07\x45\x51\x20\x49\x12\x36\
\x9b\x0d\xbd\xbd\xbd\xb0\xdb\xed\xa0\x28\x0a\x06\x83\x01\xf3\xe6\
\xcd\x43\x7c\x7c\x3c\xfa\xfb\xfb\x89\x6d\xdb\xb6\x89\x3d\x3d\x3d\
\xa8\xa8\xa8\x40\x75\x75\x35\x02\x81\x00\x74\x3a\x1d\x46\x46\x46\
\x30\x34\x34\x84\x98\x98\x18\x74\x77\x77\x43\xab\xd5\x62\xc7\x8e\
\x1d\xb0\x58\x2c\x78\xee\xb9\xe7\x90\x9b\x9b\x8b\xb2\xb2\x32\xc4\
\xc5\xc5\x81\xc6\x6d\x46\xd3\x34\x68\x9a\x86\xd5\x6a\x85\xcd\x66\
\x43\x76\x76\x36\x72\x73\x73\xa1\x50\x28\xc0\x71\x1c\x92\x93\x93\
\xa1\xd5\x6a\x31\x38\x38\x88\xbe\xbe\x3e\x8c\x8f\x8f\xc3\xed\x76\
\x4b\x62\x63\x63\xe7\x29\x95\x4a\x51\x26\x93\xcd\x05\x70\x16\x00\
\x8b\x5f\x68\xf4\x9d\x1e\xca\x64\x32\x00\xc0\xf5\xeb\xd7\xd1\xd7\
\xd7\x87\xe2\xe2\x62\x18\x0c\x06\x08\x82\x00\x8a\xa2\x30\x77\xee\
\x5c\x64\x64\x64\xe0\xcc\x99\x33\x86\xd1\xd1\xd1\x15\xb5\xb5\xb5\
\x6b\x7b\x7b\x7b\x8b\x75\x3a\x9d\x9b\x20\x88\x6d\x72\xb9\x7c\x1b\
\x80\xab\x0f\x0c\xe8\x76\x30\x9b\xcd\x86\x89\x89\x09\x68\x34\x1a\
\xc8\x64\x32\x90\x24\x09\x92\x24\x41\xd3\x34\x2e\x5e\xbc\xf8\xd2\
\xd9\xb3\x67\x57\x0d\x0c\x0c\x18\x01\xc0\xed\x76\xcf\x92\x4a\xa5\
\x69\x83\x83\x83\xd5\x72\xb9\x7c\xb5\xdf\xef\xbf\x6f\x20\x92\x61\
\x18\x90\x24\xf9\x93\x17\x14\x45\xc1\xef\xf7\x23\x25\x25\x05\x85\
\x85\x85\x08\x06\x83\x08\x06\x83\x60\x18\x06\x14\x45\xa1\xb6\xb6\
\x76\xed\x81\x03\x07\xb6\x4c\xc3\x4c\x5b\x24\x12\xa1\x3e\xff\xfc\
\xf3\x8a\x96\x96\x96\x25\x34\x4d\xdf\x3f\x50\x53\x53\x13\x78\x9e\
\x47\x5c\x5c\xdc\xdf\xbd\x08\x87\xc3\x08\x04\x02\x58\xb4\x68\x11\
\x02\x81\xc0\x74\xe2\x62\xff\xfe\xfd\x70\x38\x1c\xb1\xfb\xf7\xef\
\x7f\x49\x14\x45\xe9\x4c\x81\x4f\x9f\x3e\xfd\xdb\xc4\xc4\x44\x90\
\x24\x09\x51\x14\x7f\xfe\x94\xd5\xd7\xd7\xe3\xfa\xf5\xeb\x58\xbc\
\x78\x31\xf2\xf3\xf3\x01\x00\x3c\xcf\x83\x20\x88\x59\x0b\x17\x2e\
\x9c\xcc\xce\xce\xc6\xf0\xf0\x30\xa4\x52\x29\x2c\x16\x0b\x1a\x1b\
\x1b\xc9\x9e\x9e\x9e\x7f\xec\xe9\xe9\x99\x0f\x80\x9c\x29\xb0\xdd\
\x6e\x9f\x23\x91\x48\xe0\xf3\xf9\x60\xb3\xd9\x40\x10\x04\x08\x82\
\x80\x44\x22\xb9\x3b\x90\xcb\xe5\x42\x57\x57\x17\x06\x07\x07\x61\
\x32\x99\xb0\x74\xe9\xd2\x74\x82\x20\x1e\x99\x98\x98\x30\xd4\xd5\
\xd5\x65\x86\xc3\xe1\x8f\xcb\xcb\xcb\xbf\x6c\x6e\x6e\x46\x52\x52\
\x12\x5e\x79\xe5\x15\xe2\xdc\xb9\x73\x46\x9a\xa6\xc9\x70\x38\x7c\
\xe7\xa0\x34\xcd\x25\x26\x26\x7a\x42\xa1\x90\xcc\x66\xb3\x85\x23\
\x91\x08\x12\x12\x12\x40\x51\x14\x5c\x2e\x57\x76\x56\x56\x16\x08\
\x82\x90\x02\x30\xff\x44\x4b\x10\x04\x02\x81\x00\x82\xc1\x20\x7c\
\x3e\x1f\x06\x06\x06\xfe\x83\xa6\xe9\xe5\x66\xb3\xd9\x08\x00\x17\
\x2e\x5c\xf8\xa7\x83\x07\x0f\xfe\x9b\x20\x08\xff\xdb\xdf\xdf\xcf\
\xd7\xd4\xd4\x08\x47\x8e\x1c\x29\x08\x04\x02\x31\x33\x7d\x25\xc7\
\x71\x74\x62\x62\xa2\x47\x2e\x97\x73\xe1\x70\x18\x0c\xc3\x80\x65\
\xd9\x9c\x77\xdf\x7d\x77\x87\xd3\xe9\xfc\x87\xc6\xc6\x46\x96\xe3\
\x38\x3d\x80\xd3\x04\x41\xfc\x27\x80\xa9\x1f\x80\x34\x1a\x0d\x26\
\x27\x27\x11\x8d\x46\x31\x35\x35\xf5\xcf\x2c\xcb\x6e\x8a\x46\xa3\
\xc4\xed\x1d\x54\x57\x57\xff\x6e\xfd\xfa\xf5\xe7\x14\x0a\x45\x9f\
\xd7\xeb\x65\xdc\x6e\x77\x1c\x41\x10\xa2\x28\x8a\xc4\x9d\x80\x54\
\x2a\xd5\xd4\x13\x4f\x3c\x71\xbe\xb3\xb3\x93\xd7\x6a\xb5\x38\x74\
\xe8\xd0\x4b\xc7\x8e\x1d\x7b\x75\x6c\x6c\x4c\x7f\x9b\x4e\x04\xb0\
\x0d\x00\xcd\xf3\xfc\x2b\x00\xc2\x00\x40\xce\x9f\x3f\x1f\x59\x59\
\x59\x88\x8f\x8f\x57\x48\xa5\xd2\x37\x7e\x0c\x03\x00\x0e\x87\x43\
\x37\x35\x35\xb5\x71\xeb\xd6\xad\x68\x6b\x6b\x0b\x18\x0c\x06\xeb\
\x4c\x30\x00\xf0\xe8\xa3\x8f\x5e\x72\x3a\x9d\x57\x4f\x9d\x3a\x95\
\xf0\xe9\xa7\x9f\xfe\xeb\xfb\xef\xbf\x5f\x6d\xb3\xd9\xf4\x00\x70\
\x9b\x8e\x00\x80\x86\x86\x86\xa7\x94\x4a\xa5\x41\x10\x84\x5b\xab\
\xec\x99\x67\x9e\x41\x59\x59\x19\xb1\x64\xc9\x92\x32\x85\x42\x91\
\x33\x53\x27\x56\xab\xb5\x38\x3e\x3e\x5e\x42\xd3\xb4\xa0\xd3\xe9\
\xae\xcc\xd4\x2e\x29\x29\xc9\x5d\x5a\x5a\xfa\x97\xaf\xbf\xfe\xda\
\x3b\x31\x31\x51\xf1\xd1\x47\x1f\x6d\xf1\x78\x3c\xca\x99\x56\x9a\
\xdd\x6e\x9f\x9d\x96\x96\x96\xa2\x52\xa9\x6e\x01\xe9\x74\x3a\xac\
\x5e\xbd\x9a\x2e\x2e\x2e\xce\x08\x06\x83\xa1\x99\x3a\xb2\xd9\x6c\
\xa9\x67\xcf\x9e\x4d\x22\x49\x12\x4a\xa5\xb2\xe1\xe1\x87\x1f\xee\
\xbf\xc3\x8f\x34\xfc\xe2\x8b\x2f\xfe\x91\xa2\xa8\xd3\x2c\xcb\xa6\
\x5b\xad\xd6\x7f\x31\x9b\xcd\xb9\x77\x5b\x55\x4a\xa5\xd2\x27\x97\
\xcb\x43\x31\x31\xb7\x52\x92\xfc\x3e\xfb\xa3\x7e\xbf\x5f\xc5\xb2\
\xec\x8c\x89\xca\xf3\x3c\x91\x99\x99\xc9\x05\x02\x01\x30\x0c\x63\
\xd3\xeb\xf5\xbf\x93\x4a\xa5\xac\x4c\x26\x8b\x02\x40\x41\x41\xc1\
\x95\x0d\x1b\x36\xfc\x79\xeb\xd6\xad\x7f\x90\x48\x24\x81\xb9\x73\
\xe7\x16\x9b\xcd\xe6\xb9\xd3\x53\x31\x93\xe5\xe6\xe6\x0e\x5b\x2c\
\x96\x90\xd9\x6c\x06\x45\x51\xa0\xf5\x7a\x3d\x78\x9e\x87\xcf\xe7\
\x23\xef\x26\xd4\x6a\xb5\xb6\x84\x84\x84\x40\x28\x14\xc2\xde\xbd\
\x7b\xc5\x82\x82\x82\x7a\xb3\xd9\x6c\xd9\xb3\x67\x4f\x95\xc9\x64\
\xfa\x56\x22\x91\x38\xca\xca\xca\xba\xb4\x5a\xad\x6d\xdd\xba\x75\
\x78\xfb\xed\xb7\x0b\x1d\x0e\x87\xe6\x6e\x31\x19\x86\x09\xa7\xa7\
\xa7\xb7\xb5\xb7\xb7\xf7\xf4\xf6\xf6\xc2\x6a\xb5\x82\x8e\x46\xa3\
\xa0\x28\x0a\x8f\x3c\xf2\x48\xe7\xa1\x43\x87\x66\x14\x17\x15\x15\
\x75\xa4\xa6\xa6\xb2\xb3\x66\xcd\xc2\xce\x9d\x3b\x61\x30\x18\x90\
\x95\x95\xd5\xf1\xf2\xcb\x2f\x77\x5c\xbb\x76\x2d\x26\x3f\x3f\x9f\
\xcd\xc8\xc8\x80\xcb\xe5\x42\x6c\x6c\xac\xbc\xb3\xb3\x33\x87\xe7\
\xf9\x19\x3f\x92\x24\x49\x31\x27\x27\x67\x44\x10\x84\x7a\xbb\xdd\
\xce\x7a\x3c\x1e\xf8\x7c\xbe\x5b\x7f\x5a\x89\x44\x82\xc5\x8b\x17\
\x37\x69\x34\x1a\xc7\x0c\xa3\xe3\xa8\xac\xac\xac\xf7\x7a\xbd\x22\
\x45\x51\x20\x08\x02\xa9\xa9\xa9\x68\x69\x69\xc1\x8d\x1b\x37\x90\
\x9e\x9e\xce\xa6\xa7\xa7\xa3\xa3\xa3\x03\x32\x99\x0c\xdf\x7c\xf3\
\x0d\x6f\x34\x1a\xfb\xef\x36\x3a\xe9\xe9\xe9\xd6\xa2\xa2\xa2\xa3\
\xa2\x28\x9e\x13\x45\x11\xc1\x60\x10\x4e\xa7\x13\xa4\x28\x8a\x88\
\x89\x89\xc1\x89\x13\x27\xdc\x55\x55\x55\x07\xee\x24\xde\xb2\x65\
\xcb\x1f\xe6\xcc\x99\x73\xfd\xdc\xb9\x73\xe8\xec\xec\x44\x73\x73\
\x33\xfa\xfa\xfa\x70\xe2\xc4\x09\xa8\xd5\x6a\x24\x27\x27\xe3\xe2\
\xc5\x8b\xe8\xea\xea\x42\x30\x18\xc4\xe0\xe0\x60\x74\xe5\xca\x95\
\x17\xa6\xf3\xeb\xc7\x96\x9a\x9a\x6a\x7d\xf5\xd5\x57\xff\xa7\xb0\
\xb0\xf0\x48\x6a\x6a\x2a\x12\x13\x13\x21\x8a\x22\xdc\x6e\x37\xa8\
\x5d\xbb\x76\xa1\xbf\xbf\x1f\x27\x4f\x9e\xc4\xc6\x8d\x1b\xdb\x94\
\x4a\xe5\x6c\xa7\xd3\x39\xcb\xe3\xf1\xa8\xf2\xf3\xf3\xaf\x56\x54\
\x54\x9c\xd9\xb5\x6b\xd7\x4e\x85\x42\x11\x3c\x7c\xf8\x30\x26\x26\
\x26\xb0\x60\xc1\x02\xe2\xda\xb5\x6b\xe0\x79\x1e\xe5\xe5\xe5\xf8\
\xf6\xdb\x6f\xe1\x72\xb9\x40\xd3\x34\x48\x92\xc4\xe4\xe4\x24\x2e\
\x5f\xbe\x3c\xa6\x56\xab\x67\x5b\x2c\x96\x05\x6a\xb5\x7a\xc2\xef\
\xf7\xc7\x65\x64\x64\x0c\x3c\xfe\xf8\xe3\xe7\x9f\x7d\xf6\xd9\xda\
\x17\x5e\x78\xe1\x38\x80\x49\x8d\x46\x83\xa1\xa1\x21\x8c\x8d\x8d\
\x41\x14\x45\xd0\x2c\xcb\xe2\xf8\xf1\xe3\x58\xb0\x60\x01\x02\x81\
\x40\x24\x36\x36\xf6\xed\x9d\x3b\x77\x36\x46\xa3\x51\x26\x27\x27\
\x67\x80\x65\xd9\x2b\xa2\x28\x4a\x2e\x5f\xbe\x9c\x35\x32\x32\x22\
\x09\x85\x42\x25\x8b\x16\x2d\xba\xd1\xd5\xd5\x65\x58\xb3\x66\x4d\
\x13\x4d\xd3\x36\x8f\xc7\x23\x46\x22\x91\xb0\x52\xa9\x44\x4c\x4c\
\x0c\x12\x13\x13\x71\xfe\xfc\xf9\xc0\xc1\x83\x07\x37\x3b\x1c\x8e\
\xaf\x4a\x4a\x4a\x7e\x63\xb3\xd9\xdc\x8f\x3d\xf6\xd8\x00\x80\x9e\
\xaa\xaa\xaa\x91\x4b\x97\x2e\xe1\xa1\x87\x1e\x92\x5c\xbd\x7a\x35\
\x3a\x3c\x3c\x0c\x96\x65\x51\x58\x58\x08\x5a\x2e\x97\xc3\x66\xb3\
\xe1\xe9\xa7\x9f\xc6\x57\x5f\x7d\x85\xa2\xa2\xa2\x91\xc4\xc4\xc4\
\x91\x65\xcb\x96\x61\x6c\x6c\x2c\xb6\xbe\xbe\x7e\xc9\xf1\xe3\xc7\
\x9f\xb6\x58\x2c\x86\xf6\xf6\xf6\xc5\xc9\xc9\xc9\x6c\x6d\x6d\x6d\
\x52\x5a\x5a\xda\x58\x5d\x5d\xdd\xef\xd7\xaf\x5f\x7f\x72\xe5\xca\
\x95\xa7\x35\x1a\xcd\xdf\x64\x32\xd9\xcd\xb4\xb4\x34\xb8\xdd\x6e\
\xac\x5d\xbb\x16\x0c\xc3\x20\x39\x39\xf9\xaf\x05\x05\x05\x7f\xdd\
\xb0\x61\x03\x82\xc1\x20\x04\x41\x90\x7e\xf0\xc1\x07\x99\xad\xad\
\xad\x8b\x9f\x7f\xfe\xf9\xe1\xf6\xf6\xf6\x78\x9f\xcf\xd7\x90\x90\
\x90\x20\x2e\x5f\xbe\x1c\x10\x45\x11\x4e\xa7\x13\x2e\x97\x0b\x83\
\x83\x83\x10\x45\x11\xc3\xc3\xc3\x74\x73\x73\xf3\x92\x15\x2b\x56\
\x9c\xcd\xce\xce\x1e\x8c\x89\x89\x09\x7e\xbf\xf7\xdc\xd1\x55\x2a\
\xd5\xcd\xed\xdb\xb7\x1f\x18\x1f\x1f\x57\xb8\x5c\x2e\xd4\xd4\xd4\
\xe0\x93\x4f\x3e\xc1\xd4\xd4\x14\x8e\x1e\x3d\x8a\x70\x38\x8c\xfe\
\xfe\x7e\xd5\x97\x5f\x7e\x59\xba\x7d\xfb\xf6\xfd\x09\x09\x09\xe3\
\x7a\xbd\xfe\x66\x52\x52\xd2\x44\x5e\x5e\x5e\xcf\xf2\xe5\xcb\x8f\
\xee\xde\xbd\x5b\x3d\x34\x34\x04\x04\x02\x01\x88\xa2\xf8\x83\x5b\
\xad\xd6\x94\xcd\x9b\x37\xef\xcb\xcc\xcc\xec\xa1\x28\x2a\x7a\x37\
\x90\x1f\x7b\x45\x45\xc5\xc9\xa6\xa6\xa6\xf8\xa7\x9e\x7a\x0a\x9b\
\x37\x6f\x86\xd7\xeb\x85\x28\x8a\xe0\x79\x9e\x7c\xe3\x8d\x37\x76\
\x99\x4c\xa6\xcb\x77\xd2\xc5\xc7\xc7\xfb\x0f\x1f\x3e\xbc\xcd\x62\
\xb1\x50\xe8\xee\xee\x86\xdd\x6e\x07\xc7\x71\xe4\xf9\xf3\xe7\x97\
\x56\x56\x56\xfe\x99\x61\x18\xef\xfd\x80\xdc\xe6\x42\x75\x75\xf5\
\x8b\x65\x65\x65\xb8\x76\xed\x1a\xba\xbb\xbb\xe1\x70\x38\x24\xef\
\xbc\xf3\xce\x8e\x7b\x69\x8b\x8b\x8b\x2f\x45\x22\x11\xe0\xe3\x8f\
\x3f\x46\x6b\x6b\x2b\x75\xe5\xca\x95\xac\x45\x8b\x16\x5d\x92\x4a\
\xa5\xec\x2f\x84\x11\x01\x88\x7a\xbd\xbe\xf7\xc3\x0f\x3f\x8c\xf7\
\x78\x3c\xb8\x7a\xf5\x2a\x1a\x1a\x1a\x56\xa8\xd5\xea\xf1\xbb\x69\
\x48\x92\x14\x57\xad\x5a\xd5\xd4\xd0\xd0\x20\xc1\x9e\x3d\x7b\x50\
\x57\x57\x67\xaa\xac\xac\xfc\xec\xd7\x80\x4c\xbb\x44\x22\x09\x5d\
\xb8\x70\xa1\x62\x70\x70\x10\x13\x13\x13\xd2\xb5\x6b\xd7\x1e\xbf\
\x97\x86\x24\x49\x51\xaf\xd7\x1f\x2b\x2e\x2e\x96\xe1\x8b\x2f\xbe\
\x90\xbf\xf6\xda\x6b\x7b\x62\x62\x62\xd8\x07\x01\x04\x40\xac\xaa\
\xaa\xaa\xf5\x7a\xbd\xb0\x5a\xad\xc9\x2a\x95\x6a\xfc\x5e\xed\x09\
\x82\xf0\x90\x24\x69\x92\xcb\xe5\x80\xcd\x66\x63\x4a\x4a\x4a\x9a\
\x1f\x14\xcc\xf7\xd3\xd6\x27\x8a\x22\xda\xda\xda\x8c\x04\x41\x44\
\xee\x02\x22\x30\x0c\x23\x32\x0c\xb3\xf7\x87\x3d\x6e\xf6\xec\xd9\
\x91\xc9\xc9\xc9\x38\x3c\x40\x23\x49\x92\x39\x73\xe6\x8c\x7a\x60\
\x60\xe0\xa6\xc9\x64\x32\xcf\xd4\x4e\xa1\x50\x04\x4a\x4b\x4b\x8f\
\xeb\xf5\xfa\xff\x4e\x4a\x4a\x82\x4c\x26\x03\xf5\xd6\x5b\x6f\xf1\
\x76\xbb\x3d\xbd\xbd\xbd\x7d\x11\xc7\x71\xe4\x83\x00\x12\x45\x51\
\x50\xa9\x54\x5f\xd3\x34\x3d\xb0\x62\xc5\x8a\xc0\xa9\x53\xa7\x56\
\x33\x0c\x13\x8d\x44\x22\x54\x5c\x5c\x9c\x10\x8d\x46\x89\xbc\xbc\
\xbc\x2b\x3b\x76\xec\xd8\xb7\x64\xc9\x92\x3f\x46\x22\x11\x9b\x5c\
\x2e\x07\xcf\xf3\xb7\xae\xd2\x1a\x8d\xe6\xa0\x46\xa3\xc9\x71\xb9\
\x5c\x4f\x8a\xa2\x18\x66\x59\x56\xf6\x6b\x80\x7c\x3e\x9f\xa2\xa8\
\xa8\x48\x91\x99\x99\x29\x14\x16\x16\xd6\xc9\xe5\x72\xcf\xbe\x7d\
\xfb\x9e\x59\xb6\x6c\x99\xbb\xb5\xb5\x55\xaf\xd3\xe9\x2e\x6c\xda\
\xb4\xe9\xff\x8c\x46\xe3\x90\x4c\x26\xf3\x6a\xb5\x5a\x74\x75\x75\
\xa1\xa3\xa3\xe3\x16\x50\x34\x1a\x1d\x15\x04\xa1\x42\x22\x91\x6c\
\x32\x99\x4c\xab\xe2\xe2\xe2\x62\x1b\x1b\x1b\x4b\x55\x2a\x55\xf0\
\xe6\xcd\x9b\x0c\xc7\x71\xf7\x75\x27\x26\x08\x42\xa0\x69\x9a\xca\
\xcd\xbd\x75\x7a\xf5\xfb\xfd\x67\x0c\x06\xc3\x99\x92\x92\x92\x39\
\xa1\x50\xe8\x3b\xa3\xd1\x48\x26\x25\x25\x09\x32\x99\x0c\x2c\xcb\
\xc2\x68\x34\x42\xaf\xd7\x23\x3b\x3b\xfb\xef\x8b\x0d\xa2\x28\xfe\
\x49\x10\x84\x4f\xd7\xac\x59\x93\xf1\xde\x7b\xef\x85\x76\xef\xde\
\x5d\x66\x34\x1a\xe9\xb6\xb6\xb6\xc5\x9f\x7d\xf6\xd9\x6a\x00\xd4\
\xcf\x05\x1a\x1d\x1d\x35\xc8\x64\x32\x70\x1c\x07\x97\xcb\x85\xf2\
\xf2\x72\x98\xcd\xe6\xef\x48\x92\x44\x72\x72\xb2\xa0\xd1\x68\x10\
\x0c\x06\x41\x10\x04\x58\x96\x05\x41\x10\x30\x99\x4c\x77\xbc\x0a\
\x7b\xbd\x5e\x6f\x77\x4a\x4a\x4a\xcf\xd2\xa5\x4b\x0f\xe4\xe7\xe7\
\xff\xe9\xe8\xd1\xa3\xeb\x2e\x5e\xbc\xb8\xbc\xb2\xb2\xf2\xe4\xcf\
\x01\xe2\x38\x4e\x2a\x91\x48\xa2\x04\x41\x40\x14\x45\x6c\xdf\xbe\
\x1d\xa3\xa3\xa3\x18\x1e\x1e\x46\x4a\x4a\x0a\x72\x72\x72\x10\x8d\
\x46\x41\x10\xc4\xed\x83\x81\x40\x20\x30\xf3\xdd\x3c\x14\x0a\x21\
\x18\x0c\x82\xa6\x69\xaf\xcf\xe7\x13\x4b\x4b\x4b\xff\x56\x5f\x5f\
\x5f\x55\x53\x53\xf3\xef\x0c\xc3\xdc\xb3\xce\x22\x93\xc9\x38\x9e\
\xe7\xc1\x71\x1c\x08\x82\x40\x79\x79\x39\x52\x53\x53\x31\x6f\xde\
\x3c\x28\x95\x4a\x70\x1c\x77\xe7\x15\x7a\xaf\xc0\x82\x20\x40\x14\
\x45\xf8\x7c\x3e\x8c\x8d\x8d\xc1\x64\x32\xfd\x7e\xcb\x96\x2d\x35\
\xf7\xd2\xcd\x99\x33\xc7\x3e\x5d\x95\x8b\x44\x22\x28\x28\x28\xc0\
\xeb\xaf\xbf\x8e\x82\x82\x82\xe9\x63\xc8\x2f\x03\xfa\xb1\x75\x74\
\x74\x70\x6b\xd6\xac\xd9\xbb\x6e\xdd\xba\x19\xa7\xcf\x64\x32\xf5\
\x4f\x4e\x4e\x8e\x34\x35\x35\xc1\x66\xb3\x41\x22\x91\x20\x1c\x0e\
\x83\xe7\xf9\x1f\x8e\xbc\x4a\xa5\x12\x82\x20\xfc\x04\xec\xbe\x2b\
\x4a\x52\xa9\x14\x0a\x85\x62\xea\xcd\x37\xdf\x7c\xc5\x6e\xb7\x67\
\xb5\xb4\xb4\xcc\xbf\x3d\xa8\x44\x22\x11\x93\x92\x92\xfa\x1a\x1a\
\x1a\x6e\xea\xf5\x7a\x0c\x0c\x0c\x20\x3f\x3f\x1f\x19\x19\x19\x50\
\xab\xd5\x88\x44\x22\x00\x00\xb5\x5a\x0d\x86\x61\xe0\x76\xbb\xc1\
\xb2\x2c\x48\x92\x04\x41\x10\xf7\x0f\x34\x5d\xad\xf5\xfb\xfd\xdf\
\xe9\x74\xba\x6d\x52\xa9\xf4\x50\x34\x1a\xcd\xa3\x69\x3a\x12\x0e\
\x87\xa5\x85\x85\x85\x37\x04\x41\x38\x66\xb7\xdb\xed\x5e\xaf\x17\
\xe3\xe3\xe3\xb0\xdb\xed\x30\x1a\x8d\xc8\xcb\xcb\x83\xc1\x60\x00\
\xc3\x30\x08\x87\xc3\x90\x4a\xa5\xd0\xe9\x74\xf0\xfb\xfd\xf0\x78\
\x3c\x88\x44\x22\xbf\x0c\xe8\xb6\xf2\x5d\x0b\x80\x85\x14\x45\xbd\
\xf6\xe4\x93\x4f\xe6\xb3\x2c\x3b\xb5\x71\xe3\xc6\xbf\x74\x74\x74\
\xb4\x9a\xcd\x66\x4c\x4d\x4d\x21\x12\x89\xc0\xe3\xf1\xc0\xe1\x70\
\x60\x6c\x6c\x0c\x39\x39\x39\xc8\xc9\xc9\x41\x6a\x6a\x2a\x48\x92\
\x44\x24\x12\x01\xc3\x30\x88\x8d\x8d\x85\xd7\xeb\xfd\x75\x40\xd3\
\xd5\x3f\x51\x14\xff\x4b\x22\x91\xcc\xde\xb4\x69\x93\x63\x72\x72\
\x52\xba\x70\xe1\xc2\x88\xc1\x60\x80\xd9\x6c\x46\x5f\x5f\x1f\xdc\
\x6e\x37\x42\xa1\x10\x9c\x4e\x27\x9c\x4e\x27\x2c\x16\x0b\xf2\xf2\
\xf2\x90\x95\x95\x05\xad\x56\x0b\x9e\xe7\x21\x08\x02\x66\xcd\x9a\
\x85\xff\x1f\x00\x22\x1e\x83\x11\xc8\x4f\x82\x09\x00\x00\x00\x00\
\x49\x45\x4e\x44\xae\x42\x60\x82\
\x00\x00\x11\x4b\
\x89\
\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
\x00\x00\x2c\x00\x00\x00\x32\x08\x06\x00\x00\x00\x27\x58\x39\xea\
\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x0b\x13\x00\x00\x0b\x13\
\x01\x00\x9a\x9c\x18\x00\x00\x00\x20\x63\x48\x52\x4d\x00\x00\x7a\
\x25\x00\x00\x80\x83\x00\x00\xf9\xff\x00\x00\x80\xe9\x00\x00\x75\
\x30\x00\x00\xea\x60\x00\x00\x3a\x98\x00\x00\x17\x6f\x92\x5f\xc5\
\x46\x00\x00\x10\xd1\x49\x44\x41\x54\x78\xda\xac\x98\x5b\x6c\x1c\
\xd7\x79\xc7\x7f\xe7\x32\x33\x7b\xe3\x2e\x6f\xa2\x68\xaa\x94\x1c\
\xc5\xa2\x75\xa1\x68\x45\x69\x62\xa9\x32\x6c\xa9\xb5\x61\x20\x70\
\x02\x03\x95\x03\x01\x79\x29\x90\xc6\x01\x02\x14\x01\x92\x97\xb4\
\x40\xde\xda\x87\x1a\x6e\x1d\x24\x2f\x8a\x6b\xc7\x80\x5b\x3b\x85\
\x82\x16\x88\x1f\x8c\x2a\x8e\xe3\x42\x6e\x24\x07\xb1\xab\xc8\x96\
\x2d\x33\x96\x68\x49\x94\x48\x8a\x12\x29\x2e\xf7\x3e\x97\x73\xfa\
\x30\x97\xdd\x15\x05\xa4\x40\x3b\x04\xc9\xd9\x73\x66\x76\xfe\xdf\
\x77\xfe\xdf\xff\xfb\x9f\x11\x42\x88\xc7\x73\xa3\x95\xbd\x4e\xd1\
\x1b\x00\xac\xb0\xd6\x02\x18\x2c\xc6\x1a\xa4\x94\x48\x21\x88\x4c\
\x44\x7a\x08\x91\x9d\x22\xa5\x44\xd0\x33\x20\xe2\x5f\xd1\xf3\x31\
\x3e\x6c\xef\x87\xbe\xcb\xe3\x2f\xe2\xae\x87\x00\xa4\x14\xc2\x44\
\x66\xad\x3a\x5f\x7d\x5b\x4b\x47\x8d\x4f\x1e\xde\x7b\x6c\x78\xcf\
\xb6\xfb\x2c\x46\x08\x63\x40\x80\x1f\xf9\x04\xc6\xc7\xd1\x0e\x9e\
\xe3\xd2\x0e\xda\x08\x22\xac\x00\x21\x41\x08\x8b\xc5\xe2\x28\x45\
\x4e\xbb\x28\xa5\x00\x8b\x90\x09\x60\x11\x03\x94\x80\x15\x02\x81\
\x45\xa6\x73\x98\x38\x68\x29\x10\xc2\x22\x2c\x08\xd5\x45\x28\xd2\
\x40\x64\xfc\x7d\xda\x53\xf8\xd5\xf6\xed\x5f\xff\xc3\xe9\x1b\x1a\
\x21\xa4\x5b\x74\x8b\xde\x90\x57\x31\x58\xda\xad\x06\x9e\x76\xf9\
\xe2\xbd\x0f\xb0\xeb\x9e\xed\x7c\xb4\x38\xcb\x27\x37\xaf\x70\x74\
\xe7\xe3\x0c\xe4\x8a\x58\x2c\x02\x8b\x56\x9a\x56\xd8\xe2\xc3\xa5\
\x8f\xb9\xb8\x72\x19\x84\xc5\xd1\x0e\x02\x9b\xac\x42\x2f\xc0\xf8\
\x1e\x21\xe3\x4c\x8a\x74\x95\x92\xc0\x05\xf4\x04\x0a\x24\x41\x90\
\x24\x47\xe7\x04\xca\x31\x42\x6a\xe9\x6a\xc0\x5a\x13\x85\xc2\xfa\
\x46\x12\xc9\x4e\x50\x43\xe0\x31\xbd\x79\x3b\x7f\xf1\xe0\x9f\xf3\
\x1f\x1f\xbd\xc5\xf5\xd5\x6b\x3c\x35\xf3\x38\x13\x83\xe3\x08\x6b\
\x01\x49\x64\x23\xea\x7e\x83\xdf\x0e\x6f\xe5\x5f\xde\x3d\xc1\xdc\
\xea\x65\x86\x4a\x95\x2e\x60\x0c\xd6\x82\x90\x02\xb0\xf1\xa8\x00\
\x61\x32\x82\x20\x0c\x58\x11\x07\x62\x4d\xb2\x6a\x49\x40\x46\x12\
\x3f\xcb\x82\x8d\x14\x36\x8c\x42\x81\x35\x1a\xc0\xca\x08\xd7\x81\
\x6d\xde\x26\x1a\x5e\x89\x85\x60\x8d\xb3\x8b\xe7\x18\x38\xe7\xf2\
\xe9\xca\x3c\x56\x44\xbc\x77\xed\x77\xcc\xad\x0e\x62\xac\x21\xb0\
\x11\x93\x83\xf7\xb0\x6b\x6c\x8a\xfb\xc7\xb6\x33\x3c\x50\xe6\x52\
\x35\x40\x29\x93\xf1\x5b\xa4\x5c\x96\xb6\xcb\x67\x95\xf2\xdf\x26\
\xfc\x4f\xb2\x29\xbb\xf7\xa4\xf7\x4b\x05\x22\xa9\x0e\x2d\x15\x51\
\x52\x2b\x3a\xfe\x22\x83\xd6\x82\xd1\x5c\x99\x01\x37\xc7\xed\x56\
\x9d\x85\xda\x22\xef\xcc\xbd\xc7\x7a\x50\xa3\x6d\x1a\xfc\xe4\xdd\
\x57\x90\x52\x61\x6c\x44\x23\xa8\x73\x78\xfb\x43\xfc\xd5\xa1\xa7\
\x63\x9e\x2a\x8b\x72\x2c\x52\x19\x84\x10\xd9\x52\xca\xac\x08\x6d\
\x17\x8c\xec\x9e\x67\x63\xa2\x4b\x93\xb4\x80\xa5\x4c\xcf\x05\x5a\
\x48\xb4\x8c\xa3\xd2\x42\x80\x56\x12\xb4\xe5\x8a\x5d\xa6\xda\x5c\
\x23\x24\xe2\x91\x6d\x07\x79\x6c\xc7\xc3\xbc\xbf\x74\x9e\x7f\xfd\
\xe0\xdf\x58\xf5\x1b\x31\x18\x0c\xb5\x4e\x95\x95\xd6\x32\xed\xb0\
\x93\xf0\xcf\xa0\xb4\x45\xea\x1e\x20\x69\x66\x93\x02\x8c\x0b\x35\
\xfe\x2c\x45\x17\x5c\x7c\xbd\xc8\x44\x24\x1d\x4b\xf5\x43\x00\x4a\
\x4a\x14\x32\xce\x36\x80\x52\x16\xa5\x0c\x2d\xdb\xa0\x16\xae\x93\
\xf3\x72\xdc\x3b\xb2\x85\xfd\x5b\x67\x88\xa4\x8f\xfe\x58\x30\xe2\
\x0d\xe0\x28\x0d\x58\x0a\xbe\x62\xb0\x38\x80\x96\x12\x3f\xb2\x48\
\x05\x4a\x83\xd2\x06\x21\x05\x22\x51\x05\x54\x22\x4b\x3d\x19\x44\
\x88\x58\x15\x04\x88\x04\x84\x48\x52\x2c\xd2\x9f\x04\x70\x3c\x67\
\x51\x42\xa2\x44\x46\x09\x8b\xd5\x06\x57\x0b\xf6\xc8\x7b\x59\x29\
\x96\xb9\xa6\x6e\xd2\xb0\x75\x8c\x35\x34\xc3\x16\x52\x46\xf1\xfa\
\x4a\xb0\xd6\x62\x45\x00\x32\xca\xaa\x5a\x29\x83\xd6\x71\x96\xd3\
\x4c\xa6\x00\x25\x5d\x2e\xa6\x64\x95\x42\x74\xaf\x41\xc4\x52\x89\
\xe8\xbf\x36\xcb\xb6\x44\x8b\x98\x16\xa4\x1c\x96\xc2\x22\xb4\xa1\
\x99\x6f\x51\xb7\x0d\xac\x09\x51\x42\x90\xb6\x10\x74\x14\xeb\xaa\
\x02\xac\x05\x1d\x62\x65\x88\xb5\x31\x1f\xa5\x06\xe9\x58\x94\x92\
\x09\x98\x3b\x1f\x1a\x9f\xc9\x6c\x5c\x64\x5a\x2b\xb2\xf3\x6e\xb5\
\x4a\x12\x9a\x24\x87\x12\x12\x19\x93\x3a\x06\xec\x2a\x89\xd0\x86\
\xcb\xc1\x35\x56\x83\x55\x8a\x6e\x1e\x57\x49\x94\x94\x4c\x0c\x4c\
\xf0\xc0\xf8\x0c\x81\xed\xe0\x48\x85\xc1\xd0\x31\x1d\x76\x8d\xde\
\x4f\xc9\x2b\xd2\x6c\xd6\x91\x52\xa2\xa5\xc2\x49\xbb\x9e\xe8\xe5\
\x63\x17\xba\x64\x63\x20\x19\x60\xd1\x1b\x0a\x3d\xc1\x91\x50\x22\
\x51\x8c\xf8\xaf\xc1\xd1\x92\xb1\xf6\x28\x25\xe1\x52\x77\x6b\x74\
\x44\x1b\x80\x1d\x23\x3b\xf8\xeb\x43\x7f\x93\x34\x8c\xae\xa6\xba\
\xd2\xc1\x51\x2e\xc6\xc4\x4d\xc1\x91\x12\x2d\xd4\x5d\x38\xd8\x03\
\x52\x80\x4c\x7b\xb0\x20\x0e\x20\xe1\x86\xec\xcd\xb3\xe8\xd2\x03\
\x04\x8e\xd4\x84\x22\x44\xa6\x19\x0e\xe9\x10\x8a\x16\x15\x2f\x8f\
\xeb\x5a\xd6\xec\x32\xbf\x5b\xfe\x2d\x6f\x5f\xfd\x0c\x93\x03\xdb\
\x30\x98\x4c\x3b\x41\x60\x85\xc5\x51\x2e\xad\xa0\xc5\x6f\x17\x7f\
\xcd\x52\x7d\x1e\x47\x6a\x22\x13\xf6\x78\x0d\xd1\x27\x55\xc2\x0a\
\x84\x04\x93\xb4\xba\x38\xf4\x24\x1c\x03\xa6\x87\x26\x08\x91\xa5\
\x07\x04\xd2\x58\x22\x1b\xc4\x6c\x4c\x5a\x09\x46\x77\xb8\xe6\x5c\
\x21\xf0\x43\x84\x6f\xb9\xba\x76\x89\x9f\x9c\x3f\x4e\x51\x97\xb2\
\xee\x45\x5a\xd9\x22\x16\xf3\xd0\x44\xd4\xfc\x2a\x7e\xd8\xc2\x93\
\x2e\xc6\x26\x80\x6d\xb7\x01\x58\x04\x12\x99\x2c\xb9\x88\x57\xca\
\xc4\xf3\x36\xad\x5a\xdb\x6f\x85\x44\x6f\x07\x41\x80\x15\x60\x63\
\xf3\xa5\xb5\xd4\x7c\xe1\x9e\x2f\xb2\x77\xcb\x34\xd7\x16\xe7\x91\
\xc2\x61\x72\x72\x0b\x48\x4b\xb5\x5d\xc5\x60\x92\xa5\x4b\x2a\x9c\
\xae\x6c\x09\x04\x9e\xce\x91\xd7\x05\x94\x90\x64\x06\x20\x91\x32\
\x9b\x70\x11\x12\x93\x23\x04\x58\x99\x65\xde\x26\xca\xd0\x0d\x4d\
\x74\x33\x2f\xba\x73\x6e\xde\xa5\x5a\xac\x72\xd2\x7b\x17\xad\xa5\
\xc3\xa1\xc9\xc3\xfc\xd9\xb6\x3f\xe5\xe3\xda\x2c\x9e\xca\x31\x75\
\xdf\x0e\xdc\xbc\x4b\x14\x46\x3d\x81\x66\xeb\xd8\x53\x20\x49\x02\
\xd8\xe8\x1c\x45\xcf\xb8\xed\xb5\xa4\x7d\x17\x27\x7a\x4d\xef\x64\
\x8f\xe9\xb4\xb1\x23\x54\x5a\x73\x33\xb7\xcc\xa0\xf7\x22\x5a\x20\
\x28\xc8\x22\x63\xc5\xcd\x94\x76\x57\x30\x61\x44\x31\x57\x8c\x0d\
\x89\x06\x8b\xc9\x9e\x26\x65\x5c\x60\xbd\x99\xa4\xef\x54\x60\xad\
\xec\x33\xb3\x22\x31\x40\xb1\x44\xf6\x02\xb2\x58\x0b\x32\x99\x8b\
\x8b\x3a\xc3\x99\x74\xcb\xae\xb1\x2e\xa8\x32\x4a\x3a\x71\xd1\x35\
\xfd\x26\x9d\xa8\x83\xc8\x43\x14\x84\xd4\xfc\x75\xea\xf5\x06\xf5\
\x7a\x3d\xb9\x51\x22\x05\x18\x2b\x89\xac\xca\xba\x12\x3d\x5d\x0a\
\x40\xcb\x08\x95\x70\xd0\xf6\x48\x55\xb2\x27\x48\x9c\x5b\xf7\x5e\
\x6b\x6d\xa2\xe5\xa2\xef\x3b\x8d\x31\x58\x6b\x29\x16\x8b\x0c\x0e\
\x0e\xe2\x38\x0e\x91\x0d\x31\xd6\x24\x3a\xec\x38\x84\x51\xc4\xfb\
\xe7\xce\x51\x2c\x16\xb9\xf7\x33\x9f\xa1\xd9\x6c\x72\xf3\xc6\x0d\
\xf2\x85\x02\x5a\x2b\xa4\x12\xac\x34\xf3\x5c\x6d\x55\x70\xb5\x44\
\x09\x8b\xb1\xa0\x24\xf8\xa1\xc4\x98\x90\x2d\xb9\x15\x36\x17\x5a\
\x44\x56\x66\x80\xad\xb5\xd4\xeb\x75\x94\x52\xe4\xf3\xf9\x6c\x2c\
\xfd\x5f\xab\xd5\x70\x1c\x87\x5c\x2e\xd7\x65\xb3\xb5\xb4\x5a\x2d\
\xca\xe5\x32\xe5\x72\xb9\x8f\x6a\x3a\xbd\x40\x0a\x41\xa5\x52\xc1\
\xf3\x3c\xb0\x16\x61\x2d\xf9\x7c\x9e\x81\x81\x12\x4a\x49\xb4\x12\
\xd4\x45\x09\xcd\x30\x9e\x2b\x50\x12\x22\x0b\x5a\x02\x11\x84\xbe\
\x8f\xe3\xb6\xc9\xe5\x2d\x91\xe9\x02\x36\xc6\xe0\xfb\x3e\x4a\x29\
\x72\xb9\x1c\x52\x4a\x8c\x31\x19\xe0\x4e\xa7\x83\xe3\x38\xe4\xf3\
\xf9\x0c\x6c\x3a\xa7\x94\xca\x56\xa7\x0f\x70\x18\x86\x28\xa5\x98\
\xda\xb9\x13\x13\x19\x3a\xed\x16\x61\xe8\x63\xc2\x80\xd0\xef\x80\
\x96\x08\x23\x31\x51\x80\x14\x06\x29\x54\x57\x05\x00\x25\x20\x14\
\x96\x8e\xdf\xa1\xd1\x68\x60\xac\xea\xa3\x84\xef\xfb\xd9\xb9\x94\
\xb2\x4b\x83\x64\xce\x18\xd3\x07\xca\x5a\x4b\xbb\xdd\xc6\x75\xdd\
\x0d\x7b\xbc\xc4\xad\x29\x8c\x31\xcc\x5f\xb9\x42\x4e\x0b\x2a\x23\
\x9b\xe8\x38\xa3\x5c\x6f\x0b\x9c\x20\xee\xe3\xa1\x31\xd4\x42\xc1\
\xc0\xb0\x65\xb8\x10\x7b\x0b\x6b\x41\x69\x45\x27\x80\x46\x50\xc7\
\x31\x4d\x1c\xd7\x05\x54\x2c\x59\x52\x12\x45\x11\x5a\xeb\x0d\x19\
\x4e\xff\x3b\x8e\x93\xcd\xdd\x99\x61\x29\xe5\xdd\x01\xa7\x37\x2f\
\x2e\x2c\x52\x29\x38\x94\x07\x37\x61\xbd\x51\xa2\xf2\x20\xda\xb1\
\xf8\x91\xa0\x1d\x5a\xda\x1d\xc9\x81\x2d\x92\xf1\x72\x4f\xfb\x15\
\xd0\x69\x77\xb8\x9d\x6b\xa2\xa8\x30\xb6\x79\x73\x9f\x71\x89\xa2\
\x88\xb5\xb5\x35\x1c\xc7\xa1\x54\x2a\xf5\x81\x88\xa2\x88\xd5\xd5\
\x55\x72\xb9\x1c\xa5\x52\xa9\xef\xbe\x5a\xad\x46\xab\xd5\xda\x90\
\x7d\x9d\xde\xa8\x94\x62\x66\xef\x34\x5a\x46\x18\x21\x68\x87\x02\
\x5f\x78\x00\x04\x06\xda\x06\x5a\x06\xc2\xa0\x85\x08\x03\x24\x12\
\x63\x05\x52\x2b\x08\x1a\x18\xbf\x89\x93\x2b\xc4\xdd\x2c\x55\x05\
\xd1\xad\xfa\x28\x8a\xb2\xb1\xde\xf9\x54\x11\x7a\x8f\x34\xa8\x54\
\x45\x36\x00\xee\x95\x1f\x63\x05\x52\x82\x8c\x9a\xd8\x96\xc0\x68\
\x85\x06\x72\x56\x60\x6c\xc8\xcd\x1b\x37\x51\xf5\x0e\x20\x88\xac\
\xc0\x75\x1d\xc2\x30\xe4\xda\xb5\x25\x6a\xb5\x75\x76\xef\xde\x4d\
\xa1\x50\xe8\x5b\xf6\xb5\xb5\xb5\x8c\x1e\x4a\x29\xc2\x30\xcc\x40\
\x55\xab\x55\x9a\xcd\x26\x41\x10\x64\x18\x94\x52\xac\xaf\xaf\xc7\
\xdd\xee\x0e\x5a\xf4\x71\xf8\xc2\x85\x8f\x29\x15\x0b\x6c\xdf\xbe\
\x9d\x21\xbd\xce\x66\xb1\x46\xc1\x2b\xe2\x68\x89\xd4\x8a\x46\xa3\
\xce\xa0\x27\x28\x14\x4a\x08\x29\x88\x8c\xc5\x71\x1c\x00\x72\xb9\
\x5b\x2c\x2f\xb7\x50\x4a\x51\x28\x14\x88\xa2\x28\x03\xe9\xba\x6e\
\xa6\x04\xe9\x58\x5a\x7c\x8e\xe3\xe0\x79\x1e\x9e\xe7\xf5\x15\x64\
\x2e\x97\xcb\x56\xe5\xae\x94\x00\x18\x1a\x1a\x24\x97\x2f\x60\x01\
\xc7\x34\xd8\xe4\x56\x19\xc8\x5b\xb4\x56\x68\x57\xb3\x1e\xd6\x18\
\x1e\xd9\xc2\xe8\xa6\x71\x84\x20\xcb\xa2\xb5\x96\x30\x0c\x19\x19\
\x19\x61\xcb\x96\x2d\x59\x10\x29\x1d\x82\x20\xc0\xf3\x3c\x86\x86\
\x86\x36\x00\x08\xc3\x90\x4a\xa5\xb2\x41\x11\x1c\xc7\xa1\x5a\xad\
\xde\x9d\x12\xc6\x18\xb4\xd6\x4c\xed\xd8\x81\x05\xda\x9d\x0e\x1d\
\xdf\xd0\xf4\x81\x66\x80\x72\x40\xf9\x96\x7a\xcb\xe2\x36\xdb\xb8\
\xeb\xd5\x3e\x05\x08\x82\x80\x20\x08\x18\x18\x18\xc0\xf7\x7d\x5a\
\xad\x56\xc6\xc5\x28\x8a\x68\xb5\x5a\x04\x41\x90\xa9\x45\x9a\x61\
\xa5\x14\xb5\x5a\x8d\x5b\xb7\x6e\x51\xa9\x54\x28\x97\xcb\x19\x0d\
\xd6\xd7\xd7\x33\x9a\x6c\x00\xac\xb5\xc6\x18\xc3\xe5\xf9\x79\x1c\
\xcf\x63\x64\x64\x04\xa9\x24\xad\x76\x1b\x93\x2c\x9b\x10\x82\x76\
\xbb\x4d\x6d\x7d\x3d\xdb\x06\xa5\x80\xc3\x30\xa4\x56\xab\x21\xa5\
\xa4\xd3\xe9\x74\xcd\x51\x72\x4d\xad\x56\xcb\x9a\x40\xaf\x64\xad\
\xaf\xaf\x73\xf2\xe4\x49\xde\x7c\xf3\x4d\xee\xb9\xe7\x1e\xbe\xf1\
\x8d\x6f\x30\x39\x39\x49\x18\x86\xd4\xeb\xf5\xec\xb9\x77\x2d\xba\
\x30\x0c\x99\xbf\x76\x8d\x72\xa5\xc2\xd0\xf0\x30\xae\xeb\x52\x2e\
\x97\x19\x18\x18\x40\x29\x85\xd6\x9a\x6a\xb5\xca\xe6\xcd\x9b\x19\
\x19\x19\xc9\x00\x48\x29\xf1\x7d\x9f\xd5\xd5\x55\x84\x10\x8c\x8e\
\x8e\xf6\x71\x31\x0c\x43\x5c\xd7\xc5\x75\x5d\x86\x86\x86\x92\x77\
\x70\xb1\x6c\x9d\x38\x71\x82\xef\x7f\xff\xfb\x34\x9b\x4d\x72\xb9\
\x1c\x47\x8e\x1c\x61\xff\xfe\xfd\xd9\xb3\x6a\xb5\xda\x06\x59\x93\
\x00\x41\x10\xe0\x38\x0e\x07\x0f\x1e\x64\x7a\x7a\x1a\x29\x44\x5f\
\x77\xea\x35\x30\xa9\xd4\x58\x6b\x33\x49\xea\xe5\x59\xef\x78\xaf\
\x44\x75\x3a\x1d\xc2\x30\xcc\xae\x9b\x9d\x9d\xe5\x87\x3f\xfc\x21\
\xcd\x66\x13\x80\x76\xbb\xcd\x99\x33\x67\xb8\x79\xf3\x66\xdf\x7d\
\x77\xd5\xe1\x34\xcb\xed\x76\x3b\xde\x50\x26\x14\xa9\x56\xab\xb4\
\xdb\x6d\xb4\xd6\x48\x29\x69\xb5\x5a\x99\x31\xe9\xa5\x44\x14\x45\
\x89\xb3\x8b\xbf\x23\x0d\xc2\x71\x1c\xa2\x28\xe2\xcd\x37\xdf\xe4\
\x57\xbf\xfa\x15\x5b\xb7\x6e\xe5\xe8\xd1\xa3\x6c\xdb\xb6\x8d\xf3\
\xe7\xcf\xb3\xbc\xbc\xbc\x81\xa3\x8d\x46\x83\x85\x85\x05\xce\x9e\
\x3d\xcb\xf9\xf3\xe7\x19\x19\x19\xe1\xc9\x27\x9f\x44\x6b\x8d\x10\
\xc9\x36\xdf\x71\x1c\x82\x20\xe0\xbf\xcf\x9e\xa5\x52\x2e\x33\x35\
\x35\x85\xe7\x79\xe4\xf3\x79\x4a\xa5\x12\x4a\x29\x94\x52\x48\x29\
\x19\x1a\x1a\x62\x78\x78\x38\x2b\xa8\xf4\xde\x74\x7e\x74\x74\xb4\
\xaf\x01\xbc\xf5\xd6\x5b\x3c\xff\xfc\xf3\xbc\xff\xfe\xfb\xe4\x72\
\x39\x3c\xcf\xe3\xbb\xdf\xfd\x2e\xe5\x72\xb9\x2f\xe3\x5a\x6b\x8e\
\x1c\x39\xc2\xd8\xd8\x18\x2f\xbc\xf0\x02\x2f\xbc\xf0\x02\x2b\x2b\
\x2b\x0c\x0d\x0d\xd1\x6a\xb5\x38\x7a\xf4\x68\xfc\xae\x1a\xc0\x1a\
\x83\x52\x8a\xcf\x7e\xf6\xb3\x6c\xf9\xa3\x3f\xca\x04\xdf\x75\xdd\
\x4c\x23\x3d\xcf\xc3\x75\x5d\xf2\xf9\x3c\xc5\x62\x91\x42\xa1\x40\
\xa9\x54\x22\x97\xcb\x51\x28\x14\xc8\xe5\x72\xe4\x72\x39\xf2\xf9\
\x7c\xf6\xeb\xba\x2e\xe7\xce\x9d\x63\x76\x76\x96\x56\xab\xc5\xed\
\xdb\xb7\x39\x7d\xfa\x34\xb5\x5a\x8d\x5d\xbb\x76\x51\x2a\x95\x32\
\xc0\x4f\x3d\xf5\x14\x0f\x3c\xf0\x00\x3f\xff\xf9\xcf\x79\xfe\xf9\
\xe7\xb9\x70\xe1\x02\xcb\xcb\xcb\xcc\xce\xce\x72\xfa\xf4\x69\x8c\
\x31\xc2\x75\x5d\x1d\xeb\x70\x22\x6b\x13\x13\x13\x88\x84\xd3\xa9\
\x1c\xa5\x4b\x2b\xa5\xa4\xd1\x68\x50\xad\x56\xfb\x5a\x6c\xaf\x4a\
\x64\x6f\xe4\x13\x69\xf2\x7d\x9f\xc5\xc5\xc5\x3e\x1e\x5e\xbf\x7e\
\x9d\x2b\x57\xae\x70\xdf\x7d\xf7\xf1\xb5\xaf\x7d\x8d\x33\x67\xce\
\x30\x35\x35\xc5\xb7\xbf\xfd\x6d\x56\x57\x57\x79\xf1\xc5\x17\x99\
\x9d\x9d\xcd\xae\xf7\x3c\x2f\xd5\x76\xa7\xdd\x6e\xd7\xb3\x4e\x17\
\x04\x01\x97\x2e\x5d\xa2\x50\x28\x30\x3e\x3e\x9e\x2d\x79\xda\x46\
\x8d\x31\x18\x63\x08\xc3\x30\x5b\xca\x94\xab\xbd\x63\xa9\x76\x4a\
\x19\xbb\xbc\xb1\xb1\x31\xb4\xce\x4a\x85\xed\xdb\xb7\x53\x2c\x16\
\x71\x5d\x97\x6f\x7d\xeb\x5b\x1c\x39\x72\x84\x2d\x5b\xb6\x30\x33\
\x33\xc3\x2f\x7e\xf1\x0b\xe6\xe6\xe6\xfa\x38\xfd\xf9\xcf\x7f\x9e\
\x23\x47\x8e\x70\xf2\xe4\xc9\xff\x9c\x9b\x9b\xfb\x50\xf7\x66\xab\
\xd1\x68\x64\x92\xa4\x94\xa2\x58\x2c\xf6\x71\x58\x29\xc5\xf0\xf0\
\x30\x83\x83\x83\xd9\x75\x69\x26\xd3\xcc\x0e\x0f\x0f\xc7\xbb\x6a\
\x21\x50\x4a\xf1\xd8\x63\x8f\x71\xf2\xe4\x49\xde\x7d\xf7\x5d\x66\
\x66\x66\x78\xfa\xe9\xa7\xd9\xbb\x77\x2f\xd6\x5a\x76\xec\xd8\x41\
\x3e\x9f\xa7\xd3\xf1\xb9\x7e\x7d\x81\x4e\xa7\xc3\xc0\xc0\x00\x00\
\xc5\x62\x91\x7d\xfb\xf6\xf1\xd5\xaf\x7e\x35\x58\x5c\x5c\xfc\xaf\
\x67\x9e\x79\xe6\xef\x96\x96\x96\x66\x33\x03\xef\xba\x2e\x9f\xfb\
\xdc\xe7\x40\x08\x4c\x92\xd9\x5e\x29\xeb\xcd\x68\x14\x45\xd9\x58\
\xaf\x13\xbb\x53\x86\x82\x20\x60\xef\xde\xbd\x1c\x3b\x76\x8c\xed\
\xdb\xb7\xf3\xa5\x2f\x7d\x89\x43\x87\x0e\x71\xf9\xf2\xe5\xcc\xf4\
\x2c\x2f\x2f\x27\xd4\x8a\x9b\xc4\xe1\xc3\x87\x19\x1f\x1f\xe7\xfe\
\xfb\xef\xe7\x2b\x5f\xf9\x4a\x64\x8c\xf9\xf0\xb9\xe7\x9e\xfb\xc7\
\xeb\xd7\xaf\x9f\x99\x98\x98\xe8\x36\x8e\x28\x8a\xe2\x4c\x29\x85\
\x4e\xcc\xd0\xfa\xfa\x3a\xed\x76\x3b\xeb\x38\x9d\x4e\x07\x6b\x2d\
\xcd\x66\x33\xb3\x86\xbd\x1c\x4e\x65\x2d\x05\x9e\xea\xf8\xc3\x0f\
\x3f\xcc\x83\x0f\x3e\x48\xad\x56\xe3\xc7\x3f\xfe\x31\xbf\xfc\xe5\
\x2f\xa9\xd5\x6a\x94\xcb\x65\xf6\xec\xd9\xc3\xee\xdd\xbb\xd9\xb6\
\x6d\x1b\xdb\xb6\xed\xe4\xc0\x81\x03\x99\xff\x38\x7f\xfe\x7c\xe3\
\xb5\xd7\x5e\xfb\x3d\xa0\x8f\x1d\x3b\x56\xa9\x54\x2a\xeb\x99\xac\
\xf9\xbe\xcf\x6f\x7e\xf3\x1b\xca\xe5\x32\xd3\xd3\xd3\xc9\x7e\x6e\
\x80\x62\xb1\x98\xe9\x70\xbd\x5e\x67\x74\x74\x94\xd1\xd1\xd1\x2c\
\x48\xd7\x75\x09\x82\x80\x95\x95\x15\x84\x10\x8c\x8d\x8d\x65\xcd\
\x23\xad\x8f\x8b\x17\x2f\xf2\xb3\x9f\xfd\x8c\x97\x5f\x7e\x99\x85\
\x85\x85\x3e\x8e\xbe\xfd\xf6\xdb\x3c\xfe\xf8\xe3\xfc\xe0\x07\x3f\
\x60\x72\x72\x92\x4e\xa7\xc3\xd2\xd2\x12\x3f\xfd\xe9\x4f\xed\xf1\
\xe3\xc7\xbd\x85\x85\x85\xa7\xc6\xc6\xc6\x1e\xdd\xb1\x63\xc7\x73\
\x8d\x46\xe3\x59\xe5\x79\xde\xbe\x27\x9e\x78\xe2\x4f\xf6\xee\xdd\
\xbb\x69\x64\x64\x44\x6c\xda\xb4\x29\x73\x4a\x9d\x4e\x87\x5c\x2e\
\x97\xf1\x37\x08\x82\xac\x5d\x6b\xad\xb3\x40\xd2\xcd\xa4\x52\xaa\
\x8f\xf3\x5a\x6b\x3e\xf9\xe4\x13\xbe\xf3\x9d\xef\xf0\xca\x2b\xaf\
\xb0\xbe\xbe\xbe\xa1\x51\x44\x51\xc4\xa7\x9f\x7e\x8a\x94\x92\x7d\
\xfb\xf6\x51\xab\xd5\x78\xf6\xd9\x67\x39\x7e\xfc\xb8\x58\x59\x59\
\xd1\x80\xb0\xd6\xba\x61\x18\xda\xd5\xd5\xd5\x7f\xd7\xbd\x37\x57\
\x2a\x15\x84\x10\x99\xfb\x6a\x36\x9b\x99\x74\x09\x21\x68\x36\x9b\
\x99\xac\xa5\xca\x91\xba\xb5\x6a\xb5\x9a\x15\x5b\xea\x23\xae\x5e\
\xbd\xca\xf7\xbe\xf7\x3d\x4e\x9d\x3a\x75\x57\xe7\x95\x1e\xbe\xef\
\xf3\xda\x6b\xaf\xf1\xf5\xaf\x7f\x9d\xcb\x97\x2f\x73\xea\xd4\xa9\
\xbe\xe0\x9a\xcd\x66\x70\xf1\xe2\xc5\x0f\x94\x52\x7e\xb6\xa7\x0b\
\x82\x80\x0b\x17\x2e\x50\x2c\x16\x99\x9c\x9c\xa4\x54\x2a\x61\xad\
\xcd\x2c\x9f\xb5\x96\xb5\xb5\xb5\x3e\x2f\x71\xe7\x4e\xb7\xb7\xcd\
\x03\x5c\xba\x74\x89\x73\xe7\xce\xe1\xfb\x3e\x7f\xe8\x58\x5a\x5a\
\xe2\xbd\xf7\xde\xbb\x79\xf9\xf2\xe5\x4f\x17\x17\x17\x77\x00\x43\
\x69\x07\x1c\x1f\x1f\x3f\xe3\xfb\xfe\x3f\x75\x3a\x9d\x76\x56\x74\
\x42\x88\x6c\x67\x90\x66\x6e\x7c\x7c\x9c\xc1\xc1\xc1\x8c\x93\x69\
\xa6\x2b\x95\x4a\xe6\xba\xd2\x15\xb9\x53\xd6\x00\x76\xee\xdc\xc9\
\xd6\xad\x5b\xb9\x75\xeb\xd6\x86\x00\xef\x96\xe5\xd7\x5f\x7f\xfd\
\x6d\xa5\xd4\x4b\x53\x53\x53\x4f\x5c\xbd\x7a\xf5\xc9\x52\xa9\xb4\
\xfa\xe8\xa3\x8f\xbe\xa5\x94\xfa\xe7\x57\x5f\x7d\xf5\x42\xe6\x25\
\xd2\xbd\xd6\xae\x5d\xbb\x32\x93\x93\x9a\xee\xde\x65\xae\xd7\xeb\
\x68\xad\xfb\xb6\x33\xe9\xea\xa4\x86\x28\x75\x5f\x00\x13\x13\x13\
\x7c\xf3\x9b\xdf\xe4\xcc\x99\x33\x2c\x2c\x2c\xb0\xb6\xb6\xc6\xc2\
\xc2\x02\xf3\xf3\xf3\x1b\x00\x4b\x29\xf9\xe8\xa3\x8f\xae\x6f\xde\
\xbc\xf9\xcc\xc1\x83\x07\x67\xa7\xa7\xa7\xdf\xa8\xd7\xeb\xeb\x33\
\x33\x33\x1f\xb6\x5a\xad\x85\xb4\x31\xf5\xc9\xda\xad\x5b\xb7\x50\
\x4a\x51\xa9\x54\x28\x14\x0a\x99\x1f\x4d\xad\x5e\xaa\xb7\xa9\x84\
\xa5\x59\x4f\xb5\x58\x08\x41\xbd\x5e\xcf\xec\xa5\x52\x8a\x2f\x7f\
\xf9\xcb\x1c\x38\x70\x80\xdb\xb7\x6f\xe3\xfb\x3e\x73\x73\x73\xbc\
\xf1\xc6\x1b\x9c\x3a\x75\xaa\xcf\xad\x09\x21\xd0\x5a\x17\x82\x20\
\xc8\x8d\x8c\x8c\x7c\x32\x31\x31\xf1\xc9\xc5\x8b\x17\xb3\x6d\x52\
\x66\x05\x00\x91\x6e\x42\xe7\xe6\xe6\xf0\x3c\x8f\x99\x99\x19\x36\
\x6d\xda\x44\x2e\x97\xeb\x7b\xa1\x31\x38\x38\x98\x01\xed\x7d\x90\
\x10\x22\xa3\x4e\x6f\xf3\x48\xed\xe7\xd0\xd0\x50\xe6\x2f\x1e\x7a\
\xe8\x21\x0e\x1d\x3a\xc4\xcb\x2f\xbf\xcc\x8f\x7e\xf4\xa3\x6c\x3b\
\x15\x04\x01\xe3\xe3\xe3\xb6\x58\x2c\x8a\x74\xe7\x12\x86\x61\xdf\
\x6b\x81\x34\xc3\x46\x29\xa5\x0b\x85\x82\x9c\x9e\x9e\x46\x08\x11\
\xbf\x5f\x83\x0d\x2f\xe2\xfe\x2f\x47\xda\x98\x1c\xc7\x61\x62\x62\
\x62\x6d\xcf\x9e\x3d\x1f\xec\xdf\xbf\x5f\xbd\xf3\xce\x3b\x5f\x88\
\xa2\xc8\xf1\x3c\x2f\x1c\x1c\x1c\x9c\x1d\x1a\x1a\xaa\x85\x61\x98\
\x51\x6c\xc3\x9e\xce\x5a\xbb\xb6\xb2\xb2\x72\x6b\x7e\x7e\x7e\x25\
\x7d\x5d\xb4\xb4\xb4\xf4\x07\x8b\xe4\x7f\x73\xf4\x3e\xd0\x98\x08\
\xad\x1d\xd1\x6e\xb7\xc3\x57\x5f\x7d\xf5\xf5\x13\x27\x4e\xfc\xfd\
\xe1\xc3\x87\xf3\x1f\x7c\xf0\xc1\xdf\x2a\xa5\xfe\x78\xf7\xee\xdd\
\x67\x8d\x31\x6f\xd4\x6a\xb5\xea\xca\xca\x0a\x5a\xeb\x3e\xfb\x99\
\x01\x6e\xb5\x5a\xbf\x7f\xe6\x99\x67\x9e\x7b\xe9\xa5\x97\x2a\x42\
\x08\x6b\x13\xa4\xff\x1f\x80\xef\x38\xac\xeb\xba\xba\xd9\x6c\xae\
\x5e\xb8\x70\xe1\x6c\x3e\x9f\xbf\x62\x8c\x91\x5a\xeb\xbf\x9c\x99\
\x99\x99\x79\xe4\x91\x47\x2e\xde\xb8\x71\xe3\x4a\xa3\xd1\xc8\x76\
\xd7\x77\x3b\xfe\x67\x00\x18\x7d\x83\xf6\xc5\x2b\x17\x8a\x00\x00\
\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
"
qt_resource_name = b"\
\x00\x07\
\x07\x3b\xe0\xb3\
\x00\x70\
\x00\x6c\x00\x75\x00\x67\x00\x69\x00\x6e\x00\x73\
\x00\x05\
\x00\x79\xf9\xbe\
\x00\x73\
\x00\x69\x00\x63\x00\x65\x00\x6e\
\x00\x09\
\x09\xc1\xa4\xa7\
\x00\x73\
\x00\x69\x00\x63\x00\x65\x00\x6e\x00\x2e\x00\x70\x00\x6e\x00\x67\
\x00\x10\
\x0e\x02\xb7\xc7\
\x00\x73\
\x00\x69\x00\x63\x00\x65\x00\x6e\x00\x5f\x00\x65\x00\x78\x00\x70\x00\x6f\x00\x72\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
"
qt_resource_struct_v1 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\
\x00\x00\x00\x14\x00\x02\x00\x00\x00\x02\x00\x00\x00\x03\
\x00\x00\x00\x24\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x8d\
"
qt_resource_struct_v2 = b"\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x01\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x00\x00\x02\x00\x00\x00\x01\x00\x00\x00\x02\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x14\x00\x02\x00\x00\x00\x02\x00\x00\x00\x03\
\x00\x00\x00\x00\x00\x00\x00\x00\
\x00\x00\x00\x24\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
\x00\x00\x01\x93\xd9\x34\x83\xf1\
\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x01\x00\x00\x0d\x8d\
\x00\x00\x01\x93\xd9\x34\x83\xf5\
"
qt_version = [int(v) for v in QtCore.qVersion().split('.')]
if qt_version < [5, 8, 0]:
rcc_version = 1
qt_resource_struct = qt_resource_struct_v1
else:
rcc_version = 2
qt_resource_struct = qt_resource_struct_v2
def qInitResources():
QtCore.qRegisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
def qCleanupResources():
QtCore.qUnregisterResourceData(rcc_version, qt_resource_struct, qt_resource_name, qt_resource_data)
qInitResources()
+3 -3
View File
@@ -8,21 +8,21 @@ if IPAddr[0:11] == "100.100.100": #4269
dbname = "sig4269" dbname = "sig4269"
sigdb="sig4269" sigdb="sig4269"
refdb="ref_geo4269" refdb="ref_geo4269"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.0": #01 if IPAddr[0:9] == "192.168.0": #01
host = "192.168.0.201" host = "192.168.0.201"
port = "5432" port = "5432"
dbname = "sig01" dbname = "sig01"
sigdb="sig01" sigdb="sig01"
refdb="ref_geo01" refdb="ref_geo01"
password = "McVities" password = "XXXXXX"
if IPAddr[0:9] == "192.168.1": #0726 if IPAddr[0:9] == "192.168.1": #0726
host = "192.168.1.201" host = "192.168.1.201"
port = "5432" port = "5432"
dbname = "sig0726" dbname = "sig0726"
sigdb="sig0726" sigdb="sig0726"
refdb="ref_geo0726" refdb="ref_geo0726"
password = "McVities" password = "XXXXXX"
if sys.platform == 'linux': if sys.platform == 'linux':
os_user = os.environ['USER'] os_user = os.environ['USER']
else: else:
+40 -127
View File
@@ -1,138 +1,51 @@
<?xml version = '1.0' encoding = 'UTF-8'?> <?xml version = '1.0' encoding = 'UTF-8'?>
<plugins> <plugins>
<pyqgis_plugin name="CenRa_POSTGIS" version="2.0"> <pyqgis_plugin name="CenIsere_AUTOMAP" version="1.6">
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description> <description><![CDATA[Plugin QGIS d'automatisation de mise en page - CEN Isère]]></description>
<version>2.0</version> <version>1.6</version>
<qgis_minimum_version>3.16</qgis_minimum_version> <qgis_minimum_version>3.16</qgis_minimum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage> <homepage>https://gitea.cenra-outils.org/CEN38/Plugin_QGIS</homepage>
<file_name>CenRa_POSTGIS.zip</file_name> <file_name>CenIsere_AUTOMAP.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon> <icon>icon.png</icon>
<author_name>CEN-Rhone-Alpes</author_name> <author_name>CEN-Isère</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_POSTGIS.zip</download_url> <download_url>https://gitea.cenra-outils.org/CEN38/Plugin_QGIS/releases/download/latest/CenIsere_AUTOMAP.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by> <uploaded_by>CEN-Isère</uploaded_by>
<create_date>2024-02-06</create_date> <create_date>2024-11-29</create_date>
<update_date>2024-10-22</update_date> <update_date>2024-11-29</update_date>
<experimental>False</experimental> <experimental>False</experimental>
<deprecated>False</deprecated> <deprecated>False</deprecated>
<tags>cenra,postgis</tags> <tags>cenisere,mise en page,atlas</tags>
</pyqgis_plugin> </pyqgis_plugin>
<pyqgis_plugin name="gn_tools" version="0.1">
<pyqgis_plugin name="CenRa_COPIE" version="2.0"> <description><![CDATA[Plugin QGIS multi outils d'accès aux données GéoNature]]></description>
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description> <version>0.1</version>
<version>2.0</version> <qgis_minimum_version>3.2</qgis_minimum_version>
<qgis_minimum_version>3.16</qgis_minimum_version> <homepage>https://gitea.cenra-outils.org/CEN38/plugin_gn_tools</homepage>
<homepage>https://plateformesig.cenra-outils.org/</homepage> <file_name>gn_tools.zip</file_name>
<file_name>CenRa_COPIE.zip</file_name> <icon>icon.png</icon>
<icon>CEN-Rhone-Alpes.png</icon> <author_name>CEN-Isère</author_name>
<author_name>CEN-Rhone-Alpes</author_name> <download_url>https://gitea.cenra-outils.org/CEN38/plugin_gn_tools/releases/download/0.1/gn_tools.zip</download_url>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_COPIE.zip</download_url> <uploaded_by>CEN-Isère</uploaded_by>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by> <create_date>2026-04-22</create_date>
<create_date>2024-02-06</create_date> <update_date>2026-04-22</update_date>
<update_date>2024-10-22</update_date>
<experimental>False</experimental> <experimental>False</experimental>
<deprecated>False</deprecated> <deprecated>False</deprecated>
<tags>cenra,copie</tags> <tags>GéoNature,Biodiv'Aura</tags>
</pyqgis_plugin> </pyqgis_plugin>
<pyqgis_plugin name="plugin_animation" version="0.2">
<pyqgis_plugin name="CenRa_SICEN" version="1.7"> <description><![CDATA[Plugin QGIS d'accès aux données d'animation]]></description>
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description> <version>0.1</version>
<version>1.7</version> <qgis_minimum_version>3.2</qgis_minimum_version>
<qgis_minimum_version>3.16</qgis_minimum_version> <homepage>https://gitea.cenra-outils.org/CEN38/plugin_animation</homepage>
<homepage>https://plateformesig.cenra-outils.org/</homepage> <file_name>plugin_animation.zip</file_name>
<file_name>CenRa_SICEN.zip</file_name> <icon>icon.png</icon>
<icon>CEN-Rhone-Alpes.png</icon> <author_name>CEN-Isère</author_name>
<author_name>CEN-Rhone-Alpes</author_name> <download_url>https://gitea.cenra-outils.org/CEN38/plugin_animation/releases/download/0.1/plugin_animation-0.1.zip</download_url>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_SICEN.zip</download_url> <uploaded_by>CEN-Isère</uploaded_by>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by> <create_date>2026-04-27</create_date>
<create_date>2024-02-06</create_date> <update_date>2026-04-27</update_date>
<update_date>2024-09-13</update_date>
<experimental>False</experimental> <experimental>False</experimental>
<deprecated>False</deprecated> <deprecated>False</deprecated>
<tags>cenra,sicen</tags> <tags>Animation</tags>
</pyqgis_plugin> </pyqgis_plugin>
</plugins>
<pyqgis_plugin name="CenRa_FLUX" version="2.1">
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description>
<version>2.1</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_FLUX.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_FLUX.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-02-06</create_date>
<update_date>2024-11-08</update_date>
<experimental>False</experimental>
<deprecated>False</deprecated>
<tags>cenra,flux</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_METABASE" version="1.3">
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description>
<version>1.3</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_METABASE.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_METABASE.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-09-12</create_date>
<update_date>2024-10-08</update_date>
<experimental>False</experimental>
<deprecated>False</deprecated>
<tags>cenra,metabase</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_AUTOMAP" version="1.7">
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description>
<version>1.7</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_AUTOMAP.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_AUTOMAP.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-09-25</create_date>
<update_date>2024-10-21</update_date>
<experimental>True</experimental>
<deprecated>False</deprecated>
<tags>cenra,mise en page,atlas</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_PAGERENDER" version="1.3">
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description>
<version>1.3</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_PAGERENDER.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_PAGERENDER.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-10-09</create_date>
<update_date>2024-11-08</update_date>
<experimental>True</experimental>
<deprecated>False</deprecated>
<tags>cenra,mise en page,atlas</tags>
</pyqgis_plugin>
<pyqgis_plugin name="CenRa_COMPANIONCUBE" version="1.0">
<description><![CDATA[Dépôt pour les extensiont QGIS du CEN Rhone-Alpes, sur GitHub.]]></description>
<version>1.0</version>
<qgis_minimum_version>3.16</qgis_minimum_version>
<homepage>https://plateformesig.cenra-outils.org/</homepage>
<file_name>CenRa_COMPANIONCUBE.zip</file_name>
<icon>CEN-Rhone-Alpes.png</icon>
<author_name>CEN-Rhone-Alpes</author_name>
<download_url>https://gitea.cenra-outils.org/CEN-RA/Plugin_QGIS/releases/download/latest/CenRa_COMPANIONCUBE.zip</download_url>
<uploaded_by>CEN-Rhone-Alpes</uploaded_by>
<create_date>2024-10-21</create_date>
<update_date>2024-10-22</update_date>
<experimental>True</experimental>
<deprecated>False</deprecated>
<tags>cenra,ia</tags>
</pyqgis_plugin>
</plugins>