VeraGrid 5.6.15__tar.gz → 5.6.18__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.
Files changed (296) hide show
  1. {veragrid-5.6.15 → veragrid-5.6.18}/PKG-INFO +1 -1
  2. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +5 -4
  3. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/schematic_widget.py +30 -27
  4. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/terminal_item.py +13 -1
  5. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/MainWindow.py +1 -1
  6. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SubstationDesigner/voltage_level_conversion.py +69 -23
  7. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/__version__.py +1 -1
  8. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ExecuteVeraGrid.py +0 -0
  9. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/AboutDialogue/__init__.py +0 -0
  10. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/AboutDialogue/about_dialogue.py +0 -0
  11. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/AboutDialogue/about_gui.py +0 -0
  12. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/AboutDialogue/update_gui_file.py +0 -0
  13. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Analysis/AnalysisDialogue.py +0 -0
  14. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Analysis/__init__.py +0 -0
  15. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Analysis/analysis_gui.py +0 -0
  16. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Analysis/object_plot_analysis.py +0 -0
  17. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Analysis/update_gui_file.py +0 -0
  18. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ContingencyPlanner/__init__.py +0 -0
  19. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  20. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_gui.py +0 -0
  21. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  22. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/CoordinatesInput/__init__.py +0 -0
  23. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  24. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/CoordinatesInput/coordinates_input_gui.py +0 -0
  25. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/CoordinatesInput/update_gui_file.py +0 -0
  26. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/__init__.py +0 -0
  27. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/controllable_shunt_editor.py +0 -0
  28. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/generator_editor.py +0 -0
  29. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/line_editor.py +0 -0
  30. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/new_line_dialogue.py +0 -0
  31. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/transformer3w_editor.py +0 -0
  32. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/transformer_editor.py +0 -0
  33. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/Editors/transformer_taps_editor.py +0 -0
  34. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  35. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/line_location_graphic_item.py +0 -0
  36. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  37. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  38. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  39. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  40. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  41. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  42. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Injections/__init__.py +0 -0
  43. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_battery_graphics.py +0 -0
  44. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_external_grid_graphics.py +0 -0
  45. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_generator_graphics.py +0 -0
  46. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_injections_template_graphics.py +0 -0
  47. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_load_graphics.py +0 -0
  48. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_static_generator_graphics.py +0 -0
  49. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  50. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  51. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +0 -0
  52. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  53. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  54. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  55. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  56. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  57. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  58. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  59. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  60. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  61. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  62. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  63. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/__init__.py +0 -0
  64. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/grid_map_widget.py +0 -0
  65. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/MapWidget/map_widget.py +0 -0
  66. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  67. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  68. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  69. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  70. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
  71. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  72. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  73. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  74. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  75. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  76. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  77. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics_3term.py +0 -0
  78. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  79. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  80. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  81. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  82. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  83. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  84. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  85. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  86. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  87. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  88. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  89. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  90. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  91. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
  92. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  93. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  94. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  95. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  96. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  97. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/diagram_bus_selection_dialogue.py +0 -0
  98. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  99. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/__init__.py +0 -0
  100. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/base_diagram_widget.py +0 -0
  101. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/diagrams_model.py +0 -0
  102. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/generic_graphics.py +0 -0
  103. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Diagrams/graphics_manager.py +0 -0
  104. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridGenerator/__init__.py +0 -0
  105. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  106. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridGenerator/grid_generator_gui.py +0 -0
  107. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridGenerator/update_gui_file.py +0 -0
  108. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridMerge/__init__.py +0 -0
  109. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridMerge/build_diff_tree.py +0 -0
  110. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridMerge/grid_diff.py +0 -0
  111. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridMerge/grid_diff_gui.py +0 -0
  112. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridMerge/grid_merge.py +0 -0
  113. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridMerge/grid_merge_gui.py +0 -0
  114. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridMerge/update_gui_file.py +0 -0
  115. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridReduce/__init__.py +0 -0
  116. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridReduce/grid_reduce.py +0 -0
  117. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridReduce/grid_reduce_gui.py +0 -0
  118. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/GridReduce/update_gui_file.py +0 -0
  119. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Icons/__init__.py +0 -0
  120. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Icons/icons_rc.py +0 -0
  121. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Icons/update_icons_rc.py +0 -0
  122. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadCatalogue/SelectComponents.py +0 -0
  123. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadCatalogue/__init__.py +0 -0
  124. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  125. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadCatalogue/update_gui_file.py +0 -0
  126. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadDesigner/__init__.py +0 -0
  127. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadDesigner/load_designer.py +0 -0
  128. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadDesigner/load_designer_ui.py +0 -0
  129. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/LoadDesigner/update_gui_file.py +0 -0
  130. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Model/__init__.py +0 -0
  131. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  132. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays_model.py +0 -0
  133. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Model/data_base.py +0 -0
  134. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Model/diagrams.py +0 -0
  135. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Model/time_events.py +0 -0
  136. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/README.txt +0 -0
  137. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Results/__init__.py +0 -0
  138. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Results/results.py +0 -0
  139. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  140. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  141. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Server/__init__.py +0 -0
  142. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Server/server.py +0 -0
  143. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  144. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  145. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/__init__.py +0 -0
  146. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/base_gui.py +0 -0
  147. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/io.py +0 -0
  148. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/SubClasses/simulations.py +0 -0
  149. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/VeraGridMain.py +0 -0
  150. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/__init__.py +0 -0
  151. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/object_select_window.py +0 -0
  152. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Main/update_gui_file.py +0 -0
  153. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/__init__.py +0 -0
  154. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/excel_dialog.py +0 -0
  155. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  156. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/models_dialogue.py +0 -0
  157. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/profile_dialogue.py +0 -0
  158. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  159. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  160. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/ProfilesInput/update_gui_file.py +0 -0
  161. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RmsModelEditor/__init__.py +0 -0
  162. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RmsModelEditor/block_data_dialogue.py +0 -0
  163. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RmsModelEditor/rms_model_editor.py +0 -0
  164. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RmsModelEditor/rms_model_editor_engine.py +0 -0
  165. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RmsModelEditor/update_gui_file.py +0 -0
  166. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RosetaExplorer/MainWindow.py +0 -0
  167. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  168. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RosetaExplorer/__init__.py +0 -0
  169. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  170. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/RosetaExplorer/update_gui_file.py +0 -0
  171. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SigmaAnalysis/__init__.py +0 -0
  172. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  173. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_gui.py +0 -0
  174. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  175. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SolarPowerWizard/__init__.py +0 -0
  176. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizard_gui.py +0 -0
  177. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  178. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  179. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SubstationDesigner/__init__.py +0 -0
  180. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SubstationDesigner/substation_designer.py +0 -0
  181. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SubstationDesigner/substation_designer_gui.py +0 -0
  182. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SubstationDesigner/update_gui_file.py +0 -0
  183. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SyncDialogue/__init__.py +0 -0
  184. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SyncDialogue/sync_dialogue.py +0 -0
  185. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SyncDialogue/sync_gui.py +0 -0
  186. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SyncDialogue/update_gui_file.py +0 -0
  187. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SystemScaler/__init__.py +0 -0
  188. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SystemScaler/system_scaler.py +0 -0
  189. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SystemScaler/system_scaler_ui.py +0 -0
  190. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/SystemScaler/update_gui_file.py +0 -0
  191. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  192. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TowerBuilder/__init__.py +0 -0
  193. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TowerBuilder/table_models.py +0 -0
  194. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TowerBuilder/tower_builder.py +0 -0
  195. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TowerBuilder/update_gui_file.py +0 -0
  196. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TreeModelViewer/MainWindow.py +0 -0
  197. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  198. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TreeModelViewer/__init__.py +0 -0
  199. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/TreeModelViewer/update_gui_file.py +0 -0
  200. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Visualization/__init__.py +0 -0
  201. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Visualization/visualization.py +0 -0
  202. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Widgets/__init__.py +0 -0
  203. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Widgets/custom_qrangeslider.py +0 -0
  204. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/Widgets/matplotlibwidget.py +0 -0
  205. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/WindPowerWizard/__init__.py +0 -0
  206. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/WindPowerWizard/update_gui_file.py +0 -0
  207. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/WindPowerWizard/wind_power_wizard_gui.py +0 -0
  208. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  209. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/__init__.py +0 -0
  210. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/associations_model.py +0 -0
  211. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/correct_icons.py +0 -0
  212. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/font_config.py +0 -0
  213. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/general_dialogues.py +0 -0
  214. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/gui_functions.py +0 -0
  215. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/messages.py +0 -0
  216. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/object_model.py +0 -0
  217. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/object_proxy_model.py +0 -0
  218. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/pandas_model.py +0 -0
  219. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/plot_config.py +0 -0
  220. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/profiles_model.py +0 -0
  221. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/python_console.py +0 -0
  222. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/python_highlighter.py +0 -0
  223. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/python_script_editor.py +0 -0
  224. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/results_model.py +0 -0
  225. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/rms_events_editor_dialog.py +0 -0
  226. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/rms_plot_variables_dialog.py +0 -0
  227. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/table_view_header_wrap.py +0 -0
  228. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/themes.py +0 -0
  229. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/toast_widget.py +0 -0
  230. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/update_gui_all.py +0 -0
  231. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/update_gui_common.py +0 -0
  232. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Gui/wrappable_table_model.py +0 -0
  233. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/LICENSE.txt +0 -0
  234. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Session/__init__.py +0 -0
  235. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Session/export_results_driver.py +0 -0
  236. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Session/file_handler.py +0 -0
  237. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Session/server_driver.py +0 -0
  238. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Session/session.py +0 -0
  239. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/Session/synchronization_driver.py +0 -0
  240. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/__init__.py +0 -0
  241. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/darkdetect/__init__.py +0 -0
  242. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/darkdetect/_dummy.py +0 -0
  243. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/darkdetect/_linux_detect.py +0 -0
  244. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/darkdetect/_mac_detect.py +0 -0
  245. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/darkdetect/_windows_detect.py +0 -0
  246. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/__init__.py +0 -0
  247. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_color.py +0 -0
  248. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  249. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  250. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  251. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_main.py +0 -0
  252. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  253. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  254. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  255. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  256. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  257. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  258. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  259. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  260. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  261. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  262. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  263. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_style_loader.py +0 -0
  264. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  265. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_template/engine.py +0 -0
  266. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_template/filter.py +0 -0
  267. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/_util.py +0 -0
  268. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  269. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  270. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  271. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  272. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  273. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  274. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  275. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  276. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  277. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  278. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  279. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  280. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  281. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  282. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  283. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  284. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/__init__.py +0 -0
  285. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/data/VeraGrid.ico +0 -0
  286. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/data/VeraGrid.svg +0 -0
  287. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/data/__init__.py +0 -0
  288. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/data/cables.csv +0 -0
  289. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/data/sequence_lines.csv +0 -0
  290. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/data/transformers.csv +0 -0
  291. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/data/wires.csv +0 -0
  292. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/plugins.py +0 -0
  293. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/templates.py +0 -0
  294. {veragrid-5.6.15 → veragrid-5.6.18}/VeraGrid/update.py +0 -0
  295. {veragrid-5.6.15 → veragrid-5.6.18}/setup.cfg +0 -0
  296. {veragrid-5.6.15 → veragrid-5.6.18}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: VeraGrid
