Re: gtk-fortran 19.04 released

2019-04-26 Thread vmagnin
Thank you Emmanuele and Stefan for your answers,


Gtk+ - General mailing list wrote
> Have you considered using the GObject introspection data that GTK itself
> generates, instead of your custom parsing code?

Yes, but a long time ago in the first year of the project. In this Dec. 2011
post:
https://github.com/vmagnin/gtk-fortran/issues/27

My thoughts were:

>But in that case, there is no "c:identifier" attribute in the tag (how to
identify a pointer ?)
>
>Advantages:
> -   parsing XML is easier than using regular expressions which must take
> into account many exceptions and peculiarities.
> -   The binding would be more complete (to what extent ?).
>Drawbacks:
>  -  GIR format is not well documented.
>  -  Cairo is not (yet ?) supported. So cfwrapper.py would still be
> necessary at least for it. 
>Probably also for others like GLib (see the "c:identifier" problem above).
>  -  We would lose the C prototypes in comments and also in
> gtk-fortran-index.csv
>  -  A new effort.
> The question is: is it worth while ? Or would it be more adequate to
> improve cfwrapper.py ?

Note that it was how I see things at that time. I don't know if my feeling
was right (I was a total beginner with GTK), and I don't know how things
have changed since that time. It is still a possibility that could be
interesting in the long term. It would surely be cleaner than parsing with
regular expressions.



Gtk+ - General mailing list wrote
> Nabble is a web bridge to various mailing list; the "General" forum maps
> to

> gtk-list@

> , which is going to be de-activated on May 1st, 2019.
> 
> It seems Nabble does not respect cross-posting, so you probably haven't
> seen the announcement:
> 
> http://gtk.10911.n7.nabble.com/REMINDER-List-moved-to-Discourse-archival-in-1-week-td95279.html

OK, at first I did not understood the real nature of Nabble. And I have not
seen the announcement. I will look at https://discourse.gnome.org/.

Best regards,
Vincent



--
Sent from: http://gtk.10911.n7.nabble.com/Gtk-General-f47634.html
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread Emmanuele Bassi via gtk-list
On Fri, 26 Apr 2019 at 18:38, Stefan Salewski  wrote:

> On Fri, 2019-04-26 at 18:21 +0100, Emmanuele Bassi wrote:
> > It most definitely is not. The project is actively maintained, and it
> > recently got even a full description of the XML schema:
>
> That is interesting. Well 172 open issues
>
> https://gitlab.gnome.org/GNOME/gobject-introspection/issues
>
>
Open issues is not really an indicator. GTK has ~1100 issues open.


> >gtkmm is an old binding, and it's very much set it its ways. Newly
> written bindings should not go down the same route.
>
> Yes, but his fortran ones is from 2011. So switching to gobject-
> introspection is much work.
>

When I talk about "old" I literally mean 20+ years. Gtkmm is one of the
oldest language bindings for GTK. 2011 is after the creation of g-i, and
after Python and Perl got ported to it from their own ad hoc header parser
plus ancillary metadata.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread Stefan Salewski
On Fri, 2019-04-26 at 18:21 +0100, Emmanuele Bassi wrote:
> It most definitely is not. The project is actively maintained, and it
> recently got even a full description of the XML schema:

That is interesting. Well 172 open issues

https://gitlab.gnome.org/GNOME/gobject-introspection/issues

but indeed there is some activity.

I think 3 years ago when I started the gobject-introspection bindings
it was nearly death.

>gtkmm is an old binding, and it's very much set it its ways. Newly
written bindings should not go down the same route.

Yes, but his fortran ones is from 2011. So switching to gobject-
introspection is much work.
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread Emmanuele Bassi via gtk-list
On Fri, 26 Apr 2019 at 18:13, Stefan Salewski  wrote:

> On Fri, 2019-04-26 at 17:58 +0100, Emmanuele Bassi via gtk-list wrote:
> > Have you considered using the GObject introspection data that GTK
> > itself generates, instead of your custom parsing code?
>
> But a warning: GObject introspection is not that much fun, as it is in
> zombie state.


It most definitely is not. The project is actively maintained, and it
recently got even a full description of the XML schema:

https://gitlab.gnome.org/GNOME/gobject-introspection/blob/master/docs/gir-1.2.rnc

The documentation has also been updated:

https://gi.readthedocs.io/en/latest/

Starting with the API docs was really hard, took me some
> hundreds hours before useful code generation started.


libgirepository is mostly meant to be used by dynamic languages, not for
code generation. It's also heavily modelled on the requirements of existing
language bindings like pygobject for Python; Glib::Object::Introspection,
for Perl; and GJS for JavaScript. API can be added, but the on disk file
format is stable, so it cannot really be changed outside of the current
boundaries of its ABI.

Code generation typically starts from the GIR file format—for instance, the
Rust bindings use it to generate static bindings:

https://github.com/gtk-rs/gir

Note that Gtkmm does
> not use GObject introspection still.
>

gtkmm is an old binding, and it's very much set it its ways. Newly written
bindings should not go down the same route.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread Stefan Salewski
On Fri, 2019-04-26 at 17:58 +0100, Emmanuele Bassi via gtk-list wrote:
> Have you considered using the GObject introspection data that GTK
> itself generates, instead of your custom parsing code?

