mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-25 00:58:06 -05:00
- rename methods with XML to Xml, CRS to Crs, WMS to Wms, ID to Id - rename methods with SRS to Crs - rename methods with abbreviations like "dest" to "destination" - rename methods with abbreviations like "src" to "source"
455 lines
20 KiB
Plaintext
455 lines
20 KiB
Plaintext
/*! \page api_break Backwards Incompatible Changes
|
|
|
|
\tableofcontents
|
|
|
|
The API of QGIS libraries is allowed to be changed just between major versions of QGIS. For example, there
|
|
are various planned backwards incompatible changes between QGIS 1.8 and 2.0 because the version 2.0 is a new
|
|
major version. After a release of a major version of QGIS (e.g. 2.0) the developer team is committed to maintain
|
|
stable API for all subsequent minor releases (2.2, 2.4, ...). That roughly means we do not rename classes and methods,
|
|
remove them nor change their semantics. Existing code should keep working when the user updates QGIS
|
|
to another minor version (e.g. from 2.0 to 2.2), so all extensions of existing classes should be done in a manner that
|
|
third party developers do not need to adjust their code to work properly with newer QGIS releases.
|
|
|
|
Sometimes, however, we may need to break the API as a result of some code changes. These cases should be only exceptions
|
|
and they should happen only after consideration and agreement of the development team. Backwards incompatible changes
|
|
with too big impact should be deferred to a major version release.
|
|
|
|
This page tries to maintain a list with incompatible changes that happened in previous releases.
|
|
|
|
\section qgis_api_break_3_0 QGIS 3.0
|
|
|
|
\subsection qgis_api_break_3_0_removed_classes Removed Classes
|
|
|
|
<ul>
|
|
<li>QgsLabel and QgsLabelAttributes. Replaced by labeling based on PAL library, see QgsLabelingEngineV2.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_global General changes
|
|
|
|
<ul>
|
|
<li>All setDestinationCRS() methods have been renamed to setDestinationCrs()</li>
|
|
<li>All destinationCRS() methods have been renamed to destinationCrs()</li>
|
|
<li>All readXML() and _readXML() methods have been renamed to readXml() and _readXml()</li>
|
|
<li>All writeXML() and _writeXML() methods have been renamed to writeXml() and _writeXml()</li>
|
|
<li>All setLayerID() methods have been renamed to setLayerId()</li>
|
|
<li>All layerID() methods have been renamed to layerId()</li>
|
|
<li>All setCRS() methods have been renamed to setCrs()</li>
|
|
<li>All srcCrs() methods have been renamed to sourceCrs()</li>
|
|
<li>All destCrs() methods have been renamed to destinationCrs()</li>
|
|
<li>All exportXML() methods have been renamed to exportXml()</li>
|
|
<li>All importXML() methods have been renamed to importXml()</li>
|
|
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsAuthConfigUriEdit QgsAuthConfigUriEdit
|
|
|
|
<ul>
|
|
<li>hasConfigID() has been renamed to hasConfigId()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsAtlasComposition QgsAtlasComposition
|
|
|
|
<ul>
|
|
<li>readXMLMapSettings() has been renamed to readXmlMapSettings()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsComposerLegendItem QgsComposerLegendItem
|
|
|
|
<ul>
|
|
<li>writeXMLChildren() has been renamed to writeXmlChildren()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsComposerMap QgsComposerMap
|
|
|
|
<ul>
|
|
<li>containsWMSLayer() has been renamed to containsWmsLayer()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsComposerNodesItem QgsComposerNodesItem
|
|
|
|
<ul>
|
|
<li>_readXMLStyle() has been renamed to _readXmlStyle()</li>
|
|
<li>_writeXMLStyle() has been renamed to _writeXMLStyle()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsComposerTable QgsComposerTable
|
|
|
|
<ul>
|
|
<li>tableWriteXML() has been renamed to tableWriteXml()</li>
|
|
<li>tableReadXML() has been renamed to tableReadXml()</li>
|
|
</ul>
|
|
|
|
|
|
\subsection qgis_api_break_3_0_QgsComposition QgsComposition
|
|
|
|
<ul>
|
|
<li>addItemsFromXML() has been renamed to addItemsFromXml()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsCoordinateReferenceSystem QgsCoordinateReferenceSystem
|
|
|
|
<ul>
|
|
<li>setCustomSrsValidation() has been renamed to setCustomCrsValidation()</li>
|
|
<li>saveAsUserCRS() has been renamed to saveAsUserCrs()</li>
|
|
<li>geographicCRSAuthId() has been renamed to geographicCrsAuthId()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsCoordinateTransform QgsCoordinateTransform
|
|
|
|
<ul>
|
|
<li>QgsCoordinateTransform is no longer a QObject. readXml, writeXml and initialise are all normal public members now,
|
|
not slots. The invalidTransformInput() signal has been removed.</li>
|
|
<li>QgsCoordinateTransform::clone() has been removed. Just use direct copies instead.</li>
|
|
<li>sourceCrs() and destCrs() now return a copy instead of a reference to the CRS. This has no effect on PyQGIS code, but c++
|
|
plugins calling these methods will need to be updated.</li>
|
|
<li>isInitialised() has been renamed to isValid()</li>
|
|
<li>theCRS parameter in setSourceCrs has been renamed to 'crs'</li>
|
|
<li>setDestCRS() has been renamed to setDestinationCrs() for consistency</li>
|
|
<li>destCRS() has been renamed to destinationCrs() for consistency</li>
|
|
<li>theSource, theDest, theSourceSrsId, theDestSrsId, theSourceWkt, theDestWkt, theSourceCRSType parameters in the QgsCoordinateTransform constructors have been renamed to source, destination, sourceSrsId, destinationSrsId, sourceWkt, destinationWkt, sourceCrsType respectively</li>
|
|
<li>'p' argument in transform() has been renamed to 'point', 'theRect' to 'rectangle', 'poly' to 'polygon'</li>
|
|
<li>setDestCRSID has been removed, use setDestinationCrs() instead</li>
|
|
<li>'theNode', 'theDoc' parameters in readXML and writeXML have been renamed to 'node' and 'document' respectively</li>
|
|
<li>readXML() and writeXML() have been renamed to readXml() and writeXml() for consistency</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsCoordinateTransformCache QgsCoordinateTransformCache
|
|
|
|
<ul>
|
|
<li>transform() now returns a QgsCoordinateTransform object, not a pointer. An invalid QgsCoordinateTransform will
|
|
be returned in place of a null pointer.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsCptCitySelectionItem QgsCptCitySelectionItem
|
|
|
|
<ul>
|
|
<li>parseXML() has been renamed to parseXml()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsCRSCache QgsCRSCache
|
|
|
|
<ul>
|
|
<li>QgsCRSCache has been renamed to QgsCrsCache</li>
|
|
<li>updateCRSCache() has been renamed to updateCrsCache</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsDataDefinedSymbolDialog QgsDataDefinedSymbolDialog
|
|
|
|
<ul>
|
|
<li>QgsDataDefinedSymbolDialog was removed. Code using this dialog should be reworked to use QgsDataDefinedButton
|
|
instead.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsDataItem QgsDataItem
|
|
|
|
<ul>
|
|
<li>supportedCRS() has been renamed to supportedCrs()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsDiagramLayerSettings QgsDiagramLayerSettings
|
|
|
|
<ul>
|
|
<li>coordinateTransform() now returns a QgsCoordinateTransform object, not a pointer. An invalid QgsCoordinateTransform will
|
|
be returned in place of a null pointer.</li>
|
|
<li>setCoordinateTransform() now takes a QgsCoordinateTransform object, not a pointer. Use an invalid QgsCoordinateTransform in
|
|
place of a null pointer.</li>
|
|
<li>The ct member has been removed. Use coordinateTransform() and setCoordinateTransform() instead.
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsDatumTransformStore QgsDatumTransformStore
|
|
|
|
<ul>
|
|
<li>transformation() now returns a QgsCoordinateTransform object, not a pointer. An invalid QgsCoordinateTransform will
|
|
be returned in place of a null pointer.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_DataProviders Data Providers
|
|
|
|
<ul>
|
|
<li>Many methods in QgsDataProvider, QgsVectorDataProvider and QgsRasterDataProvider have been made const-correct.
|
|
This has no effect on PyQGIS code, but c++ code implementing third-party providers will need to update the
|
|
signatures of these methods to match. Affected methods are:
|
|
<ul>
|
|
<li>QgsDataProvider: crs(), extent(), isValid(), supportsSubsetString(), subsetString()</li>
|
|
<li>QgsVectorDataProvider: getFeatures(), minimumValue(), maximumValue(), uniqueValues(), enumValues(), defaultValue(),
|
|
attributeIndexes(), pkAttributeIndexes(), isSaveAndLoadStyleToDBSupported()</li>
|
|
<li>QgsRasterInterface: extent()</li>
|
|
</ul
|
|
</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsGroupWMSDataDialog QgsGroupWMSDataDialog
|
|
|
|
<ul>
|
|
<li>QgsGroupWMSDataDialo has been renamed to QgsGroupWmsDataDialog</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_DataProviders Data Providers
|
|
|
|
<ul>
|
|
<li>QgsVectorDataProvider::fields() now returns a copy, rather than a const reference. Since QgsFields
|
|
objects are implicitly shared, returning a copy helps simplify and make code more robust. This change
|
|
only affects third party c++ providers, and does not affect PyQGIS scripts.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsLayerTreeGroup QgsLayerTreeGroup
|
|
|
|
<ul>
|
|
<li>readChildrenFromXML() has been renamed to readChildrenFromXml()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsLayerTreeNode QgsLayerTreeNode
|
|
|
|
<ul>
|
|
<li>readCommonXML() has been renamed to readCommonXml()</li>
|
|
<li>writeCommonXML() has been renamed to writeCommonXml()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsMapCanvas QgsMapCanvas
|
|
|
|
<ul>
|
|
<li>rotationEnabled() and enableRotation() have been removed, since map rotation is now always supported</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsMapLayer QgsMapLayer
|
|
|
|
<ul>
|
|
<li>crs() now returns a QgsCoordinateReferenceSystem object, not a reference. This change has no effect for PyQGIS code.</li>
|
|
<li>setLayerName() was removed, use setName() instead. The layerNameChanged() signal has been replaced by nameChanged().</li>
|
|
<li>toggleScaleBasedVisibility() was replaced by setScaleBasedVisibility()</li>
|
|
<li>lastErrorTitle(), lastError(), cacheImage(), onCacheImageDelete(), clearCacheImage() and the signals drawingProgress(),
|
|
screenUpdateRequested() were removed. These members have had no effect for a number of QGIS 2.x releases.</li>
|
|
<li>extent(), styleURI(), exportNamedStyle(), exportSldStyle(), writeXml(), metadata() were made const. This has no effect on PyQGIS code, but c++ code implementing derived layer classes will need to update the signatures of these methods to match.</li>
|
|
<li>The lyrname parameter in the QgsMapLayer constructor was renamed to 'name'.</li>
|
|
<li>The vis parameter in setSubLayerVisibility was renamed to 'visible'.</li>
|
|
<li>theResultFlag parameter in loadDefaultStyle and saveDefaultStyle were renamed to resultFlag.</li>
|
|
<li>theURI, theResultFlag parameters in loadNamedStyle, saveNamedStyle, saveSldStyle and loadSldStyle were renamed to uri, resultFlag.</li>
|
|
<li>theURI parameter in loadNamedStyleFromDb was renamed to uri.</li>
|
|
<li>theMinScale and theMaxScale parameters in setMinimumScale and setMaximumScale were renamed to scale</li>
|
|
<li>The layerCrsChanged() signal was renamed to crsChanged()</li>
|
|
<li>theError parameter in appendError() and setError() were renamed to 'error'.</li>
|
|
<li>drawLabels() method was removed. It used old deprecated labeling. Replaced by labeling based on PAL library, see QgsLabelingEngineV2.</li>
|
|
<li>readLayerXML() was renamed to readLayerXml()</li>
|
|
<li>writeLayerXML() was renamed to writeLayerXml()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsMapOverviewCanvas QgsMapOverviewCanvas
|
|
|
|
<ul>
|
|
<li>destinationSrsChanged() was renamed to destinationCrsChanged()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsMapRenderer QgsMapRenderer
|
|
|
|
<ul>
|
|
<li>transformation() now returns a QgsCoordinateTransform object, not a pointer. An invalid QgsCoordinateTransform will
|
|
be returned instead of a null pointer if no transformation is required.</li>
|
|
<li>destinationSrsChanged() was renamed to destinationCrsChanged()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsMapRendererJob QgsMapRendererJob
|
|
|
|
<ul>
|
|
<li>reprojectToLayerExtent() now takes a QgsCoordinateTransform reference, not a pointer. An invalid QgsCoordinateTransform should
|
|
be used instead of a null pointer if no transformation is required.</li>
|
|
<li>prepareJobs() and drawLabeling() (neither available in PyQGIS) do not take QgsPalLabeling parameter anymore. All drawing of labels is done by QgsLabelingEngineV2.</li>
|
|
<li>drawOldLabeling(), drawNewLabeling() were removed. The method drawLabeling() should be used instead.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsMapSettings QgsMapSettings
|
|
|
|
<ul>
|
|
<li>layerTransform() now returns a QgsCoordinateTransform object, not a pointer. An invalid QgsCoordinateTransform will
|
|
be returned instead of a null pointer if no transformation is required.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsOSMElement QgsOSMElement
|
|
|
|
<ul>
|
|
<li>elemID() has been renamed to elemId()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsOWSSourceSelect QgsOWSSourceSelect
|
|
|
|
<ul>
|
|
<li>selectedLayersCRSs() has been renamed selectedLayersCrses()</li>
|
|
<li>populateCRS() has been renamed to populateCrs()</li>
|
|
<li>clearCRS() has been renamed to clearCrs()</li>
|
|
<li>addWMSListRow() has been renamed to addWmsListRow()</li>
|
|
<li>addWMSListItem() has been renamed to addWmsListItem()</li>
|
|
<li>selectedCRS() has been renamed to selectedCrs()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsOWSConnection QgsOWSConnection
|
|
|
|
<ul>
|
|
<li>QgsOWSConnection has been renamed QgsOwsConnection</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsRasterDataProvider QgsRasterDataProvider
|
|
|
|
<ul>
|
|
<li>srcDataType() has been renamed to sourceDataType()</li>
|
|
<li>srcHasNoDataValue() has been renamed to sourceHasNoDataValue()</li>
|
|
<li>useSrcNoDataValue() has been renamed to useSourceNoDataValue()</li>
|
|
<li>setUseSrcNoDataValue() has been renamed to setUseSourceNoDataValue()</li>
|
|
<li>srcNoDataValue() has been renamed to sourceNoDataValue()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsRasterInterface QgsRasterInterface
|
|
|
|
<ul>
|
|
<li>srcDataType() has been renamed to sourceDataType()</li>
|
|
<li>srcInput() has been renamed to sourceInput()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsRelation QgsRelation
|
|
|
|
<ul>
|
|
<li>createFromXML() has been renamed to createFromXml()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsRenderContext QgsRenderContext
|
|
|
|
<ul>
|
|
<li>coordinateTransform() now returns a QgsCoordinateTransform object, not a pointer. An invalid QgsCoordinateTransform will
|
|
be returned instead of a null pointer if no transformation is required.</li>
|
|
<li>setCoordinateTransform() now takes a QgsCoordinateTransform reference, not a pointer. An invalid QgsCoordinateTransform should be used instead of a null pointer if no transformation is required.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsPalLayerSettings QgsPalLayerSettings
|
|
|
|
<ul>
|
|
<li>ct is now a QgsCoordinateTransform object, not a pointer. An invalid QgsCoordinateTransform will
|
|
be used instead of a null pointer if no transformation is required.</li>
|
|
<li>prepareGeometry() and geometryRequiresPreparation() now take a QgsCoordinateTransform reference, not a pointer. An invalid QgsCoordinateTransform should be used instead of a null pointer if no transformation is required.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsJSONExporter QgsJSONExporter
|
|
|
|
<ul>
|
|
<li>sourceCrs() now returns a copy instead of a reference to the CRS. This has no effect on PyQGIS code, but c++
|
|
plugins calling this method will need to be updated.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsVectorLayer QgsVectorLayer
|
|
|
|
<ul>
|
|
<li>excludeAttributesWMS() and setExcludeAttributesWMS() have been renamed to excludeAttributesWms() and
|
|
setExcludeAttributesWms()</li>
|
|
<li>excludeAttributesWFS() and setExcludeAttributesWFS() have been renamed to excludeAttributesWfs() and
|
|
setExcludeAttributesWfs()</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsVectorLayerImport QgsVectorLayerImport
|
|
|
|
<ul>
|
|
<li>QgsVectorLayerImport now takes references instead of pointers to QgsCoordinateReferenceSystem objects. Since
|
|
QgsCoordinateReferenceSystem is now implicitly shared, using references to QgsCoordinateReferenceSystem rather than
|
|
pointers makes for more robust, safer code. Use an invalid (default constructed) QgsCoordinateReferenceSystem
|
|
in code which previously passed a null pointer to QgsVectorLayerImport.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsPointLocator QgsPointLocator
|
|
|
|
<ul>
|
|
<li>The constructor now takes a reference rather than a pointer to a CRS. This has no effect on PyQGIS code, but c++
|
|
plugins calling this method will need to be updated.</li>
|
|
<li>The destCRS parameter in the constructor has been renamed to destinationCrs.</li>
|
|
<li>destCRS() has been renamed to destinationCrs()</li>
|
|
<li>destinationCrs() now returns a copy instead of a reference to the CRS. This has no effect on PyQGIS code, but c++
|
|
plugins calling this method will need to be updated.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsMapSettings QgsMapSettings
|
|
|
|
<ul>
|
|
<li>destinationCrs() now returns a copy instead of a reference to the CRS. This has no effect on PyQGIS code, but c++
|
|
plugins calling this method will need to be updated.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsGraphBuilderInterface QgsGraphBuilderInterface
|
|
|
|
<ul>
|
|
<li>destinationCrs() now returns a copy instead of a reference to the CRS. This has no effect on PyQGIS code, but c++
|
|
plugins calling this method will need to be updated.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsNumericSortTreeWidgetItem QgsNumericSortTreeWidgetItem
|
|
|
|
<ul>
|
|
<li>QgsNumericSortTreeWidgetItem has been removed and replaced with QgsTreeWidgetItem, which
|
|
has improved sort capabilities including the ability to set custom sort values for items
|
|
and for forcing certain items to always sort on top.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsTreeWidgetItem QgsTreeWidgetItem
|
|
|
|
<ul>
|
|
<li>QgsTreeWidgetItem is no longer a QObject and does not emit the itemEdited signal. Instead,
|
|
use QgsTreeWidgetItemObject which is an upgraded version of the original QgsTreeWidgetItem</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsVectorLayer QgsVectorLayer
|
|
|
|
<ul>
|
|
<li>commitErrors() now returns an object, rather than a reference. This has no effect on PyQGIS code.</li>
|
|
<li>subsetString() was made const. This has no effect on PyQGIS code, but c++ code implementing derived layer classes will need to update the signature of this method to match.</li>
|
|
<li>label(), enableLabels(), hasLabelsEnabled(), drawLabels() have been removed. Replaced by labeling based on PAL library, see QgsLabelingEngineV2.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsRasterProjector QgsRasterProjector
|
|
|
|
<ul>
|
|
<li>extentSize() now takes a QgsCoordinateTransform reference, not a pointer. An invalid QgsCoordinateTransform should be used instead of a null pointer if no transformation is required.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsVectorFileWriter QgsVectorFileWriter
|
|
|
|
<ul>
|
|
<li>QgsVectorFileWriter now takes references instead of pointers to QgsCoordinateReferenceSystem objects. Since
|
|
QgsCoordinateReferenceSystem is now implicitly shared, using references to QgsCoordinateReferenceSystem rather than
|
|
pointers makes for more robust, safer code. Use an invalid (default constructed) QgsCoordinateReferenceSystem
|
|
in code which previously passed a null pointer to QgsVectorFileWriter.</li>
|
|
<li>writeAsVectorFormat() now takes a QgsCoordinateTransform reference, not a pointer. An invalid QgsCoordinateTransform should be used instead of a null pointer if no transformation is required.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsVectorLayerEditBuffer QgsVectorLayerEditBuffer
|
|
|
|
<ul>
|
|
<li>The addedFeatures(), changedAttributeValues(), deletedAttributeIds(), addedAttributes(), changedGeometries()
|
|
and deletedFeatureIds() functions now return values, not references. This has no effect on PyQGIS code, but c++
|
|
plugins calling these methods will need to be updated.</li>
|
|
</ul>
|
|
|
|
\subsection qgis_api_break_3_0_QgsWMSLegendNode QgsWMSLegendNode
|
|
|
|
<ul>
|
|
<li>QgsWMSLegendNode has been renamed to QgsWmsLegendNode</li>
|
|
</ul>
|
|
|
|
|
|
\section qgis_api_break_2_4 QGIS 2.4
|
|
|
|
\subsection qgis_api_break_mtr Multi-threaded Rendering
|
|
|
|
<ul>
|
|
<li>QgsMapCanvas::refresh() only schedules a map refresh (in near feature) and returns immediately - before it would do the drawing immediately
|
|
and return when the map is redrawn. A call to refresh() will have no effect if there is already a scheduled pending refresh.
|
|
When map canvas does actual rendering, it will first emit renderStarting() signal, once done it will emit mapCanvasRefreshed().
|
|
The client code doing refresh() in order to later save map image should be updated to use new QgsMapRendererJob API which is better suited for such task.
|
|
<li>QgsPluginLayer::draw() is now run in a background thread. It is recommended to implement newly added QgsPluginLayer::createMapRenderer()
|
|
method instead of using QgsPluginLayer::draw().
|
|
</ul>
|
|
|
|
\section qgis_api_break_2_6 QGIS 2.6
|
|
|
|
\subsection qgis_api_break_legend_refactoring Legend Refactoring
|
|
|
|
<ul>
|
|
<li>QgsComposerLegend::model() - not being used anymore. The model was replaced by one based on QgsLayerTreeModel class
|
|
and is available in QgsComposerLegend::modelV2()
|
|
</ul>
|
|
|
|
*/
|