3.4.1. Формат файла описания ресурсов.

    Подробно формат файла описания ресурсов (или просто файла ресурсов) был приведен в п. 2.4.1 главы 2. Но когда программист работает с Xt, то возникает вопрос, как конкретно определяется значение того или иного параметра widget. Делается это следующим образом. Пусть объект с именем "WnameN" и класса "WclassN" имеет "родителей" с именами "WnameN-1", . . . , "Wname1" и принадлежащих классу "WclassN-1", . . . , "Wclass1" соответственно, причем "Wname1" - корень дерева widget программы. Тогда, чтобы задать значение его атрибута XtNA в ресурсном файле должна быть строка:

<имя программы>. "Wname1".  . . .  . "WnameN".A : <значение> 

    Например, пусть в программе с именем "justas" объект "dialogBox" принадлежит классу TopLevelShell и имеет два родительских widget "core" класса Core и "appShell" класса ApplicationShell. Тогда значение его атрибута XtNheight (высота окна) равное 100 можно задать так:

justas.appShell.core.dialogBox.height : 100 

    Вместо имени любого объекта иерархии можно указать его класс. В этом случае значение ресурса будет распространяться на все объекты, у которых в иерархии на соответствующем месте стоит widget указанного класса . Так, например, если структура иерархии объектов программы такая, как указано на рисунке 3.2, то строки

justas.appShell.core1.dialogBox.height : 100
justas.appShell.core2.dialogBox.height : 200 

означают, что widget с именем "dialogBox" и "родителем" "core1" имеет высоту 100. А widget с именем "dialogBox" и родительским widget "core2" имеет высоту 200. Строка же

justas.appShell.Core.dialogBox.height : 200 

"говорит", что для обоих объектов высота равна 200. В строке, задающей ресурс, можно употреблять символ `*' (см. 2.4.1 главы 2).

Рис. 3.2. Иерархия объектов программы.

Рис. 3.2. Иерархия объектов программы.