comp.lang.ada
 help / color / mirror / Atom feed
From: "Dmitry A. Kazakov" <mailbox@dmitry-kazakov.de>
Subject: Re: A Gtk/GtkAda and Glade question
Date: Wed, 13 May 2020 10:18:54 +0200
Date: 2020-05-13T10:18:54+02:00	[thread overview]
Message-ID: <r9gahe$1726$1@gioia.aioe.org> (raw)
In-Reply-To: dec0bc9c-76ae-0571-b603-5d9bd98a6d43@planet.nl

On 2020-05-13 09:04, ldries46 wrote:
> Op 9-5-2020 om 17:06 schreef mgr:
>> On 27/4/20 14:16, ldries46 wrote:
>> > Another problem I encountered is that you have for your program 
>> constant
>> > strings in your GUI and I do want variables in that positions to change
>> > the look of my GUI by a simple redraw action. One reason is that I want
>> > to create a multi language program So I need for instance the menu 
>> to be
>> > possible in several languages (f.i. English, Dutch, German, French and
>> > Spanish) and just switch these languages with one redraw. I can do that
>> > when I do not use the GtkBuilder statement.
>>
>> You should look for gettext library support in Glade and the 
>> gtkada.intl package (which is a binding to the former). I haven't 
>> tried it, but interfaces produced by Glade should be translatable 
>> using gettext files.
> I am glad somebody answered. I could not find the listing of gettext but 
> I suspect that the answer is not inside that listings. I just want to 
> know all the possibilities and where applicable for lines like:
>   <object class="GtkBox" id="box1">
>   <property name="visible">True</property>
>   <signal name="activate" handler="On_New" swapped="no"/>
> I just found three different types of lines that matter. I think that I 
> have found all object class names like "GtkBox" here but of the property 
> name I need far more as which is the case with signal name.
> I need the complete set of each of the different types an if there are 
> more events like object class etc.

It is not properties, it is style properties you are looking for. Style 
properties can be set in a CSS sheet for a class of widgets and for 
individual instances of. It has a quite complex matching algorithm, 
admittedly poorly documented. The CSS sheet is defaulted by GTK per user 
basis. A sheet can be loaded by the GTK application explicitly. The 
widgets get a signal when the style gets changed. For further 
information see:

    https://developer.gnome.org/gtk3/stable/chap-css-overview.html

So, when you create your custom widget, you can define all texts it 
would use as style properties of the widget class. Default these 
properties to English, that will serve as a fallback. Within the widget 
implementation get texts from the corresponding style properties. For 
each locale create a CSS file. Load this file when the language is 
changed. You can also consider setting left-to-right vs. right-to-left, 
if you ever plan Hebrew or Arabic. Of course you can set fonts and 
colors. Alas, you cannot embed images into CSS as you could in GTK 2.x 
RC files, but there is a workaround via icon factory.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de

  reply	other threads:[~2020-05-13  8:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-04-27 12:16 A Gtk/GtkAda and Glade question ldries46
2020-05-09 15:06 ` mgr
2020-05-13  7:04   ` ldries46
2020-05-13  8:18     ` Dmitry A. Kazakov [this message]
2020-05-15  9:17       ` ldries46
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox