# MainWindow - Главное окно

axipy.mainwindow = <axipy.MainWindow object>

  Готовый экземпляр главного окна ГИС Аксиома. (`axipy.MainWindow`).

class axipy.MainWindow

  Главное окно ГИС Аксиома.

  Примечание

  Используйте готовый объект `axipy.mainwindow`.

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

  `show`() | Создает и показывает главное окно программы.

  Свойства:

  `dock_widgets` | Возвращает список панелей.
  `geometry` | Устанавливает или возвращает положение главного окна.
  `is_valid` | Возвращает признак корректности состояния главного окна.
  `quick_toolbar` | Возвращает панель быстрого запуска.
  `widget` | Возвращает виджет, соответствующий содержимому окна.

  Методы:

  `add`(view) | Добавляет окно просмотра данных.
  `add_dock_widget`(dock_widget, area[, icon]) | Добавляет панель в главное окно приложения.
  `add_layer_current_map`(layer) | Добавляет слой в текущей карте.
  `add_layer_interactive`(layer) | Добавляет слой с запросом на помещение на текущую карту или в новую.
  `add_layer_new_map`(layer) | Открывает слой в новой карте.
  `dock_widget_by_name`(name) | Производит поиск панелей по заголовку.
  `remove_dock_widget`(dock) | Удаляет существующую панель у главного окна приложения.
  `show_html_url`(url, caption) | Показывает окно для локального файла html или если это web страница, запускает браузер по ассоциации.

  add(view: View) → QMdiSubWindow

    Добавляет окно просмотра данных.

    Параметры:

      view – окно просмотра данных.

    Примечание

    При создании окон просмотра данных `axipy.ViewManager.create_mapview()` или `axipy.ViewManager.create_tableview()` они автоматически добавляются в главное окно программы.

  add_dock_widget(dock_widget: QDockWidget, area: DockWidgetArea, icon: Optional[QIcon] = None) → bool

    Добавляет панель в главное окно приложения. При успешном добавлении возвращает True. Если же данная панель уже присутствует, то команда игнорируется и возвращается False. Элементы управления, которые требуется разместить на панели, создаются в дополнительном окне, а уже это окно, в свою очередь, устанавливается для панели (см. пример ниже).

    Параметры:

      - dock_widget – Пользовательская созданная панель.

      - area – Расположение.

      - icon – Иконка для отображения в списке всех доступных панелей.

    Пример:

        from PySide2.QtWidgets import QDockWidget, QWidget, QPushButton
        from PySide2.QtCore import Qt

        dock = QDockWidget('Заголовок')
        widget = QWidget()
        layout = QVBoxLayout()
        button = QPushButton("Кнопка")
        button.clicked.connect(lambda: print('Реакция на кнопку'))
        layout.addWidget(button)
        layout.addStretch()
        widget.setLayout(layout)
        dock.setWidget(widget)
        app.mainwindow.add_dock_widget(dock, Qt.RightDockWidgetArea, QIcon('filename.png'))

  add_layer_current_map(layer: Layer) → MapView

    Добавляет слой в текущей карте.

  add_layer_interactive(layer: Layer) → MapView

    Добавляет слой с запросом на помещение на текущую карту или в новую.

  add_layer_new_map(layer: Layer) → MapView

    Открывает слой в новой карте.

  dock_widget_by_name(name: str) → Tuple[QDockWidget, ...]

    Производит поиск панелей по заголовку.

    Параметры:

      name – Заголовок панели или же шаблон в формате `re`

    Пример выдачи всех окон, у которых заголовок начинается c «Заголовок»

        for dock in app.mainwindow.dock_widget_by_name('Заголовок.*$'):
            print(dock.windowTitle())

        >>> Заголовок2
        >>> Заголовок
        >>> Заголовок1

  property dock_widgets: Tuple[QDockWidget, ...]

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

  property geometry: QRect

    Устанавливает или возвращает положение главного окна.

  property is_valid: bool

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

  property quick_toolbar: Optional[QToolBar]

    Возвращает панель быстрого запуска. Доступна только для ленточного интерфейса.

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

        tool_bar = mainwindow.quick_toolbar
        if tool_bar:
            tool_bar.addAction(action_manager['Select'])

  remove_dock_widget(dock: QDockWidget)

    Удаляет существующую панель у главного окна приложения.

  static show() → MainWindow

    Создает и показывает главное окно программы.

  show_html_url(url: QUrl, caption: str)

    Показывает окно для локального файла html или если это web страница, запускает браузер по ассоциации.

    Параметры:

      - url – Ссылка на файл html или адрес страницы.

      - caption – Заголовок окна.

  property widget: Optional[QMainWindow]

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

    Результат:

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

class axipy.DockWidgetArea

  Расположение панели.

  Атрибуты:

  `Bottom` | Снизу.
  `Left` | Слева.
  `Right` | Справа.
  `Top` | Сверху.