[QGIS-Developer] Upgrading to V3

Maaza Mekuria mcmekuria at gmail.com
Sat Oct 26 16:01:10 PDT 2019

Thank you Etienne.  I did just what you suggested. But did not het
anywhere.  I still get the same error message.

My question did not get resolved and only for lack of information i can't
move forward with the upgrade.
What i think has happened is that QGIS leadership has chosen to control the
access gates to "ousiders" who want to program in C++ and related
functiions in producing plugins by controlling how plugins are registered.

It is a pity that I can't upgrade this plugin for lack of information.

In the past i have donated money and willing to donate time and money.
Whay is there so much secrecy on the basic C++ plugin initialization and
registry?  It does not make for a good and inclusive  policy.

Thank for your help anyway.

On Sun, Sep 15, 2019, 9:11 PM Etienne Trimaille <etienne.trimaille at gmail.com>

> Hi,
> I can't really answer your question but you should use
> https://qgis.org/api/classQgsMapLayerComboBox.html instead of creating
> your own combobox. (if possible).
> Etienne
> Le dim. 15 sept. 2019 à 10:11, Maaza Mekuria <mcmekuria at gmail.com> a
> écrit :
>> QGIS Layer List upgrade to V3 C++ plugin - Geographic Information Systems
>> Stack Exchange <style>body,.top-bar{margin-top:1.9em}</style>
>> I was upgrading a c++ plugin that I had used in the past and almost
>> eliminated all the the usual compiler errors due to version changes
>> according for the current version (3.6). The plugin used to collect current
>> map canvas layers in a combo list box for selection. I am getting two
>> errors that I can't figure out what to do with. This code compiled without
>> problem pre-2.0.
>> The first happens to be about QGSMapLayer that can't be instantiated
>> because it is turned as an abstract class and I am getting an error
>> [Severity Code Description Project File Line Source Suppression State Error
>> C2259 'QgsMapLayer': cannot instantiate abstract class tarjan_sccplugin
>> C:\OSGeo4W64\apps\Qt5\include\QtCore\qlist.h 214 Build ]
>> This is portion of the code generating the error.  Where
>> cmbNetSourceLayer is a combo-box .
>> void tarjan_sccGui::populateLayers( QString const& url ) {
>> cmbNetSourceLayer->clear();
>> QString layerName; QString layerType;
>> // fill list of layersQMap<QString, QgsMapLayer*> mapLayers = QgsProject::instance()->mapLayers();QMap<QString, QgsMapLayer*>::iterator layer_it = mapLayers.begin();
>> for (; layer_it != mapLayers.end(); ++layer_it){
>>     QgsVectorLayer* vl = dynamic_cast<QgsVectorLayer*>(layer_it.value());
>>     if (!vl)
>>         continue;
>>     else
>>      cmbNetSourceLayer->addItem(vl->name() );}
>> The second error appears to be in explicit declaration for the plugin.
>> Something has changed in how the plugins are initiated. [Severity Code
>> Description Project File Line Source Suppression State Error (active)
>> invalid explicit instantiation declaration tarjan_sccplugin
>> d:\GIS\v3\Quantum-GIS\src\core\qgsoptionalexpression.h 82 IntelliSense ]
>> No idea what must be done to overcome this error.  The cited module
>> appears to be an optional data module.
>> Any help is appreciated.
>> _______________________________________________
>> QGIS-Developer mailing list
>> QGIS-Developer at lists.osgeo.org
>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer
>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/qgis-developer/attachments/20191026/d4658c38/attachment.html>

More information about the QGIS-Developer mailing list