[QGIS-Developer] Upgrading to V3
Maaza Mekuria
mcmekuria at gmail.com
Sat Oct 26 18:27:20 PDT 2019
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 <nyall.dawson at gmail.com> wrote:
> On Sun, 27 Oct 2019 at 09:01, Maaza Mekuria <mcmekuria at gmail.com> 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 <
> etienne.trimaille at gmail.com> 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 <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 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
> >>> 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
> >
> > _______________________________________________
> > 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/67ef6a8c/attachment-0001.html>
More information about the QGIS-Developer
mailing list