Workspace - Рабочее пространство

class axipy.gui.Workspace

Рабочее пространство для сохранения текущего состояния.

Примечание

Данный класс следует использовать в случае, когда отсутствует главное окно приложения axipy.app.MainWindow для сохранения или чтения текущего состояния. Если же главное окно присутствует, то можно воспользоваться методами axipy.app.MainWindow.load_workspace() для чтения и axipy.app.MainWindow.save_workspace() для записи рабочего пространства.

Рабочее пространство можно как сохранять в файл так и читать из него. При чтении из файла рабочего пространства посредством метода load_file() все источники данных (таблицы) открываются и добавляются в каталог axipy.da.DataManager, доступный через переменную axipy.da.data_manager. А окна с наполнением добавляются в менеджер окон axipy.gui.ViewManager, доступный через переменную view_manager.

В случае записи текущего состояния в файл рабочего пространства последовательность обратная рассмотренной. Состояние каталога и менеджера окон записывается в рабочее пространство посредством метода save_file().

Рассмотрим пример чтения данных в рамках отдельного приложения:

import axipy

# инициализация ядра
app = axipy.init_axioma()
print('Before: tables({}), views({})'.format(len(data_manager), len(view_manager)))
# Чтение рабочего набора
ws.load_file('ws.mws')
print('After: tables({}), views({})'.format(len(data_manager), len(view_manager)))
# Если есть хотя бы одно окно с картой, показываем его
if len(axipy.view_manager.mapviews):
    mapview = axipy.view_manager.mapviews[0]
    mapview.show()
app.exec_()

>>> Before: tables(0), views(0)
>>> After: tables(5), views(3)

Пример записи рабочего пространства:

ws = Workspace()
ws.save_file('ws_out.mws')
load_file(fileName)

Читает из файла рабочего пространства и заносит данные в текущее окружение.

Параметры

fileName (str) – Наименование входного файла.

save_file(fileName)

Сохраняет текущее состояние в файл рабочего пространства.

Параметры

fileName (str) – Наименование выходного файла.