Метакод для редактирования компонентов форм с разной глубиной вложенности
Есть необходимость однотипно изменить дизайн разных существующих форм
DESIGN formA {
paneA1 {
paneA2 {
// тут вносимые изменения
}
}
DESIGN formB {
paneB1 {
paneB2 {
paneB3 {
// тут вносимые изменения
}
}
}
Изменения одни и те же, но в разных контейнерах и на разном уровне вложенности форм.
Для одинаковых уровней вложенности (например 2) работает такой метакод:
META changeForm(formName, formElement1, formElement2)
DESIGN formName{
formElement1{
formElement2 {
// тут вносимые изменения
}
}
}
END
Возможно ли такое относительно красиво сделать META кодом для разных уровней вложенности?
Ответы (1 шт):
Коллеги подсказли, что необязательно делать вот так:
DESIGN formB {
paneB1 {
paneB2 {
paneB3 {
// тут вносимые изменения
}
}
}
}
Достаточно вот так:
DESIGN formB {
paneB3 {
// тут вносимые изменения
}
}
Инструкция редактирования позволяет изменить указанный компонент, который должен являться потомком (не обязательно непосредственным) текущего контейнера
То есть контейнер может быть сколько угодно вложенный, не нужно весь путь в дереве указывать
Соответственно META код для такой задачи будет выглядеть следующим образом:
META changeForm(formName, formElement)
DESIGN formName{
formElement{
// тут вносимые изменения
}
}
END