GridCal 5.1.38__tar.gz → 5.1.39__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.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +133 -127
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +3 -3
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Results/results.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/session.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/__version__.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/PKG-INFO +1 -1
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ExecuteGridCal.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/new_line_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/gmt_local.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapbox.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapquest.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/open_street_map.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_toner.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_transport.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_watercolor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/base_diagram_widget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/ConsoleLog.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/GridCalMain.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/MainWindow.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/objects.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/time_events.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/base_gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/io.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/simulations.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/object_select_window.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/test_.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Visualization/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Visualization/visualization.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Widgets/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/associations_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/console_widget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/general_dialogues.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/gui_functions.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/messages.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/object_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/pandas_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/plot_config.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/profiles_model.py +0 -0
- {GridCal-5.1.38/GridCal/Session → GridCal-5.1.39/GridCal/Gui}/results_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/table_view_header_wrap.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/themes.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/update_gui_all.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/update_gui_common.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/wrappable_table_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/LICENSE.txt +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/export_results_driver.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/file_handler.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/server_driver.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/synchronization_driver.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/cables.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/sequence_lines.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/transformers.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/wires.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/plugins.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/templates.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/update.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/setup.cfg +0 -0
- {GridCal-5.1.38 → GridCal-5.1.39}/setup.py +0 -0
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py
RENAMED
@@ -52,8 +52,8 @@ class MapLineSegment(QGraphicsLineItem):
|
|
52
52
|
self.container: MapLineContainer = container
|
53
53
|
self.draw_labels = True
|
54
54
|
|
55
|
-
self.style = Qt.SolidLine
|
56
|
-
self.color =
|
55
|
+
self.style = Qt.PenStyle.SolidLine
|
56
|
+
self.color = QColor(115, 115, 115, 200) # translucent gray
|
57
57
|
self.width = 0.1
|
58
58
|
|
59
59
|
self.pos1: QPointF = self.first.get_center_pos()
|
@@ -374,14 +374,14 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
|
|
374
374
|
max_value=100000.0,
|
375
375
|
default_value=self.editor.diagram.default_bus_voltage,
|
376
376
|
title="Add voltage level",
|
377
|
-
text="Voltage (
|
377
|
+
text="Voltage (KV)",
|
378
378
|
)
|
379
379
|
|
380
380
|
inpt.exec()
|
381
381
|
|
382
382
|
if inpt.is_accepted:
|
383
383
|
kv = inpt.value
|
384
|
-
vl = VoltageLevel(name=f'{kv}
|
384
|
+
vl = VoltageLevel(name=f'{kv}KV @ {self.api_object.name}',
|
385
385
|
Vnom=kv,
|
386
386
|
substation=self.api_object)
|
387
387
|
|
@@ -994,7 +994,7 @@ class GridMapWidget(BaseDiagramWidget):
|
|
994
994
|
#
|
995
995
|
# tooltip = str(i) + ': ' + bus.name + '\n' \
|
996
996
|
# + 'V:' + "{:10.4f}".format(vabs[i]) + " <{:10.4f}".format(vang[i]) + 'º [p.u.]\n' \
|
997
|
-
# + 'V:' + "{:10.4f}".format(vabs[i] * bus.Vnom) + " <{:10.4f}".format(vang[i]) + 'º [
|
997
|
+
# + 'V:' + "{:10.4f}".format(vabs[i] * bus.Vnom) + " <{:10.4f}".format(vang[i]) + 'º [KV]'
|
998
998
|
# if Sbus is not None:
|
999
999
|
# tooltip += '\nS: ' + "{:10.4f}".format(Sbus[i] * Sbase) + ' [MVA]'
|
1000
1000
|
# if types is not None:
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py
RENAMED
@@ -73,7 +73,7 @@ class DcLineEditor(QDialog):
|
|
73
73
|
# X = self.branch.X * Zbase
|
74
74
|
# B = self.branch.B * Ybase
|
75
75
|
|
76
|
-
I = self.branch.rate / Vf # current in
|
76
|
+
I = self.branch.rate / Vf # current in KA
|
77
77
|
|
78
78
|
# ------------------------------------------------------------------------------------------
|
79
79
|
|
@@ -177,7 +177,7 @@ class DcLineEditor(QDialog):
|
|
177
177
|
Vf = self.branch.bus_from.Vnom
|
178
178
|
Vt = self.branch.bus_to.Vnom
|
179
179
|
|
180
|
-
Sn = np.round(I * Vf, 2) # nominal power in MVA =
|
180
|
+
Sn = np.round(I * Vf, 2) # nominal power in MVA = KA * KV
|
181
181
|
|
182
182
|
Zbase = self.Sbase / (Vf * Vf)
|
183
183
|
Ybase = 1.0 / Zbase
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py
RENAMED
@@ -87,7 +87,7 @@ class LineEditor(QDialog):
|
|
87
87
|
R = self.line.R * Zbase / length
|
88
88
|
X = self.line.X * Zbase / length
|
89
89
|
B = self.line.B * Ybase / length
|
90
|
-
I = np.round(self.line.rate / (Vf * 1.73205080757), 6) # current in
|
90
|
+
I = np.round(self.line.rate / (Vf * 1.73205080757), 6) # current in KA
|
91
91
|
|
92
92
|
# ------------------------------------------------------------------------------------------
|
93
93
|
|
@@ -225,7 +225,7 @@ class LineEditor(QDialog):
|
|
225
225
|
x_ohm=self.x_spinner.value(), # ohm / km
|
226
226
|
c_nf=self.b_spinner.value() * 1e3 / wf, # nF / km
|
227
227
|
length=self.l_spinner.value(), # km
|
228
|
-
Imax=self.i_spinner.value(), #
|
228
|
+
Imax=self.i_spinner.value(), # KA
|
229
229
|
freq=self.frequency, # Hz
|
230
230
|
Sbase=self.Sbase, # MVA
|
231
231
|
apply_to_profile=self.apply_to_profile.isChecked()
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py
RENAMED
@@ -271,7 +271,7 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
271
271
|
|
272
272
|
if ok:
|
273
273
|
# rate = I
|
274
|
-
rated_current = self.api_object.rate / (self.api_object.Vf * 1.73205080757) # MVA =
|
274
|
+
rated_current = self.api_object.rate / (self.api_object.Vf * 1.73205080757) # MVA = KA * KV * sqrt(3)
|
275
275
|
|
276
276
|
tpe = SequenceLineType(name='SequenceLine from ' + self.api_object.name,
|
277
277
|
idtag=None,
|
@@ -22,7 +22,7 @@ from PySide6.QtCore import Qt, QLineF, QPointF, QRectF
|
|
22
22
|
from PySide6.QtGui import QPen, QCursor, QPixmap, QBrush, QColor, QTransform, QPolygonF
|
23
23
|
from PySide6.QtWidgets import (QGraphicsLineItem, QGraphicsRectItem, QGraphicsPolygonItem,
|
24
24
|
QGraphicsEllipseItem, QGraphicsSceneMouseEvent, QGraphicsTextItem)
|
25
|
-
from GridCal.Gui.Diagrams.generic_graphics import ACTIVE, DEACTIVATED, OTHER, GenericDiagramWidget
|
25
|
+
from GridCal.Gui.Diagrams.generic_graphics import ACTIVE, DEACTIVATED, OTHER, GenericDiagramWidget, TRANSPARENT, WHITE
|
26
26
|
from GridCal.Gui.Diagrams.SchematicWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
27
27
|
from GridCal.Gui.Diagrams.SchematicWidget.Substation.bus_graphics import BusGraphicItem
|
28
28
|
from GridCal.Gui.Diagrams.SchematicWidget.Substation.cn_graphics import CnGraphicItem
|
@@ -50,115 +50,6 @@ if TYPE_CHECKING: # Only imports the below statements during type checking
|
|
50
50
|
from GridCal.Gui.Diagrams.SchematicWidget.Branches.transformer3w_graphics import Transformer3WGraphicItem
|
51
51
|
|
52
52
|
|
53
|
-
class ArrowHead(QGraphicsPolygonItem):
|
54
|
-
"""
|
55
|
-
This is the arrow object
|
56
|
-
"""
|
57
|
-
|
58
|
-
def __init__(self,
|
59
|
-
parent: QGraphicsLineItem,
|
60
|
-
arrow_size: int,
|
61
|
-
position: float = 0.9,
|
62
|
-
under: bool = False,
|
63
|
-
backwards: bool = False,
|
64
|
-
separation: int = 5,
|
65
|
-
show_text: bool = True):
|
66
|
-
"""
|
67
|
-
Constructor
|
68
|
-
:param parent: Parent line
|
69
|
-
:param arrow_size: Size of the arrow
|
70
|
-
:param position: proportion of the line where to locate the arrow
|
71
|
-
:param under: Is it under?
|
72
|
-
:param backwards: Is it backwards?
|
73
|
-
:param separation: Separation
|
74
|
-
:param show_text: Show the label?
|
75
|
-
"""
|
76
|
-
QGraphicsPolygonItem.__init__(self, parent=parent)
|
77
|
-
|
78
|
-
self.parent: QGraphicsLineItem = parent
|
79
|
-
self.arrow_size: int = arrow_size
|
80
|
-
self.position: float = position
|
81
|
-
self.under: bool = under
|
82
|
-
self.backwards: float = backwards
|
83
|
-
self.sep = separation
|
84
|
-
|
85
|
-
self.label = QGraphicsTextItem(self)
|
86
|
-
self.label.setPlainText("")
|
87
|
-
self.show_text = show_text
|
88
|
-
|
89
|
-
self.w = arrow_size
|
90
|
-
self.h = arrow_size
|
91
|
-
|
92
|
-
self.setPen(Qt.NoPen)
|
93
|
-
|
94
|
-
def set_colour(self, color: QColor, w, style: Qt.PenStyle):
|
95
|
-
"""
|
96
|
-
Set color and style
|
97
|
-
:param color: QColor instance
|
98
|
-
:param w: width
|
99
|
-
:param style: PenStyle instance
|
100
|
-
:return:
|
101
|
-
"""
|
102
|
-
# self.setPen(QPen(color, w, style))
|
103
|
-
# self.setPen(Qt.NoPen)
|
104
|
-
self.setBrush(color)
|
105
|
-
self.label.setDefaultTextColor(color)
|
106
|
-
|
107
|
-
def set_value(self, value: float, redraw=True, backwards=False, name="", units="", format_str="{:10.2f}",
|
108
|
-
draw_label: bool = True, visibility_filter_value=1e-4):
|
109
|
-
"""
|
110
|
-
Set the sign with a value
|
111
|
-
:param value: any real value
|
112
|
-
:param redraw: redraw after the sign update
|
113
|
-
:param backwards: draw backwards
|
114
|
-
:param name: name of the displayed magnitude (i.e. Pf)
|
115
|
-
:param units: the units of the displayed magnitude (i.e MW)
|
116
|
-
:param format_str: the formatting string of the displayed magnitude
|
117
|
-
:param visibility_filter_value: threshold to determine if to show this widget
|
118
|
-
:param draw_label: Draw label
|
119
|
-
"""
|
120
|
-
self.setVisible(abs(value) > visibility_filter_value)
|
121
|
-
self.backwards = backwards
|
122
|
-
|
123
|
-
self.label.setVisible(draw_label)
|
124
|
-
if draw_label:
|
125
|
-
x = format_str.format(value)
|
126
|
-
msg = f'{name}:{x} {units}'
|
127
|
-
self.label.setPlainText(msg)
|
128
|
-
self.setToolTip(msg)
|
129
|
-
|
130
|
-
if redraw:
|
131
|
-
self.redraw()
|
132
|
-
|
133
|
-
def redraw(self) -> None:
|
134
|
-
"""
|
135
|
-
Redraw the arrow
|
136
|
-
"""
|
137
|
-
line = self.parent.line()
|
138
|
-
|
139
|
-
# the angle is added 180º if the sign is negative
|
140
|
-
angle = - line.angle()
|
141
|
-
base_pt = line.p1() + (line.p2() - line.p1()) * self.position
|
142
|
-
|
143
|
-
p1 = -self.arrow_size if self.backwards else self.arrow_size
|
144
|
-
p2 = -self.arrow_size if self.under else self.arrow_size
|
145
|
-
arrow_p1 = base_pt - QTransform().rotate(angle).map(QPointF(p1, 0))
|
146
|
-
arrow_p2 = base_pt - QTransform().rotate(angle).map(QPointF(p1, p2))
|
147
|
-
arrow_polygon = QPolygonF([base_pt, arrow_p1, arrow_p2])
|
148
|
-
|
149
|
-
# base_pt = line.p1() + (line.p2() - line.p1()) * self.position
|
150
|
-
#
|
151
|
-
# arrow_polygon = QPolygonF([base_pt, arrow_p1, arrow_p2])
|
152
|
-
|
153
|
-
self.setPolygon(arrow_polygon)
|
154
|
-
if self.show_text:
|
155
|
-
# angle = - line.angle()
|
156
|
-
a = angle + 180 if 90 < line.angle() <= 270 else angle # this keep the labels upside
|
157
|
-
label_p = base_pt - QTransform().rotate(a).map(QPointF(0, -10 if self.under else 35))
|
158
|
-
self.label.setPos(label_p)
|
159
|
-
self.label.setRotation(a)
|
160
|
-
|
161
|
-
|
162
53
|
class TransformerSymbol(QGraphicsRectItem):
|
163
54
|
"""
|
164
55
|
TransformerSymbol
|
@@ -176,19 +67,19 @@ class TransformerSymbol(QGraphicsRectItem):
|
|
176
67
|
self.color = ACTIVE['color']
|
177
68
|
self.style = ACTIVE['style']
|
178
69
|
|
179
|
-
self.setPen(QPen(
|
70
|
+
self.setPen(QPen(TRANSPARENT))
|
180
71
|
self.setRect(QRectF(0, 0, w, h))
|
181
72
|
|
182
73
|
self.c0 = QGraphicsEllipseItem(0, 0, d, d, parent=self)
|
183
74
|
self.c1 = QGraphicsEllipseItem(0, 0, d, d, parent=self)
|
184
75
|
self.c2 = QGraphicsEllipseItem(0, 0, d, d, parent=self)
|
185
76
|
|
186
|
-
self.c0.setPen(QPen(
|
77
|
+
self.c0.setPen(QPen(TRANSPARENT, self.width, self.style))
|
187
78
|
self.c2.setPen(QPen(self.color, self.width, self.style))
|
188
79
|
self.c1.setPen(QPen(self.color, self.width, self.style))
|
189
80
|
|
190
|
-
self.c0.setBrush(QBrush(
|
191
|
-
self.c2.setBrush(QBrush(
|
81
|
+
self.c0.setBrush(QBrush(WHITE))
|
82
|
+
self.c2.setBrush(QBrush(WHITE))
|
192
83
|
|
193
84
|
self.c0.setPos(w * 0.35 - d / 2, h * 0.5 - d / 2)
|
194
85
|
self.c1.setPos(w * 0.35 - d / 2, h * 0.5 - d / 2)
|
@@ -266,12 +157,12 @@ class VscSymbol(QGraphicsRectItem):
|
|
266
157
|
self.color = ACTIVE['color']
|
267
158
|
self.style = ACTIVE['style']
|
268
159
|
|
269
|
-
self.setPen(QPen(
|
160
|
+
self.setPen(QPen(TRANSPARENT))
|
270
161
|
self.setRect(QRectF(0, 0, w, h))
|
271
162
|
|
272
163
|
graphic = QGraphicsRectItem(QRectF(0, 0, w, h), parent=self)
|
273
164
|
graphic.setBrush(QBrush(QPixmap(icon_route)))
|
274
|
-
graphic.setPen(QPen(
|
165
|
+
graphic.setPen(QPen(TRANSPARENT, self.width, self.style))
|
275
166
|
|
276
167
|
def set_colour(self, color: QColor, w, style: Qt.PenStyle):
|
277
168
|
"""
|
@@ -366,7 +257,7 @@ class HvdcSymbol(QGraphicsRectItem):
|
|
366
257
|
self.color = ACTIVE['color']
|
367
258
|
self.style = ACTIVE['style']
|
368
259
|
|
369
|
-
self.setPen(QPen(
|
260
|
+
self.setPen(QPen(TRANSPARENT))
|
370
261
|
self.setRect(QRectF(0, 0, w, h))
|
371
262
|
|
372
263
|
offset = 3
|
@@ -377,12 +268,12 @@ class HvdcSymbol(QGraphicsRectItem):
|
|
377
268
|
|
378
269
|
triangle = QGraphicsPolygonItem(self)
|
379
270
|
triangle.setPolygon(t_points)
|
380
|
-
triangle.setPen(QPen(
|
381
|
-
triangle.setBrush(QBrush(
|
271
|
+
triangle.setPen(QPen(WHITE))
|
272
|
+
triangle.setBrush(QBrush(WHITE))
|
382
273
|
|
383
274
|
line = QGraphicsRectItem(QRectF(h - offset, offset, offset, w - 2 * offset), parent=self)
|
384
|
-
line.setPen(QPen(
|
385
|
-
line.setBrush(QBrush(
|
275
|
+
line.setPen(QPen(WHITE))
|
276
|
+
line.setBrush(QBrush(WHITE))
|
386
277
|
|
387
278
|
def set_colour(self, color: QColor, w, style: Qt.PenStyle):
|
388
279
|
"""
|
@@ -431,6 +322,122 @@ class HvdcSymbol(QGraphicsRectItem):
|
|
431
322
|
self.setTransform(transform)
|
432
323
|
|
433
324
|
|
325
|
+
class ArrowHead(QGraphicsPolygonItem):
|
326
|
+
"""
|
327
|
+
This is the arrow object
|
328
|
+
"""
|
329
|
+
|
330
|
+
def __init__(self,
|
331
|
+
parent: QGraphicsLineItem,
|
332
|
+
arrow_size: int,
|
333
|
+
position: float = 0.9,
|
334
|
+
under: bool = False,
|
335
|
+
backwards: bool = False,
|
336
|
+
separation: int = 5,
|
337
|
+
show_text: bool = True):
|
338
|
+
"""
|
339
|
+
Constructor
|
340
|
+
:param parent: Parent line
|
341
|
+
:param arrow_size: Size of the arrow
|
342
|
+
:param position: proportion of the line where to locate the arrow
|
343
|
+
:param under: Is it under?
|
344
|
+
:param backwards: Is it backwards?
|
345
|
+
:param separation: Separation
|
346
|
+
:param show_text: Show the label?
|
347
|
+
"""
|
348
|
+
QGraphicsPolygonItem.__init__(self, parent=parent)
|
349
|
+
|
350
|
+
self.parent: QGraphicsLineItem = parent
|
351
|
+
self.arrow_size: int = arrow_size
|
352
|
+
self.position: float = position
|
353
|
+
self.under: bool = under
|
354
|
+
self.backwards: float = backwards
|
355
|
+
self.sep = separation
|
356
|
+
|
357
|
+
self.label = QGraphicsTextItem(self)
|
358
|
+
self.label.setPlainText("")
|
359
|
+
self.show_text = show_text
|
360
|
+
|
361
|
+
self.w = arrow_size
|
362
|
+
self.h = arrow_size
|
363
|
+
|
364
|
+
self.setPen(Qt.PenStyle.NoPen)
|
365
|
+
|
366
|
+
def set_colour(self, color: QColor, w, style: Qt.PenStyle):
|
367
|
+
"""
|
368
|
+
Set color and style
|
369
|
+
:param color: QColor instance
|
370
|
+
:param w: width
|
371
|
+
:param style: PenStyle instance
|
372
|
+
:return:
|
373
|
+
"""
|
374
|
+
self.setBrush(color)
|
375
|
+
self.label.setDefaultTextColor(color)
|
376
|
+
|
377
|
+
def set_value(self, value: float, redraw=True, backwards=False, name="", units="", format_str="{:10.2f}",
|
378
|
+
draw_label: bool = True, visibility_filter_value=1e-4):
|
379
|
+
"""
|
380
|
+
Set the sign with a value
|
381
|
+
:param value: any real value
|
382
|
+
:param redraw: redraw after the sign update
|
383
|
+
:param backwards: draw backwards
|
384
|
+
:param name: name of the displayed magnitude (i.e. Pf)
|
385
|
+
:param units: the units of the displayed magnitude (i.e MW)
|
386
|
+
:param format_str: the formatting string of the displayed magnitude
|
387
|
+
:param visibility_filter_value: threshold to determine if to show this widget
|
388
|
+
:param draw_label: Draw label
|
389
|
+
"""
|
390
|
+
self.setVisible(abs(value) > visibility_filter_value)
|
391
|
+
self.backwards = backwards
|
392
|
+
|
393
|
+
self.label.setVisible(draw_label)
|
394
|
+
if draw_label:
|
395
|
+
x = format_str.format(value)
|
396
|
+
msg = f'{name}:{x} {units}'
|
397
|
+
self.label.setPlainText(msg)
|
398
|
+
self.setToolTip(msg)
|
399
|
+
|
400
|
+
if redraw:
|
401
|
+
self.redraw()
|
402
|
+
|
403
|
+
def redraw(self) -> None:
|
404
|
+
"""
|
405
|
+
Redraw the arrow
|
406
|
+
"""
|
407
|
+
line = self.parent.line()
|
408
|
+
|
409
|
+
# the angle is added 180º if the sign is negative
|
410
|
+
angle = - line.angle()
|
411
|
+
base_pt = line.p1() + (line.p2() - line.p1()) * self.position
|
412
|
+
|
413
|
+
p1 = -self.arrow_size if self.backwards else self.arrow_size
|
414
|
+
p2 = -self.arrow_size if self.under else self.arrow_size
|
415
|
+
arrow_p1 = base_pt - QTransform().rotate(angle).map(QPointF(p1, 0))
|
416
|
+
arrow_p2 = base_pt - QTransform().rotate(angle).map(QPointF(p1, p2))
|
417
|
+
arrow_polygon = QPolygonF([base_pt, arrow_p1, arrow_p2])
|
418
|
+
|
419
|
+
self.setPolygon(arrow_polygon)
|
420
|
+
|
421
|
+
if self.show_text:
|
422
|
+
# if 90 < line.angle() <= 270:
|
423
|
+
# label_p = base_pt - QTransform().rotate(-angle).map(QPointF(20, -10 if self.under else 35))
|
424
|
+
# self.label.setPos(label_p)
|
425
|
+
# self.label.setRotation(-angle)
|
426
|
+
# else:
|
427
|
+
# label_p = base_pt - QTransform().rotate(angle).map(QPointF(20, -10 if self.under else 35))
|
428
|
+
# self.label.setPos(label_p)
|
429
|
+
# self.label.setRotation(angle)
|
430
|
+
|
431
|
+
if 90 < line.angle() <= 270:
|
432
|
+
label_p = base_pt - QTransform().rotate(angle).map(QPointF(-20, -35 if self.under else +10))
|
433
|
+
self.label.setRotation(angle + 180)
|
434
|
+
else:
|
435
|
+
label_p = base_pt - QTransform().rotate(angle).map(QPointF(40, -10 if self.under else 35))
|
436
|
+
self.label.setRotation(angle)
|
437
|
+
|
438
|
+
self.label.setPos(label_p)
|
439
|
+
|
440
|
+
|
434
441
|
class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
|
435
442
|
"""
|
436
443
|
LineGraphicItem
|
@@ -476,13 +483,13 @@ class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
|
|
476
483
|
self.symbol = None
|
477
484
|
|
478
485
|
self.scale = 1.0
|
479
|
-
self.pen_style = Qt.SolidLine
|
480
|
-
self.pen_color =
|
486
|
+
self.pen_style = Qt.PenStyle.SolidLine
|
487
|
+
self.pen_color = QColor(0, 0, 0, 255) # Black
|
481
488
|
self.pen_width = width
|
482
489
|
self.width = width
|
483
490
|
|
484
491
|
self.setFlag(self.GraphicsItemFlag.ItemIsSelectable, True)
|
485
|
-
self.setCursor(QCursor(Qt.PointingHandCursor))
|
492
|
+
self.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
|
486
493
|
|
487
494
|
self.pos1: QPointF = QPointF(0.0, 0.0)
|
488
495
|
self.pos2: QPointF = QPointF(0.0, 0.0)
|
@@ -561,7 +568,7 @@ class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
|
|
561
568
|
:return:
|
562
569
|
"""
|
563
570
|
|
564
|
-
pen = QPen(color, w, style, Qt.RoundCap, Qt.RoundJoin)
|
571
|
+
pen = QPen(color, w, style, Qt.PenCapStyle.RoundCap, Qt.PenJoinStyle.RoundJoin)
|
565
572
|
|
566
573
|
self.setPen(pen)
|
567
574
|
self.arrow_p_from.set_colour(color, w, style)
|
@@ -589,8 +596,7 @@ class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
|
|
589
596
|
:param event:
|
590
597
|
:return:
|
591
598
|
"""
|
592
|
-
if self.api_object is not None:
|
593
|
-
|
599
|
+
if self.api_object is not None:
|
594
600
|
self.editor.set_editor_model(api_object=self.api_object)
|
595
601
|
|
596
602
|
def remove_widget(self):
|
@@ -167,9 +167,9 @@ class Transformer3WGraphicItem(QGraphicsRectItem):
|
|
167
167
|
:return:
|
168
168
|
"""
|
169
169
|
if self.api_object is not None:
|
170
|
-
self.winding_circles[0].setToolTip("Winding 1: {0}
|
171
|
-
self.winding_circles[1].setToolTip("Winding 2: {0}
|
172
|
-
self.winding_circles[2].setToolTip("Winding 3: {0}
|
170
|
+
self.winding_circles[0].setToolTip("Winding 1: {0} KV".format(self.api_object.V1))
|
171
|
+
self.winding_circles[1].setToolTip("Winding 2: {0} KV".format(self.api_object.V2))
|
172
|
+
self.winding_circles[2].setToolTip("Winding 3: {0} KV".format(self.api_object.V3))
|
173
173
|
pass
|
174
174
|
|
175
175
|
def set_label(self, val: str):
|
@@ -186,8 +186,8 @@ class TransformerEditor(QDialog):
|
|
186
186
|
:return: TransformerType instance
|
187
187
|
"""
|
188
188
|
eps = 1e-20
|
189
|
-
Vf = self.transformer_obj.bus_from.Vnom #
|
190
|
-
Vt = self.transformer_obj.bus_to.Vnom #
|
189
|
+
Vf = self.transformer_obj.bus_from.Vnom # KV
|
190
|
+
Vt = self.transformer_obj.bus_to.Vnom # KV
|
191
191
|
Sn = self.sn_spinner.value() + eps # MVA
|
192
192
|
Pcu = self.pcu_spinner.value() + eps # kW
|
193
193
|
Pfe = self.pfe_spinner.value() + eps # kW
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py
RENAMED
@@ -945,7 +945,7 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
|
|
945
945
|
msg += f" [{tpe}]"
|
946
946
|
msg += "<br>"
|
947
947
|
msg += f"v={vm}<{va}º pu<br>"
|
948
|
-
msg += f"V={vm_kv}
|
948
|
+
msg += f"V={vm_kv} KV<br>"
|
949
949
|
if P is not None:
|
950
950
|
p = format_str.format(P)
|
951
951
|
q = format_str.format(Q)
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py
RENAMED
@@ -797,7 +797,7 @@ class BusBarGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
|
|
797
797
|
msg += f" [{tpe}]"
|
798
798
|
msg += "<br>"
|
799
799
|
msg += f"v={vm}<{va}º pu<br>"
|
800
|
-
msg += f"V={vm_kv}
|
800
|
+
msg += f"V={vm_kv} KV<br>"
|
801
801
|
if P is not None:
|
802
802
|
p = format_str.format(P)
|
803
803
|
q = format_str.format(Q)
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py
RENAMED
@@ -579,7 +579,7 @@ class CnGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
|
|
579
579
|
msg += f" [{tpe}]"
|
580
580
|
msg += "<br>"
|
581
581
|
msg += f"v={vm}<{va}º pu<br>"
|
582
|
-
msg += f"V={vm_kv}
|
582
|
+
msg += f"V={vm_kv} KV<br>"
|
583
583
|
if P is not None:
|
584
584
|
p = format_str.format(P)
|
585
585
|
q = format_str.format(Q)
|
@@ -345,7 +345,7 @@ class SchematicWidget(BaseDiagramWidget):
|
|
345
345
|
Creates the Diagram Editor (DiagramEditorWidget)
|
346
346
|
:param circuit: Circuit that is handling
|
347
347
|
:param diagram: SchematicDiagram to use (optional)
|
348
|
-
:param default_bus_voltage: Default bus voltages (
|
348
|
+
:param default_bus_voltage: Default bus voltages (KV)
|
349
349
|
:param time_index: time index to represent
|
350
350
|
:param prefer_node_breaker: Preffer the node breaker representation?
|
351
351
|
"""
|
@@ -374,7 +374,7 @@ class SchematicWidget(BaseDiagramWidget):
|
|
374
374
|
self.setStretchFactor(0, 0)
|
375
375
|
self.setStretchFactor(1, 2000)
|
376
376
|
|
377
|
-
# default_bus_voltage (
|
377
|
+
# default_bus_voltage (KV)
|
378
378
|
self.default_bus_voltage = default_bus_voltage
|
379
379
|
|
380
380
|
# Preffer the node breaker representation?
|
@@ -22,7 +22,7 @@ from GridCal.Gui.table_view_header_wrap import HeaderViewWithWordWrap
|
|
22
22
|
import GridCal.Gui.gui_functions as gf
|
23
23
|
from GridCal.Gui.messages import error_msg, warning_msg
|
24
24
|
from GridCal.Gui.Main.SubClasses.simulations import SimulationsMain
|
25
|
-
from GridCal.
|
25
|
+
from GridCal.Gui.results_model import ResultsModel
|
26
26
|
from GridCal.Gui.general_dialogues import fill_tree_from_logs
|
27
27
|
import GridCalEngine.Utils.Filtering as flt
|
28
28
|
from GridCalEngine.basic_structures import Logger
|
@@ -19,7 +19,7 @@ import numpy as np
|
|
19
19
|
from PySide6 import QtWidgets
|
20
20
|
|
21
21
|
from GridCal.Gui.SigmaAnalysis.gui import Ui_MainWindow
|
22
|
-
from GridCal.
|
22
|
+
from GridCal.Gui.results_model import ResultsModel
|
23
23
|
from GridCalEngine.enumerations import ResultTypes
|
24
24
|
from GridCalEngine.Simulations.SigmaAnalysis.sigma_analysis_driver import SigmaAnalysisResults
|
25
25
|
|
@@ -60,7 +60,7 @@ from GridCalEngine.Devices.multi_circuit import MultiCircuit
|
|
60
60
|
from GridCalEngine.enumerations import ResultTypes, SimulationTypes
|
61
61
|
from GridCalEngine.Simulations.types import DRIVER_OBJECTS, RESULTS_OBJECTS
|
62
62
|
from GridCalEngine.basic_structures import Logger
|
63
|
-
from GridCal.
|
63
|
+
from GridCal.Gui.results_model import ResultsModel
|
64
64
|
|
65
65
|
|
66
66
|
class GcThread(QThread):
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py
RENAMED
File without changes
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/new_line_dialogue.py
RENAMED
File without changes
|
File without changes
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py
RENAMED
File without changes
|
{GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py
RENAMED
File without changes
|