Recent Releases of gtk-fortran
gtk-fortran - gtk-fortran 4.8.0
This release offers interfaces to GTK 4.18 and GLib 2.84 (generated under Fedora 42 with GTK 4.18.4 and GLib 2.84.1).
Added
- In
examples/tests_gtk_sup.f90: addedtest_gvalue_routines().
Changed
- CMake 3.10 is now required (it was released in Nov. 2017).
Fixed
src/gtk-sup.f90: theGValuestructure is now defined as three 64 bits variables. It fixes the Windows issue #244. See the discussion in the gtk3 branch PR. Regression tests have been added inexamples/tests_gtk_sup.f90.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 1 year ago
gtk-fortran - gtk-fortran 3.24.49
Offers Fortran interfaces to the latests GTK 3.24.49 and GLib 2.84.1 (generated with Fedora 42).
Added
examples/tests_gtk_sup.f90backported from gtk4 branch.src/gtk-sup.f90: thefdate()function was backported from gtk4 branch.
Changed
- CMake 3.10 is now required (it was released in Nov. 2017).
- Latest cfwrapper backported from gtk4 branch.
Fixed
- cfwrapper:
- the interfaces of 98 functions are fixed (Issue #290). In
cfwrapper/fortran.py, the block treating the enums was not placed at the end of theiso_c_binding()function: first, C pointers toward enums were not recognized as pointers, and secondly enums having a name included in a GTK type name could cause bad bindings (for exampleGtkSelectionModeandGtkSelectionModel). - Variant and GVariantType types are now correctly used when declared with a double
*in C. Issue #289.
- the interfaces of 98 functions are fixed (Issue #290). In
gtk-sup.f90:- the
GValuestructure is now defined as three 64 bits variables. It fixes the Windows issue #244. See the discussion in the PR. Regression tests have been added inexamples/tests_gtk_sup.f90. - Four dialog icons names updated: PR #293
- the
src/gtk_hl_dialog.f90: if providing artists or documenters, the cptr length was calculated from the numbers of authors.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 1 year ago
gtk-fortran - gtk-fortran 4.7.1
Fixed
- cfwrapper: the interfaces of 98 functions are fixed (Issue #290). In
cfwrapper/fortran.py, the block treating the enums was not placed at the end of theiso_c_binding()function: first, C pointers toward enums were not recognized as pointers, and secondly enums having a name included in a GTK type name could cause bad bindings (for exampleGtkSelectionModeandGtkSelectionModel).
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 1 year ago
gtk-fortran - gtk-fortran 4.7.0
This release offers interfaces to GTK 4.16 and GLib 2.82 (generated under Fedora 41 with GTK 4.16.3 and GLib 2.82.2).
Added
src/gtk-hl-dialog.f90: can now manage the logo viagtk_about_dialog_set_logo(). Contributed by Florian Ober.cfwrapper.py: the gtk3 branch now also usesgtkenums-auto.inandgtk-auto.in, following the fpm feature backport.
Fixed
- cfwrapper: Variant and GVariantType types are now correctly used when declared with a double
*in C. Issue #289. src/gtk-hl-dialog.f90: if providing artists or documenters, thecptrlength was erroneously calculated from the number of authors. Contributed by Florian Ober.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin over 1 year ago
gtk-fortran - gtk-fortran 4.6.0
This release offers interfaces to GTK 4.14 and GLib 2.80 (generated under Fedora 40 with GTK 4.14.2 and GLib 2.80.0).
Added
- The
examples/bazaar.f90program plays a little melodydemo_sound.oggwhen you click on Button1, by using a GtkMediaStream. The GTK 4 GStreamer backend must be installed (libgtk-4-media-gstreamerpackage in Ubuntu). It was tested with.ogg,.wavand.midfiles.
Changed
cmake/cmake_uninstall.cmake.in: improved the code layout.
Fixed
src/gtk-fortran.pc.in: the lineLibs:was modified to fix a problem with the macOS linker (which is not GNU ld and does not accept the-Roption).
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 2 years ago
gtk-fortran - gtk-fortran 4.5.0
This release offers Fortran interfaces to GTK 4.12 and GLib 2.78.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin over 2 years ago
gtk-fortran - gtk-fortran 4.4.1
Added
- New types (enums) in
src/cfwrapper/scan_types_and_enums.py, useful for other GNOME libraries. - Initializes
types_enums.gtk_funptrlist insrc/cfwrapper/scan_types_and_enums.pywith a few funptr types, and removes possibly duplicated ones. examples/menubar.f90: an accelerator<Ctrl>qwas added for quitting the application.
Changed
examples/bazaar.f90: modified the font and background of the textview.
Fixed
src/cfwrapper/fortran.py: declarations likeconst char * const *must be declared in Fortran astype(c_ptr), dimension(*) ::, as they are arrays of C strings (previously, only**was considered).
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin over 2 years ago
gtk-fortran - gtk-fortran 4.4.0
This release offers interfaces to GTK 4.10.3 and GLib 2.76.2.
Added
examples/cairo-tests.f90now draws the circle period-2 bulb and the main cardioid over the Mandelbrot set. More text is also put in the figure.examples/cairo-basics.f90now also saves the drawing in a SVG file and a PDF file.screenshots/hl_cairo_viewer-fedora38.png: showing "modern Fortran" written with a New Alphabet font.- a new example has been added in the gtk-fortran-extra repository (MIT license). It is a gtk-fortran application to encode a text using Peter Saville's color code.
src/test_extra.sh: an interactive script to test projects gtk-fortran-extra and gtkzero_fpm before gtk-fortran release.src/cfwrapper/can be used more easily with other C libraries (see the tutorial):- added a
-loption to add the directories containing the header files and a-moption to add the corresponding Fortran modules. - added a
-soption to add a suffix to the functions names.
- added a
src/cfwrapper/run_tests.py: for testing some functions of the cfwrapper.src/scan_types_and_enums.py: the pass 1 was refactored in that class.src/gtk-fortran_types.csv: list of all the GLib / GTK types used in the prototypes of the C functions. Generated by thecfwrapper/cfwrapper.pyscript.src/gtk-fortran_funptr.csv: list of all thefunptrtypes used in the prototypes of the C functions. Generated by thecfwrapper/cfwrapper.pyscript, which will also print the number offunptrin its statistics.LICENSE_EXCEPTION: the text of the GCC Runtime Library Exception, version 3.1. Note that this exception was chosen in 2011 and was already cited in the header of each source file with the URL of the GNU licenses. Putting the text in the repository is a better practice.
Changed
logo/: the blue color of the GTK cube, whose HSL (hue, saturation, lightness) values are (211, 49, 63), was replaced by a purple whose hue (270) is the same as the hue of the Fortran logo.src/build.shis now an interactive script proposing to build, test and install gtk-fortran. It uses the default Fortran compiler, then build and test with Intel ifx.src/cfwrapper/cleaning.py: code cleaning and improved layout.
Fixed
examples/hl_cairo_viewer.f90: the image is now redrawn when the window is resized. And the "Next>" button becomes sensitive when a second file is added.examples/menubar.f90: the compilation was failing on 32 bits systems, due to anint64kind used instead ofc_size_t(forgssize).examples/gio_demo.f90: a_c_size_tsuffix added (for agssize).implicit nonewas added in all C/Fortran interfaces, as theimplicit noneof the modules do no apply to the interfaces blocks. It will harden the code by allowing the compiler to verify more deeply the coherence of the interfaces generated by the Python wrapper.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 3 years ago
gtk-fortran - gtk-fortran 4.3.0
- Fortran interfaces to GTK 4.8.2 and GLib 2.74.1.
- Various bug fixes, minor improvements, code cleanup (see the
CHANGELOG.mdfile).
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin over 3 years ago
gtk-fortran - gtk-fortran 4.2.1
Fixed
- Issue #257:
examples/tests.f90,examples/bazaar.f90andsrc/gtk-fortran.f90were crashing (segmentation fault) on macOS because the GLibg_get_os_info()function returns NULL on that OS.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 4 years ago
gtk-fortran - gtk-fortran 4.2.0
This release offers interfaces to GTK 4.6.2 and GLib 2.72.1.
Added
- gtk-fortran can now be used as a simple fpm dependency (gtk4 branch only). See the gtkzero_fpm example. It implied some changes:
gtk-auto.f90andgtkenums-auto.f90are renamed with the.incextension.- Removed
mswindowsonly-auto.f90andunixonly-auto.f90, and addedapi_compatibility.f90with the modulegtk_os_dependentto keep API compatibility. plplot/plplot_extra_ndef.f90renamedplplot_extra.f90and moved tosrc/.
examples/bazaar.f90: the About button credits the authors of that file. The call togtk_about_dialog_set_license()is replaced by the more convenientgtk_about_dialog_set_license_type().- A
tutorials/directory contains the GTK 4 sources used in the Wiki first tutorial. src/gtk-fortran.f90: prints the GTK and GLib version of the release.- A conda repository for gtk-4-fortran.
Changed
- Better handling of default compiler flags, using flags like
CMAKE_Fortran_FLAGS_RELEASE_INIT(CMake>=3.7 required). A filecmake/DefaultFlags.cmakewas added. Backported to gtk3 branch. gtkbuilder2.f90: replacedgtk_builder_add_from_file()bygtk_builder_new_from_file().- The syntax was modernized in many places (Fortran 2008).
Fixed
g_application_run()should be called with an array[c_null_ptr]as third argument instead ofc_null_ptr. Needed with the NAG Fortran compiler. Backported to gtk3 branch.examples/tests.f90: loop undefined with ifort. And now usesg_variant_unref().- Various bug fixes.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 4 years ago
gtk-fortran - gtk-fortran 3.24.31
- Based on GTK 3.24.31, GLib 2.72.1.
- Better handling of default compiler flags, using flags like
CMAKE_Fortran_FLAGS_RELEASE_INIT(CMake>=3.7 required). A filecmake/DefaultFlags.cmakewas added. g_application_run()should be called with an array[c_null_ptr]as third argument instead ofc_null_ptr. Needed with the NAG Fortran compiler.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 4 years ago
gtk-fortran - gtk-fortran 4.1
Based on GTK 4.4.0 and GLib 2.70.0 and generated on Fedora 35.
Concerning gtk-fortran itself, under the hood the main change is that each interface now uses the import :: statement instead of use, intrinsic :: iso_c_binding, only: (although anecdotal, the overall size gain is 6% on the 9822 interfaces).
Concerning GTK 4.4, the novelties are listed in the GTK NEWS file, and main changes are presented in the GTK blog. For example, the GTK Inspector is now enabled by default (CTRL+SHIFT+D).
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin over 4 years ago
gtk-fortran - gtk-fortran 3.24.30
Based on GTK 3.24.30, GLib 2.68.4, generated under Fedora 34.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin over 4 years ago
gtk-fortran - gtk-fortran 3.24.28
We have also made a new release in the gtk3 branch, with GTK 3.24.28 and GLib 2.68. All the improvements included in gtk-fortran 3.24.28 (gtk3 branch) are also in gtk-fortran 4.0.
Note that the package names are gtk-3-fortran and gtk-4-fortran: installing both libraries on your machine is not a problem.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 5 years ago
gtk-fortran - gtk-fortran 4.0
Starting with that release, gtk-fortran will follow a classical semantic versioning (instead of following the GTK or Ubuntu versions): gtk-fortran 4.0 is based on GTK 4.2 and GLib 2.68.
The GTK 4 library is progressively arriving in all systems: Ubuntu 21.04, Fedora 33 & 34, Alpine Linux, ALT Linux Sisyphus, Arch Linux, KaOS, Mageia 8, NetBSD 9.1, OpenMandriva Rolling, openSUSE Tumbleweed. But concerning Debian, it is still in the experimental branch. Concerning Windows, GTK 4 is available in MSYS2.
See the CHANGELOG file for a summary of the new features since the April 2020 release, and the GTK Development Blog to know more about the numerous changes in GTK 4.
Note that the gtkf-sketcher tool has only been partially ported to GTK 4, as an essential API for that tool disappeared from GTK 4. And Glade is not yet ported to GTK 4.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 5 years ago
gtk-fortran - gtk-fortran v20.04.gtk3.24.18
gtk-fortran 20.04 is based on GTK 3.24.18 and GLib 2.64.2.
The main objective of this release was to prepare the future GTK 4 migration. A lot of clean-up has been made: scripts, build tools, examples (a lot of deprecated functions were removed)…
A gtk4 development branch has been created. The core of the library is ready for GTK 4 (3.98.3, available for example in Fedora 32). Some examples are already running. The big work will be to upgrade each example and the HL library and its examples. GTK 4 could be released at the end of this year. See: https://blog.gtk.org/
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 6 years ago
gtk-fortran - gtk-fortran v19.04.gtk2.24.32
Based on GTK 2.24.32, GLib 2.60.0, generated with Ubuntu 19.04 x86_64, PLplot<=5.10.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 7 years ago
gtk-fortran - gtk-fortran v19.04.gtk3.24.8
Based on GTK 3.24.8, GLib 2.60.0, generated with Ubuntu 19.04 x86_64, PLplot>=5.13.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin about 7 years ago
gtk-fortran - v17.10.gtk3.22.25_2
This release corresponds to the JOSS paper and will be archived in Zenodo.
Scientific Software - Peer-reviewed
- Fortran
Published by vmagnin over 7 years ago