# View - Базовый класс для отображения данных в окне

class axipy.View

  Базовый класс для отображения данных в окне.

  Свойства:

  `position` | Размер и положение окна.
  `show_type` | Возвращает тип состояния окна.
  `title` | Заголовок окна просмотра.
  `widget` | Виджет, соответствующий содержимому окна.

  Методы:

  `close`() | Закрывает окно.
  `reset_parent`(parent) | Сбрасывает окно контейнера для карты или таблицы просмотра, если он существует и закрывает его.
  `show`([type]) | Показывает окно в соответствие с приведенным типом.

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

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

  __eq__(other: object) → bool

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

  __repr__() → str

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

  __str__() → str

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

  close()

    Закрывает окно.

    Примечание

    Если при закрытии окна выдается запрос о сохранении данных перед закрытием и необходимо изменить поведение, то это можно сделать через соответствующие типу окна настройки или же через свойство `axipy.CurrentSettings.SilentCloseWidget`

  property position: QRect

    Размер и положение окна.

  reset_parent(parent: QWidget)

    Сбрасывает окно контейнера для карты или таблицы просмотра, если он существует и закрывает его. Это требуется когда окно карты или таблица просмотра необходимо встроить в другое окно.

    Параметры:

      parent – Окно - новый родитель

    Пример встраивания окно карты в диалог:

        table = provider_manager.openfile('world.tab')
        layer = Layer.create(table)
        m = Map([layer])
        view = view_manager.create_mapview(m)

        # Диалог, в который будет встраиваться
        class MyDialog(QDialog):

            def __init__(self, parent ):
                super().__init__(parent)
                # Инициализируем менеджер компоновки
                self.layout = QGridLayout()
                self.setLayout(self.layout)

            def set_mapview(self, view):
                # Устанавливаем окно карты как контент данного диалога
                view.reset_parent(self)
                self.layout.addWidget(view.widget)
                view.show()

        dialog = MyDialog(view_manager.global_parent)
        dialog.resize(500,300)
        dialog.set_mapview(view)
        dialog.show()

  show(type: int = SHOW_NORMAL)

    Показывает окно в соответствие с приведенным типом.

    Допустимые значения:
    Константа | Значение | Описание
    --- | --- | ---
    SHOW_NORMAL | 1 | Обычный показ окна (по умолчанию).
    SHOW_MINIMIZED | 2 | Показ окна в режиме минимизации.
    SHOW_MAXIMIZED | 3 | Показ окна в режиме распахивания.

  property show_type: int

    Возвращает тип состояния окна.

    Подробнее см. `show()`

  property title: str

    Заголовок окна просмотра.

  property widget: QWidget

    Виджет, соответствующий содержимому окна.

    Результат:

      Qt5 виджет содержимого.