[comp.windows.x] More about "Composite widgets and translations"

Mark.Bush@prg.oxford.ac.UK (05/28/90)

I have only had one response to my article (Message-ID 9005231530.
AA04037@uk.ac.oxford.prg.boothp1) about my problems with translations in
composite widgets and that didn't work. 8*(

To clarify the situation...

If I have an application that does an `#override' of the translations for a
child of a composite widget then any `#override' that I have from my
.Xdefaults are completely ignored.  The same entries work for a simple
widget, though.

It would appear to be the case that, for a child of a composite widget, you
can either setup translations from the applications fallback_resources or
you can have translations in your .Xdefaults but not both!

Does anyone know if this is the case or if there is something I can
set/unset to get around this problem?

E-mail or post, but _please_ respond if you know what's happening here.

Many thanks in advance...

Mark

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (05/29/90)

    It would appear to be the case that, for a child of a composite widget, you
    can either setup translations from the applications fallback_resources or
    you can have translations in your .Xdefaults but not both!

It isn't specific to a child of a composite widget.  For any widget, and
any resource for that widget, at most one entry from the multitude of
possible resource files (and pseudo-files like the server property and
the fallback resources) will be applied to that resource.  You need to
think of it this way: all of those resource files first get merged together
(newer additions replacing older entries), and then lookups are made.
Now, in the case of translation tables, with #override/#augment specifiers,
it would seem reasonable that the resource entries should "cascade" in some
way, rather than just "newest wins".  But the resource manager doesn't
know anything about translation tables; at the resource database level
they're just strings, like any other strings.

This is one of several deficiencies that we've identified with resource
management in X.  We (MIT) have some proposed solutions to these problems,
including a solution to cascading translation tables, but we're a ways from
having working prototypes or having the solutions formally reviewed and
blessed by the X Consortium.