3
- Version: 5.6.15
3
+ Version: 5.6.18
4
4
  Summary: VeraGrid is a Power Systems simulation program intended for professional use and research
5
5
  Home-page: https://github.com/SanPen/VeraGrid
6
6
  Author: Santiago Peñate Vera et. Al.
@@ -16,7 +16,7 @@ from VeraGrid.Gui.messages import yes_no_question, warning_msg
16
16
  from VeraGrid.Gui.gui_functions import add_menu_entry
17
17
  from VeraGrid.Gui.general_dialogues import ShortCircuitSelector
18
18
  from VeraGrid.Gui.Diagrams.generic_graphics import (GenericDiagramWidget, ACTIVE, DEACTIVATED,
19
- FONT_SCALE, EMERGENCY, TRANSPARENT)
19
+ FONT_SCALE, TRANSPARENT)
20
20
  from VeraGrid.Gui.Diagrams.SchematicWidget.terminal_item import BarTerminalItem, HandleItem, RoundTerminalItem
21
21
  from VeraGrid.Gui.Diagrams.SchematicWidget.Injections.load_graphics import LoadGraphicItem, Load
22
22
  from VeraGrid.Gui.Diagrams.SchematicWidget.Injections.generator_graphics import GeneratorGraphicItem, Generator
@@ -699,7 +699,7 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
699
699
  """
700
700
  self.w = ShortCircuitSelector()
701
701
  self.w.exec()
702
-
702
+
703
703
  if self.w.was_accepted:
704
704
  sc = ShortCircuitEvent(
705
705
  name=f"{self.api_object.name} {self.w.fault.value}",
@@ -708,7 +708,7 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
708
708
  method=self.w.method,
709
709
  phases=self.w.phases
710
710
  )
711
-
711
+
712
712
  self.editor.circuit.add_short_circuit_definition(sc)
713
713
 
714
714
  def enable_disable_dc(self):
@@ -921,7 +921,8 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
921
921
 
922
922
  return _grph
923
923
 
924
- def set_values(self, i: int, Vm: float, Va: float, P: float, Q: float, tpe: str, format_str="{:10.2f}"):
924
+ def set_values(self, i: int, Vm: float, Va: float, P: float | None, Q: float | None,
925
+ tpe: str, format_str="{:10.2f}"):
925
926
  """