But a warning: GObject introspection is not that much fun, as it is in
zombie state. Starting with the API docs was really hard, took me some
hundreds hours before useful code generation started. Well, I started
from scratch, but with some help of Mr Mansour. Maybe a start with a
copy, maybe from python would have been easier. Note that Gtkmm does
not use GObject introspection still.
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread Stefan Salewski
On Fri, 2019-04-26 at 09:46 -0700, vmagnin wrote:
> oncerning the "new discourse forum", I am not sure of what you mean.

It is this:

https://discourse.gnome.org/

Was recently advertised by Mr Bassi. The gtk mailing list will be
closed soon, at least this one and gtk-app-devel. 
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread Emmanuele Bassi via gtk-list
On Fri, 26 Apr 2019 at 17:46, vmagnin  wrote:


> I am one of the main authors and administrators, working on the python
> script used to parse the GTK .h header files and generate the Fortran
> interfaces.


Have you considered using the GObject introspection data that GTK itself
generates, instead of your custom parsing code?


> Concerning the "new discourse forum", I am not sure of what you mean. I do
> not see such a forum on this page:
> http://gtk.10911.n7.nabble.com/
> If the "Gtk+ - General" forum is not the good place to post my message, I
> apologize. It just seemed the less bad place for a Fortran thing...
>

Nabble is a web bridge to various mailing list; the "General" forum maps to
gtk-list@gnome.org, which is going to be de-activated on May 1st, 2019.

It seems Nabble does not respect cross-posting, so you probably haven't
seen the announcement:


http://gtk.10911.n7.nabble.com/REMINDER-List-moved-to-Discourse-archival-in-1-week-td95279.html

The tl;dr of it is: discussions about GTK (and language bindings) have been
moved to Discourse:

  https://discourse.gnome.org

and the existing mailing lists will be archived next Wednesday.

Ciao,
 Emmanuele.

-- 
https://www.bassi.io
[@] ebassi [@gmail.com]
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread vmagnin
Dear Stefan,

I am one of the main authors and administrators, working on the python
script used to parse the GTK .h header files and generate the Fortran
interfaces. I wrote some messages in the GTK+ forum in 2011 about
gtk-fortran, but it seems I had not registered at that time:
http://gtk.10911.n7.nabble.com/new-gtk-fortran-binding-td16952.html

Personally I am a simple user of GTK3, using it to create simple GUIs for
scientific computing, like in that example:
https://github.com/vmagnin/gtk-fortran/blob/gtk3/screenshots/julia_pixbuf-kubuntu_16_04.png
I just need to visualize results progressively during long computations
(which can last 10 minutes, or several hours, sometime several days). I have
long worked with Compaq Visual Fortran (now Intel Fortran) 15 to 20 years
ago, which was offering the QuickWin library to create Fortran programs with
graphical windows, but of course only under... Windows. Having migrated
toward Linux since mid 2000's, I have looked for a free equivalent
cross-platform tool for a long time, and finally launched the gtk-fortran
project at the beginning of 2011.

There have been high and lows in the development of gtk-fortran but I found
some time and new energy these last six months to make a lot of cleaning in
the project and make a new release.

Concerning the "new discourse forum", I am not sure of what you mean. I do
not see such a forum on this page:
http://gtk.10911.n7.nabble.com/
If the "Gtk+ - General" forum is not the good place to post my message, I
apologize. It just seemed the less bad place for a Fortran thing...



--
Sent from: http://gtk.10911.n7.nabble.com/Gtk-General-f47634.html
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


Re: gtk-fortran 19.04 released

2019-04-26 Thread Stefan Salewski
On Fri, 2019-04-26 at 04:06 -0700, vmagnin wrote:
> Launched in 2011, the gtk-fortran library offers interfaces to around
> 1
> GTK functions

Funny.

I know how much work such bindings take, I created the Nim bindings
twice, oldgtk3 lowlevel bindings, and high level gintro ones :-)

Are you the main author, or do you have at least some understanding of
GTK3? And is there a good reason that you have not posted this message
to the new discourse forum?

___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list


gtk-fortran 19.04 released

2019-04-26 Thread vmagnin
Hello,

Launched in 2011, the gtk-fortran library offers interfaces to around 1
GTK functions (GTK, GDK, GdkPixbuf, Cairo, Pango, ATK, GLib, GObject, GIO)
using the ISO_C_BINDING module. Although mainly developed under Linux, you
can easily use it under Windows via MSYS2. It runs also under UNIX systems
like BSD and macOS. Note that gtk-fortran offers also an interface to
PLplot. It is distributed under GNU GPLv3 license.

The 19.04 release is based on GTK 3.24.8, GLib 2.60.0 and GTK 2.24.32. Main
new features are:
- tools to identify deprecated GTK functions,
- parallel building (make -j) for the gtk3 branch,
- an improved and updated documentation,
- bug fixes in the examples
- ...

Concerning the future, the project is slowly preparing to the arrival of GTK
4. A migration from CMake to Meson (now used by GTK) is also considered.

New contributors are of course welcome ! (We are not Legion).

The home of the project is here :
https://github.com/vmagnin/gtk-fortran/wiki




--
Sent from: http://gtk.10911.n7.nabble.com/Gtk-General-f47634.html
___
gtk-list mailing list
gtk-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-list