GridCal 5.1.31__tar.gz → 5.1.34__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.
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/AnalysisDialogue.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +7 -5
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +2 -11
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Branches}/new_line_dialogue.py +14 -5
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +3 -11
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +2 -5
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/blue_marble.py +2 -1
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/cartodb.py +2 -1
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/mapbox.py +2 -1
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/mapquest.py +2 -1
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/open_street_map.py +2 -1
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/stamen_toner.py +2 -1
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/stamen_transport.py +2 -1
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/stamen_watercolor.py +2 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +4 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +43 -18
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +173 -24
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +29 -29
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +4 -4
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +2 -3
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +1 -2
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +1 -2
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +1 -6
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +1 -4
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +2 -9
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +1 -8
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +1 -6
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +22 -180
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/base_diagram_widget.py +28 -6
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/GridCalMain.py +1 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +68 -13
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/objects.py +4 -214
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/time_events.py +2 -2
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Results/results.py +3 -3
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +14 -3
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +3 -3
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/base_gui.py +5 -5
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/io.py +4 -10
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/simulations.py +54 -34
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profile_dialogue.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +2 -2
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/system_scaler.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +1 -1
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/associations_model.py +4 -20
- GridCal-5.1.31/GridCal/Gui/ConsoleWidget.py → GridCal-5.1.34/GridCal/Gui/console_widget.py +3 -3
- GridCal-5.1.31/GridCal/Gui/GeneralDialogues.py → GridCal-5.1.34/GridCal/Gui/general_dialogues.py +1 -1
- GridCal-5.1.31/GridCal/Gui/GuiFunctions.py → GridCal-5.1.34/GridCal/Gui/gui_functions.py +5 -2
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/object_model.py +6 -25
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/pandas_model.py +3 -19
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/profiles_model.py +4 -20
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/table_view_header_wrap.py +13 -14
- GridCal-5.1.34/GridCal/Gui/wrappable_table_model.py +47 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/results_model.py +3 -19
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/session.py +47 -55
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/__version__.py +1 -1
- {GridCal-5.1.31/GridCal/Gui → GridCal-5.1.34/GridCal}/plugins.py +37 -28
- {GridCal-5.1.31 → GridCal-5.1.34}/PKG-INFO +1 -1
- GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget/map_events.py +0 -106
- GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget/node_widget.py +0 -161
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ExecuteGridCal.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/__init__.py +0 -0
- {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/gmt_local.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/ConsoleLog.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/MainWindow.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/object_select_window.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/test_.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Visualization/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Visualization/visualization.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Widgets/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/messages.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/plot_config.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/themes.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/update_gui_all.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/update_gui_common.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/LICENSE.txt +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/export_results_driver.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/file_handler.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/server_driver.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/synchronization_driver.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/__init__.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/cables.csv +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/sequence_lines.csv +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/transformers.csv +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/wires.csv +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/templates.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/update.py +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/setup.cfg +0 -0
- {GridCal-5.1.31 → GridCal-5.1.34}/setup.py +0 -0
@@ -20,7 +20,7 @@ from PySide6 import QtWidgets
|
|
20
20
|
from GridCal.Gui.Analysis.gui import Ui_MainWindow
|
21
21
|
from GridCal.Gui.Analysis.object_plot_analysis import grid_analysis, GridErrorLog, FixableErrorOutOfRange
|
22
22
|
from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
23
|
-
from GridCal.Gui.
|
23
|
+
from GridCal.Gui.general_dialogues import LogsDialogue, Logger
|
24
24
|
|
25
25
|
|
26
26
|
class GridAnalysisGUI(QtWidgets.QMainWindow):
|
{GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py
RENAMED
@@ -22,7 +22,7 @@ from GridCal.Gui.ContingencyPlanner.gui import Ui_MainWindow
|
|
22
22
|
import GridCalEngine.Devices as dev
|
23
23
|
from GridCalEngine.enumerations import DeviceType
|
24
24
|
from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
25
|
-
import GridCal.Gui.
|
25
|
+
import GridCal.Gui.gui_functions as gf
|
26
26
|
from GridCalEngine.Simulations.ContingencyAnalysis.contingency_plan import generate_automatic_contingency_plan
|
27
27
|
|
28
28
|
|
@@ -5,7 +5,7 @@ from PySide6 import QtGui, QtCore, QtWidgets
|
|
5
5
|
from typing import List, Tuple, Union
|
6
6
|
from GridCal.Gui.CoordinatesInput.gui import Ui_Dialog
|
7
7
|
from GridCal.Gui.ProfilesInput.excel_dialog import ExcelDialog
|
8
|
-
from GridCal.Gui.
|
8
|
+
from GridCal.Gui.general_dialogues import LogsDialogue
|
9
9
|
from GridCalEngine.Devices.Substation import Bus
|
10
10
|
from GridCalEngine.basic_structures import Logger
|
11
11
|
from GridCal.Gui.messages import error_msg
|
{GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py
RENAMED
@@ -411,14 +411,16 @@ class MapLineContainer(GenericDiagramWidget):
|
|
411
411
|
:param index:
|
412
412
|
:return:
|
413
413
|
"""
|
414
|
+
# TODO: Review this and possibly link to existing functions
|
414
415
|
if 0 < index < len(self.api_object.locations.data) and len(self.api_object.locations.data) > 3:
|
415
416
|
|
416
|
-
ln1 = Line()
|
417
|
-
ln1.set_data_from(self.api_object)
|
418
|
-
|
417
|
+
# ln1 = Line()
|
418
|
+
# ln1.set_data_from(self.api_object)
|
419
|
+
ln1 = self.api_object.copy()
|
419
420
|
|
420
|
-
ln2 = Line()
|
421
|
-
ln2.set_data_from(self.api_object)
|
421
|
+
# ln2 = Line()
|
422
|
+
# ln2.set_data_from(self.api_object)
|
423
|
+
ln2 = self.api_object.copy()
|
422
424
|
|
423
425
|
first_list = self.api_object.locations.data[:index]
|
424
426
|
second_list = self.api_object.locations.data[index:]
|
{GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py
RENAMED
@@ -21,7 +21,7 @@ from PySide6.QtGui import QPen, QColor, QCursor
|
|
21
21
|
from PySide6.QtWidgets import QMenu, QGraphicsSceneContextMenuEvent
|
22
22
|
from PySide6.QtWidgets import QGraphicsLineItem, QGraphicsSceneMouseEvent
|
23
23
|
|
24
|
-
from GridCal.Gui.
|
24
|
+
from GridCal.Gui.gui_functions import add_menu_entry
|
25
25
|
from GridCal.Gui.messages import yes_no_question
|
26
26
|
from GridCal.Gui.Diagrams.generic_graphics import ACTIVE, DEACTIVATED, OTHER
|
27
27
|
from GridCal.Gui.Diagrams.SchematicWidget.Branches.line_editor import LineEditor
|
@@ -99,10 +99,6 @@ class MapLineSegment(QGraphicsLineItem):
|
|
99
99
|
pen.setWidthF(w)
|
100
100
|
|
101
101
|
self.setPen(pen)
|
102
|
-
# self.arrow_from_1.set_colour(color, w, style)
|
103
|
-
# self.arrow_from_2.set_colour(color, w, style)
|
104
|
-
# self.arrow_to_1.set_colour(color, w, style)
|
105
|
-
# self.arrow_to_2.set_colour(color, w, style)
|
106
102
|
|
107
103
|
def set_from_side_coordinates(self, x: float, y: float):
|
108
104
|
"""
|
@@ -152,12 +148,7 @@ class MapLineSegment(QGraphicsLineItem):
|
|
152
148
|
:return:
|
153
149
|
"""
|
154
150
|
if self.api_object is not None:
|
155
|
-
self.editor.set_editor_model(api_object=self.api_object
|
156
|
-
dictionary_of_lists={
|
157
|
-
DeviceType.BusDevice: self.editor.circuit.get_buses(),
|
158
|
-
DeviceType.ConnectivityNodeDevice: self.editor.circuit.get_connectivity_nodes(),
|
159
|
-
DeviceType.BranchGroupDevice: self.editor.circuit.get_branch_groups()
|
160
|
-
})
|
151
|
+
self.editor.set_editor_model(api_object=self.api_object)
|
161
152
|
|
162
153
|
def contextMenuEvent(self, event: QGraphicsSceneContextMenuEvent):
|
163
154
|
"""
|
@@ -15,12 +15,15 @@
|
|
15
15
|
# along with this program; if not, write to the Free Software Foundation,
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
|
18
|
-
from PySide6.QtWidgets import (
|
18
|
+
from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, QComboBox, QDialogButtonBox)
|
19
19
|
from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
20
20
|
from GridCalEngine.Devices.Substation.substation import Substation
|
21
21
|
|
22
22
|
|
23
23
|
class NewMapLineDialogue(QDialog):
|
24
|
+
"""
|
25
|
+
NewMapLineDialogue
|
26
|
+
"""
|
24
27
|
def __init__(self, grid: MultiCircuit, se_from: Substation, se_to: Substation, parent=None):
|
25
28
|
"""
|
26
29
|
Constructor
|
@@ -89,6 +92,10 @@ class NewMapLineDialogue(QDialog):
|
|
89
92
|
self.setLayout(main_layout)
|
90
93
|
|
91
94
|
def is_valid(self):
|
95
|
+
"""
|
96
|
+
|
97
|
+
:return:
|
98
|
+
"""
|
92
99
|
return self._is_valid
|
93
100
|
|
94
101
|
def bus_from(self):
|
@@ -114,12 +121,14 @@ class NewMapLineDialogue(QDialog):
|
|
114
121
|
return None
|
115
122
|
|
116
123
|
def accept(self):
|
117
|
-
|
118
|
-
|
119
|
-
|
124
|
+
"""
|
125
|
+
accept
|
126
|
+
"""
|
120
127
|
super().accept()
|
121
128
|
|
122
129
|
def reject(self):
|
130
|
+
"""
|
131
|
+
reject
|
132
|
+
"""
|
123
133
|
self._is_valid = False
|
124
|
-
# print("Canceled")
|
125
134
|
super().reject()
|
{GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py
RENAMED
@@ -17,7 +17,7 @@
|
|
17
17
|
from __future__ import annotations
|
18
18
|
from typing import Tuple, TYPE_CHECKING
|
19
19
|
from PySide6.QtWidgets import QApplication, QMenu, QGraphicsSceneContextMenuEvent
|
20
|
-
from GridCal.Gui.
|
20
|
+
from GridCal.Gui.gui_functions import add_menu_entry
|
21
21
|
from PySide6 import QtWidgets
|
22
22
|
from PySide6.QtCore import Qt, QPointF
|
23
23
|
from PySide6.QtGui import QBrush, QColor, QCursor
|
@@ -22,9 +22,9 @@ from PySide6.QtWidgets import (QApplication, QMenu, QGraphicsSceneContextMenuEve
|
|
22
22
|
from PySide6.QtCore import Qt, QPointF
|
23
23
|
from PySide6.QtGui import QBrush, QColor, QCursor
|
24
24
|
from GridCal.Gui.Diagrams.MapWidget.Substation.node_template import NodeTemplate
|
25
|
-
from GridCal.Gui.
|
25
|
+
from GridCal.Gui.gui_functions import add_menu_entry
|
26
26
|
from GridCal.Gui.messages import yes_no_question
|
27
|
-
from GridCal.Gui.
|
27
|
+
from GridCal.Gui.general_dialogues import InputNumberDialogue
|
28
28
|
|
29
29
|
from GridCalEngine.Devices.Substation.bus import Bus
|
30
30
|
from GridCalEngine.Devices import VoltageLevel
|
@@ -193,15 +193,7 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
|
|
193
193
|
self.editor.map.view.disableMove = True
|
194
194
|
|
195
195
|
if self.api_object is not None:
|
196
|
-
self.editor.set_editor_model(api_object=self.api_object
|
197
|
-
dictionary_of_lists={
|
198
|
-
DeviceType.CountryDevice: self.editor.circuit.get_countries(),
|
199
|
-
DeviceType.CommunityDevice: self.editor.circuit.get_communities(),
|
200
|
-
DeviceType.RegionDevice: self.editor.circuit.get_regions(),
|
201
|
-
DeviceType.MunicipalityDevice: self.editor.circuit.get_municipalities(),
|
202
|
-
DeviceType.AreaDevice: self.editor.circuit.get_areas(),
|
203
|
-
DeviceType.ZoneDevice: self.editor.circuit.get_zones(),
|
204
|
-
})
|
196
|
+
self.editor.set_editor_model(api_object=self.api_object)
|
205
197
|
|
206
198
|
def mouseReleaseEvent(self, event: QGraphicsSceneMouseEvent):
|
207
199
|
"""
|
@@ -22,7 +22,7 @@ from PySide6.QtGui import QBrush, QColor
|
|
22
22
|
from PySide6.QtWidgets import (QMenu, QGraphicsSceneContextMenuEvent, QGraphicsSceneMouseEvent, QGraphicsEllipseItem)
|
23
23
|
|
24
24
|
from GridCal.Gui.Diagrams.generic_graphics import GenericDiagramWidget
|
25
|
-
from GridCal.Gui.
|
25
|
+
from GridCal.Gui.gui_functions import add_menu_entry
|
26
26
|
|
27
27
|
from GridCalEngine.Devices.Substation.voltage_level import VoltageLevel
|
28
28
|
from GridCalEngine.Devices.Substation.bus import Bus
|
@@ -148,10 +148,7 @@ class VoltageLevelGraphicItem(GenericDiagramWidget, QGraphicsEllipseItem):
|
|
148
148
|
self.updateDiagram() # always update
|
149
149
|
|
150
150
|
if self.api_object is not None:
|
151
|
-
self.editor.set_editor_model(api_object=self.api_object
|
152
|
-
dictionary_of_lists={
|
153
|
-
DeviceType.SubstationDevice: self.editor.circuit.get_substations(),
|
154
|
-
})
|
151
|
+
self.editor.set_editor_model(api_object=self.api_object)
|
155
152
|
|
156
153
|
def mouseReleaseEvent(self, event):
|
157
154
|
"""
|
@@ -34,7 +34,8 @@ class BlueMarbleTiles(Tiles):
|
|
34
34
|
servers=['https://s3.amazonaws.com', ],
|
35
35
|
url_path='/com.modestmaps.bluemarble/{Z}-r{Y}-c{X}.jpg',
|
36
36
|
max_server_requests=2,
|
37
|
-
http_proxy=http_proxy
|
37
|
+
http_proxy=http_proxy,
|
38
|
+
attribution="© NASA Blue Marble, © OpenStreetMap contributors")
|
38
39
|
|
39
40
|
def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
|
40
41
|
"""Convert geo to tile fractional coordinates for level in use.
|
@@ -38,7 +38,8 @@ class CartoDbTiles(Tiles):
|
|
38
38
|
url_path='/{Z}/{X}/{Y}.png',
|
39
39
|
max_server_requests=2,
|
40
40
|
max_lru=10000,
|
41
|
-
http_proxy=http_proxy
|
41
|
+
http_proxy=http_proxy,
|
42
|
+
attribution="© CARTO, © OpenStreetMap contributors")
|
42
43
|
# TODO: implement map wrap-around
|
43
44
|
# self.wrap_x = True
|
44
45
|
# self.wrap_y = False
|
@@ -29,7 +29,8 @@ class MapboxTiles(Tiles):
|
|
29
29
|
],
|
30
30
|
url_path='/v3/examples.map-szwdot65/{Z}/{X}/{Y}.png',
|
31
31
|
max_server_requests=2,
|
32
|
-
http_proxy=http_proxy
|
32
|
+
http_proxy=http_proxy,
|
33
|
+
attribution="© Mapbox © OpenStreetMap contributors")
|
33
34
|
|
34
35
|
def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
|
35
36
|
"""Convert geo to tile fractional coordinates for level in use.
|
@@ -32,7 +32,8 @@ class MapquestTiles(Tiles):
|
|
32
32
|
max_server_requests=2,
|
33
33
|
max_lru=10000,
|
34
34
|
tiles_dir=tiles_dir,
|
35
|
-
http_proxy=http_proxy
|
35
|
+
http_proxy=http_proxy,
|
36
|
+
attribution="© MapQuest, © OpenStreetMap contributors")
|
36
37
|
|
37
38
|
def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
|
38
39
|
"""
|
@@ -34,7 +34,8 @@ class OsmTiles(Tiles):
|
|
34
34
|
url_path='/{Z}/{X}/{Y}.png',
|
35
35
|
max_server_requests=2,
|
36
36
|
max_lru=10000,
|
37
|
-
http_proxy=http_proxy
|
37
|
+
http_proxy=http_proxy,
|
38
|
+
attribution="© OpenStreetMap contributors")
|
38
39
|
# TODO: implement map wrap-around
|
39
40
|
# self.wrap_x = True
|
40
41
|
# self.wrap_y = False
|
@@ -31,7 +31,8 @@ class StamenTonerTiles(Tiles):
|
|
31
31
|
url_path='/toner/{Z}/{X}/{Y}.png',
|
32
32
|
max_server_requests=2,
|
33
33
|
max_lru=10000,
|
34
|
-
http_proxy=http_proxy
|
34
|
+
http_proxy=http_proxy,
|
35
|
+
attribution="Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.")
|
35
36
|
|
36
37
|
def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
|
37
38
|
"""Convert geo to tile fractional coordinates for level in use.
|
@@ -34,7 +34,8 @@ class StamenTransportTiles(Tiles):
|
|
34
34
|
max_server_requests=2,
|
35
35
|
max_lru=10000,
|
36
36
|
tiles_dir=tiles_dir,
|
37
|
-
http_proxy=http_proxy
|
37
|
+
http_proxy=http_proxy,
|
38
|
+
attribution="Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.")
|
38
39
|
|
39
40
|
def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
|
40
41
|
"""Convert geo to tile fractional coordinates for level in use.
|
@@ -30,7 +30,8 @@ class StamenWatercolorTiles(Tiles):
|
|
30
30
|
max_server_requests=2,
|
31
31
|
max_lru=10000,
|
32
32
|
tiles_dir=tiles_dir,
|
33
|
-
http_proxy=http_proxy
|
33
|
+
http_proxy=http_proxy,
|
34
|
+
attribution="Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.")
|
34
35
|
|
35
36
|
def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
|
36
37
|
"""
|
@@ -59,7 +59,8 @@ class Tiles(BaseTiles):
|
|
59
59
|
url_path: str,
|
60
60
|
max_server_requests: int,
|
61
61
|
http_proxy,
|
62
|
-
refetch_days: int = 60
|
62
|
+
refetch_days: int = 60,
|
63
|
+
attribution: str = ""):
|
63
64
|
"""
|
64
65
|
Initialise a Tiles instance.
|
65
66
|
:param levels: a list of level numbers that are to be served
|
@@ -77,6 +78,8 @@ class Tiles(BaseTiles):
|
|
77
78
|
self.TilesetShortName = TilesetShortName
|
78
79
|
self.TilesetVersion = TilesetVersion
|
79
80
|
|
81
|
+
self.attribution_string = attribution
|
82
|
+
|
80
83
|
# prepare the tile cache directory, if required
|
81
84
|
# we have to do this *before* the base class initialization!
|
82
85
|
for level in levels:
|
@@ -15,15 +15,16 @@
|
|
15
15
|
# along with this program; if not, write to the Free Software Foundation,
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
import os
|
18
|
-
from typing import Union, List, Tuple
|
18
|
+
from typing import Union, List, Tuple
|
19
|
+
import json
|
19
20
|
import numpy as np
|
20
21
|
import math
|
21
22
|
from PySide6.QtWidgets import QGraphicsItem
|
22
23
|
from collections.abc import Callable
|
23
24
|
from PySide6.QtSvg import QSvgGenerator
|
24
25
|
from PySide6.QtCore import (Qt, QSize, QRect, QMimeData, QIODevice, QByteArray, QDataStream, QModelIndex)
|
25
|
-
from PySide6.QtGui import (QIcon, QPixmap, QImage, QPainter, QStandardItemModel, QStandardItem, QColor,
|
26
|
-
QWheelEvent)
|
26
|
+
from PySide6.QtGui import (QIcon, QPixmap, QImage, QPainter, QStandardItemModel, QStandardItem, QColor,
|
27
|
+
QDropEvent, QWheelEvent)
|
27
28
|
|
28
29
|
from GridCalEngine.Devices.Diagrams.map_location import MapLocation
|
29
30
|
from GridCalEngine.Devices.Substation import Bus
|
@@ -39,7 +40,7 @@ from GridCalEngine.Devices.Substation.voltage_level import VoltageLevel
|
|
39
40
|
from GridCalEngine.Devices.Branches.line_locations import LineLocation
|
40
41
|
from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
41
42
|
from GridCalEngine.enumerations import DeviceType
|
42
|
-
from GridCalEngine.Devices.types import ALL_DEV_TYPES
|
43
|
+
from GridCalEngine.Devices.types import ALL_DEV_TYPES
|
43
44
|
from GridCalEngine.basic_structures import Logger
|
44
45
|
|
45
46
|
from GridCal.Gui.Diagrams.MapWidget.Branches.map_ac_line import MapAcLine
|
@@ -50,7 +51,7 @@ from GridCal.Gui.Diagrams.MapWidget.Substation.node_graphic_item import NodeGrap
|
|
50
51
|
from GridCal.Gui.Diagrams.MapWidget.Substation.substation_graphic_item import SubstationGraphicItem
|
51
52
|
from GridCal.Gui.Diagrams.MapWidget.Substation.voltage_level_graphic_item import VoltageLevelGraphicItem
|
52
53
|
from GridCal.Gui.Diagrams.MapWidget.map_widget import MapWidget
|
53
|
-
from GridCal.Gui.Diagrams.MapWidget.new_line_dialogue import NewMapLineDialogue
|
54
|
+
from GridCal.Gui.Diagrams.MapWidget.Branches.new_line_dialogue import NewMapLineDialogue
|
54
55
|
import GridCal.Gui.Visualization.visualization as viz
|
55
56
|
import GridCalEngine.Devices.Diagrams.palettes as palettes
|
56
57
|
from GridCal.Gui.Diagrams.graphics_manager import ALL_MAP_GRAPHICS
|
@@ -212,14 +213,16 @@ class GridMapWidget(BaseDiagramWidget):
|
|
212
213
|
call_delete_db_element_func: Callable[["GridMapWidget", ALL_DEV_TYPES], None] = None,
|
213
214
|
call_new_substation_diagram_func: Callable[[Substation], None] = None, ):
|
214
215
|
"""
|
215
|
-
|
216
|
-
:param tile_src:
|
217
|
-
:param start_level:
|
218
|
-
:param longitude:
|
219
|
-
:param latitude:
|
220
|
-
:param name:
|
221
|
-
:param
|
222
|
-
:param
|
216
|
+
GridMapWidget
|
217
|
+
:param tile_src: Tiles instance
|
218
|
+
:param start_level: starting level
|
219
|
+
:param longitude: Center point Longitude (deg)
|
220
|
+
:param latitude: Center point Latitude (deg)
|
221
|
+
:param name: Name of the diagram
|
222
|
+
:param circuit: MultiCircuit instance
|
223
|
+
:param diagram: Diagram instance (optional)
|
224
|
+
:param call_delete_db_element_func: function pointer to call on delete (optional)
|
225
|
+
:param call_new_substation_diagram_func: function pointer to call on new_substation (optional)
|
223
226
|
"""
|
224
227
|
|
225
228
|
BaseDiagramWidget.__init__(self,
|
@@ -237,8 +240,6 @@ class GridMapWidget(BaseDiagramWidget):
|
|
237
240
|
self.map = MapWidget(parent=self,
|
238
241
|
tile_src=tile_src,
|
239
242
|
start_level=start_level,
|
240
|
-
startLat=latitude,
|
241
|
-
startLon=longitude,
|
242
243
|
editor=self,
|
243
244
|
zoom_callback=self.zoom_callback,
|
244
245
|
position_callback=self.position_callback)
|
@@ -458,9 +459,11 @@ class GridMapWidget(BaseDiagramWidget):
|
|
458
459
|
if it1 == it2:
|
459
460
|
return 0
|
460
461
|
|
461
|
-
|
462
|
-
new_line
|
462
|
+
# TODO: Review this and possibly link to existing functions
|
463
|
+
# new_line = Line()
|
464
|
+
# new_line.set_data_from(it1.line_container.api_object)
|
463
465
|
# ln1 = self.api_object.copy()
|
466
|
+
new_line = it1.line_container.api_object.copy()
|
464
467
|
|
465
468
|
better_first, better_second, bus_from, bus_to = compare_options(it1, it2)
|
466
469
|
|
@@ -956,7 +959,6 @@ class GridMapWidget(BaseDiagramWidget):
|
|
956
959
|
|
957
960
|
voltage_cmap = viz.get_voltage_color_map()
|
958
961
|
loading_cmap = viz.get_loading_color_map()
|
959
|
-
bus_types = ['', 'PQ', 'PV', 'Slack', 'PQV', 'P']
|
960
962
|
|
961
963
|
vmin = 0
|
962
964
|
vmax = 1.2
|
@@ -1168,6 +1170,29 @@ class GridMapWidget(BaseDiagramWidget):
|
|
1168
1170
|
else:
|
1169
1171
|
print("call_new_substation_diagram_func is None :( ")
|
1170
1172
|
|
1173
|
+
def copy(self) -> "GridMapWidget":
|
1174
|
+
"""
|
1175
|
+
Deep copy of this widget
|
1176
|
+
:return: GridMapWidget
|
1177
|
+
"""
|
1178
|
+
d_copy = MapDiagram(name=self.diagram.name + '_copy')
|
1179
|
+
j_data = json.dumps(self.diagram.get_data_dict(), indent=4)
|
1180
|
+
d_copy.parse_data(data=json.loads(j_data),
|
1181
|
+
obj_dict=self.circuit.get_all_elements_dict_by_type(add_locations=True),
|
1182
|
+
logger=self.logger)
|
1183
|
+
|
1184
|
+
return GridMapWidget(
|
1185
|
+
tile_src=self.map.tile_src,
|
1186
|
+
start_level=self.diagram.start_level,
|
1187
|
+
longitude=self.diagram.longitude,
|
1188
|
+
latitude=self.diagram.latitude,
|
1189
|
+
name=self.diagram.name,
|
1190
|
+
circuit=self.circuit,
|
1191
|
+
diagram=self.diagram,
|
1192
|
+
call_new_substation_diagram_func=self.call_new_substation_diagram_func,
|
1193
|
+
call_delete_db_element_func=self.call_delete_db_element_func
|
1194
|
+
)
|
1195
|
+
|
1171
1196
|
|
1172
1197
|
def generate_map_diagram(substations: List[Substation],
|
1173
1198
|
voltage_levels: List[VoltageLevel],
|