# CollectionStyle - Стиль коллекций

class axipy.CollectionStyle

  Базовые классы: `Style`

  Смешанный стиль для разнородного типа объектов.

  Контейнер стилей. может применяться вкупе с геометрическим объектом типа разнородная коллекция `axipy.GeometryCollection`. Для задания или переопределения стилей простейших объектов, необходимо вызывать соответствующие методы для необходимых типов объектов.

  Примечание

  Объекты стилей, полученные через методы `line()`, `polygon()` и т.д. будут удалены сразу после удаления объекта стиля коллекции. Если их нужно сохранить, воспользуйтесь операцией `axipy.Style.clone()`.

  Классовые методы:

  `for_geometry`(geom) | Возвращает стиль по умолчанию из настроек для переданного объекта.
  `for_geometry_type`(geometry_type) | Возвращает стиль по умолчанию для переданного типа геометрии.
  `from_mapinfo`(mapbasic_string) | Получает стиль из строки формата MapBasic.

  Свойства:

  `line` | Стиль для линейных объектов `LineStyle`.
  `point` | Стиль для точечных объектов `PointStyle`.
  `polygon` | Стиль для полигональных объектов `PolygonStyle`.
  `text` | Стиль для текстовых объектов `TextStyle`.

  Методы:

  `clone`() | Создаёт копию объекта стиля.
  `draw`(geometry, painter) | Рисует геометрический объект с текущим стилем в произвольном контексте вывода.
  `find_style`(geom) | Возвращает стиль, подходящий для переданной геометрии.
  `for_line`(style) | Задание стиля для линейных объектов `LineStyle`.
  `for_point`(style) | Задание стиля для точечных объектов `PointStyle`.
  `for_polygon`(style) | Задание стиля для полигональных объектов `PolygonStyle`.
  `for_text`(style) | Задание стиля для текстовых объектов `TextStyle`.
  `to_mapinfo`() | Возвращает строковое представление в формате MapBasic.

  Специальные методы:

  `__eq__`(other) | Оператор равенства (==).
  `__repr__`() | Официальное строковое представление объекта при вызове `repr()`.
  `__str__`() | Неформальное строковое представление объекта при вызове `str` или `print()`.

  __eq__(other: object) → bool

    Оператор равенства (==).

  __repr__() → str

    Официальное строковое представление объекта при вызове `repr()`.

  __str__() → str

    Неформальное строковое представление объекта при вызове `str` или `print()`.

  clone() → Style

    Создаёт копию объекта стиля.

  draw(geometry: Geometry, painter: QPainter)

    Рисует геометрический объект с текущим стилем в произвольном контексте вывода. Это может быть востребовано при желании отрисовать геометрию со стилем на форме или диалоге.

    Параметры:

      - geometry – Геометрия. Должна соответствовать стилю. Т.е. если объект полигон, а стиль для рисования точечных объектов, то ничего нарисовано не будет.

      - painter – Контекст вывода.

    Пример отрисовки в растре и сохранение результата в файле.

        image = QImage(100, 100, QImage.Format_ARGB32_Premultiplied)
        image.fill(Qt.white)
        painter = QPainter(image)
        point = Point(50, 50)
        style = PointStyle.create_mi_font(42, Qt.red, 24)
        style.draw(point, painter)
        image.save(filename)

  find_style(geom: Geometry) → Style

    Возвращает стиль, подходящий для переданной геометрии.

  classmethod for_geometry(geom: Geometry) → Style

    Возвращает стиль по умолчанию из настроек для переданного объекта.

    Параметры:

      geom – Геометрический объект, для которого необходимо получить соответствующий ему стиль.

  classmethod for_geometry_type(geometry_type: StyleGeometryType) → Style

    Возвращает стиль по умолчанию для переданного типа геометрии.

    Параметры:

      geometry_type – Тип геометрического объекта, для которого необходимо получить стиль.

  for_line(style: LineStyle)

    Задание стиля для линейных объектов `LineStyle`.

  for_point(style: PointStyle)

    Задание стиля для точечных объектов `PointStyle`.

  for_polygon(style: PolygonStyle)

    Задание стиля для полигональных объектов `PolygonStyle`.

  for_text(style: TextStyle)

    Задание стиля для текстовых объектов `TextStyle`.

  classmethod from_mapinfo(mapbasic_string: str) → Optional[Style]

    Получает стиль из строки формата MapBasic.

    Параметры:

      mapbasic_string – Строка в формате MapBasic.

        style = Style.from_mapinfo("Pen (1, 2, 0) Brush (8, 255)")

  property line: Optional[LineStyle]

    Стиль для линейных объектов `LineStyle`.

  property point: Optional[PointStyle]

    Стиль для точечных объектов `PointStyle`.

  property polygon: Optional[PolygonStyle]

    Стиль для полигональных объектов `PolygonStyle`.

  property text: Optional[TextStyle]

    Стиль для текстовых объектов `TextStyle`.

  to_mapinfo() → str

    Возвращает строковое представление в формате MapBasic.

        print(style.to_mapinfo())
        '''
        >>> Pen (1, 2, 0) Brush (8, 255)
        '''