GridCal 5.1.33__tar.gz → 5.1.35__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.33 → GridCal-5.1.35}/GridCal/Gui/Analysis/AnalysisDialogue.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Analysis/object_plot_analysis.py +26 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +2 -11
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +4 -4
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +6 -14
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +2 -5
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +26 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +46 -167
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +29 -29
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +4 -4
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +2 -3
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +1 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +1 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +1 -6
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +1 -4
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +2 -9
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +1 -8
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +1 -6
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +21 -178
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/base_diagram_widget.py +10 -5
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +25 -3
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Model/objects.py +4 -214
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Model/time_events.py +2 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Results/results.py +2 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +14 -3
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +2 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/base_gui.py +4 -4
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/io.py +41 -24
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/simulations.py +2 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/profile_dialogue.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +2 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SystemScaler/system_scaler.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/associations_model.py +4 -20
- GridCal-5.1.33/GridCal/Gui/ConsoleWidget.py → GridCal-5.1.35/GridCal/Gui/console_widget.py +3 -3
- GridCal-5.1.33/GridCal/Gui/GeneralDialogues.py → GridCal-5.1.35/GridCal/Gui/general_dialogues.py +1 -1
- GridCal-5.1.33/GridCal/Gui/GuiFunctions.py → GridCal-5.1.35/GridCal/Gui/gui_functions.py +5 -2
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/object_model.py +6 -25
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/pandas_model.py +3 -19
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/profiles_model.py +4 -20
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/table_view_header_wrap.py +13 -14
- GridCal-5.1.35/GridCal/Gui/wrappable_table_model.py +47 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Session/results_model.py +3 -19
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/__version__.py +1 -1
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/plugins.py +6 -6
- {GridCal-5.1.33 → GridCal-5.1.35}/PKG-INFO +1 -1
- GridCal-5.1.33/GridCal/Gui/Diagrams/MapWidget/map_events.py +0 -106
- GridCal-5.1.33/GridCal/Gui/Diagrams/MapWidget/node_widget.py +0 -161
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ExecuteGridCal.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/AboutDialogue/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Analysis/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Analysis/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CascadingSteps/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Branches/new_line_dialogue.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/gmt_local.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapbox.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapquest.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/open_street_map.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_toner.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_transport.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_watercolor.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/GridGenerator/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/GridGenerator/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/ConsoleLog.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/GridCalMain.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/MainWindow.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/object_select_window.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Main/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SyncDialogue/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SystemScaler/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TowerBuilder/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TowerBuilder/test_.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Visualization/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Visualization/visualization.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Widgets/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/messages.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/plot_config.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/themes.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/update_gui_all.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/update_gui_common.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/LICENSE.txt +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Session/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Session/export_results_driver.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Session/file_handler.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Session/server_driver.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Session/session.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Session/synchronization_driver.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/data/__init__.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/data/cables.csv +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/data/sequence_lines.csv +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/data/transformers.csv +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/data/wires.csv +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/templates.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/GridCal/update.py +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/setup.cfg +0 -0
- {GridCal-5.1.33 → GridCal-5.1.35}/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):
|
@@ -100,6 +100,22 @@ class GridErrorLog:
|
|
100
100
|
"""
|
101
101
|
self.logs.clear()
|
102
102
|
|
103
|
+
def add_normal_logger(self, logger: Logger):
|
104
|
+
"""
|
105
|
+
Add normal logger
|
106
|
+
:param logger: Logger
|
107
|
+
"""
|
108
|
+
for l in logger.entries:
|
109
|
+
self.add(object_type=l.device_class,
|
110
|
+
element_name=l.device,
|
111
|
+
element_index=0,
|
112
|
+
severity=l.severity,
|
113
|
+
propty=l.device_property,
|
114
|
+
message=l.msg,
|
115
|
+
val=l.value,
|
116
|
+
lower=l.expected_object_value,
|
117
|
+
upper=l.expected_value)
|
118
|
+
|
103
119
|
def get_model(self) -> "QtGui.QStandardItemModel":
|
104
120
|
"""
|
105
121
|
Get TreeView Model
|
@@ -1043,7 +1059,7 @@ def analyze_batteries(elements: List[Battery],
|
|
1043
1059
|
|
1044
1060
|
def analyze_static_gen(elements: List[StaticGenerator],
|
1045
1061
|
time_profile,
|
1046
|
-
logger: GridErrorLog,):
|
1062
|
+
logger: GridErrorLog, ):
|
1047
1063
|
"""
|
1048
1064
|
|
1049
1065
|
:param elements:
|
@@ -1076,7 +1092,7 @@ def analyze_static_gen(elements: List[StaticGenerator],
|
|
1076
1092
|
|
1077
1093
|
def analyze_load(elements: List[Load],
|
1078
1094
|
time_profile,
|
1079
|
-
logger: GridErrorLog,):
|
1095
|
+
logger: GridErrorLog, ):
|
1080
1096
|
"""
|
1081
1097
|
|
1082
1098
|
:param elements:
|
@@ -1137,6 +1153,12 @@ def grid_analysis(circuit: MultiCircuit,
|
|
1137
1153
|
:param eps_min: Min epsylon value for comparison
|
1138
1154
|
:return: list of fixable error objects
|
1139
1155
|
"""
|
1156
|
+
|
1157
|
+
# check for duplicated uuid's
|
1158
|
+
duplicates_logger = Logger()
|
1159
|
+
_, ok_dict = circuit.get_all_elements_dict(logger=duplicates_logger)
|
1160
|
+
logger.add_normal_logger(duplicates_logger)
|
1161
|
+
|
1140
1162
|
if circuit.time_profile is not None:
|
1141
1163
|
nt = len(circuit.time_profile)
|
1142
1164
|
else:
|
@@ -1288,6 +1310,8 @@ def grid_analysis(circuit: MultiCircuit,
|
|
1288
1310
|
val=Ql_prof[t],
|
1289
1311
|
upper=str(Qmax))
|
1290
1312
|
|
1313
|
+
|
1314
|
+
|
1291
1315
|
return fixable_errors
|
1292
1316
|
|
1293
1317
|
|
{GridCal-5.1.33 → GridCal-5.1.35}/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.33 → GridCal-5.1.35}/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
|
"""
|
{GridCal-5.1.33 → GridCal-5.1.35}/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
|
@@ -176,7 +176,7 @@ class NodeGraphicItem(QtWidgets.QGraphicsRectItem, NodeTemplate):
|
|
176
176
|
if len(selected_items) < 2:
|
177
177
|
self.setSelected(True)
|
178
178
|
if self.enabled:
|
179
|
-
self.editor.map.view.
|
179
|
+
self.editor.map.view.disable_move = True
|
180
180
|
if event.button() == Qt.RightButton:
|
181
181
|
pass
|
182
182
|
|
@@ -197,7 +197,7 @@ class NodeGraphicItem(QtWidgets.QGraphicsRectItem, NodeTemplate):
|
|
197
197
|
"""
|
198
198
|
Event handler for when the mouse enters the item.
|
199
199
|
"""
|
200
|
-
self.editor.map.view.
|
200
|
+
# self.editor.map.view.in_item = True
|
201
201
|
self.hovered = True
|
202
202
|
self.setNodeColor(QColor(Qt.red), QColor(Qt.red))
|
203
203
|
QApplication.instance().setOverrideCursor(Qt.PointingHandCursor)
|
@@ -206,7 +206,7 @@ class NodeGraphicItem(QtWidgets.QGraphicsRectItem, NodeTemplate):
|
|
206
206
|
"""
|
207
207
|
Event handler for when the mouse leaves the item.
|
208
208
|
"""
|
209
|
-
self.editor.map.view.
|
209
|
+
# self.editor.map.view.in_item = False
|
210
210
|
self.hovered = False
|
211
211
|
self.setDefaultColor()
|
212
212
|
QApplication.instance().restoreOverrideCursor()
|
@@ -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
|
@@ -190,18 +190,10 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
|
|
190
190
|
self.setSelected(True)
|
191
191
|
|
192
192
|
event.setAccepted(True)
|
193
|
-
self.editor.map.view.
|
193
|
+
self.editor.map.view.disable_move = 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
|
"""
|
@@ -216,7 +208,7 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
|
|
216
208
|
"""
|
217
209
|
Event handler for when the mouse enters the item.
|
218
210
|
"""
|
219
|
-
self.editor.map.view.
|
211
|
+
# self.editor.map.view.in_item = True
|
220
212
|
self.setNodeColor(QColor(Qt.red), QColor(Qt.red))
|
221
213
|
self.hovered = True
|
222
214
|
QApplication.instance().setOverrideCursor(Qt.PointingHandCursor)
|
@@ -225,7 +217,7 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
|
|
225
217
|
"""
|
226
218
|
Event handler for when the mouse leaves the item.
|
227
219
|
"""
|
228
|
-
self.editor.map.view.
|
220
|
+
# self.editor.map.view.in_item = False
|
229
221
|
self.hovered = False
|
230
222
|
self.setDefaultColor()
|
231
223
|
QApplication.instance().restoreOverrideCursor()
|
@@ -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
|
"""
|
@@ -16,14 +16,15 @@
|
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
import os
|
18
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
|
@@ -1169,6 +1170,29 @@ class GridMapWidget(BaseDiagramWidget):
|
|
1169
1170
|
else:
|
1170
1171
|
print("call_new_substation_diagram_func is None :( ")
|
1171
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
|
+
|
1172
1196
|
|
1173
1197
|
def generate_map_diagram(substations: List[Substation],
|
1174
1198
|
voltage_levels: List[VoltageLevel],
|
@@ -116,16 +116,20 @@ class MapView(QGraphicsView):
|
|
116
116
|
|
117
117
|
# Create a QLabel
|
118
118
|
self.label = QLabel("Bottom Left Label")
|
119
|
-
self.label.setStyleSheet("background-color: rgba(
|
119
|
+
self.label.setStyleSheet("background-color: rgba(0, 0, 0, 0);"
|
120
|
+
"color: rgba(150, 150, 150, 180);"
|
121
|
+
"font-size:9pt") # Semi-transparent yellow
|
120
122
|
|
121
123
|
# Create a QGraphicsProxyWidget for the QLabel
|
122
|
-
self.
|
123
|
-
self.
|
124
|
+
self.label_proxy_widget = QGraphicsProxyWidget()
|
125
|
+
self.label_proxy_widget.setWidget(self.label)
|
126
|
+
|
124
127
|
# Position the QLabel within the scene
|
125
|
-
self.
|
128
|
+
self.label_proxy_widget.setPos(0, scene.sceneRect().height() - self.label.height()) # Bottom-left position
|
129
|
+
self.label_proxy_widget.setFlag(QGraphicsItem.ItemIgnoresTransformations)
|
126
130
|
|
127
131
|
# Add the proxy widget to the scene
|
128
|
-
self._scene.addItem(self.
|
132
|
+
self._scene.addItem(self.label_proxy_widget)
|
129
133
|
|
130
134
|
self.mouse_x = None
|
131
135
|
self.mouse_y = None
|
@@ -133,9 +137,9 @@ class MapView(QGraphicsView):
|
|
133
137
|
self.diagram_w = 25000
|
134
138
|
self.diagram_H = 25000
|
135
139
|
|
136
|
-
self.
|
140
|
+
# self.in_item = False # looks that it is written but never used
|
137
141
|
self.pressed = False
|
138
|
-
self.
|
142
|
+
self.disable_move = False
|
139
143
|
|
140
144
|
# updated later
|
141
145
|
self.view_width = self.width()
|
@@ -147,6 +151,14 @@ class MapView(QGraphicsView):
|
|
147
151
|
|
148
152
|
self.scale(initial_zoom_factor, initial_zoom_factor)
|
149
153
|
|
154
|
+
def set_notice(self, val: str):
|
155
|
+
"""
|
156
|
+
|
157
|
+
:param val:
|
158
|
+
:return:
|
159
|
+
"""
|
160
|
+
self.label.setText(val)
|
161
|
+
|
150
162
|
def selected_items(self) -> List[QGraphicsItem]:
|
151
163
|
"""
|
152
164
|
Get the selected items
|
@@ -162,7 +174,7 @@ class MapView(QGraphicsView):
|
|
162
174
|
"""
|
163
175
|
self.map_widget.mousePressEvent(event)
|
164
176
|
self.pressed = True
|
165
|
-
self.
|
177
|
+
self.disable_move = False
|
166
178
|
|
167
179
|
super().mousePressEvent(event)
|
168
180
|
|
@@ -174,7 +186,7 @@ class MapView(QGraphicsView):
|
|
174
186
|
"""
|
175
187
|
self.map_widget.mouseReleaseEvent(event)
|
176
188
|
self.pressed = False
|
177
|
-
self.
|
189
|
+
self.disable_move = True
|
178
190
|
super().mouseReleaseEvent(event)
|
179
191
|
|
180
192
|
def mouseDoubleClickEvent(self, event: QMouseEvent):
|
@@ -192,11 +204,12 @@ class MapView(QGraphicsView):
|
|
192
204
|
:param event:
|
193
205
|
:return:
|
194
206
|
"""
|
195
|
-
if not self.
|
207
|
+
if not self.disable_move:
|
196
208
|
self.map_widget.mouseMoveEvent(event)
|
197
|
-
self.
|
209
|
+
self.center_schema()
|
198
210
|
|
199
211
|
super().mouseMoveEvent(event)
|
212
|
+
self.update_label_position()
|
200
213
|
|
201
214
|
def keyPressEvent(self, event: QKeyEvent):
|
202
215
|
"""
|
@@ -247,7 +260,8 @@ class MapView(QGraphicsView):
|
|
247
260
|
|
248
261
|
self.map_widget.wheelEvent(event)
|
249
262
|
|
250
|
-
self.
|
263
|
+
self.center_schema()
|
264
|
+
self.update_label_position()
|
251
265
|
|
252
266
|
def dragEnterEvent(self, event: QDragEnterEvent):
|
253
267
|
"""
|
@@ -280,21 +294,29 @@ class MapView(QGraphicsView):
|
|
280
294
|
Widget resized, recompute some state.
|
281
295
|
"""
|
282
296
|
|
297
|
+
super().resizeEvent(event)
|
283
298
|
self.map_widget.resizeEvent(event=event)
|
284
299
|
|
285
|
-
|
300
|
+
def update_label_position(self):
|
301
|
+
"""
|
302
|
+
Updates the position of the label to the bottom-left corner of the viewport.
|
303
|
+
"""
|
304
|
+
view_width = self.viewport().width()
|
305
|
+
view_height = self.viewport().height()
|
306
|
+
|
307
|
+
# Set position relative to the bottom-left corner of the viewport
|
308
|
+
self.label_proxy_widget.setPos(self.mapToScene(0, view_height - self.label.height()))
|
286
309
|
|
287
|
-
def
|
310
|
+
def set_size_diagram(self) -> None:
|
288
311
|
"""
|
289
312
|
|
290
313
|
:return:
|
291
314
|
"""
|
292
315
|
# new widget size
|
293
|
-
# TODO: These vars must be declared in init
|
294
316
|
self.view_width = self.width()
|
295
317
|
self.view_height = self.height()
|
296
318
|
|
297
|
-
def
|
319
|
+
def set_scene_rect_diagram(self) -> None:
|
298
320
|
"""
|
299
321
|
|
300
322
|
:return:
|
@@ -306,12 +328,9 @@ class MapView(QGraphicsView):
|
|
306
328
|
yToDiagram = -(used_height / 2)
|
307
329
|
|
308
330
|
# Adjust the scene rect if needed
|
309
|
-
self.setSceneRect(xToDiagram,
|
310
|
-
yToDiagram,
|
311
|
-
used_width,
|
312
|
-
used_height)
|
331
|
+
self.setSceneRect(xToDiagram, yToDiagram, used_width, used_height)
|
313
332
|
|
314
|
-
self.
|
333
|
+
self.center_schema()
|
315
334
|
|
316
335
|
def to_lat_lon(self, x: float, y: float) -> Tuple[float, float]:
|
317
336
|
"""
|
@@ -347,7 +366,7 @@ class MapView(QGraphicsView):
|
|
347
366
|
|
348
367
|
return x, y
|
349
368
|
|
350
|
-
def
|
369
|
+
def center_schema(self) -> None:
|
351
370
|
"""
|
352
371
|
This function centers the schema relative to the map according to lat. and long.
|
353
372
|
"""
|
@@ -364,142 +383,6 @@ class MapView(QGraphicsView):
|
|
364
383
|
self.map_widget.view.centerOn(point)
|
365
384
|
|
366
385
|
|
367
|
-
class NoticeWidget(QWidget):
|
368
|
-
"""
|
369
|
-
MapView
|
370
|
-
"""
|
371
|
-
|
372
|
-
def __init__(self, map_widget: "MapWidget"):
|
373
|
-
"""
|
374
|
-
|
375
|
-
:param map_widget:
|
376
|
-
"""
|
377
|
-
QWidget.__init__(self)
|
378
|
-
|
379
|
-
# Enable drop functionality
|
380
|
-
self.setAcceptDrops(True)
|
381
|
-
|
382
|
-
self.map_widget = map_widget
|
383
|
-
|
384
|
-
# add a label to display copyright stuff
|
385
|
-
self.notice_label = QLabel("some notice")
|
386
|
-
self.notice_label.setAlignment(Qt.AlignLeft | Qt.AlignBottom)
|
387
|
-
self.notice_label.setStyleSheet("background-color: rgba(255, 255, 255, 0);"
|
388
|
-
"font-size: 8pt;"
|
389
|
-
"color: rgba(100, 100, 100, 255);")
|
390
|
-
|
391
|
-
# Create a container for the label and position it at the bottom-left
|
392
|
-
self.label_container = QWidget()
|
393
|
-
self.label_layout = QVBoxLayout(self.label_container)
|
394
|
-
self.label_layout.addWidget(self.notice_label)
|
395
|
-
self.label_layout.setAlignment(Qt.AlignLeft | Qt.AlignBottom)
|
396
|
-
self.label_layout.setContentsMargins(1, 1, 1, 1) # Optional margin
|
397
|
-
|
398
|
-
self.setLayout(self.label_layout)
|
399
|
-
|
400
|
-
def set_notice(self, val: str) -> None:
|
401
|
-
"""
|
402
|
-
Set the notification text
|
403
|
-
:param val: some text
|
404
|
-
"""
|
405
|
-
self.notice_label.setText(val)
|
406
|
-
|
407
|
-
def mousePressEvent(self, event: QMouseEvent):
|
408
|
-
"""
|
409
|
-
|
410
|
-
:param event:
|
411
|
-
:return:
|
412
|
-
"""
|
413
|
-
self.map_widget.view.mousePressEvent(event)
|
414
|
-
super().mousePressEvent(event)
|
415
|
-
|
416
|
-
def mouseReleaseEvent(self, event: QMouseEvent):
|
417
|
-
"""
|
418
|
-
|
419
|
-
:param event:
|
420
|
-
:return:
|
421
|
-
"""
|
422
|
-
self.map_widget.view.mouseReleaseEvent(event)
|
423
|
-
super().mouseReleaseEvent(event)
|
424
|
-
|
425
|
-
def mouseDoubleClickEvent(self, event: QMouseEvent):
|
426
|
-
"""
|
427
|
-
|
428
|
-
:param event:
|
429
|
-
:return:
|
430
|
-
"""
|
431
|
-
self.map_widget.view.mouseDoubleClickEvent(event)
|
432
|
-
super().mouseDoubleClickEvent(event)
|
433
|
-
|
434
|
-
def mouseMoveEvent(self, event: QMouseEvent):
|
435
|
-
"""
|
436
|
-
|
437
|
-
:param event:
|
438
|
-
:return:
|
439
|
-
"""
|
440
|
-
self.map_widget.view.mouseMoveEvent(event)
|
441
|
-
super().mouseMoveEvent(event)
|
442
|
-
|
443
|
-
def keyPressEvent(self, event: QKeyEvent):
|
444
|
-
"""
|
445
|
-
|
446
|
-
:param event:
|
447
|
-
:return:
|
448
|
-
"""
|
449
|
-
self.map_widget.view.keyPressEvent(event)
|
450
|
-
|
451
|
-
def keyReleaseEvent(self, event: QKeyEvent):
|
452
|
-
"""
|
453
|
-
|
454
|
-
:param event:
|
455
|
-
:return:
|
456
|
-
"""
|
457
|
-
self.map_widget.view.keyReleaseEvent(event)
|
458
|
-
|
459
|
-
def wheelEvent(self, event: QWheelEvent):
|
460
|
-
"""
|
461
|
-
|
462
|
-
:param event:
|
463
|
-
:return:
|
464
|
-
"""
|
465
|
-
super().wheelEvent(event)
|
466
|
-
self.map_widget.view.wheelEvent(event)
|
467
|
-
|
468
|
-
def dragEnterEvent(self, event: QDragEnterEvent):
|
469
|
-
"""
|
470
|
-
|
471
|
-
:param event:
|
472
|
-
:return:
|
473
|
-
"""
|
474
|
-
if event.mimeData().hasFormat('component/name'):
|
475
|
-
event.accept()
|
476
|
-
|
477
|
-
def dragMoveEvent(self, event: QDragMoveEvent):
|
478
|
-
"""
|
479
|
-
|
480
|
-
:param event:
|
481
|
-
:return:
|
482
|
-
"""
|
483
|
-
super().dragMoveEvent(event)
|
484
|
-
self.map_widget.view.dragMoveEvent(event)
|
485
|
-
|
486
|
-
def dropEvent(self, event: QDropEvent):
|
487
|
-
"""
|
488
|
-
|
489
|
-
:param event:
|
490
|
-
:return:
|
491
|
-
"""
|
492
|
-
super().dropEvent(event)
|
493
|
-
self.map_widget.view.dropEvent(event)
|
494
|
-
|
495
|
-
def resizeEvent(self, event: QResizeEvent = None):
|
496
|
-
"""
|
497
|
-
Widget resized, recompute some state.
|
498
|
-
"""
|
499
|
-
super().resizeEvent(event)
|
500
|
-
self.map_widget.view.resizeEvent(event=event)
|
501
|
-
|
502
|
-
|
503
386
|
class MapWidget(QWidget):
|
504
387
|
"""
|
505
388
|
Map widget
|
@@ -541,16 +424,13 @@ class MapWidget(QWidget):
|
|
541
424
|
self.view = MapView(scene=self.diagram_scene, map_widget=self)
|
542
425
|
self.view.setBackgroundBrush(Qt.transparent)
|
543
426
|
|
544
|
-
# notification widget
|
545
|
-
self.notice_widget = NoticeWidget(map_widget=self)
|
546
|
-
|
547
427
|
# -------------------------------------------------------------------------
|
548
428
|
# Internal vars
|
549
429
|
# -------------------------------------------------------------------------
|
550
430
|
# remember the tile source object
|
551
431
|
self._tile_src: Tiles = tile_src
|
552
432
|
self._tile_src.setCallback(self.on_tile_available)
|
553
|
-
self.
|
433
|
+
self.view.set_notice(val=self._tile_src.attribution_string)
|
554
434
|
|
555
435
|
# the tile coordinates
|
556
436
|
self.level: int = start_level
|
@@ -635,11 +515,11 @@ class MapWidget(QWidget):
|
|
635
515
|
if tile_src.TilesetName != self._tile_src.TilesetName: # avoid changing tilesets to themselves
|
636
516
|
self._tile_src: Tiles = tile_src
|
637
517
|
self._tile_src.setCallback(self.on_tile_available)
|
638
|
-
self.
|
518
|
+
self.view.set_notice(val=self._tile_src.attribution_string)
|
639
519
|
|
640
520
|
if self.GotoLevel(level):
|
641
521
|
self.GotoLevelAndPosition(level=level, longitude=longitude, latitude=latitude)
|
642
|
-
self.view.
|
522
|
+
self.view.center_schema()
|
643
523
|
else:
|
644
524
|
while abs(self.view.schema_zoom - 0.015625) > 0.00001:
|
645
525
|
self.view.schema_zoom = self.view.schema_zoom / self.view.map_widget.zoom_factor
|
@@ -928,14 +808,13 @@ class MapWidget(QWidget):
|
|
928
808
|
Widget resized, recompute some state.
|
929
809
|
"""
|
930
810
|
if updateDiagram:
|
931
|
-
self.view.
|
811
|
+
self.view.set_size_diagram()
|
932
812
|
|
933
813
|
# recalculate the "key" tile stuff
|
934
814
|
self.rectify_key_tile()
|
935
815
|
|
936
816
|
if updateDiagram:
|
937
|
-
self.view.
|
938
|
-
|
817
|
+
self.view.set_scene_rect_diagram()
|
939
818
|
|
940
819
|
def enterEvent(self, event: QEnterEvent):
|
941
820
|
"""
|
{GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py
RENAMED
@@ -20,7 +20,7 @@ import numpy as np
|
|
20
20
|
from PySide6.QtCore import Qt
|
21
21
|
from PySide6.QtGui import QIcon, QPixmap
|
22
22
|
from PySide6.QtWidgets import QMenu, QLabel, QDoubleSpinBox, QPushButton, QVBoxLayout, QComboBox, QDialog, QGraphicsScene
|
23
|
-
from GridCal.Gui.
|
23
|
+
from GridCal.Gui.gui_functions import get_list_model, add_menu_entry
|
24
24
|
from GridCal.Gui.Diagrams.SchematicWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
25
25
|
from GridCalEngine.Devices.Branches.line import SequenceLineType, OverheadLineType, UndergroundLineType
|
26
26
|
from GridCalEngine.Devices.Branches.dc_line import DcLine
|
{GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py
RENAMED
@@ -18,7 +18,7 @@ from __future__ import annotations
|
|
18
18
|
from typing import TYPE_CHECKING, Union
|
19
19
|
from PySide6.QtGui import QIcon, QPixmap
|
20
20
|
from PySide6.QtWidgets import QMenu
|
21
|
-
from GridCal.Gui.
|
21
|
+
from GridCal.Gui.gui_functions import add_menu_entry
|
22
22
|
from GridCal.Gui.Diagrams.SchematicWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
23
23
|
from GridCal.Gui.Diagrams.SchematicWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
24
24
|
from GridCalEngine.Devices.Branches.hvdc_line import HvdcLine
|
{GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py
RENAMED
@@ -19,7 +19,7 @@ import numpy as np
|
|
19
19
|
from typing import Union, List
|
20
20
|
from PySide6.QtCore import Qt
|
21
21
|
from PySide6.QtWidgets import QPushButton, QVBoxLayout, QDialog, QLabel, QDoubleSpinBox, QComboBox, QCheckBox
|
22
|
-
from GridCal.Gui.
|
22
|
+
from GridCal.Gui.gui_functions import get_list_model
|
23
23
|
from GridCal.Gui.messages import error_msg
|
24
24
|
from GridCalEngine.Devices.Branches.line import Line, SequenceLineType, OverheadLineType, UndergroundLineType
|
25
25
|
|
{GridCal-5.1.33 → GridCal-5.1.35}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py
RENAMED
@@ -19,7 +19,7 @@ from typing import TYPE_CHECKING, Union
|
|
19
19
|
from PySide6.QtCore import Qt, QRectF
|
20
20
|
from PySide6.QtGui import QPen, QBrush
|
21
21
|
from PySide6.QtWidgets import QMenu, QGraphicsRectItem, QGraphicsSceneContextMenuEvent
|
22
|
-
from GridCal.Gui.
|
22
|
+
from GridCal.Gui.gui_functions import add_menu_entry
|
23
23
|
from GridCal.Gui.Diagrams.SchematicWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
24
24
|
from GridCal.Gui.Diagrams.SchematicWidget.Branches.line_editor import LineEditor
|
25
25
|
from GridCal.Gui.messages import yes_no_question, warning_msg
|