Nyall , Thank you for your response. I heard that argument before and replied by saying that i had tried Python and the program was too slow for the application i was working on (data structures and storage) and that was my main reason to use C++. But i was told that i need to learn more Python and be a better programmer etc ...
I felt i was completely ignored. At that time i was able to do it on my own becuase there was a lot more private activity. I think now QGIS has almost become corporate and there is some hesitation to share information (not knowledge) unless a transaction happens. In my opinion this has become a barrier to innovate. Thank you again, . On Sat, Oct 26, 2019, 2:35 PM Nyall Dawson <[email protected]> wrote: > On Sun, 27 Oct 2019 at 09:01, Maaza Mekuria <[email protected]> wrote: > > > > 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. > > There's no conspiracy here -- rather, c++ plugins have always been > horrible to build, deploy and debug (especially on Windows). Over time > the core project recognised this, realised it was a bad situation for > developers like yourself, and started encouraging people to completely > avoid using c++ plugins and move to Python wherever possible. > > I strongly suspect that the reason no-one has answered your question > is just because no-one **knows** the answer! (I certainly don't -- I > saw your earlier thread, and the only advice I was able to offer at > the time was what Etienne had already suggested). > > Nyall > > > > > > Thank for your help anyway. > > > > > > On Sun, Sep 15, 2019, 9:11 PM Etienne Trimaille < > [email protected]> wrote: > >> > >> 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 <[email protected]> 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 layers > >>> QMap<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 > >>> [email protected] > >>> List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > >>> Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer > > > > _______________________________________________ > > QGIS-Developer mailing list > > [email protected] > > List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer > > Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer >
_______________________________________________ QGIS-Developer mailing list [email protected] List info: https://lists.osgeo.org/mailman/listinfo/qgis-developer Unsubscribe: https://lists.osgeo.org/mailman/listinfo/qgis-developer