926
927
 
927
928
  :param i:
@@ -10,6 +10,7 @@ import numpy as np
10
10
  import pandas as pd
11
11
  from typing import List, Set, Dict, Union, Tuple, TYPE_CHECKING
12
12
  from collections.abc import Callable
13
+ from collections import defaultdict
13
14
  from warnings import warn
14
15
  import networkx as nx
15
16
  import pyproj
@@ -20,14 +21,12 @@ from PySide6.QtCore import (Qt, QPoint, QSize, QPointF, QRect, QRectF, QMimeData
20
21
  from PySide6.QtGui import (QIcon, QPixmap, QImage, QPainter, QStandardItemModel, QStandardItem, QColor, QPen, QBrush,
21
22
  QDragEnterEvent, QDragMoveEvent, QDropEvent, QWheelEvent, QKeyEvent, QMouseEvent,
22
23
  QContextMenuEvent)
23
- from PySide6.QtWidgets import (QGraphicsView, QGraphicsScene, QGraphicsSceneMouseEvent, QGraphicsItem, QDialog,
24
- QPushButton)
24
+ from PySide6.QtWidgets import (QGraphicsView, QGraphicsScene, QGraphicsSceneMouseEvent, QGraphicsItem)
25
25
  from PySide6.QtSvg import QSvgGenerator
26
26
 
27
27
  from VeraGridEngine.Devices.types import ALL_DEV_TYPES, INJECTION_DEVICE_TYPES, FLUID_TYPES, BRANCH_TYPES
28
28
  from VeraGridEngine.Devices.multi_circuit import MultiCircuit
29
29
  from VeraGridEngine.Devices.Substation.bus import Bus
30
- from VeraGridEngine.Devices.Substation.substation import Substation
31
30
  from VeraGridEngine.Devices.Branches.line import Line
32
31
  from VeraGridEngine.Devices.Branches.dc_line import DcLine
33
32
  from VeraGridEngine.Devices.Branches.transformer import Transformer2W
@@ -140,7 +139,7 @@ class SchematicLibraryModel(QStandardItemModel):
140
139
  :return: QByteArray
141
140
  """
142
141
  data = QByteArray()
143
- stream = QDataStream(data, QIODevice.WriteOnly)
142
+ stream = QDataStream(data, QIODevice.OpenModeFlag.WriteOnly)
144
143
  stream.writeQString(val)
145
144
  return data
146
145
 
@@ -198,7 +197,7 @@ class SchematicLibraryModel(QStandardItemModel):
198
197
  txt = self.data(idx, Qt.ItemDataRole.DisplayRole)
199
198
 
200
199
  data = QByteArray()
201
- stream = QDataStream(data, QIODevice.WriteOnly)
200
+ stream = QDataStream(data, QIODevice.OpenModeFlag.WriteOnly)
202
201
  stream.writeQString(txt)
203
202
 
204
203
  mimedata.setData('component/name', data)
@@ -4800,7 +4799,7 @@ class SchematicWidget(BaseDiagramWidget):
4800
4799
  grid=self.circuit,
4801
4800
  bus=bus_graphics.api_object,
4802
4801
  vl_type=vl_wizard.get_vl_type(),
4803
- add_disconnectors=vl_wizard.add_brakers_checkbox.isChecked(),
4802
+ add_disconnectors=vl_wizard.add_breakers_checkbox.isChecked(),
4804
4803
  bar_by_segments=vl_wizard.bar_by_segments_checkbox.isChecked(),
4805
4804
  skip_injections_reconnection=True,
4806
4805
  enable_transfer_bus=vl_wizard.enable_transfer_bus_checkbox.isChecked(),
@@ -5119,6 +5118,17 @@ List[FluidPath]]:
5119
5118
  all_branches = circuit.get_branches(add_vsc=True, add_hvdc=True, add_switch=True)
5120
5119
  branch_dict = {b: i for i, b in enumerate(all_branches)}
5121
5120
 
5121
+ # Build index of branches by bus for O(1) lookup instead of scanning all branches
5122
+ # This changes the algorithm complexity from O(n*m) to O(n+m) where n=buses, m=branches
5123
+ # Hence drawing voltage level conversions should be much faster, thus fixing REE complaints
5124
+ branches_by_bus = defaultdict(list)
5125
+ has_winding = False
5126
+ for br in all_branches:
5127
+ branches_by_bus[br.bus_from].append(br)
5128
+ branches_by_bus[br.bus_to].append(br)
5129
+ if isinstance(br, Winding):
5130
+ has_winding = True
5131
+
5122
5132
  # create a pool of buses
5123
5133
  bus_pool = [(b, 0) for b in buses] # store the bus objects and their level from the root
5124
5134
 
@@ -5134,7 +5144,8 @@ List[FluidPath]]:
5134
5144
  fluid_nodes = set()
5135
5145
  selected_branches = set()
5136
5146
  visited = set()
5137
- max_level_offset = 0
5147
+ # If there are windings, we need an extra level to represent whole 3-winding transformers
5148
+ max_level_offset = 1 if has_winding else 0
5138
5149
 
5139
5150
  while len(bus_pool) > 0:
5140
5151
 
@@ -5149,31 +5160,23 @@ List[FluidPath]]:
5149
5160
 
5150
5161
  if level < (max_level + max_level_offset):
5151
5162
 
5152
- for i, br in enumerate(all_branches):
5163
+ # Use the built index for O(1) lookup of branches connected to this bus
5164
+ for br in branches_by_bus.get(bus, []):
5153
5165
 
5154
- if isinstance(br, Winding):
5155
- # if we find a winding, we need to add 1 extra search level
5156
- # to be able to represent the whole 3-winding transformer
5157
- max_level_offset = 1
5166
+ # Always add the branch if connected to current bus
5167
+ selected_branches.add(br)
5158
5168
 
5169
+ # Determine the other bus and add if not visited
5159
5170
  if br.bus_from == bus:
5160
- # Always add the branch if connected to current bus
5161
- selected_branches.add(br)
5162
- # Only add the other bus to pool if not visited
5163
- if br.bus_to not in visited:
5164
- bus_pool.append((br.bus_to, level + 1))
5165
- visited.add(br.bus_to)
5166
-
5171
+ other_bus = br.bus_to
5167
5172
  elif br.bus_to == bus:
5168
- # Always add the branch if connected to current bus
5169
- selected_branches.add(br)
5170
- # Only add the other bus to pool if not visited
5171
- if br.bus_from not in visited:
5172
- bus_pool.append((br.bus_from, level + 1))
5173
- visited.add(br.bus_from)
5174
-
5173
+ other_bus = br.bus_from
5175
5174
  else:
5176
- pass
5175
+ other_bus = None
5176
+
5177
+ if other_bus not in visited:
5178
+ bus_pool.append((other_bus, level + 1))
5179
+ visited.add(other_bus)
5177
5180
 
5178
5181
  # sort Branches
5179
5182
  lines: List[Line] = list()
@@ -262,7 +262,19 @@ class BarTerminalItem(BaseTerminal, QGraphicsRectItem):
262
262
  n = len(self._hosting_connections)
263
263
  dx = w / (n + 1)
264
264
 
265
- for i, (connection, call_back) in enumerate(self._hosting_connections.items()):
265
+ # Sort connections by the x position to avoid crossing lines
266
+ def get_other_end_x(connection: "LineGraphicTemplateItem") -> float:
267
+ """Get the x position of the other end of the line"""
268
+ if connection.get_terminal_to() is self:
269
+ # This terminal is the 'to' port, so use the 'from' position
270
+ return connection.pos1.x() if connection.pos1 else 0.0
271
+ else:
272
+ # This terminal is the 'from' port, so use the 'to' position
273
+ return connection.pos2.x() if connection.pos2 else 0.0
274
+
275
+ sorted_connections = sorted(self._hosting_connections.items(), key=lambda item: get_other_end_x(item[0]))
276
+
277
+ for i, (connection, call_back) in enumerate(sorted_connections):
266
278
  if call_back is not None:
267
279
  call_back(value + QPointF(float(i + 1) * dx, h2))
268
280
 
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'MainWindow.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.10.0
6
+ ## Created by: Qt User Interface Compiler version 6.10.1
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -4,11 +4,10 @@
4
4
  # SPDX-License-Identifier: MPL-2.0
5
5
  from __future__ import annotations
6
6
 
7
- import sys
8
7
  from typing import List, Tuple, Dict
9
8
  from collections import defaultdict
10
9
  from PySide6.QtWidgets import (
11
- QWidget, QDialog, QVBoxLayout, QHBoxLayout, QGroupBox, QLabel,
10
+ QDialog, QVBoxLayout, QHBoxLayout, QGroupBox, QLabel,
12
11
  QComboBox, QCheckBox, QTableWidget, QTableWidgetItem, QMessageBox,
13
12
  QPushButton, QHeaderView, QStyledItemDelegate, QSpinBox, QAbstractItemView
14
13
  )
@@ -40,7 +39,7 @@ class SpinBoxDelegate(QStyledItemDelegate):
40
39
  spinbox.setMaximum(self.maximum)
41
40
  return spinbox
42
41
 
43
- def setEditorData(self, editor: QWidget, index: QModelIndex | QPersistentModelIndex):
42
+ def setEditorData(self, editor: QSpinBox, index: QModelIndex | QPersistentModelIndex):
44
43
  """
45
44
 
46
45
  :param editor:
@@ -52,7 +51,7 @@ class SpinBoxDelegate(QStyledItemDelegate):
52
51
  else:
53
52
  editor.setValue(self.minimum)
54
53
 
55
- def setModelData(self, editor, model, index):
54
+ def setModelData(self, editor: QSpinBox, model, index):
56
55
  """
57
56
 
58
57
  :param editor:
@@ -81,7 +80,7 @@ class ComboBoxDelegate(QStyledItemDelegate):
81
80
  combo.addItems(self.items)
82
81
  return combo
83
82
 
84
- def setEditorData(self, editor, index):
83
+ def setEditorData(self, editor: QComboBox, index: QModelIndex | QPersistentModelIndex):
85
84
  """
86
85
 
87
86
  :param editor:
@@ -93,7 +92,7 @@ class ComboBoxDelegate(QStyledItemDelegate):
93
92
  else:
94
93
  editor.setCurrentIndex(0)
95
94
 
96
- def setModelData(self, editor, model, index):
95
+ def setModelData(self, editor: QComboBox, model, index):
97
96
  """
98
97
 
99
98
  :param editor:
@@ -108,7 +107,7 @@ class TableEntry:
108
107
  Table entry
109
108
  """
110
109
 
111
- def __init__(self, device, bay: str, main_bar: str):
110
+ def __init__(self, device: str, bay: str, main_bar: str):
112
111
  self.device = device
113
112
  self.bay = bay
114
113
  self.main_bar = main_bar
@@ -181,7 +180,8 @@ class ReorderableTableWidget(QTableWidget):
181
180
  def move_row_down(self) -> None:
182
181
  """Move the selected row down by one position."""
183
182
  current_row = self.currentRow()
184
- if current_row < self.rowCount() - 1 and current_row >= 0:
183
+ # if current_row < self.rowCount() - 1 and current_row >= 0:
184
+ if self.rowCount() - 1 > current_row >= 0:
185
185
  self._swap_rows(current_row, current_row + 1)
186
186
  self.selectRow(current_row + 1)
187
187
  if self._auto_update_bay_numbers:
@@ -210,10 +210,15 @@ class ReorderableTableWidget(QTableWidget):
210
210
 
211
211
  def _update_bay_numbers(self) -> None:
212
212
  """Update bay numbers to match row positions."""
213
+ bay_num = 1
213
214
  for row in range(self.rowCount()):
214
215
  bay_item = self.item(row, 1)
215
216
  if bay_item:
216
- bay_item.setText(f"Bay{row + 1}")
217
+ # Skip visual indicator rows (like "Double bar connection" with "-")
218
+ if bay_item.text() == "-":
219
+ continue
220
+ bay_item.setText(f"Bay{bay_num}")
221
+ bay_num += 1
217
222
 
218
223
 
219
224
  class VoltageLevelConversionWizard(QDialog):
@@ -270,14 +275,15 @@ class VoltageLevelConversionWizard(QDialog):
270
275
 
271
276
  # First row of checkboxes
272
277
  row1_layout = QHBoxLayout()
273
- self.add_brakers_checkbox = QCheckBox("Use breakers")
274
- self.add_brakers_checkbox.setChecked(True)
275
- self.add_brakers_checkbox.setToolTip("If disabled, connections are made using branches instead of breakers")
276
- row1_layout.addWidget(self.add_brakers_checkbox)
278
+ self.add_breakers_checkbox = QCheckBox("Use breakers")
279
+ self.add_breakers_checkbox.setChecked(True)
280
+ self.add_breakers_checkbox.setToolTip("If disabled, connections are made using branches instead of breakers")
281
+ row1_layout.addWidget(self.add_breakers_checkbox)
277
282
 
278
- self.keep_original_ratio_checkbox = QCheckBox("Keep original ratio")
283
+ self.keep_original_ratio_checkbox = QCheckBox("Keep original rates")
279
284
  self.keep_original_ratio_checkbox.setChecked(False)
280
- self.keep_original_ratio_checkbox.setToolTip("If enabled, breakers inherit the ratio of the original branch. Otherwise, 9999 is assigned")
285
+ self.keep_original_ratio_checkbox.setToolTip("If enabled, breakers inherit the rates "
286
+ "of the original branch. Otherwise, 9999 is assigned")
281
287
  row1_layout.addWidget(self.keep_original_ratio_checkbox)
282
288
  row1_layout.addStretch()
283
289
  options_layout.addLayout(row1_layout)
@@ -406,10 +412,7 @@ class VoltageLevelConversionWizard(QDialog):
406
412
  self.table.setRowCount(n_positions)
407
413
 
408
414
  # Collect device names
409
- dev_names = []
410
- for elm in self.bus_branches + self.bus_injections:
411
- dev_names.append(elm.name)
412
- dev_names.append("(Spare)") # Always allow spare as an option
415
+ dev_names: List[str] = list()
413
416
 
414
417
  # Fill data. For Breaker-and-a-Half, alternate bus assignments in pairs
415
418
  data: List[TableEntry] = list()
@@ -422,7 +425,12 @@ class VoltageLevelConversionWizard(QDialog):
422
425
  else:
423
426
  bay_num = i + 1
424
427
  assigned_bus = "JBP1"
425
- data.append(TableEntry(elm.name, f"Bay{bay_num}", assigned_bus))
428
+
429
+ name = f"{elm.name} ({elm.device_type.value})"
430
+ data.append(TableEntry(name, f"Bay{bay_num}", assigned_bus))
431
+ dev_names.append(name)
432
+
433
+ dev_names.append("(Spare)") # Always allow spare as an option
426
434
 
427
435
  # Apply delegates
428
436
  self.table.setItemDelegateForColumn(0, ComboBoxDelegate(dev_names, self.table))
@@ -443,6 +451,25 @@ class VoltageLevelConversionWizard(QDialog):
443
451
  self.table.setItem(row, 1, bay_item)
444
452
  self.table.setItem(row, 2, main_bar_item)
445
453
 
454
+ # Add visual indicator row for Double bar scheme
455
+ if vl_type == VoltageLevelTypes.DoubleBar:
456
+ connection_row = self.table.rowCount()
457
+ self.table.insertRow(connection_row)
458
+
459
+ connection_device_item = QTableWidgetItem("Double bar connection")
460
+ connection_bay_item = QTableWidgetItem("-")
461
+ connection_bus_item = QTableWidgetItem("JBP1")
462
+
463
+ # Make all cells non-editable and non-selectable for this visual indicator row
464
+ non_interactive_flags = Qt.ItemFlag.ItemIsEnabled # Only enabled, not editable or selectable
465
+ connection_device_item.setFlags(non_interactive_flags)
466
+ connection_bay_item.setFlags(non_interactive_flags)
467
+ connection_bus_item.setFlags(non_interactive_flags)
468
+
469
+ self.table.setItem(connection_row, 0, connection_device_item)
470
+ self.table.setItem(connection_row, 1, connection_bay_item)
471
+ self.table.setItem(connection_row, 2, connection_bus_item)
472
+
446
473
  def add_spare_position(self) -> None:
447
474
  """
448
475
  Add a spare position row to the table.
@@ -530,6 +557,7 @@ class VoltageLevelConversionWizard(QDialog):
530
557
  """
531
558
  Get the bay assignments from the table.
532
559
  :return: List of (device_name, bay_number, assigned_bus) tuples
560
+ Note: device_name is the plain device name (without device type suffix)
533
561
  """
534
562
  assignments = []
535
563
  for row in range(self.table.rowCount()):
@@ -537,7 +565,22 @@ class VoltageLevelConversionWizard(QDialog):
537
565
  bay_item = self.table.item(row, 1)
538
566
  main_bar_item = self.table.item(row, 2)
539
567
 
540
- device = device_item.text() if device_item else ""
568
+ device_display = device_item.text() if device_item else ""
569
+
570
+ # Skip visual indicator rows (like "Double bar connection")
571
+ if device_display == "Double bar connection":
572
+ continue
573
+
574
+ # Extract plain device name from display format "DeviceName (DeviceType)"
575
+ # Keep "(Spare)" as-is since it's a special marker
576
+ if device_display == "(Spare)":
577
+ device_name = device_display
578
+ elif " (" in device_display and device_display.endswith(")"):
579
+ # Extract name before the " (DeviceType)" suffix
580
+ device_name = device_display.rsplit(" (", 1)[0]
581
+ else:
582
+ device_name = device_display
583
+
541
584
  bay_str = bay_item.text() if bay_item else "Bay1"
542
585
  main_bar = main_bar_item.text() if main_bar_item else "JBP1"
543
586
 
@@ -547,7 +590,7 @@ class VoltageLevelConversionWizard(QDialog):
547
590
  except ValueError:
548
591
  bay_num = 1
549
592
 
550
- assignments.append((device, bay_num, main_bar))
593
+ assignments.append((device_name, bay_num, main_bar))
551
594
 
552
595
  return assignments
553
596
 
@@ -577,9 +620,12 @@ class VoltageLevelConversionWizard(QDialog):
577
620
 
578
621
 
579
622
  # if __name__ == "__main__":
623
+ # import sys
624
+ # from PySide6.QtWidgets import QApplication
580
625
  # import VeraGridEngine as vg
581
626
  #
582
- # fname = "/home/santi/Documentos/Git/GitHub/VeraGrid_bkup/src/tests/data/grids/lynn5node.gridcal"
627
+ # # fname = "/home/santi/Documentos/Git/GitHub/VeraGrid_bkup/src/tests/data/grids/lynn5node.gridcal"
628
+ # fname = "/Users/santi/Git/eRoots/VeraGrid/Grids_and_profiles/grids/Lynn 5 Bus pv.gridcal"
583
629
  # _grid = vg.open_file(fname)
584
630
  #
585
631
  # app = QApplication(sys.argv)
@@ -6,7 +6,7 @@ import datetime
6
6
  _current_year_ = datetime.datetime.now().year
7
7
 
8
8
  # remember to keep a three-number version!!!
9
- __VeraGrid_VERSION__ = "5.6.15"
9
+ __VeraGrid_VERSION__ = "5.6.18"
10
10
 
11
11
  url = 'https://github.com/SanPen/VeraGrid'
12
12