GridCal 5.1.38__tar.gz → 5.1.40__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.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +24 -6
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +77 -16
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +26 -4
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +137 -127
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +3 -3
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +2 -2
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +4 -3
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Model/time_events.py +19 -12
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Results/results.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/profile_dialogue.py +71 -47
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Session/server_driver.py +13 -62
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Session/session.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/__version__.py +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/PKG-INFO +1 -1
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ExecuteGridCal.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/AboutDialogue/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Analysis/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Analysis/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CascadingSteps/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/new_line_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/gmt_local.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapbox.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapquest.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/open_street_map.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_toner.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_transport.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_watercolor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/base_diagram_widget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/GridGenerator/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/GridGenerator/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/ConsoleLog.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/GridCalMain.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/MainWindow.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Model/objects.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/base_gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/io.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/SubClasses/simulations.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/object_select_window.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Main/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SyncDialogue/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SystemScaler/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TowerBuilder/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TowerBuilder/test_.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Visualization/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Visualization/visualization.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Widgets/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/associations_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/console_widget.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/general_dialogues.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/gui_functions.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/messages.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/object_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/pandas_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/plot_config.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/profiles_model.py +0 -0
- {GridCal-5.1.38/GridCal/Session → GridCal-5.1.40/GridCal/Gui}/results_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/table_view_header_wrap.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/themes.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/update_gui_all.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/update_gui_common.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/wrappable_table_model.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/LICENSE.txt +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Session/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Session/export_results_driver.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Session/file_handler.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Session/synchronization_driver.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/data/__init__.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/data/cables.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/data/sequence_lines.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/data/transformers.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/data/wires.csv +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/plugins.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/templates.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/GridCal/update.py +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/setup.cfg +0 -0
- {GridCal-5.1.38 → GridCal-5.1.40}/setup.py +0 -0
{GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py
RENAMED
@@ -72,9 +72,9 @@ class MapLineContainer(GenericDiagramWidget):
|
|
72
72
|
:param val:
|
73
73
|
"""
|
74
74
|
for segment in self.segments_list:
|
75
|
-
pen = segment.pen() # get the current pen
|
76
|
-
pen.setWidthF(val * segment.width) # Set the fractional thickness of the line
|
77
|
-
segment.
|
75
|
+
# pen = segment.pen() # get the current pen
|
76
|
+
# pen.setWidthF(val * segment.width) # Set the fractional thickness of the line
|
77
|
+
segment.set_width(val * segment.width) # Assign the pen to the line item
|
78
78
|
|
79
79
|
def clean_segments(self) -> None:
|
80
80
|
"""
|
@@ -132,10 +132,8 @@ class MapLineContainer(GenericDiagramWidget):
|
|
132
132
|
:return:
|
133
133
|
"""
|
134
134
|
for segment in self.segments_list:
|
135
|
-
segment.setPen(QPen(color, w, style))
|
136
135
|
segment.setToolTip(tool_tip)
|
137
|
-
|
138
|
-
# segment.setBrush(color)
|
136
|
+
segment.set_colour(color=color, w=w, style=style)
|
139
137
|
|
140
138
|
def update_connectors(self) -> None:
|
141
139
|
"""
|
@@ -463,3 +461,23 @@ class MapLineContainer(GenericDiagramWidget):
|
|
463
461
|
|
464
462
|
for line in self.segments_list:
|
465
463
|
line.set_enable(val=False)
|
464
|
+
|
465
|
+
def set_arrows_with_power(self, Sf: complex, St: complex) -> None:
|
466
|
+
"""
|
467
|
+
|
468
|
+
:param Sf:
|
469
|
+
:param St:
|
470
|
+
:return:
|
471
|
+
"""
|
472
|
+
for segment in self.segments_list:
|
473
|
+
segment.set_arrows_with_power(Sf=Sf, St=St)
|
474
|
+
|
475
|
+
def set_arrows_with_hvdc_power(self, Pf: float, Pt: float) -> None:
|
476
|
+
"""
|
477
|
+
|
478
|
+
:param Pf:
|
479
|
+
:param Pt:
|
480
|
+
:return:
|
481
|
+
"""
|
482
|
+
for segment in self.segments_list:
|
483
|
+
segment.set_arrows_with_hvdc_power(Pf=Pf, Pt=Pt)
|
{GridCal-5.1.38 → GridCal-5.1.40}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py
RENAMED
@@ -21,6 +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.Diagrams.SchematicWidget.Branches.line_graphics_template import ArrowHead
|
24
25
|
from GridCal.Gui.gui_functions import add_menu_entry
|
25
26
|
from GridCal.Gui.messages import yes_no_question
|
26
27
|
from GridCal.Gui.Diagrams.generic_graphics import ACTIVE, DEACTIVATED, OTHER
|
@@ -52,13 +53,26 @@ class MapLineSegment(QGraphicsLineItem):
|
|
52
53
|
self.container: MapLineContainer = container
|
53
54
|
self.draw_labels = True
|
54
55
|
|
55
|
-
self.style = Qt.SolidLine
|
56
|
-
self.color =
|
56
|
+
self.style = Qt.PenStyle.SolidLine
|
57
|
+
self.color = QColor(115, 115, 115, 200) # translucent gray
|
57
58
|
self.width = 0.1
|
58
59
|
|
59
60
|
self.pos1: QPointF = self.first.get_center_pos()
|
60
61
|
self.pos2: QPointF = self.second.get_center_pos()
|
61
62
|
|
63
|
+
# arrows
|
64
|
+
self.view_arrows = True
|
65
|
+
self._arrow_size = self.width * 1.5
|
66
|
+
self.arrow_p_from = ArrowHead(parent=self, arrow_size=self._arrow_size, position=0.2, under=False,
|
67
|
+
text_scale=0.01, show_text=False)
|
68
|
+
self.arrow_q_from = ArrowHead(parent=self, arrow_size=self._arrow_size, position=0.2, under=True,
|
69
|
+
text_scale=0.01, show_text=False)
|
70
|
+
self.arrow_p_to = ArrowHead(parent=self, arrow_size=self._arrow_size, position=0.8, under=False,
|
71
|
+
text_scale=0.01, show_text=False)
|
72
|
+
self.arrow_q_to = ArrowHead(parent=self, arrow_size=self._arrow_size, position=0.8, under=True,
|
73
|
+
text_scale=0.01, show_text=False)
|
74
|
+
|
75
|
+
# set callbacks
|
62
76
|
self.first.add_position_change_callback(self.set_from_side_coordinates)
|
63
77
|
self.second.add_position_change_callback(self.set_to_side_coordinates)
|
64
78
|
|
@@ -68,7 +82,7 @@ class MapLineSegment(QGraphicsLineItem):
|
|
68
82
|
self.setZValue(0)
|
69
83
|
|
70
84
|
self.setFlag(self.GraphicsItemFlag.ItemIsSelectable, True)
|
71
|
-
self.setCursor(QCursor(Qt.PointingHandCursor))
|
85
|
+
self.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
|
72
86
|
|
73
87
|
@property
|
74
88
|
def api_object(self) -> BRANCH_TYPES:
|
@@ -86,6 +100,21 @@ class MapLineSegment(QGraphicsLineItem):
|
|
86
100
|
"""
|
87
101
|
return self.container.editor
|
88
102
|
|
103
|
+
def set_width(self, width: float):
|
104
|
+
"""
|
105
|
+
|
106
|
+
:param width:
|
107
|
+
:return:
|
108
|
+
"""
|
109
|
+
pen = self.pen()
|
110
|
+
pen.setWidthF(width)
|
111
|
+
self.setPen(pen)
|
112
|
+
|
113
|
+
self.arrow_p_from.label.setScale(width)
|
114
|
+
self.arrow_q_from.label.setScale(width)
|
115
|
+
self.arrow_p_to.label.setScale(width)
|
116
|
+
self.arrow_q_to.label.setScale(width)
|
117
|
+
|
89
118
|
def set_colour(self, color: QColor, w: float, style: Qt.PenStyle):
|
90
119
|
"""
|
91
120
|
Set color and style
|
@@ -95,10 +124,14 @@ class MapLineSegment(QGraphicsLineItem):
|
|
95
124
|
:return:
|
96
125
|
"""
|
97
126
|
|
98
|
-
pen = QPen(color, w, style, Qt.RoundCap, Qt.RoundJoin)
|
127
|
+
pen = QPen(color, w, style, Qt.PenCapStyle.RoundCap, Qt.PenJoinStyle.RoundJoin)
|
99
128
|
pen.setWidthF(w)
|
100
129
|
|
101
130
|
self.setPen(pen)
|
131
|
+
self.arrow_p_from.set_colour(color, w, style)
|
132
|
+
self.arrow_q_from.set_colour(color, w, style)
|
133
|
+
self.arrow_p_to.set_colour(color, w, style)
|
134
|
+
self.arrow_q_to.set_colour(color, w, style)
|
102
135
|
|
103
136
|
def set_from_side_coordinates(self, x: float, y: float):
|
104
137
|
"""
|
@@ -125,13 +158,15 @@ class MapLineSegment(QGraphicsLineItem):
|
|
125
158
|
Update the endings of this segment
|
126
159
|
"""
|
127
160
|
self.setLine(QLineF(self.pos1, self.pos2))
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
161
|
+
|
162
|
+
if self.api_object is not None:
|
163
|
+
|
164
|
+
# arrows
|
165
|
+
if self.view_arrows:
|
166
|
+
self.arrow_p_from.redraw()
|
167
|
+
self.arrow_q_from.redraw()
|
168
|
+
self.arrow_p_to.redraw()
|
169
|
+
self.arrow_q_to.redraw()
|
135
170
|
|
136
171
|
def end_update(self) -> None:
|
137
172
|
"""
|
@@ -158,11 +193,6 @@ class MapLineSegment(QGraphicsLineItem):
|
|
158
193
|
"""
|
159
194
|
menu = QMenu()
|
160
195
|
|
161
|
-
# add_menu_entry(menu=menu,
|
162
|
-
# text="Remove",
|
163
|
-
# icon_path="",
|
164
|
-
# function_ptr=self.RemoveFunction)
|
165
|
-
|
166
196
|
menu.addSection("Line")
|
167
197
|
|
168
198
|
add_menu_entry(menu=menu,
|
@@ -360,3 +390,34 @@ class MapLineSegment(QGraphicsLineItem):
|
|
360
390
|
if ok:
|
361
391
|
self.editor.circuit.delete_branch(obj=self.api_object)
|
362
392
|
self.editor.delete_diagram_element(device=self.api_object)
|
393
|
+
|
394
|
+
def set_arrows_with_power(self, Sf: complex, St: complex) -> None:
|
395
|
+
"""
|
396
|
+
Set the arrow directions
|
397
|
+
:param Sf: Complex power from
|
398
|
+
:param St: Complex power to
|
399
|
+
"""
|
400
|
+
|
401
|
+
if Sf is not None:
|
402
|
+
if St is None:
|
403
|
+
St = -Sf
|
404
|
+
|
405
|
+
Pf = Sf.real
|
406
|
+
Qf = Sf.imag
|
407
|
+
Pt = St.real
|
408
|
+
Qt_ = St.imag
|
409
|
+
self.arrow_p_from.set_value(Pf, True, Pf < 0, name="Pf", units="MW", draw_label=self.draw_labels)
|
410
|
+
self.arrow_q_from.set_value(Qf, True, Qf < 0, name="Qf", units="MVAr", draw_label=self.draw_labels)
|
411
|
+
self.arrow_p_to.set_value(Pt, True, Pt > 0, name="Pt", units="MW", draw_label=self.draw_labels)
|
412
|
+
self.arrow_q_to.set_value(Qt_, True, Qt_ > 0, name="Qt", units="MVAr", draw_label=self.draw_labels)
|
413
|
+
|
414
|
+
def set_arrows_with_hvdc_power(self, Pf: float, Pt: float) -> None:
|
415
|
+
"""
|
416
|
+
Set the arrow directions
|
417
|
+
:param Pf: Complex power from
|
418
|
+
:param Pt: Complex power to
|
419
|
+
"""
|
420
|
+
self.arrow_p_from.set_value(Pf, True, Pf < 0, name="Pf", units="MW", draw_label=self.draw_labels)
|
421
|
+
self.arrow_q_from.set_value(Pf, True, Pf < 0, name="Pf", units="MW", draw_label=self.draw_labels)
|
422
|
+
self.arrow_p_to.set_value(Pt, True, Pt > 0, name="Pt", units="MW", draw_label=self.draw_labels)
|
423
|
+
self.arrow_q_to.set_value(Pt, True, Pt > 0, name="Pt", units="MW", draw_label=self.draw_labels)
|
@@ -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
|
|
@@ -245,7 +245,7 @@ class GridMapWidget(BaseDiagramWidget):
|
|
245
245
|
position_callback=self.position_callback)
|
246
246
|
|
247
247
|
# Any representation on the map must be done after this Goto Function
|
248
|
-
self.map.GotoLevelAndPosition(level=6, longitude=
|
248
|
+
self.map.GotoLevelAndPosition(level=6, longitude=longitude, latitude=latitude)
|
249
249
|
|
250
250
|
self.map.startLev = 6
|
251
251
|
self.map.startLat = 0
|
@@ -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:
|
@@ -1059,7 +1059,7 @@ class GridMapWidget(BaseDiagramWidget):
|
|
1059
1059
|
a *= 255
|
1060
1060
|
|
1061
1061
|
color = QColor(r, g, b, a)
|
1062
|
-
style = Qt.SolidLine
|
1062
|
+
style = Qt.PenStyle.SolidLine
|
1063
1063
|
if use_flow_based_width:
|
1064
1064
|
weight = int(
|
1065
1065
|
np.floor(min_branch_width + Sfnorm[i] * (max_branch_width - min_branch_width) * 0.1))
|
@@ -1068,6 +1068,15 @@ class GridMapWidget(BaseDiagramWidget):
|
|
1068
1068
|
|
1069
1069
|
graphic_object.set_colour(color=color, w=weight, style=style, tool_tip=tooltip)
|
1070
1070
|
|
1071
|
+
if hasattr(graphic_object, 'set_arrows_with_power'):
|
1072
|
+
graphic_object.set_arrows_with_power(
|
1073
|
+
Sf=Sf[i] if Sf is not None else None,
|
1074
|
+
St=St[i] if St is not None else None
|
1075
|
+
)
|
1076
|
+
else:
|
1077
|
+
# the graphic object is None
|
1078
|
+
pass
|
1079
|
+
|
1071
1080
|
# try colouring the HVDC lines
|
1072
1081
|
if len(hvdc_lines) > 0:
|
1073
1082
|
|
@@ -1110,13 +1119,26 @@ class GridMapWidget(BaseDiagramWidget):
|
|
1110
1119
|
a *= 255
|
1111
1120
|
|
1112
1121
|
color = QColor(r, g, b, a)
|
1113
|
-
style = Qt.SolidLine
|
1122
|
+
style = Qt.PenStyle.SolidLine
|
1114
1123
|
if use_flow_based_width:
|
1115
1124
|
weight = int(
|
1116
1125
|
np.floor(min_branch_width + Sfnorm[i] * (max_branch_width - min_branch_width) * 0.1))
|
1117
1126
|
else:
|
1118
1127
|
weight = 0.5
|
1119
1128
|
|
1129
|
+
tooltip = str(i) + ': ' + graphic_object.api_object.name
|
1130
|
+
tooltip += '\n' + loading_label + ': ' + "{:10.4f}".format(
|
1131
|
+
abs(hvdc_loading[i]) * 100) + ' [%]'
|
1132
|
+
|
1133
|
+
tooltip += '\nPower (from):\t' + "{:10.4f}".format(hvdc_Pf[i]) + ' [MW]'
|
1134
|
+
|
1135
|
+
if hvdc_losses is not None:
|
1136
|
+
tooltip += '\nPower (to):\t' + "{:10.4f}".format(hvdc_Pt[i]) + ' [MW]'
|
1137
|
+
tooltip += '\nLosses: \t\t' + "{:10.4f}".format(hvdc_losses[i]) + ' [MW]'
|
1138
|
+
graphic_object.set_arrows_with_hvdc_power(Pf=hvdc_Pf[i], Pt=hvdc_Pt[i])
|
1139
|
+
else:
|
1140
|
+
graphic_object.set_arrows_with_hvdc_power(Pf=hvdc_Pf[i], Pt=-hvdc_Pf[i])
|
1141
|
+
|
1120
1142
|
graphic_object.set_colour(color=color, w=weight, style=style, tool_tip=tooltip)
|
1121
1143
|
|
1122
1144
|
def get_image(self, transparent: bool = False) -> Tuple[QImage, int, int]:
|
{GridCal-5.1.38 → GridCal-5.1.40}/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.40}/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.40}/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,
|