mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-11-04 00:04:25 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
# -*- coding: utf-8 -*-
 | 
						|
 | 
						|
"""
 | 
						|
***************************************************************************
 | 
						|
    wrappers_map_theme.py - Map theme widget wrappers
 | 
						|
    ---------------------
 | 
						|
    Date                 : August 2017
 | 
						|
    Copyright            : (C) 2017 by OPENGIS.ch
 | 
						|
    Email                : mario@opengis.ch
 | 
						|
***************************************************************************
 | 
						|
*                                                                         *
 | 
						|
*   This program is free software; you can redistribute it and/or modify  *
 | 
						|
*   it under the terms of the GNU General Public License as published by  *
 | 
						|
*   the Free Software Foundation; either version 2 of the License, or     *
 | 
						|
*   (at your option) any later version.                                   *
 | 
						|
*                                                                         *
 | 
						|
***************************************************************************
 | 
						|
"""
 | 
						|
 | 
						|
 | 
						|
from qgis.core import QgsProject
 | 
						|
 | 
						|
from qgis.PyQt.QtWidgets import QComboBox
 | 
						|
 | 
						|
from processing.gui.wrappers import (
 | 
						|
    BasicWidgetWrapper
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
class MapThemeWrapper(BasicWidgetWrapper):
 | 
						|
    """
 | 
						|
    WidgetWrapper for ParameterString that createe a combobox widget
 | 
						|
    with the existing map themes.
 | 
						|
    """
 | 
						|
 | 
						|
    def createWidget(self):
 | 
						|
        self._combo = QComboBox()
 | 
						|
        self._combo.addItem('', '')
 | 
						|
        for item in self.items():
 | 
						|
            self._combo.addItem(item, item)
 | 
						|
        self._combo.currentIndexChanged.connect(lambda:
 | 
						|
                                                self.widgetValueHasChanged.emit(self))
 | 
						|
        return self._combo
 | 
						|
 | 
						|
    def items(self):
 | 
						|
        return QgsProject.instance().mapThemeCollection().mapThemes()
 | 
						|
 | 
						|
    def setValue(self, value):
 | 
						|
        self.setComboValue(value, self._combo)
 | 
						|
 | 
						|
    def value(self):
 | 
						|
        return self.comboValue(combobox=self._combo)
 |