MapBasicStyle
=================

.. currentmodule:: axioma.mapinfo

.. class:: MapBasicStyle

	Преобразование внутреннего представления стиля в строку mapBasic и обратно

		.. py:method:: MapBasicStyle()

		Конструктор

		.. py:method:: styleFromString(rendstr)

			Получение внутреннего представления стиля из строки mapBasic. Если строка содержит несколько стилей, разделенных между собой символами ';' или '|', создается композитный стиль :class:`~axioma.render.CompositeStyle`.

			:param `str` rendstr: Строка со стилем. 
			:return: Стиль. В случае пустой строки возвращается стиль по умолчанию
			:rtype: Style

		.. py:method:: stringFromStyle(style)

			Получение строки mapBasic из внутреннего представления стиля

			:param `Style` style: Входной стиль
			:return: Строка mapBasic со стилем
			:rtype: :class:`str`


Пример использования:

  .. code-block:: python
  
            def colorToMapbasic(color):
              return QColor(color).rgb() - 0xFF000000

            styleFont = MapBasicStyle().styleFromString("Font (\"Arial\",1,9,16711680)")

            num = 36
            color = colorToMapbasic(Qt.red)
            styleSymbol = MapBasicStyle().styleFromString("Symbol (%d,%d, 24)"  % (num, color))

            num = 2
            color = colorToMapbasic(Qt.green)
            stylePen = MapBasicStyle().styleFromString("Pen (2, %d,%d)"  % (num, color))

            num = 8
            color = colorToMapbasic(Qt.red)
            styleBrush = MapBasicStyle().styleFromString("Pen (1, 5, 16711935) Brush (%d, 255, %d)"  % (num, color))

            # Создание композитного стиля из строки, с разделителями между стилями '|'
            compositeStyle = MapBasicStyle().styleFromString("Pen (5,2,16711680)|Pen (2,2,16776960)|Pen (2,9,0)")
