GridCal 5.0.18__tar.gz → 5.0.22__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.0.18 → GridCal-5.0.22}/GridCal/Gui/Analysis/object_plot_analysis.py +5 -5
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/dc_line_graphics.py +7 -5
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/hvdc_graphics.py +9 -6
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget → GridCal-5.0.22/GridCal/Gui/BusBranchEditorWidget}/Branches/line_editor.py +16 -2
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/line_graphics.py +39 -30
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/line_graphics_template.py +279 -148
- GridCal-5.0.22/GridCal/Gui/BusBranchEditorWidget/Branches/series_reactance_graphics.py +104 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/switch_graphics.py +6 -6
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/transformer2w_graphics.py +8 -7
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/transformer3w_graphics.py +0 -1
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget → GridCal-5.0.22/GridCal/Gui/BusBranchEditorWidget}/Branches/transformer_editor.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/upfc_graphics.py +5 -5
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/vsc_graphics.py +5 -5
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/winding_graphics.py +7 -7
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Fluid/fluid_node_graphics.py +16 -11
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Fluid/fluid_p2x_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Fluid/fluid_path_graphics.py +6 -107
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Fluid/fluid_pump_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Fluid/fluid_turbine_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/battery_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/controllable_shunt_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/current_injection_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/external_grid_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/generator_graphics.py +2 -18
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/injections_template_graphics.py +8 -8
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/load_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/shunt_graphics.py +1 -29
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/static_generator_graphics.py +1 -17
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Substation/bus_graphics.py +92 -80
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/bus_branch_editor_widget.py +734 -437
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget → GridCal-5.0.22/GridCal/Gui/BusBranchEditorWidget}/generic_graphics.py +1 -1
- GridCal-5.0.22/GridCal/Gui/BusBranchEditorWidget/terminal_item.py +248 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/GuiFunctions.py +202 -29
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/GridCalMain.py +0 -9
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/MainWindow.py +436 -773
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +43 -5
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Model/objects.py +152 -92
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Model/time_events.py +13 -2
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +48 -51
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/io.py +1 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/simulations.py +83 -224
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/icons_rc.py +591 -39
- GridCal-5.0.22/GridCal/Gui/MapWidget/Schema/Connector.py +53 -0
- GridCal-5.0.22/GridCal/Gui/MapWidget/Schema/Nodes.py +149 -0
- GridCal-5.0.22/GridCal/Gui/MapWidget/Schema/SchemaManager.py +45 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/grid_map_widget.py +182 -47
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/map_widget.py +148 -14
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_node_graphics.py +0 -13
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_p2x_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_pump_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_turbine_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Injections/battery_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Injections/external_grid_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Injections/generator_graphics.py +2 -2
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Injections/injections_template_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Injections/load_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Injections/shunt_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Injections/static_generator_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Substation/bus_graphics.py +0 -24
- {GridCal-5.0.18/GridCal/Gui/BusBranchEditorWidget → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget}/generic_graphics.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SystemScaler/system_scaler.py +1 -1
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Session/results_model.py +9 -7
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/__version__.py +1 -1
- GridCal-5.0.22/GridCal/data/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/PKG-INFO +1 -1
- GridCal-5.0.18/GridCal/Gui/BusBranchEditorWidget/terminal_item.py +0 -187
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/ExecuteGridCal.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/AboutDialogue/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Analysis/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Analysis/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Fluid/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Injections/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Substation/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/matplotlibwidget.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusViewer/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusViewer/bus_viewer_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusViewer/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusViewer/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusViewer/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CascadingSteps/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ConsoleWidget.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/GeneralDialogues.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/GridGenerator/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/GridGenerator/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/ConsoleLog.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Results/results.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/SubClasses/base_gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/object_select_window.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Main/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/image_layer.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/layer_types.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/place.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/point_layer.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/polygon_layer.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/polyline_layer.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Layers/text_layer.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/MapWidget/TileProviders → GridCal-5.0.22/GridCal/Gui/MapWidget/Schema}/__init__.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/MapWidget/Tiles → GridCal-5.0.22/GridCal/Gui/MapWidget/TileProviders}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/blue_marble.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/cartodb.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/gmt_local.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/mapbox.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/mapquest.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/open_street_map.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/stamen_toner.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/stamen_transport.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/TileProviders/stamen_watercolor.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/MapWidget → GridCal-5.0.22/GridCal/Gui/MapWidget/Tiles}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Tiles/base_tiles.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Tiles/default_tile_data.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Tiles/pycacheback.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Tiles/tile_worker.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Tiles/tiles.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/Tiles/tiles_cache.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget/Branches → GridCal-5.0.22/GridCal/Gui/MapWidget}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/logger.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/map_events.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/MapWidget/node_widget.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/Rectangle_Connector.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget/Fluid → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget/Branches}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/dc_line_graphics.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/hvdc_graphics.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/BusBranchEditorWidget → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget}/Branches/line_editor.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/line_graphics.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/line_graphics_template.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/switch_graphics.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/transformer2w_graphics.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/BusBranchEditorWidget → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget}/Branches/transformer_editor.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/upfc_graphics.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/vsc_graphics.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Branches/winding_graphics.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Connector.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget/Injections → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget/Fluid}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_path_graphics.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget/Substation → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget/Injections}/__init__.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/NodeBreakerEditorWidget → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget/Substation}/__init__.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/ProfilesInput → GridCal-5.0.22/GridCal/Gui/NodeBreakerEditorWidget}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/matplotlibwidget.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/node_breaker_editor_widget.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/NodeBreakerEditorWidget/terminal_item.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/RosetaExplorer → GridCal-5.0.22/GridCal/Gui/ProfilesInput}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/SigmaAnalysis → GridCal-5.0.22/GridCal/Gui/RosetaExplorer}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/SolarPowerWizard → GridCal-5.0.22/GridCal/Gui/SigmaAnalysis}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/SyncDialogue → GridCal-5.0.22/GridCal/Gui/SolarPowerWizard}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/SystemScaler → GridCal-5.0.22/GridCal/Gui/SyncDialogue}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SyncDialogue/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/TowerBuilder → GridCal-5.0.22/GridCal/Gui/SystemScaler}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/TreeModelViewer → GridCal-5.0.22/GridCal/Gui/TowerBuilder}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TowerBuilder/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TowerBuilder/test_.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/Visualization → GridCal-5.0.22/GridCal/Gui/TreeModelViewer}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/Widgets → GridCal-5.0.22/GridCal/Gui/Visualization}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Visualization/palettes.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Visualization/visualization.py +0 -0
- {GridCal-5.0.18/GridCal/Gui/WindPowerWizard → GridCal-5.0.22/GridCal/Gui/Widgets}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
- {GridCal-5.0.18/GridCal/Gui → GridCal-5.0.22/GridCal/Gui/WindPowerWizard}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {GridCal-5.0.18/GridCal/Session → GridCal-5.0.22/GridCal/Gui}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/messages.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/plot_config.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/themes.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/update_gui_all.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/update_gui_common.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/LICENSE.txt +0 -0
- {GridCal-5.0.18/GridCal/data → GridCal-5.0.22/GridCal/Session}/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Session/export_results_driver.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Session/file_handler.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Session/session.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Session/synchronization_driver.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/__init__.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/data/cables.csv +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/data/sequence_lines.csv +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/data/transformers.csv +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/data/wires.csv +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/templates.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/GridCal/update.py +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/setup.cfg +0 -0
- {GridCal-5.0.18 → GridCal-5.0.22}/setup.py +0 -0
@@ -422,13 +422,13 @@ def grid_analysis(circuit: MultiCircuit,
|
|
422
422
|
property_name='R',
|
423
423
|
value=elm.R))
|
424
424
|
|
425
|
-
elif elm.R ==
|
425
|
+
elif elm.R == 1e-20:
|
426
426
|
logger.add(object_type=object_type.value,
|
427
427
|
element_name=elm.name,
|
428
428
|
element_index=i,
|
429
429
|
severity=LogSeverity.Information,
|
430
430
|
propty='R',
|
431
|
-
message='The resistance is
|
431
|
+
message='The resistance is practically zero.',
|
432
432
|
val=elm.R)
|
433
433
|
fixable_errors.append(FixableErrorOutOfRange(grid_element=elm,
|
434
434
|
property_name='R',
|
@@ -436,13 +436,13 @@ def grid_analysis(circuit: MultiCircuit,
|
|
436
436
|
lower_limit=eps_min,
|
437
437
|
upper_limit=eps_max))
|
438
438
|
|
439
|
-
if elm.X ==
|
439
|
+
if elm.X == 1e-20:
|
440
440
|
logger.add(object_type=object_type.value,
|
441
441
|
element_name=elm.name,
|
442
442
|
element_index=i,
|
443
443
|
severity=LogSeverity.Error,
|
444
444
|
propty='X',
|
445
|
-
message='The reactance is
|
445
|
+
message='The reactance is practically zero. This hurts numerical conditioning.',
|
446
446
|
val=elm.X)
|
447
447
|
fixable_errors.append(FixableErrorOutOfRange(grid_element=elm,
|
448
448
|
property_name='X',
|
@@ -456,7 +456,7 @@ def grid_analysis(circuit: MultiCircuit,
|
|
456
456
|
element_index=i,
|
457
457
|
severity=LogSeverity.Error,
|
458
458
|
propty='B',
|
459
|
-
message='There is no susceptance, this
|
459
|
+
message='There is no susceptance, this could hurt numerical conditioning.',
|
460
460
|
val=elm.B)
|
461
461
|
fixable_errors.append(FixableErrorOutOfRange(grid_element=elm,
|
462
462
|
property_name='B',
|
{GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/dc_line_graphics.py
RENAMED
@@ -229,20 +229,22 @@ class DcLineEditor(QDialog):
|
|
229
229
|
|
230
230
|
class DcLineGraphicItem(LineGraphicTemplateItem):
|
231
231
|
|
232
|
-
def __init__(self,
|
232
|
+
def __init__(self,
|
233
|
+
from_port: TerminalItem,
|
234
|
+
to_port: TerminalItem,
|
233
235
|
editor: BusBranchEditorWidget,
|
234
236
|
width=5, api_object: DcLine = None):
|
235
237
|
"""
|
236
238
|
|
237
|
-
:param
|
238
|
-
:param
|
239
|
+
:param from_port:
|
240
|
+
:param to_port:
|
239
241
|
:param editor:
|
240
242
|
:param width:
|
241
243
|
:param api_object:
|
242
244
|
"""
|
243
245
|
LineGraphicTemplateItem.__init__(self=self,
|
244
|
-
|
245
|
-
|
246
|
+
from_port=from_port,
|
247
|
+
to_port=to_port,
|
246
248
|
editor=editor,
|
247
249
|
width=width,
|
248
250
|
api_object=api_object)
|
{GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/hvdc_graphics.py
RENAMED
@@ -28,20 +28,23 @@ if TYPE_CHECKING: # Only imports the below statements during type checking
|
|
28
28
|
|
29
29
|
class HvdcGraphicItem(LineGraphicTemplateItem):
|
30
30
|
|
31
|
-
def __init__(self,
|
32
|
-
|
31
|
+
def __init__(self,
|
32
|
+
from_port: TerminalItem,
|
33
|
+
to_port: TerminalItem,
|
34
|
+
editor: BusBranchEditorWidget,
|
35
|
+
width=5,
|
33
36
|
api_object: HvdcLine = None):
|
34
37
|
"""
|
35
38
|
|
36
|
-
:param
|
37
|
-
:param
|
39
|
+
:param from_port:
|
40
|
+
:param to_port:
|
38
41
|
:param editor:
|
39
42
|
:param width:
|
40
43
|
:param api_object:
|
41
44
|
"""
|
42
45
|
LineGraphicTemplateItem.__init__(self=self,
|
43
|
-
|
44
|
-
|
46
|
+
from_port=from_port,
|
47
|
+
to_port=to_port,
|
45
48
|
editor=editor,
|
46
49
|
width=width,
|
47
50
|
api_object=api_object)
|
@@ -18,7 +18,7 @@ import numpy as np
|
|
18
18
|
|
19
19
|
from typing import Union, List
|
20
20
|
from PySide6.QtCore import Qt
|
21
|
-
from PySide6.QtWidgets import QPushButton, QVBoxLayout, QDialog, QLabel, QDoubleSpinBox, QComboBox
|
21
|
+
from PySide6.QtWidgets import QPushButton, QVBoxLayout, QDialog, QLabel, QDoubleSpinBox, QComboBox, QCheckBox
|
22
22
|
from GridCal.Gui.GuiFunctions import get_list_model
|
23
23
|
from GridCalEngine.Devices.Branches.line import Line, SequenceLineType, OverheadLineType, UndergroundLineType
|
24
24
|
|
@@ -150,6 +150,12 @@ class LineEditor(QDialog):
|
|
150
150
|
self.b_spinner.setDecimals(6)
|
151
151
|
self.b_spinner.setValue(B)
|
152
152
|
|
153
|
+
# apply to profile
|
154
|
+
self.apply_to_profile = QCheckBox()
|
155
|
+
self.apply_to_profile.setToolTip("Apply the newly computed values like the rating to the profile")
|
156
|
+
self.apply_to_profile.setChecked(True)
|
157
|
+
self.apply_to_profile.setText("Apply to profiles")
|
158
|
+
|
153
159
|
# accept button
|
154
160
|
self.accept_btn = QPushButton()
|
155
161
|
self.accept_btn.setText('Accept')
|
@@ -177,6 +183,8 @@ class LineEditor(QDialog):
|
|
177
183
|
self.layout.addWidget(QLabel("B: Susceptance [uS/Km]"))
|
178
184
|
self.layout.addWidget(self.b_spinner)
|
179
185
|
|
186
|
+
self.layout.addWidget(self.apply_to_profile)
|
187
|
+
|
180
188
|
self.layout.addWidget(self.accept_btn)
|
181
189
|
|
182
190
|
self.setLayout(self.layout)
|
@@ -206,9 +214,15 @@ class LineEditor(QDialog):
|
|
206
214
|
self.line.R = np.round(R / Zbase, 6)
|
207
215
|
self.line.X = np.round(X / Zbase, 6)
|
208
216
|
self.line.B = np.round(B / Ybase, 6)
|
209
|
-
self.line.rate
|
217
|
+
old_rate = float(self.line.rate)
|
218
|
+
new_rate = np.round(I * Vf * 1.73205080757, 6) # nominal power in MVA = kA * kV * sqrt(3)
|
219
|
+
self.line.rate = new_rate
|
210
220
|
self.line.length = length
|
211
221
|
|
222
|
+
if self.apply_to_profile.isChecked():
|
223
|
+
prof_old = self.line.rate_prof.toarray()
|
224
|
+
self.line.rate_prof.set(prof_old * new_rate / old_rate)
|
225
|
+
|
212
226
|
self.accept()
|
213
227
|
|
214
228
|
def load_template(self, template):
|
{GridCal-5.0.18 → GridCal-5.0.22}/GridCal/Gui/BusBranchEditorWidget/Branches/line_graphics.py
RENAMED
@@ -18,7 +18,7 @@ from __future__ import annotations
|
|
18
18
|
from typing import TYPE_CHECKING, Union
|
19
19
|
from PySide6.QtCore import Qt, QRectF
|
20
20
|
from PySide6.QtGui import QPen, QIcon, QPixmap, QBrush
|
21
|
-
from PySide6.QtWidgets import QMenu, QGraphicsRectItem
|
21
|
+
from PySide6.QtWidgets import QMenu, QGraphicsRectItem, QGraphicsSceneContextMenuEvent
|
22
22
|
from GridCal.Gui.BusBranchEditorWidget.Substation.bus_graphics import TerminalItem
|
23
23
|
from GridCal.Gui.BusBranchEditorWidget.Branches.line_editor import LineEditor
|
24
24
|
from GridCal.Gui.messages import yes_no_question, warning_msg
|
@@ -36,22 +36,22 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
36
36
|
"""
|
37
37
|
|
38
38
|
def __init__(self,
|
39
|
-
|
40
|
-
|
39
|
+
from_port: TerminalItem,
|
40
|
+
to_port: Union[TerminalItem, None],
|
41
41
|
editor: BusBranchEditorWidget,
|
42
42
|
width=5,
|
43
43
|
api_object: Line = None):
|
44
44
|
"""
|
45
45
|
|
46
|
-
:param
|
47
|
-
:param
|
46
|
+
:param from_port:
|
47
|
+
:param to_port:
|
48
48
|
:param editor:
|
49
49
|
:param width:
|
50
50
|
:param api_object:
|
51
51
|
"""
|
52
52
|
LineGraphicTemplateItem.__init__(self,
|
53
|
-
|
54
|
-
|
53
|
+
from_port=from_port,
|
54
|
+
to_port=to_port,
|
55
55
|
editor=editor,
|
56
56
|
width=width,
|
57
57
|
api_object=api_object)
|
@@ -108,7 +108,7 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
108
108
|
# change state
|
109
109
|
self.enable_disable_toggle()
|
110
110
|
|
111
|
-
def contextMenuEvent(self, event):
|
111
|
+
def contextMenuEvent(self, event: QGraphicsSceneContextMenuEvent):
|
112
112
|
"""
|
113
113
|
Show context menu
|
114
114
|
@param event:
|
@@ -206,29 +206,16 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
206
206
|
toupfc.setIcon(toupfc_icon)
|
207
207
|
toupfc.triggered.connect(self.to_upfc)
|
208
208
|
|
209
|
-
menu.
|
209
|
+
toser = menu.addAction('Series reactance')
|
210
|
+
toser_icon = QIcon()
|
211
|
+
toser_icon.addPixmap(QPixmap(":/Icons/icons/to_series_reactance.svg"))
|
212
|
+
toser.setIcon(toser_icon)
|
213
|
+
toser.triggered.connect(self.to_series_reactance)
|
214
|
+
|
215
|
+
menu.exec(event.screenPos())
|
210
216
|
else:
|
211
217
|
pass
|
212
218
|
|
213
|
-
def enable_disable_toggle(self):
|
214
|
-
"""
|
215
|
-
|
216
|
-
@return:
|
217
|
-
"""
|
218
|
-
if self.api_object is not None:
|
219
|
-
if self.api_object.active:
|
220
|
-
self.set_enable(False)
|
221
|
-
else:
|
222
|
-
self.set_enable(True)
|
223
|
-
|
224
|
-
if self.editor.circuit.has_time_series:
|
225
|
-
ok = yes_no_question('Do you want to update the time series active status accordingly?',
|
226
|
-
'Update time series active status')
|
227
|
-
|
228
|
-
if ok:
|
229
|
-
# change the bus state (time series)
|
230
|
-
self.editor.set_active_status_to_profile(self.api_object, override_question=True)
|
231
|
-
|
232
219
|
def plot_profiles(self):
|
233
220
|
"""
|
234
221
|
Plot the time series profiles
|
@@ -332,7 +319,8 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
332
319
|
:return:
|
333
320
|
"""
|
334
321
|
if self.api_object.convertible_to_vsc():
|
335
|
-
ok = yes_no_question('Are you sure that you want to convert this line into a VSC device?',
|
322
|
+
ok = yes_no_question('Are you sure that you want to convert this line into a VSC device?',
|
323
|
+
'Convert line')
|
336
324
|
if ok:
|
337
325
|
self.editor.convert_line_to_vsc(line=self.api_object, line_graphic=self)
|
338
326
|
else:
|
@@ -343,6 +331,27 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
343
331
|
Convert this object to UPFC
|
344
332
|
:return:
|
345
333
|
"""
|
346
|
-
ok = yes_no_question('Are you sure that you want to convert this line into a UPFC device?',
|
334
|
+
ok = yes_no_question('Are you sure that you want to convert this line into a UPFC device?',
|
335
|
+
'Convert line')
|
347
336
|
if ok:
|
348
337
|
self.editor.convert_line_to_upfc(line=self.api_object, line_graphic=self)
|
338
|
+
|
339
|
+
def to_series_reactance(self):
|
340
|
+
"""
|
341
|
+
Convert this object to series reactance
|
342
|
+
:return:
|
343
|
+
"""
|
344
|
+
ok = yes_no_question('Are you sure that you want to convert this line into a series reactance device?',
|
345
|
+
'Convert line')
|
346
|
+
if ok:
|
347
|
+
self.editor.convert_line_to_series_reactance(line=self.api_object, line_graphic=self)
|
348
|
+
|
349
|
+
def __str__(self):
|
350
|
+
|
351
|
+
if self.api_object is None:
|
352
|
+
return f"Line graphics {hex(id(self))}"
|
353
|
+
else:
|
354
|
+
return f"Graphics of {self.api_object.name} [{hex(id(self))}]"
|
355
|
+
|
356
|
+
def __repr__(self):
|
357
|
+
return str(self)
|