VeraGrid 5.5.9__tar.gz → 5.5.17__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {veragrid-5.5.9 → veragrid-5.5.17}/PKG-INFO +1 -1
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/controllable_shunt_editor.py +8 -2
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/line_editor.py +59 -56
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/transformer_editor.py +54 -31
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/line_location_graphic_item.py +4 -4
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_container.py +7 -5
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +1 -7
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/grid_map_widget.py +47 -53
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/map_widget.py +46 -2
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +7 -17
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +3 -9
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +1 -7
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +1 -28
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/schematic_widget.py +55 -73
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/base_diagram_widget.py +3 -2
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridReduce/grid_reduce.py +15 -5
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/ConsoleLog.py +1 -1
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/MainWindow.py +229 -165
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays.py +20 -42
- veragrid-5.5.17/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays_model.py +591 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Model/data_base.py +58 -4
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Model/diagrams.py +6 -4
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Model/time_events.py +76 -4
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Settings/configuration.py +3 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/base_gui.py +81 -30
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/io.py +10 -36
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/simulations.py +55 -78
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/icons_rc.py +1050 -521
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/__version__.py +1 -1
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ExecuteVeraGrid.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/AboutDialogue/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/AboutDialogue/about_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/AboutDialogue/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/AboutDialogue/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/AboutDialogue/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Analysis/AnalysisDialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Analysis/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Analysis/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Analysis/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Analysis/object_plot_analysis.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Analysis/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ContingencyPlanner/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ContingencyPlanner/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ContingencyPlanner/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/CoordinatesInput/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/CoordinatesInput/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/CoordinatesInput/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/CoordinatesInput/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/rms_model_editor.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/rms_model_editor_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/rms_model_editor_engine.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/rms_templates.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/generator_editor.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/new_line_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/transformer3w_editor.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/transformer_taps_editor.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics_3term.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/diagrams_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/generic_graphics.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/graphics_manager.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridGenerator/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridGenerator/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridGenerator/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridGenerator/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridMerge/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridMerge/build_diff_tree.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridMerge/grid_diff.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridMerge/grid_diff_gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridMerge/grid_merge.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridMerge/grid_merge_gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridMerge/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridReduce/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridReduce/grid_reduce_gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/GridReduce/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadCatalogue/SelectComponents.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadCatalogue/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadCatalogue/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadCatalogue/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadDesigner/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadDesigner/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadDesigner/load_designer.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/LoadDesigner/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/ConsoleLogController.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Model/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/README.txt +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Results/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Results/results.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Server/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Server/server.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/Settings/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/SubClasses/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/VeraGridMain.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/object_select_window.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Main/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/excel_dialog.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/models_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/profile_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/ProfilesInput/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RmsModelEditor/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RmsModelEditor/block_editor.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RmsModelEditor/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RmsModelEditor/rms_model_editor.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RmsModelEditor/rms_model_editor_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RmsModelEditor/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RosetaExplorer/MainWindow.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RosetaExplorer/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RosetaExplorer/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SigmaAnalysis/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SigmaAnalysis/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SigmaAnalysis/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SmallSignalEditor/Icons/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SmallSignalEditor/SmallSignal_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SmallSignalEditor/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SolarPowerWizard/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SolarPowerWizard/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SolarPowerWizard/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SubstationDesigner/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SubstationDesigner/substation_designer.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SubstationDesigner/substation_designer_gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SubstationDesigner/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SubstationDesigner/voltage_level_conversion.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SyncDialogue/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SyncDialogue/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SyncDialogue/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SyncDialogue/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SystemScaler/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SystemScaler/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SystemScaler/system_scaler.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/SystemScaler/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TowerBuilder/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TowerBuilder/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TowerBuilder/table_models.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TowerBuilder/tower_builder.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TowerBuilder/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TreeModelViewer/MainWindow.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TreeModelViewer/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TreeModelViewer/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Visualization/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Visualization/visualization.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Widgets/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Widgets/custom_qrangeslider.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Widgets/matplotlibwidget.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/WindPowerWizard/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/WindPowerWizard/gui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/WindPowerWizard/icons_rc.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/WindPowerWizard/update_gui_file.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/associations_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/correct_icons.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/general_dialogues.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/gui_functions.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/messages.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/object_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/object_proxy_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/pandas_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/plot_config.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/profiles_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/python_console.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/python_highlighter.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/results_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/rms_plot_variables_dialog.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/table_view_header_wrap.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/themes.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/toast_widget.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/update_gui_all.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/update_gui_common.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/wrappable_table_model.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/LICENSE.txt +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Session/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Session/export_results_driver.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Session/file_handler.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Session/server_driver.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Session/session.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Session/synchronization_driver.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/darkdetect/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/darkdetect/_dummy.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/darkdetect/_linux_detect.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/darkdetect/_mac_detect.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/darkdetect/_windows_detect.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_color.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_icon/svg.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_main.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_proxy_style.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_resources/colors.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_resources/palette.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_resources/svg.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_style_loader.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_template/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_template/engine.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_template/filter.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/_util.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/data/VeraGrid.ico +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/data/VeraGrid.svg +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/data/__init__.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/data/cables.csv +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/data/sequence_lines.csv +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/data/transformers.csv +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/data/wires.csv +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/plugins.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/templates.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/update.py +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/setup.cfg +0 -0
- {veragrid-5.5.9 → veragrid-5.5.17}/setup.py +0 -0
{veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/Editors/controllable_shunt_editor.py
RENAMED
|
@@ -126,7 +126,13 @@ class ControllableShuntEditor(QDialog):
|
|
|
126
126
|
|
|
127
127
|
def accept_click(self):
|
|
128
128
|
"""
|
|
129
|
-
|
|
130
|
-
:return:
|
|
129
|
+
Modify and exit
|
|
131
130
|
"""
|
|
131
|
+
self.api_object.active_steps = self.get_active_steps()
|
|
132
|
+
self.api_object.g_steps = self.get_g_steps()
|
|
133
|
+
self.api_object.Gmax = self.api_object.g_steps.max()
|
|
134
|
+
self.api_object.Gmin = self.api_object.g_steps.min()
|
|
135
|
+
self.api_object.b_steps = self.get_b_steps()
|
|
136
|
+
self.api_object.Bmax = self.api_object.b_steps.max()
|
|
137
|
+
self.api_object.Bmin = self.api_object.b_steps.min()
|
|
132
138
|
self.accept()
|
|
@@ -12,6 +12,7 @@ from PySide6.QtWidgets import QPushButton, QVBoxLayout, QDialog, QLabel, QDouble
|
|
|
12
12
|
from VeraGrid.Gui.gui_functions import get_list_model
|
|
13
13
|
from VeraGrid.Gui.messages import error_msg, warning_msg, yes_no_question
|
|
14
14
|
from VeraGridEngine.Devices.Branches.line import Line, SequenceLineType, OverheadLineType, UndergroundLineType
|
|
15
|
+
from VeraGridEngine.Devices.multi_circuit import MultiCircuit
|
|
15
16
|
|
|
16
17
|
|
|
17
18
|
class LineEditor(QDialog):
|
|
@@ -21,28 +22,32 @@ class LineEditor(QDialog):
|
|
|
21
22
|
|
|
22
23
|
def __init__(self,
|
|
23
24
|
line: Line,
|
|
24
|
-
|
|
25
|
-
frequency=50,
|
|
26
|
-
templates: Union[List[SequenceLineType | OverheadLineType | UndergroundLineType], None] = None,
|
|
27
|
-
current_template: SequenceLineType | OverheadLineType | UndergroundLineType | None = None):
|
|
25
|
+
grid: MultiCircuit):
|
|
28
26
|
"""
|
|
29
27
|
Line Editor constructor
|
|
30
28
|
:param line: Branch object to update
|
|
31
|
-
:param
|
|
32
|
-
:param Sbase: Base power in MVA
|
|
29
|
+
:param grid: MultiCircuit
|
|
33
30
|
"""
|
|
34
31
|
super(LineEditor, self).__init__()
|
|
35
32
|
|
|
36
33
|
# keep pointer to the line object
|
|
37
34
|
self.line = line
|
|
38
35
|
|
|
39
|
-
self.Sbase = Sbase
|
|
36
|
+
self.Sbase = grid.Sbase
|
|
40
37
|
|
|
41
|
-
self.frequency =
|
|
38
|
+
self.frequency = grid.fBase
|
|
42
39
|
|
|
43
|
-
|
|
40
|
+
Vnom = line.get_max_bus_nominal_voltage()
|
|
41
|
+
self.templates = list()
|
|
44
42
|
|
|
45
|
-
|
|
43
|
+
for lst in [grid.sequence_line_types,
|
|
44
|
+
grid.underground_cable_types,
|
|
45
|
+
grid.overhead_line_types]:
|
|
46
|
+
for temp in lst:
|
|
47
|
+
if Vnom == temp.Vnom:
|
|
48
|
+
self.templates.append(temp)
|
|
49
|
+
|
|
50
|
+
self.current_template = line.template
|
|
46
51
|
|
|
47
52
|
self.selected_template = None
|
|
48
53
|
|
|
@@ -83,43 +88,42 @@ class LineEditor(QDialog):
|
|
|
83
88
|
|
|
84
89
|
# catalogue
|
|
85
90
|
self.catalogue_combo = QComboBox()
|
|
86
|
-
if self.templates
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
pass
|
|
91
|
+
if len(self.templates) > 0:
|
|
92
|
+
self.catalogue_combo.setModel(get_list_model(self.templates))
|
|
93
|
+
|
|
94
|
+
if self.current_template is not None:
|
|
95
|
+
try:
|
|
96
|
+
idx = self.templates.index(self.current_template)
|
|
97
|
+
self.catalogue_combo.setCurrentIndex(idx)
|
|
98
|
+
|
|
99
|
+
if isinstance(self.current_template, SequenceLineType):
|
|
100
|
+
I_KA = self.current_template.Imax
|
|
101
|
+
r_ohm = self.current_template.R
|
|
102
|
+
x_ohm = self.current_template.X
|
|
103
|
+
b_us = self.current_template.B
|
|
104
|
+
|
|
105
|
+
if isinstance(self.current_template, UndergroundLineType):
|
|
106
|
+
I_KA = self.current_template.Imax
|
|
107
|
+
r_ohm = self.current_template.R
|
|
108
|
+
x_ohm = self.current_template.X
|
|
109
|
+
b_us = self.current_template.B
|
|
110
|
+
|
|
111
|
+
elif isinstance(self.current_template, OverheadLineType):
|
|
112
|
+
|
|
113
|
+
if self.current_template.check():
|
|
114
|
+
R1, X1, Bsh1, I_kA = self.current_template.get_sequence_values(
|
|
115
|
+
circuit_idx=self.line.circuit_idx,
|
|
116
|
+
seq=1
|
|
117
|
+
)
|
|
118
|
+
r_ohm = R1
|
|
119
|
+
x_ohm = X1
|
|
120
|
+
b_us = Bsh1
|
|
121
|
+
else:
|
|
122
|
+
warning_msg(text=f"The template {self.current_template.name} contains errors",
|
|
123
|
+
title="Load template")
|
|
124
|
+
|
|
125
|
+
except ValueError:
|
|
126
|
+
pass
|
|
123
127
|
|
|
124
128
|
# load template
|
|
125
129
|
self.load_template_btn = QPushButton()
|
|
@@ -138,7 +142,7 @@ class LineEditor(QDialog):
|
|
|
138
142
|
self.i_spinner = QDoubleSpinBox()
|
|
139
143
|
self.i_spinner.setMinimum(0)
|
|
140
144
|
self.i_spinner.setMaximum(9999999)
|
|
141
|
-
self.i_spinner.setDecimals(
|
|
145
|
+
self.i_spinner.setDecimals(6)
|
|
142
146
|
self.i_spinner.setValue(I_KA)
|
|
143
147
|
self.i_spinner.setSuffix(' KA')
|
|
144
148
|
|
|
@@ -189,14 +193,13 @@ class LineEditor(QDialog):
|
|
|
189
193
|
self.accept_btn.clicked.connect(self.accept_click)
|
|
190
194
|
|
|
191
195
|
# add all to the GUI
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
self.layout.addWidget(QLabel(""))
|
|
196
|
+
self.layout.addWidget(QLabel("Available templates"))
|
|
197
|
+
self.layout.addWidget(self.catalogue_combo)
|
|
198
|
+
self.catalogue_combo.currentIndexChanged.connect(self.update_max_circuits)
|
|
199
|
+
self.layout.addWidget((QLabel("Circuit index:")))
|
|
200
|
+
self.layout.addWidget(self.circuit_idx)
|
|
201
|
+
self.layout.addWidget(self.load_template_btn)
|
|
202
|
+
self.layout.addWidget(QLabel(""))
|
|
200
203
|
|
|
201
204
|
self.layout.addWidget(QLabel("L: Line length"))
|
|
202
205
|
self.layout.addWidget(self.l_spinner)
|
|
@@ -8,7 +8,8 @@ from PySide6.QtCore import Qt
|
|
|
8
8
|
from PySide6.QtWidgets import QPushButton, QVBoxLayout, QDialog, QLabel, QComboBox
|
|
9
9
|
from VeraGrid.Gui.gui_functions import get_list_model, create_spinbox
|
|
10
10
|
from VeraGridEngine.Devices.Branches.transformer import Transformer2W
|
|
11
|
-
from VeraGridEngine.Devices.Branches.transformer_type import TransformerType
|
|
11
|
+
from VeraGridEngine.Devices.Branches.transformer_type import TransformerType
|
|
12
|
+
from VeraGridEngine.Devices.multi_circuit import MultiCircuit
|
|
12
13
|
|
|
13
14
|
|
|
14
15
|
class TransformerEditor(QDialog):
|
|
@@ -16,24 +17,24 @@ class TransformerEditor(QDialog):
|
|
|
16
17
|
TransformerEditor
|
|
17
18
|
"""
|
|
18
19
|
|
|
19
|
-
def __init__(self, branch: Transformer2W,
|
|
20
|
+
def __init__(self, branch: Transformer2W, grid: MultiCircuit, modify_on_accept=True):
|
|
20
21
|
"""
|
|
21
22
|
Transformer
|
|
22
23
|
:param branch:
|
|
23
|
-
:param
|
|
24
|
+
:param grid: MultiCircuit
|
|
24
25
|
"""
|
|
25
26
|
super(TransformerEditor, self).__init__()
|
|
26
27
|
|
|
27
28
|
# keep pointer to the line object
|
|
28
29
|
self.transformer_obj = branch
|
|
29
30
|
|
|
30
|
-
self.Sbase = Sbase
|
|
31
|
+
self.Sbase = grid.Sbase
|
|
31
32
|
|
|
32
33
|
self.modify_on_accept = modify_on_accept
|
|
33
34
|
|
|
34
|
-
self.templates = self.filter_valid_templates(
|
|
35
|
+
self.templates = self.filter_valid_templates(grid.transformer_types)
|
|
35
36
|
|
|
36
|
-
self.current_template =
|
|
37
|
+
self.current_template = branch.template
|
|
37
38
|
|
|
38
39
|
self.selected_template = None
|
|
39
40
|
|
|
@@ -49,33 +50,58 @@ class TransformerEditor(QDialog):
|
|
|
49
50
|
self.Vf = self.transformer_obj.bus_from.Vnom
|
|
50
51
|
self.Vt = self.transformer_obj.bus_to.Vnom
|
|
51
52
|
|
|
52
|
-
Pfe, Pcu, Vsc, I0, Sn = reverse_transformer_short_circuit_study(R=self.transformer_obj.R,
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
# Pfe, Pcu, Vsc, I0, Sn = reverse_transformer_short_circuit_study(R=self.transformer_obj.R,
|
|
54
|
+
# X=self.transformer_obj.X,
|
|
55
|
+
# G=self.transformer_obj.G,
|
|
56
|
+
# B=self.transformer_obj.B,
|
|
57
|
+
# rate=self.transformer_obj.rate,
|
|
58
|
+
# Sbase=self.Sbase)
|
|
58
59
|
|
|
59
60
|
# ------------------------------------------------------------------------------------------
|
|
60
61
|
|
|
61
62
|
# catalogue
|
|
62
63
|
self.catalogue_combo = QComboBox()
|
|
63
|
-
if templates is not None:
|
|
64
|
-
if len(self.templates) > 0:
|
|
65
64
|
|
|
66
|
-
|
|
65
|
+
if len(self.templates) > 0:
|
|
67
66
|
|
|
68
|
-
|
|
67
|
+
self.catalogue_combo.setModel(get_list_model(self.templates))
|
|
68
|
+
|
|
69
|
+
if self.current_template is not None:
|
|
70
|
+
|
|
71
|
+
try:
|
|
69
72
|
idx = self.templates.index(self.current_template)
|
|
70
|
-
if idx > -1:
|
|
71
|
-
self.catalogue_combo.setCurrentIndex(idx)
|
|
72
73
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
74
|
+
self.catalogue_combo.setCurrentIndex(idx)
|
|
75
|
+
|
|
76
|
+
# set the template parameters
|
|
77
|
+
Sn = self.current_template.Sn # MVA
|
|
78
|
+
Pcu = self.current_template.Pcu # kW
|
|
79
|
+
Pfe = self.current_template.Pfe # kW
|
|
80
|
+
I0 = self.current_template.I0 # %
|
|
81
|
+
Vsc = self.current_template.Vsc # %
|
|
82
|
+
|
|
83
|
+
except ValueError as e:
|
|
84
|
+
print(f"Template not found for {self.transformer_obj.name}")
|
|
85
|
+
Sn = self.transformer_obj.Sn # MVA
|
|
86
|
+
Pcu = self.transformer_obj.Pcu # kW
|
|
87
|
+
Pfe = self.transformer_obj.Pfe # kW
|
|
88
|
+
I0 = self.transformer_obj.I0 # %
|
|
89
|
+
Vsc = self.transformer_obj.Vsc # %
|
|
90
|
+
|
|
91
|
+
else:
|
|
92
|
+
# set the template parameters
|
|
93
|
+
Sn = self.transformer_obj.Sn # MVA
|
|
94
|
+
Pcu = self.transformer_obj.Pcu # kW
|
|
95
|
+
Pfe = self.transformer_obj.Pfe # kW
|
|
96
|
+
I0 = self.transformer_obj.I0 # %
|
|
97
|
+
Vsc = self.transformer_obj.Vsc # %
|
|
98
|
+
else:
|
|
99
|
+
# set the template parameters
|
|
100
|
+
Sn = self.transformer_obj.Sn # MVA
|
|
101
|
+
Pcu = self.transformer_obj.Pcu # kW
|
|
102
|
+
Pfe = self.transformer_obj.Pfe # kW
|
|
103
|
+
I0 = self.transformer_obj.I0 # %
|
|
104
|
+
Vsc = self.transformer_obj.Vsc # %
|
|
79
105
|
|
|
80
106
|
# load template
|
|
81
107
|
self.load_template_btn = QPushButton()
|
|
@@ -105,13 +131,10 @@ class TransformerEditor(QDialog):
|
|
|
105
131
|
# labels
|
|
106
132
|
|
|
107
133
|
# add all to the GUI
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
self.layout.addWidget(self.catalogue_combo)
|
|
113
|
-
self.layout.addWidget(self.load_template_btn)
|
|
114
|
-
self.layout.addWidget(QLabel(""))
|
|
134
|
+
self.layout.addWidget(QLabel("Suitable templates"))
|
|
135
|
+
self.layout.addWidget(self.catalogue_combo)
|
|
136
|
+
self.layout.addWidget(self.load_template_btn)
|
|
137
|
+
self.layout.addWidget(QLabel(""))
|
|
115
138
|
|
|
116
139
|
self.layout.addWidget(QLabel("Sn: Nominal power [MVA]"))
|
|
117
140
|
self.layout.addWidget(self.sn_spinner)
|
|
@@ -238,7 +238,7 @@ class LineLocationGraphicItem(QtWidgets.QGraphicsEllipseItem, NodeTemplate):
|
|
|
238
238
|
Event handler for when the mouse enters the item.
|
|
239
239
|
"""
|
|
240
240
|
self.hovered = True
|
|
241
|
-
self.
|
|
241
|
+
self.set_node_color(QColor(Qt.GlobalColor.red), QColor(Qt.GlobalColor.red))
|
|
242
242
|
|
|
243
243
|
def hoverLeaveEvent(self, event: QtWidgets.QGraphicsSceneHoverEvent) -> None:
|
|
244
244
|
"""
|
|
@@ -288,9 +288,9 @@ class LineLocationGraphicItem(QtWidgets.QGraphicsEllipseItem, NodeTemplate):
|
|
|
288
288
|
"""
|
|
289
289
|
Remove
|
|
290
290
|
"""
|
|
291
|
-
self.line_container.
|
|
291
|
+
self.line_container.remove_node(node=self)
|
|
292
292
|
|
|
293
|
-
def
|
|
293
|
+
def set_node_color(self, inner_color: QColor, border_color: QColor = None) -> None:
|
|
294
294
|
"""
|
|
295
295
|
|
|
296
296
|
:param inner_color:
|
|
@@ -312,7 +312,7 @@ class LineLocationGraphicItem(QtWidgets.QGraphicsEllipseItem, NodeTemplate):
|
|
|
312
312
|
:return:
|
|
313
313
|
"""
|
|
314
314
|
# Example: color assignment
|
|
315
|
-
self.
|
|
315
|
+
self.set_node_color(self.colorInner, self.colorBorder)
|
|
316
316
|
|
|
317
317
|
def get_pos(self) -> QPointF:
|
|
318
318
|
"""
|
{veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_container.py
RENAMED
|
@@ -174,7 +174,7 @@ class MapLineContainer(GenericDiagramWidget, QGraphicsItemGroup):
|
|
|
174
174
|
# second pass: create the segments
|
|
175
175
|
self.redraw_segments()
|
|
176
176
|
|
|
177
|
-
def
|
|
177
|
+
def remove_node(self, node: LineLocationGraphicItem):
|
|
178
178
|
"""
|
|
179
179
|
|
|
180
180
|
:param node:
|
|
@@ -411,11 +411,12 @@ class MapLineContainer(GenericDiagramWidget, QGraphicsItemGroup):
|
|
|
411
411
|
# Return the newly created node
|
|
412
412
|
return graphic_obj
|
|
413
413
|
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
414
|
+
else:
|
|
415
|
+
# logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s')
|
|
416
|
+
# logging.info("Invalid node index")
|
|
417
|
+
return None
|
|
417
418
|
|
|
418
|
-
def
|
|
419
|
+
def split_line(self, index):
|
|
419
420
|
"""
|
|
420
421
|
Split Line
|
|
421
422
|
:param index:
|
|
@@ -461,6 +462,7 @@ class MapLineContainer(GenericDiagramWidget, QGraphicsItemGroup):
|
|
|
461
462
|
else:
|
|
462
463
|
# Handle invalid index
|
|
463
464
|
error_msg("Index out of range or invalid", "split line")
|
|
465
|
+
return list(), list()
|
|
464
466
|
|
|
465
467
|
def disable_line(self):
|
|
466
468
|
"""
|
{veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_segment.py
RENAMED
|
@@ -415,13 +415,7 @@ class MapLineSegment(QGraphicsLineItem):
|
|
|
415
415
|
if Vnom == temp.Vnom:
|
|
416
416
|
templates.append(temp)
|
|
417
417
|
|
|
418
|
-
dlg = LineEditor(
|
|
419
|
-
line=self.api_object,
|
|
420
|
-
Sbase=self.editor.circuit.Sbase,
|
|
421
|
-
frequency=self.editor.circuit.fBase,
|
|
422
|
-
templates=templates,
|
|
423
|
-
current_template=self.api_object.template
|
|
424
|
-
)
|
|
418
|
+
dlg = LineEditor(line=self.api_object, grid=self.editor.circuit)
|
|
425
419
|
dlg.exec()
|
|
426
420
|
|
|
427
421
|
def plot_profiles(self) -> None:
|
|
@@ -19,6 +19,7 @@ from PySide6.QtCore import (Qt, QMimeData, QIODevice, QByteArray, QDataStream, Q
|
|
|
19
19
|
from PySide6.QtGui import (QIcon, QPixmap, QImage, QStandardItemModel, QStandardItem, QColor, QDropEvent)
|
|
20
20
|
|
|
21
21
|
from VeraGrid.Gui.Diagrams.MapWidget.Branches.map_line_container import MapLineContainer
|
|
22
|
+
from VeraGrid.Gui.Diagrams.SchematicWidget.Substation.bus_graphics import BusGraphicItem
|
|
22
23
|
from VeraGrid.Gui.Diagrams.generic_graphics import GenericDiagramWidget
|
|
23
24
|
from VeraGrid.Gui.SubstationDesigner.substation_designer import SubstationDesigner
|
|
24
25
|
from VeraGrid.Gui.general_dialogues import InputNumberDialogue
|
|
@@ -272,15 +273,19 @@ class GridMapWidget(BaseDiagramWidget):
|
|
|
272
273
|
"""
|
|
273
274
|
self.diagram = diagram
|
|
274
275
|
|
|
275
|
-
def delete_element_utility_function(self, device: ALL_DEV_TYPES, propagate: bool = True
|
|
276
|
+
def delete_element_utility_function(self, device: ALL_DEV_TYPES, propagate: bool = True,
|
|
277
|
+
graphic_object: QGraphicsItem | None = None):
|
|
276
278
|
"""
|
|
277
279
|
|
|
278
280
|
:param device:
|
|
279
281
|
:param propagate: Propagate the action to other diagrams?
|
|
282
|
+
:param graphic_object: graphic_object
|
|
280
283
|
:return:
|
|
281
284
|
"""
|
|
282
285
|
self.diagram.delete_device(device=device)
|
|
283
|
-
|
|
286
|
+
|
|
287
|
+
if graphic_object is None:
|
|
288
|
+
graphic_object: ALL_MAP_GRAPHICS = self.graphics_manager.delete_device(device=device)
|
|
284
289
|
|
|
285
290
|
if graphic_object is not None:
|
|
286
291
|
self._remove_from_scene(graphic_object)
|
|
@@ -522,6 +527,25 @@ class GridMapWidget(BaseDiagramWidget):
|
|
|
522
527
|
"""
|
|
523
528
|
return [s for s in self.map.view.selected_items() if isinstance(s, SubstationGraphicItem)]
|
|
524
529
|
|
|
530
|
+
def get_selected_buses(self) -> List[Tuple[int, Bus, BusGraphicItem | None]]:
|
|
531
|
+
"""
|
|
532
|
+
Get a list of buses from the selected substations
|
|
533
|
+
:return:
|
|
534
|
+
"""
|
|
535
|
+
buses: List[Tuple[int, Bus, BusGraphicItem | None]] = list()
|
|
536
|
+
se_graphics = self.get_selected_substations()
|
|
537
|
+
|
|
538
|
+
se_api_set = set()
|
|
539
|
+
for se_graphic in se_graphics:
|
|
540
|
+
if se_graphic.api_object is not None:
|
|
541
|
+
se_api_set.add(se_graphic.api_object)
|
|
542
|
+
|
|
543
|
+
for i, bus in enumerate(self.circuit.buses):
|
|
544
|
+
if bus.substation in se_api_set:
|
|
545
|
+
buses.append((i, bus, None))
|
|
546
|
+
|
|
547
|
+
return buses
|
|
548
|
+
|
|
525
549
|
def get_substations(self) -> List[Tuple[int, Substation, SubstationGraphicItem]]:
|
|
526
550
|
"""
|
|
527
551
|
Get all the substations
|
|
@@ -627,57 +651,6 @@ class GridMapWidget(BaseDiagramWidget):
|
|
|
627
651
|
# Delete the substation itself
|
|
628
652
|
self.circuit.delete_substation(obj=api_object)
|
|
629
653
|
|
|
630
|
-
#
|
|
631
|
-
# def show_devices_to_disconnect_dialog(self,
|
|
632
|
-
# devices: List[ALL_DEV_TYPES],
|
|
633
|
-
# buses: List[Bus],
|
|
634
|
-
# voltage_levels: List[VoltageLevel],
|
|
635
|
-
# dialog_title: str):
|
|
636
|
-
# """
|
|
637
|
-
# Show a dialog with the list of all devices that will be disconnected
|
|
638
|
-
#
|
|
639
|
-
# :param devices: List of devices to be disconnected
|
|
640
|
-
# :param buses: List of buses associated with the substation
|
|
641
|
-
# :param voltage_levels: List of voltage levels associated with the substation
|
|
642
|
-
# :param dialog_title: Title for the dialog
|
|
643
|
-
# """
|
|
644
|
-
#
|
|
645
|
-
#
|
|
646
|
-
# # Combine all devices
|
|
647
|
-
# all_devices = devices + buses + voltage_levels
|
|
648
|
-
#
|
|
649
|
-
# if not all_devices:
|
|
650
|
-
# info_msg('No devices to disconnect', dialog_title)
|
|
651
|
-
# return
|
|
652
|
-
#
|
|
653
|
-
# # Create custom properties for name, type, and ID tag
|
|
654
|
-
# name_prop = GCProp(prop_name='name', tpe=str, units='', definition='Device name',
|
|
655
|
-
# display=True, editable=False)
|
|
656
|
-
#
|
|
657
|
-
# type_prop = GCProp(prop_name='device_type', tpe=DeviceType, units='', definition='Device type',
|
|
658
|
-
# display=True, editable=False)
|
|
659
|
-
#
|
|
660
|
-
# idtag_prop = GCProp(prop_name='idtag', tpe=str, units='', definition='ID tag',
|
|
661
|
-
# display=True, editable=False)
|
|
662
|
-
#
|
|
663
|
-
# custom_props = [name_prop, type_prop, idtag_prop]
|
|
664
|
-
#
|
|
665
|
-
# # Create and show the dialog
|
|
666
|
-
# dialog = ElementsDialogue(name=dialog_title, elements=all_devices)
|
|
667
|
-
#
|
|
668
|
-
# # Replace the model with our custom one that only shows name, type, and idtag
|
|
669
|
-
# model = ObjectsModel(objects=all_devices,
|
|
670
|
-
# time_index=None,
|
|
671
|
-
# property_list=custom_props,
|
|
672
|
-
# parent=dialog.objects_table,
|
|
673
|
-
# editable=False)
|
|
674
|
-
#
|
|
675
|
-
# dialog.objects_table.setModel(model)
|
|
676
|
-
#
|
|
677
|
-
# # Make the dialog modal so the user must acknowledge it before continuing
|
|
678
|
-
# dialog.setModal(True)
|
|
679
|
-
# dialog.exec()
|
|
680
|
-
|
|
681
654
|
def remove_branch_graphic(self, line: MAP_BRANCH_GRAPHIC_TYPES | MapLineContainer, delete_from_db: bool = False):
|
|
682
655
|
"""
|
|
683
656
|
Removes line from diagram and scene
|
|
@@ -1086,10 +1059,19 @@ class GridMapWidget(BaseDiagramWidget):
|
|
|
1086
1059
|
"""
|
|
1087
1060
|
lat = 0.0
|
|
1088
1061
|
lon = 0.0
|
|
1062
|
+
lat_max = -1e20
|
|
1063
|
+
lat_min = 1e20
|
|
1064
|
+
lon_max = -1e20
|
|
1065
|
+
lon_min = 1e20
|
|
1089
1066
|
n = 0
|
|
1090
1067
|
for graphic_obj in self.graphics_manager.get_device_type_list(DeviceType.SubstationDevice):
|
|
1091
1068
|
lat += graphic_obj.lat
|
|
1092
1069
|
lon += graphic_obj.lon
|
|
1070
|
+
|
|
1071
|
+
lat_max = max(lat_max, graphic_obj.lat)
|
|
1072
|
+
lat_min = min(lat_min, graphic_obj.lat)
|
|
1073
|
+
lon_max = max(lon_max, graphic_obj.lon)
|
|
1074
|
+
lon_min = min(lon_min, graphic_obj.lon)
|
|
1093
1075
|
n += 1
|
|
1094
1076
|
|
|
1095
1077
|
if n > 0:
|
|
@@ -1097,6 +1079,18 @@ class GridMapWidget(BaseDiagramWidget):
|
|
|
1097
1079
|
lon /= n
|
|
1098
1080
|
self.map.pan_position(latitude=lat, longitude=lon)
|
|
1099
1081
|
|
|
1082
|
+
# this is to also move the diagram layer according to the map
|
|
1083
|
+
# z = self.map.best_zoom_from_bbox(min_lat=lat_min,
|
|
1084
|
+
# max_lat=lat_max,
|
|
1085
|
+
# min_lon=lon_min,
|
|
1086
|
+
# max_lon=lon_max)
|
|
1087
|
+
|
|
1088
|
+
self.map.set_zoom_level(level=self.map.level)
|
|
1089
|
+
# self.map.set_zoom_level(level=z)
|
|
1090
|
+
|
|
1091
|
+
else:
|
|
1092
|
+
self.gui.show_warning_toast("No points to center :/")
|
|
1093
|
+
|
|
1100
1094
|
def colour_results(self,
|
|
1101
1095
|
Sbus: CxVec,
|
|
1102
1096
|
bus_active: IntVec,
|
|
@@ -1521,14 +1521,14 @@ class MapWidget(QWidget):
|
|
|
1521
1521
|
under the cursor.
|
|
1522
1522
|
"""
|
|
1523
1523
|
|
|
1524
|
-
# if not given cursor
|
|
1524
|
+
# if not given cursor coordinates, assume view centre
|
|
1525
1525
|
if view_x is None:
|
|
1526
1526
|
view_x = self.view_width // 4
|
|
1527
1527
|
|
|
1528
1528
|
if view_y is None:
|
|
1529
1529
|
view_y = self.view_height // 4
|
|
1530
1530
|
|
|
1531
|
-
# get geo
|
|
1531
|
+
# get geo coordinates of view point
|
|
1532
1532
|
longitude, latitude = self.view_to_geo_float(view_x, view_y)
|
|
1533
1533
|
|
|
1534
1534
|
# get tile source to use the new level
|
|
@@ -1602,6 +1602,50 @@ class MapWidget(QWidget):
|
|
|
1602
1602
|
# redraw the widget
|
|
1603
1603
|
self.update()
|
|
1604
1604
|
|
|
1605
|
+
def best_zoom_from_bbox(self,
|
|
1606
|
+
min_lat: float,
|
|
1607
|
+
max_lat: float,
|
|
1608
|
+
min_lon: float,
|
|
1609
|
+
max_lon: float) -> int:
|
|
1610
|
+
"""
|
|
1611
|
+
Determine the most appropriate zoom level for the given lat/lon bounding box,
|
|
1612
|
+
based on the MapWidget's tile source and viewport size.
|
|
1613
|
+
:param min_lat: minimum latitude of bounding box
|
|
1614
|
+
:param max_lat: maximum latitude of bounding box
|
|
1615
|
+
:param min_lon: minimum longitude of bounding box
|
|
1616
|
+
:param max_lon: maximum longitude of bounding box
|
|
1617
|
+
:return: best zoom level (int)
|
|
1618
|
+
"""
|
|
1619
|
+
tile_src = self.tile_src
|
|
1620
|
+
view_width = self.view_width
|
|
1621
|
+
view_height = self.view_height
|
|
1622
|
+
tile_size_x = self.tile_width
|
|
1623
|
+
tile_size_y = self.tile_height
|
|
1624
|
+
|
|
1625
|
+
# search from high zoom (more detail) to low zoom (zoomed out)
|
|
1626
|
+
for z in range(tile_src.max_level, tile_src.min_level - 1, -1):
|
|
1627
|
+
if not tile_src.set_level(z):
|
|
1628
|
+
continue
|
|
1629
|
+
|
|
1630
|
+
# convert bbox corners to fractional tile coordinates at this zoom
|
|
1631
|
+
tx_min, ty_min = tile_src.Geo2Tile(longitude=min_lon, latitude=min_lat)
|
|
1632
|
+
tx_max, ty_max = tile_src.Geo2Tile(longitude=max_lon, latitude=max_lat)
|
|
1633
|
+
|
|
1634
|
+
# tile extents in X/Y
|
|
1635
|
+
dx_tiles = abs(tx_max - tx_min)
|
|
1636
|
+
dy_tiles = abs(ty_max - ty_min)
|
|
1637
|
+
|
|
1638
|
+
# pixel span at this zoom
|
|
1639
|
+
width_px = dx_tiles * tile_size_x
|
|
1640
|
+
height_px = dy_tiles * tile_size_y
|
|
1641
|
+
|
|
1642
|
+
# if fits in viewport, good zoom level
|
|
1643
|
+
if width_px <= view_width and height_px <= view_height:
|
|
1644
|
+
return z
|
|
1645
|
+
|
|
1646
|
+
# otherwise return the minimum zoom
|
|
1647
|
+
return tile_src.min_level
|
|
1648
|
+
|
|
1605
1649
|
def rectify_key_tile(self) -> None:
|
|
1606
1650
|
"""
|
|
1607
1651
|
Adjust state variables to ensure map centred if map is smaller than view.
|
{veragrid-5.5.9 → veragrid-5.5.17}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py
RENAMED
|
@@ -20,7 +20,6 @@ from VeraGrid.Gui.Diagrams.Editors.RmsModelEditor.rms_model_editor_engine import
|
|
|
20
20
|
from VeraGridEngine.Devices.Branches.line import Line, SequenceLineType
|
|
21
21
|
from VeraGridEngine.enumerations import DeviceType
|
|
22
22
|
|
|
23
|
-
|
|
24
23
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
|
25
24
|
from VeraGrid.Gui.Diagrams.SchematicWidget.schematic_widget import SchematicWidget
|
|
26
25
|
|
|
@@ -223,28 +222,19 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
|
223
222
|
Open the appropriate editor dialogue
|
|
224
223
|
:return:
|
|
225
224
|
"""
|
|
226
|
-
|
|
227
|
-
Vnom = self.api_object.get_max_bus_nominal_voltage()
|
|
228
|
-
templates = list()
|
|
229
|
-
|
|
230
|
-
for lst in [self.editor.circuit.sequence_line_types,
|
|
231
|
-
self.editor.circuit.underground_cable_types,
|
|
232
|
-
self.editor.circuit.overhead_line_types]:
|
|
233
|
-
for temp in lst:
|
|
234
|
-
if Vnom == temp.Vnom:
|
|
235
|
-
templates.append(temp)
|
|
236
|
-
|
|
237
|
-
current_template = self.api_object.template
|
|
238
|
-
dlg = LineEditor(line=self.api_object, Sbase=Sbase, frequency=self.editor.circuit.fBase,
|
|
239
|
-
templates=templates, current_template=current_template)
|
|
225
|
+
dlg = LineEditor(line=self.api_object, grid=self.editor.circuit)
|
|
240
226
|
if dlg.exec():
|
|
241
227
|
pass
|
|
242
228
|
|
|
243
229
|
def edit_rms(self):
|
|
244
|
-
|
|
230
|
+
"""
|
|
231
|
+
|
|
232
|
+
"""
|
|
233
|
+
templates = [t.name for t in
|
|
234
|
+
self.editor.circuit.sequence_line_types] # TODO: find where to build and save the templates
|
|
245
235
|
|
|
246
236
|
choice_dialog = RmsChoiceDialog(templates, parent=self.editor)
|
|
247
|
-
if choice_dialog.exec() == QtWidgets.QDialog.Accepted:
|
|
237
|
+
if choice_dialog.exec() == QtWidgets.QDialog.DialogCode.Accepted:
|
|
248
238
|
if choice_dialog.choice == "template":
|
|
249
239
|
template_name = choice_dialog.selected_template
|
|
250
240
|
print(f"User chose template: {template_name}")
|