**Dependent styles**
Зависимые имена стилей зависят от имени основного стиля. Когда вы добавляете имя зависимого стиля в виджет, GWT будет добавлять к новому имени стиля префикс с именем основного стиля виджета, разделенным чертой ('-'). Вы можете добавлять или удалять зависимые стили с помощью методов addStyleDependentName(String)
и removeStyleDependentName(String)
.
Чтобы увидеть, как это работает, мы рассмотрим простой пример. Допустим, у вас есть TextBox
виджет. Если мы не вызвали setStylePrimaryName(String)
, чтобы изменить его, основное имя стиля - gwt-TextBox
. Теперь предположим, что мы хотим показать, что ввод в текстовое поле недопустим, используя тот же индикатор, что и раньше (красная граница). Если мы используем следующий код:
someTextBox.addStyleDependentName("invalidEntry");
then both of the CSS style rules below will be applied:
$PP_OFF
.gwt-TextBox {
font-size: 12pt;
}
.gwt-TextBox-invalidEntry {
border-color: red; }
}
Когда мы вызывали someTextBox.addStyleDependentName("invalidEntry")
, GWT объединила имя основного стиля gwt-TextBox
с именем зависимого стиля invalidEntry, чтобы создать окончательное имя стиля gwt-TextBox-invalidEntry
.
Зависимые стили являются мощными, потому что они автоматически обновляются при изменении имени основного стиля. Продолжая наш пример выше, если вам нужно изменить имя основного стиля вашего текстового поля с помощью этого вызова:
someTextBox.setStylePrimaryName("myTexBox");