Перейти к основному содержанию
`Ctrl`+`K`

# StyleBuilder

`StyleBuilder` - инструмент, предназначенный для настройки и управления стилями, предоставляя разработчикам необходимые инструменты для работы с цветами, шрифтами и парсингом стилей.

## Инструменты, предназначенные для работы с цветом

1. `setBackgroundColor` - устанавливает цвет заднего фона, подавать на вход можно hex код, GS код или GS константы. При передаче пустой строки происходит обнуление параметра.

2. `getBackgroundColor` - возвращает цвет заднего фона.

## Инструменты, предназначенные для работы с шрифтом

1. `setFont` - устанавливает шрифт по названию. При передаче пустой строки происходит обнуление параметра.

2. `getFont` - возвращает название шрифта.

3. `setFontSize` - устанавливает размер шрифта. При передаче null-значения происходит обнуление параметра.

4. `getFontSize` - возвращает размер шрифта.

5. `setFontColor` - устанавливает цвет шрифта. При передаче пустой строки происходит обнуление параметра.

6. `getFontColor` - возвращает цвет шрифта.

7. `setFontBold` - устанавливает значение, указывающее, используется ли жирный шрифт. При передаче null-значения происходит обнуление параметра.

8. `isFontBold` - возвращает значение, указывающее, используется ли жирный шрифт.

9. `setFontItalic` - устанавливает значение, указывающее, используется ли курсив. При передаче null-значения происходит обнуление параметра.

10. `isFontItalic` - возвращает значение, указывающее, используется ли курсив.

11. `setFontUnderLine` - устанавливает значение, указывающее, задает ли этот стиль горизонтальную линию под шрифтом. При передаче null-значения происходит обнуление параметра.

12. `isFontUnderLine` - возвращает значение, указывающее, задает ли этот стиль горизонтальную линию под шрифтом.

13. `setFontStrikeOut` - устанавливает значение, указывающее, задает ли этот стиль горизонтальную линию через шрифт. При передаче null-значения происходит обнуление параметра.

14. `isFontStrikeOut` - возвращает значение, указывающее, задает ли этот стиль горизонтальную линию через шрифт.

## Использование

Примечание

val style = StyleBuilder() .setBackgroundColor(Color.Blue) .setFontColor(«#FFAAFF») .setFont(Font.Impact) .setFontUnderLine(1.nn) .build()

## Color

`Color` - объект, предназначенный для парснига цвета, поскольку цвет, выбранный в редакторе(`editorType="colorPick"`), сохраняется в десятичном формате.

Есть список предопределённых цветов для удобства использования: `ru.bitec.app.btk.sel.utils.StyleBuilder.Color#Black`

## Использование

Внимание

    Необходимо переопределить onRefresh если цвет сохраняется не в десятичном формате, а как Hex

Примечание

    override def onRefresh: Recs = {
       ConfigBase.fromJson(vShapeList) match {
         case image: ImageConfig => image
         case line: LineConfig => line.copy(
           fill = line.fill.optionMap(fill => Color.clToDec(Color(fill.getOrElse).getGsHex()).ns).getOrElse(NString()),
           stroke = line.stroke.optionMap(stroke => Color.clToDec(Color(stroke.getOrElse).getGsHex()).ns).getOrElse(NString())
         )
         case _ => null
       }
    }

    @Setter
    def setfill(event: SetterEvent): Unit = {
      val color = Color(Color.decToCl(event.attr.asNNumber).getOrElse("")).getHex()
      processSetter {
        case image: ImageConfig => ???
        case line: LineConfig => line.copy(fill = color)
      }
    }