mirror of
				https://github.com/qgis/QGIS.git
				synced 2025-10-30 00:07:09 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			102 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # -*- coding: utf-8 -*-
 | |
| 
 | |
| """
 | |
| ***************************************************************************
 | |
|     __init__.py
 | |
|     ---------------------
 | |
|     Date                 : July 2013
 | |
|     Copyright            : (C) 2013 by Victor Olaya
 | |
|     Email                : volayaf at gmail dot com
 | |
| ***************************************************************************
 | |
| *                                                                         *
 | |
| *   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.                                   *
 | |
| *                                                                         *
 | |
| ***************************************************************************
 | |
| """
 | |
| 
 | |
| __author__ = 'Victor Olaya'
 | |
| __date__ = 'July 2013'
 | |
| __copyright__ = '(C) 2013, Victor Olaya'
 | |
| 
 | |
| # This will get replaced with a git SHA1 when you do a git archive
 | |
| 
 | |
| __revision__ = '$Format:%H$'
 | |
| 
 | |
| from processing.core.AlgorithmProvider import AlgorithmProvider
 | |
| from processing.core.ProcessingConfig import Setting, ProcessingConfig
 | |
| from exampleprovider.ExampleAlgorithm import ExampleAlgorithm
 | |
| 
 | |
| 
 | |
| class ExampleAlgorithmProvider(AlgorithmProvider):
 | |
| 
 | |
|     MY_DUMMY_SETTING = 'MY_DUMMY_SETTING'
 | |
| 
 | |
|     def __init__(self):
 | |
|         AlgorithmProvider.__init__(self)
 | |
| 
 | |
|         # Deactivate provider by default
 | |
|         self.activate = False
 | |
| 
 | |
|         # Load algorithms
 | |
|         self.alglist = [ExampleAlgorithm()]
 | |
|         for alg in self.alglist:
 | |
|             alg.provider = self
 | |
| 
 | |
|     def initializeSettings(self):
 | |
|         """In this method we add settings needed to configure our
 | |
|         provider.
 | |
| 
 | |
|         Do not forget to call the parent method, since it takes care
 | |
|         or automatically adding a setting for activating or
 | |
|         deactivating the algorithms in the provider.
 | |
|         """
 | |
|         AlgorithmProvider.initializeSettings(self)
 | |
|         ProcessingConfig.addSetting(Setting('Example algorithms',
 | |
|                                     ExampleAlgorithmProvider.MY_DUMMY_SETTING,
 | |
|                                     'Example setting', 'Default value'))
 | |
| 
 | |
|     def unload(self):
 | |
|         """Setting should be removed here, so they do not appear anymore
 | |
|         when the plugin is unloaded.
 | |
|         """
 | |
|         AlgorithmProvider.unload(self)
 | |
|         ProcessingConfig.removeSetting(
 | |
|                 ExampleAlgorithmProvider.MY_DUMMY_SETTING)
 | |
| 
 | |
|     def getName(self):
 | |
|         """This is the name that will appear on the toolbox group.
 | |
| 
 | |
|         It is also used to create the command line name of all the
 | |
|         algorithms from this provider.
 | |
|         """
 | |
|         return 'Example provider'
 | |
| 
 | |
|     def getDescription(self):
 | |
|         """This is the provired full name.
 | |
|         """
 | |
|         return 'Example algorithms'
 | |
| 
 | |
|     def getIcon(self):
 | |
|         """We return the default icon.
 | |
|         """
 | |
|         return AlgorithmProvider.getIcon(self)
 | |
| 
 | |
|     def _loadAlgorithms(self):
 | |
|         """Here we fill the list of algorithms in self.algs.
 | |
| 
 | |
|         This method is called whenever the list of algorithms should
 | |
|         be updated. If the list of algorithms can change (for instance,
 | |
|         if it contains algorithms from user-defined scripts and a new
 | |
|         script might have been added), you should create the list again
 | |
|         here.
 | |
| 
 | |
|         In this case, since the list is always the same, we assign from
 | |
|         the pre-made list. This assignment has to be done in this method
 | |
|         even if the list does not change, since the self.algs list is
 | |
|         cleared before calling this method.
 | |
|         """
 | |
|         self.algs = self.alglist
 |