Workspace - Рабочее пространство
- class axipy.gui.Workspace
Рабочее пространство для сохранения текущего состояния.
Примечание
Данный класс следует использовать в случае, когда отсутствует главное окно приложения
axipy.MainWindow
для сохранения или чтения текущего состояния. Если же главное окно присутствует, то можно воспользоваться методамиaxipy.MainWindow.load_workspace()
для чтения иaxipy.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)Читает из файла рабочего пространства и заносит данные в текущее окружение.
save_file
(fileName)Сохраняет текущее состояние в файл рабочего пространства.