История изменений

6.0 Изменения

Новое

  • Новые классы для работы с длительными задачами: axipy.Task, axipy.DialogTask вместо устаревших классов axipy.AxipyTask, axipy.AxipyAnyCallableTask, axipy.AxipyProgressHandler, axipy.ProgressGuiFlags, axipy.ProgressSpecification.

  • Класс axipy.TaskManager был дополнен как словарь только для чтения (typing.Mapping). Добавлены сигналы axipy.TaskManager.added и axipy.TaskManager.removed. Методы axipy.TaskManager.start_task(), axipy.TaskManager.run_and_get(), axipy.TaskManager.run_in_gui(), axipy.TaskManager.generate_dialog_for_task() были объявлены устаревшими.

  • Класс axipy.PluginManager - Менеджер плагинов.

  • Функция axipy.save_file_dialog() - Диалог сохранения файла, по аналогии с axipy.open_file_dialog().

Исправления

  • Экземпляры классов менеджеров были приведены к одному виду и оформлены в разделе Менеджеры. Классы:

    были дополнены как экземпляры. (Раньше были исключительно статическими классами.)

5.2 Изменения

Исправления

5.1 Изменения

Июль 2023

Исправления

  • Методы axipy.Workspace.load_file() и axipy.Workspace.save_file() теперь работают независимо от наличия главного окна Аксиомы. Методы axipy.MainWindow.load_workspace() и axipy.MainWindow.save_workspace() отмечены как устаревшие.

5.0.1 Изменения

Июль 2023

Исправления

  • Для классов (словарей dict):

    • Исправлена ошибка с неправильной работой оператора принадлежности in;

    • Исправлена некорректная работа метода get(), где не учитывалось значение по умолчанию;

    • Исправлена ошибка, где при обращение по индексу [] к несуществующему элементу, не генерировалось исключение KeyError.

5.0 Изменения

Июнь 2023

Новое

Исправления

  • Класс axipy.app.Notifications перенесен в axipy.gui как axipy.gui.Notifications.

  • В соответствии с PEP 8#package-and-module-names переименованы модули:

    • Модуль axipy.concurrent.AxipyProgressHandler переименован в axipy.concurrent.axipy_progress_handler.

    • Модуль axipy.concurrent.Task переименован в axipy.concurrent.task.

    • Модуль axipy.concurrent.TaskManager переименован в axipy.concurrent.task_manager_.

    • Модуль axipy.concurrent.TaskUtils переименован в axipy.concurrent.task_utils.

    • Модуль axipy.cs.CoordSystem переименован в axipy.cs.coord_system.

    • Модуль axipy.cs.CoordTransformer переименован в axipy.cs.coord_transformer.

    • Модуль axipy.da.attribute_schema переименован в axipy.da.schema.

    • Модуль axipy.da.DataManagerWrapper переименован в axipy.da.data_manager_.

    • Модуль axipy.da.DataObjectWrapper переименован в axipy.da.data_object.

    • Модуль axipy.da.FeatureWrapper переименован в axipy.da.feature.

    • Модуль axipy.da.Geometry переименован в axipy.da.geometry.

    • Модуль axipy.da.Style переименован в axipy.da.style.

    • Модуль axipy.da.TabFile переименован в axipy.da.tab_file.

    • Модуль axipy.gui.ActiveToolPanel переименован в axipy.gui.active_tool_panel.

    • Модуль axipy.gui.DialogWrapper переименован в axipy.gui.dialog.

    • Модуль axipy.gui.Notifications переименован в axipy.gui.notifications.

    • Модуль axipy.gui.SelectionManagerWrapper переименован в axipy.gui.selection_manager_.

    • Модуль axipy.gui.ToolWrapper переименован в axipy.gui.map_tool.

    • Модуль axipy.gui.view_manager_wrapper переименован в axipy.gui.view_manager_.

    • Модуль axipy.gui.ViewWrapper переименован в axipy.gui.view.

    • Модуль axipy.gui.WidgetWrapper переименован в axipy.gui.widgets.

    • Модуль axipy.gui.Workspace переименован в axipy.gui.workspace.

    • Модуль axipy.mi.MIGeometry переименован в axipy.mi.mi_geometry.

    • Модуль axipy.render.map переименован в axipy.render.map_.

4.4 Изменения

Февраль 2023

Исправления

  • Методы axipy.da.CollectionStyle.point(), axipy.da.CollectionStyle.line(), axipy.da.CollectionStyle.polygon(), axipy.da.CollectionStyle.text() реализованы как свойства.

4.3 Изменения

Декабрь 2022

Новое

  • Модули устанавливаются в папку installed_modules.

  • Явное указание секции [general] в файле метаданных модуля manifest.ini необязательно.

  • Модули с зависимостями.

  • Обход ошибки при импорте библиотеки Matplotlib.

  • Раздел Среда разработки.

  • Методы axipy.gui.SelectToolHelpers.select_by_mouse() и axipy.gui.SelectToolHelpers.select_by_rect() для выделения геометрий как в инструменте Выбор.

  • Доступ к объектам данных в axipy.da.DataManager по имени как в словаре dict.

  • Редактируемый атрибут axipy.da.Table.schema.

  • Свойства подписей.

  • Список загруженных провайдеров axipy.da.ProviderManager.providers().

