<div dir="ltr"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
My thinking here is whether this needs to be supported officially -<br>
e.g. by making the panel wider by default. Alternatively we could add<br>
a method to QgsProcessingAlgorithmDialogBa<wbr>se to handle resizing of<br>
this panel.<br></blockquote><br><span class="gmail-im">To be honest, it seems like I'm the only one with this issue. I guess as long as the workaround does the job, I wouldn't bother with it.<br><br></span></div><div><span class="gmail-im">
<span class="gmail-im">As for the issues/projects that you mentioned, </span>

what seemed like something I could tackle is </span>the missing algorithms from PostGIS, since I've got more experience with it. Also, it really does sound like a lot of fun to implement!<br><span class="gmail-im"></span><br><span class="gmail-im"></span><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-im">
</span>I'm happy to mentor. Just let me know.

</blockquote><br>Thank you

Nyall, that would be really cool!<br>Could you give me some pointers as to how should I go about the PostGIS algs? Like what classes should be extended, what methods should be implemented or anything else I should pay attention to?<br><br></div><div>André<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2018-04-03 19:58 GMT-03:00 Nyall Dawson <span dir="ltr"><<a href="mailto:nyall.dawson@gmail.com" target="_blank">nyall.dawson@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 4 April 2018 at 05:29, André William <<a href="mailto:wss.andre@gmail.com">wss.andre@gmail.com</a>> wrote:<br>
> Thank you Nyall, I understand.<br>
> The reason I needed to resize the window was to better fit some image<br>
> content in my HTML help.<br>
<br>
</span>My thinking here is whether this needs to be supported officially -<br>
e.g. by making the panel wider by default. Alternatively we could add<br>
a method to QgsProcessingAlgorithmDialogBa<wbr>se to handle resizing of<br>
this panel.<br>
<span class=""><br>
> Taking the opportunity, I'm a C++ and Python developer and I would love to<br>
> contribute on the project. Is there any need for help in the Processing<br>
> Framework (since I'm already a bit familiar with it) or in others areas?<br>
<br>
</span>Heck yes! There's a TON of work which processing would greatly benefit<br>
from. Here's a very short brain-dump of potential high-value projects:<br>
<br>
- if you're a user of any of the 3rd party providers (GDAL, GRASS,<br>
SAGA), these need a lot of love. There's lots of open tickets against<br>
them, some of which would be quick fixes for someone more familiar<br>
with the underlying provider library. Similarly if you're on Win or<br>
OSX there's quite a few open tickets against these providers (most<br>
testing is done on Linux)<br>
<br>
- if you're a model user, a nice project would be improving the inputs<br>
panel in the modeler dialog. It's been discussed (somewhere, can't<br>
find it now) that this panel should be reworked to be a list of inputs<br>
used within the model, with + / - buttons to add a new input and<br>
remove a selected input. And then we could add up/down buttons to<br>
allow inputs to be reordered for models, since they are currently just<br>
shown in a semi-random order and there's no way for users to<br>
reorganize them logically. All the API stuff should be in place for<br>
this, it's just Python GUI work that's needed.<br>
<br>
- another high value task is porting the QGIS algorithms from Python<br>
to c++ (for speed and stability). At the same time we do this we<br>
upgrade each algorithm to support "data defined" parameter values<br>
(e.g. buffer width based on expressions!). The goal here is to move<br>
all the QGIS algorithms across to c++, EXCEPT those which have<br>
dependencies on Python libraries.<br>
<br>
- there's rough notes on<br>
<a href="https://github.com/nyalldawson/QGIS/wiki/Processing-Algorithm-Bugs-and-Enhancements" rel="noreferrer" target="_blank">https://github.com/<wbr>nyalldawson/QGIS/wiki/<wbr>Processing-Algorithm-Bugs-and-<wbr>Enhancements</a><br>
concerning improvements we can make to existing algorithms which would<br>
be fantastic to see explored<br>
<br>
- Or, the funnest processing job, adding more algorithms! There's a<br>
rough wish-list at<br>
<a href="https://github.com/nyalldawson/QGIS/wiki/Algorithm-hit-list" rel="noreferrer" target="_blank">https://github.com/<wbr>nyalldawson/QGIS/wiki/<wbr>Algorithm-hit-list</a> , some of<br>
which are just a matter of exposing existing QgsGeometry methods as<br>
processing algorithms (e.g. exposing QgsGeometry::transform(<br>
QTransform .... ) as an algorithm to allow rotate/shear/scale<br>
transforms), and some of which require adding wrappers to GEOS<br>
functions to QgsGeometry (GEOSMinimumWidth_r,<br>
GEOSMinimumClearanceLine_r, GEOSNode_r, GEOSSharedPaths_r) and then<br>
exposing as processing algorithms. Others need javascript->c++ ports<br>
of functionality from turf/mapbox js libraries, if that kind of thing<br>
interests you.<br>
<span class=""><br>
> I would probably need some guidance at first but I've been using QGIS and<br>
> developing plugins for some time now, so I guess it wouldn't be too big a<br>
> learning curve.<br>
<br>
</span>I'm happy to mentor. Just let me know.<br>
<span class="HOEnZb"><font color="#888888"><br>
Nyall<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
><br>
> André<br>
><br>
> 2018-04-03 0:29 GMT-03:00 Nyall Dawson <<a href="mailto:nyall.dawson@gmail.com">nyall.dawson@gmail.com</a>>:<br>
>><br>
>> On 31 March 2018 at 14:06, André William <<a href="mailto:wss.andre@gmail.com">wss.andre@gmail.com</a>> wrote:<br>
>> > After some digging, I found that while the textShortHelp object is not<br>
>> > directly available in the AlgorithmDialog class anymore, i was able to<br>
>> > access it like this:<br>
>> >><br>
>> >> shortHelpObj = dlg.findChild(QTextBrowser, 'textShortHelp')<br>
>> ><br>
>> > Is this the expected behavior?<br>
>><br>
>> None of this is in stable API, so can change between QGIS versions<br>
>> (including within minor versions/patch releases).<br>
>><br>
>> Stable API for processing is:<br>
>> - the classes within the core library (unless they are explicitly<br>
>> marked as non-stable, e.g.  the modeler related classes)<br>
>> - the base GUI "WidgetWrapper" class (NOT any of its subclasses)<br>
>> - some methods from the processing namespace:<br>
>>     - processing.algorithmHelp()<br>
>>     - processing.run()<br>
>>     - processing.runAndLoadResults()<br>
>>     - processing.<wbr>createAlgorithmDialog()<br>
>>     - processing.<wbr>execAlgorithmDialog()<br>
>><br>
>> So, in short, unfortunately this approach is always going to be<br>
>> fragile. Better wrap it in a big try block! ;)<br>
>><br>
>> I gather you're trying to force the "help" panel to resize when the<br>
>> dialog is opened. Is there a particular reason why you need to do<br>
>> this?<br>
>><br>
>> Nyall<br>
>><br>
>><br>
>> ><br>
>> > André W.<br>
>> ><br>
>> > 2018-03-30 18:54 GMT-03:00 André William <<a href="mailto:wss.andre@gmail.com">wss.andre@gmail.com</a>>:<br>
>> >><br>
>> >> Hi all,<br>
>> >><br>
>> >> I'm porting an existing Geoprocessing Algorithm plugin to QGIS 3 and<br>
>> >> I'm<br>
>> >> having some trouble customizing the default dialog.<br>
>> >> On QGIS 2.x the following code worked:<br>
>> >><br>
>> >>> class TestAlgorithm(GeoAlgorithm):<br>
>> >>>     INPUT = 'INPUT'<br>
>> >>>     OUTPUT = 'OUTPUT'<br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>>     def getCustomParametersDialog(<wbr>self):<br>
>> >>>         customDialog = AlgorithmDialog(self)<br>
>> >>>         customDialog.textShortHelp.<wbr>setFixedWidth(450)<br>
>> >>>         return customDialog<br>
>> >><br>
>> >><br>
>> >> On QGIS 3 however, the getCustomParametersDialog() method is gone. I<br>
>> >> assumed it was replaced by the new createCustomParametersWidget()<wbr>, but<br>
>> >> unfortunately this method doesn't seem to get called by the parent<br>
>> >> class:<br>
>> >><br>
>> >>>     def createCustomParametersWidget(<wbr>self, parent):<br>
>> >>>         customDialog = AlgorithmDialog(self)<br>
>> >>>         customDialog.textShortHelp.<wbr>setFixedWidth(450)<br>
>> >>>         return customDialog<br>
>> >><br>
>> >><br>
>> >> I also tried manually creating the dialog, but I get a message saying<br>
>> >> that<br>
>> >> the 'AlgorithmDialog' object has no attribute 'textShortHelp'.<br>
>> >><br>
>> >>> alg =<br>
>> >>><br>
>> >>> QgsApplication.<wbr>processingRegistry().<wbr>algorithmById('test:<wbr>testAlgorithm')<br>
>> >>> dlg = AlgorithmDialog(alg)<br>
>> >>> dlg.textShortHelp.<wbr>setFixedWidth(450)<br>
>> >>> dlg.show()<br>
>> >><br>
>> >><br>
>> >> Any thoughts?<br>
>> >><br>
>> >> Thanks in advance!<br>
>> >> André<br>
>> ><br>
>> ><br>
>> ><br>
>> > ______________________________<wbr>_________________<br>
>> > QGIS-Developer mailing list<br>
>> > <a href="mailto:QGIS-Developer@lists.osgeo.org">QGIS-Developer@lists.osgeo.org</a><br>
>> > List info: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/qgis-<wbr>developer</a><br>
>> > Unsubscribe: <a href="https://lists.osgeo.org/mailman/listinfo/qgis-developer" rel="noreferrer" target="_blank">https://lists.osgeo.org/<wbr>mailman/listinfo/qgis-<wbr>developer</a><br>
><br>
><br>
</div></div></blockquote></div><br></div>