[gtkada] AZip for Gtk

Pascal p.p14 at orange.fr
Thu Sep 13 09:24:41 CEST 2018


> Le 28 août 2018 à 10:14, Gautier de Montmollin <gdemont at hotmail.com> a écrit :
> 
> Hello,
> 
> Is anyone here tempted by participating a bit in the development of the 
> GtkAda layer for my all-in-Ada Zip archive manager, AZip ( 
> http://azip.sf.net )?
> I did not follow the developments of GtkAda or Gtk at all, so I'm a bit 
> lost. I read from time to time about incompatibilities across changes in 
> Gtk.
> AZip in its pure Windows form (using the GWindows toolkit) is getting 
> some visibility (e.g. here: 
> https://www.portablefreeware.com/forums/viewtopic.php?f=20&t=20374#p91505 ), 
> but I think a GtkAda version would be cool for Linux platforms:
>   - for users: having access to unique features like built-in search 
> inside archive, or recompression of archives
>   - for the Ada community: such an application can be a good 
> advertisement for the language.
> The good news for porting to other toolkits is that a large part is 
> ui-independent, or abstracted using generics (all operations on 
> archives: extract, add/replace, delete, test, update, recompress).
> 
> There is already a Gtk stub from 2013 but with only a message box or so.
> An AZip window is relatively simple, with a tree on the left (can be 
> hidden for the "flat" mode), a divider, and a list on the right (sliding 
> with the divider).
> If someone can help me with this layout (typically very difficult for a 
> beginner but very easy for accustomed programmers in a certain toolkit) 
> I could continue from there - even an empty tree (or with a couple of 
> bogus nodes) and an empty list (with one bogus row, two columns and an 
> icon).
> On plain Windows, I'm using the multi-document (MDI) windows, that is, a 
> main window containing a natural number of child windows.
> If Gtk(Ada) doesn't have MDI, it's no problem having just a single main 
> window.
> 
> The sources can be retrieved this way:
> svn checkout https://svn.code.sf.net/p/azip/code/trunk azip-code
> or from GitHub:
> https://github.com/svn2github/AZip.git


Hello Gautier,

A first step, you can make as the concepteur, is to build the AZip user interface with Glade (the GTK UI builder).
https://glade.gnome.org

That is to create all the necessary panels, widgets and signals.
Then you will get an XML file.

This file can be parse with Gate3 to create an Ada skeleton:
https://sourceforge.net/projects/lorenz/

A modified version is here:
http://blady.pagesperso-orange.fr/telechargements/gtkada/gate3_05b.zip

See my French tuto:
http://blady.pagesperso-orange.fr/a_savoir.html#gtkada

I can help you with this step.

Then with the Ada skeleton it will be easier to fill it with your Ada code with help of GTKAda users.

Regards, Pascal.
http://blady.pagesperso-orange.fr




More information about the gtkada mailing list