Исправления

  • При выполнении конвертации axipy.da.MifMidDataProvider.convert_to_tab() терялись пространственные данные.

  • Из-за похожести с axipy.gui.MapView.device_rect свойство axipy.gui.View.rect переименовано в axipy.gui.View.position.

  • axipy.gui.Map.to_image() не учитывал ограничивающий прямоугольник.

  • Метод axipy.da.Geometry.from_json() переименован в axipy.da.Geometry.from_geojson().

  • Класс axipy.utl.Printer переименован в axipy.utl.FloatFormatter.

  • Для axipy.da.DataManager.sql_dialect сменен тип данных с str на enum.

  • Свойство axipy.render.Label.placementPolicy вынесено как enum axipy.render.LabelOverlap.

4.0 Изменения

Июнь 2022

Новое

  • Метод создания и показа главного окна axipy.app.MainWindow.show().

Исправления

  • Свойство axipy.gui.ReportView.scale() переименовано в axipy.gui.ReportView.view_scale.

3.7.0 Изменения

Март 2022

Новое

  • Методы axipy.gui.MapTool.load()/axipy.gui.MapTool.unload() класса axipy.gui.MapTool; метод axipy.gui.MapTool.deactivate() отмечен как устаревший.

  • Метод axipy.gui.MapTool.canDeactivate() переименован в axipy.gui.MapTool.canUnload().

  • Функция поиска перевода axipy.tr().

Исправления

  • Изменены пределы для свойств axipy.render.RasterLayer.brightness и axipy.render.RasterLayer.contrast на диапазон (-100…100).

3.5.0 Изменения

Август 2021

Новое

  • Новые вспомогательные методы в axipy.gui.MapTool.

  • Объектно-ориентированный стиль создания кнопок axipy.menubar.Button.

  • Механизм слежения за значениями axipy.da.state_manager.

  • Распространение модулей в архивах.

  • Объявление модулей с наследованием от axipy.AxiomaPlugin.

  • Каталог данных содержит таблицу выборки axipy.da.DataCatalog.selection.

  • Менеджер для запуска и управления пользовательскими задачами axipy.concurrent.TaskManager.

  • Добавлена панель активного инструмента axipy.gui.ActiveToolPanel в которую можно поместить графический элемент упрощающий работу с пользовательским инструментом.

Исправления

  • Класс axipy.da.Collection переименован в axipy.da.GeometryCollection.

  • Методы axipy.da.DataCatalog.tables(), axipy.da.DataCatalog.objects(), axipy.da.DataCatalog.count() реализованы как свойства. Метод axipy.da.Schema.attribute_names() так-же переделан как свойство.

  • Убраны класс axipy.cs.UnitService и его экземпляр axipy.cs.unit. Их функционал перенесен в базовый класс axipy.cs.EarthUnit, который переименован в axipy.cs.Unit. Переименованы методы axipy.cs.LinearUnit.list_all(), axipy.cs.AreaUnit.list_all().

  • Переименован класс axipy.da.DataCatalog в axipy.da.DataManager

  • Переименован класс axipy.gui.ViewService в axipy.gui.ViewManager

  • Переименован класс axipy.gui.SelectionService в axipy.gui.SelectionManager

  • Переименован класс axipy.da.DataProviders в axipy.da.ProviderManager

  • Экземпляр класса axipy.render.Map axipy.render.Map.unit перенесен в класс axipy.gui.MapView.

3.0.0 Изменения

Апрель 2021

Новое

  • Руководство разработчика объединено со справочником функций.

  • Свойство временной таблицы axipy.da.Table.is_temporary.

  • Менеджер контекста with для axipy.da.DataObject.

  • Транзакционная модель редактирования таблиц: axipy.da.Table.restore(), axipy.da.Table.commit(), axipy.da.Table.is_modified, axipy.da.Table.insert(), axipy.da.Table.update(), axipy.da.Table.delete().

  • Каталог объектов данных axipy.app.MainWindow.catalog по умолчанию. Открываемые объекты данных автоматически попадают в каталог главного окна. Запросы axipy.da.DataCatalog.query() производятся к этому каталогу без явного указания конкретных таблиц.

  • Создаваемые окна axipy.gui.ViewService.create_view() автоматически добавляются в главное окно программы.

  • Настройки ГИС Аксиома axipy.Settings.

  • Провайдеры данных axipy.da.DataProviders со специализированными параметрами для открытия/создания и импорта/экспорта: axipy.da.DataProviders.tab, axipy.da.DataProviders.shp и другие.

  • Раздельные типы стилей: axipy.da.PointStyle, axipy.da.PolygonStyle и другие.

  • Раздельные типы геометрий: axipy.da.Point, axipy.da.Polygon и другие.

  • Загрузка/сохранение рабочих наборов axipy.app.MainWindow.load_workspace(), axipy.app.MainWindow.save_workspace().

  • Удаление кнопок axipy.menubar.remove() приводит к удалению групп и вкладок axipy.menubar.Position, если они стали пустыми.

Исправления

  • Ошибка при попытке закрытия временной таблицы с изменениями.

  • Ошибка при задании разделителя в формате CSV axipy.da.CsvDataProvider.

2.9.0 Изменения

Декабрь 2020

Новое

  • Первоначальный релиз.