# ObserverManager - Менеджер наблюдателей

class axipy.ObserverManager

  Наблюдатели за состоянием. Класс является словарем, доступным только для чтения (`collections.abc.Mapping`), где ключи это имена наблюдателей, a значения это объекты класса `axipy.Observer`. Поддерживает обращение по ключу.

  Примечание

  Создание `axipy.ObserverManager` не требуется, используйте объект `axipy.observer_manager`.

  Атрибуты:

  `ActiveMapView` | Есть активное окно карты.
  `ActiveTableView` | Есть активное окно таблицы.
  `ActiveView` | Есть активное окно.
  `Editable` | Активная карта имеет редактируемый слой.
  `HasTables` | Открыта хотя бы одна таблица.
  `Selection` | Есть выборка.
  `SelectionEditable` | Карта имеет редактируемый слой и есть выделенные объекты на одном из слоев карты.
  `SelectionEditableIsSame` | Карта имеет редактируемый слой и выборку на этом слое.

  Методы:

  `get`(key[, default_value]) | Возвращает значение по ключу.
  `items`() | Возвращает набор кортежей ключ-значение, где ключи это имена наблюдателей, а значения это объекты класса `axipy.Observer`.
  `keys`() | Возвращает набор ключей, где ключи это имена наблюдателей.
  `remove`(name) | Удаляет наблюдатель по имени.
  `values`() | Возвращает коллекцию значений, где значения это объекты класса `axipy.Observer`.

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

  `__contains__`(key) | Проверяет наличие элемента в объекте (оператор `in`).
  `__eq__`(other) | Оператор равенства (==).
  `__getitem__`(key) | Доступ к элементу по индексу (`obj[i]`).
  `__iter__`() | Возвращает итератор по объекту (функция `iter()`).
  `__len__`() | Длина объекта (функция `len()`).
  `__repr__`() | Официальное строковое представление объекта при вызове `repr()`.

  ActiveMapView: Observer

    Есть активное окно карты.

  ActiveTableView: Observer

    Есть активное окно таблицы.

  ActiveView: Observer

    Есть активное окно.

  Editable: Observer

    Активная карта имеет редактируемый слой.

  HasTables: Observer

    Открыта хотя бы одна таблица.

  Selection: Observer

    Есть выборка.

  SelectionEditable: Observer

    Карта имеет редактируемый слой и есть выделенные объекты на одном из слоев карты.

  SelectionEditableIsSame: Observer

    Карта имеет редактируемый слой и выборку на этом слое.

  __contains__(key)

    Проверяет наличие элемента в объекте (оператор `in`).

  __eq__(other)

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

  __getitem__(key: str) → Observer

    Доступ к элементу по индексу (`obj[i]`).

  __iter__() → Iterator[str]

    Возвращает итератор по объекту (функция `iter()`).

  __len__() → int

    Длина объекта (функция `len()`).

  __repr__() → str

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

  get(key: str, default_value: Optional[Any] = None) → Optional[Observer]

    Возвращает значение по ключу.

  items() → ItemsView[str, Observer]

    Возвращает набор кортежей ключ-значение, где ключи это имена наблюдателей, а значения это объекты класса `axipy.Observer`.

  keys() → KeysView[str]

    Возвращает набор ключей, где ключи это имена наблюдателей.

  remove(name: str)

    Удаляет наблюдатель по имени.

    Параметры:

      name – Имя наблюдателя.

  values() → ValuesView[Observer]

    Возвращает коллекцию значений, где значения это объекты класса `axipy.Observer`.