VeraGrid 5.6.11__tar.gz → 5.6.13__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 (299) hide show
  1. {veragrid-5.6.11 → veragrid-5.6.13}/PKG-INFO +1 -1
  2. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/grid_map_widget.py +3 -155
  3. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/map_widget.py +5 -3
  4. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +1 -22
  5. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +1 -24
  6. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +12 -1
  7. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +2 -2
  8. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/schematic_widget.py +147 -20
  9. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/terminal_item.py +4 -2
  10. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/base_diagram_widget.py +4 -4
  11. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Icons/icons_rc.py +416 -273
  12. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/MainWindow.py +802 -1117
  13. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Model/data_base.py +100 -17
  14. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Model/diagrams.py +69 -29
  15. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Scripting/scripting.py +28 -79
  16. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/base_gui.py +15 -4
  17. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/io.py +10 -8
  18. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/simulations.py +3 -4
  19. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/VeraGridMain.py +1 -1
  20. veragrid-5.6.13/VeraGrid/Gui/SubstationDesigner/voltage_level_conversion.py +589 -0
  21. veragrid-5.6.13/VeraGrid/Gui/font_config.py +9 -0
  22. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/gui_functions.py +3 -2
  23. veragrid-5.6.13/VeraGrid/Gui/python_console.py +585 -0
  24. veragrid-5.6.13/VeraGrid/Gui/python_highlighter.py +166 -0
  25. veragrid-5.6.13/VeraGrid/Gui/python_script_editor.py +223 -0
  26. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/__version__.py +1 -1
  27. veragrid-5.6.11/VeraGrid/Gui/SubstationDesigner/voltage_level_conversion.py +0 -280
  28. veragrid-5.6.11/VeraGrid/Gui/python_console.py +0 -199
  29. veragrid-5.6.11/VeraGrid/Gui/python_highlighter.py +0 -80
  30. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ExecuteVeraGrid.py +0 -0
  31. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/AboutDialogue/__init__.py +0 -0
  32. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/AboutDialogue/about_dialogue.py +0 -0
  33. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/AboutDialogue/about_gui.py +0 -0
  34. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/AboutDialogue/update_gui_file.py +0 -0
  35. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Analysis/AnalysisDialogue.py +0 -0
  36. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Analysis/__init__.py +0 -0
  37. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Analysis/analysis_gui.py +0 -0
  38. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Analysis/object_plot_analysis.py +0 -0
  39. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Analysis/update_gui_file.py +0 -0
  40. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ContingencyPlanner/__init__.py +0 -0
  41. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  42. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_gui.py +0 -0
  43. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  44. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/CoordinatesInput/__init__.py +0 -0
  45. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  46. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/CoordinatesInput/coordinates_input_gui.py +0 -0
  47. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/CoordinatesInput/update_gui_file.py +0 -0
  48. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/__init__.py +0 -0
  49. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/controllable_shunt_editor.py +0 -0
  50. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/generator_editor.py +0 -0
  51. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/line_editor.py +0 -0
  52. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/new_line_dialogue.py +0 -0
  53. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/transformer3w_editor.py +0 -0
  54. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/transformer_editor.py +0 -0
  55. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/Editors/transformer_taps_editor.py +0 -0
  56. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  57. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/line_location_graphic_item.py +0 -0
  58. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  59. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  60. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  61. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  62. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  63. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  64. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Injections/__init__.py +0 -0
  65. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_battery_graphics.py +0 -0
  66. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_external_grid_graphics.py +0 -0
  67. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_generator_graphics.py +0 -0
  68. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_injections_template_graphics.py +0 -0
  69. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_load_graphics.py +0 -0
  70. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_static_generator_graphics.py +0 -0
  71. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  72. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  73. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +0 -0
  74. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  75. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  76. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  77. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  78. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  79. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  80. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  81. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  82. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  83. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  84. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  85. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/MapWidget/__init__.py +0 -0
  86. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  87. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  88. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  89. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  90. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
  91. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  92. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  93. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  94. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  95. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  96. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  97. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics_3term.py +0 -0
  98. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  99. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  100. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  101. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  102. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  103. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  104. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  105. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  106. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  107. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  108. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  109. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  110. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  111. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  112. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  113. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  114. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/diagram_bus_selection_dialogue.py +0 -0
  115. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  116. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/__init__.py +0 -0
  117. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/diagrams_model.py +0 -0
  118. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/generic_graphics.py +0 -0
  119. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Diagrams/graphics_manager.py +0 -0
  120. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridGenerator/__init__.py +0 -0
  121. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  122. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridGenerator/grid_generator_gui.py +0 -0
  123. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridGenerator/update_gui_file.py +0 -0
  124. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridMerge/__init__.py +0 -0
  125. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridMerge/build_diff_tree.py +0 -0
  126. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridMerge/grid_diff.py +0 -0
  127. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridMerge/grid_diff_gui.py +0 -0
  128. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridMerge/grid_merge.py +0 -0
  129. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridMerge/grid_merge_gui.py +0 -0
  130. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridMerge/update_gui_file.py +0 -0
  131. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridReduce/__init__.py +0 -0
  132. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridReduce/grid_reduce.py +0 -0
  133. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridReduce/grid_reduce_gui.py +0 -0
  134. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/GridReduce/update_gui_file.py +0 -0
  135. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Icons/__init__.py +0 -0
  136. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Icons/update_icons_rc.py +0 -0
  137. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadCatalogue/SelectComponents.py +0 -0
  138. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadCatalogue/__init__.py +0 -0
  139. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  140. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadCatalogue/update_gui_file.py +0 -0
  141. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadDesigner/__init__.py +0 -0
  142. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadDesigner/load_designer.py +0 -0
  143. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadDesigner/load_designer_ui.py +0 -0
  144. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/LoadDesigner/update_gui_file.py +0 -0
  145. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Model/__init__.py +0 -0
  146. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  147. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays_model.py +0 -0
  148. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Model/time_events.py +0 -0
  149. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/README.txt +0 -0
  150. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Results/__init__.py +0 -0
  151. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Results/results.py +0 -0
  152. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  153. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Server/__init__.py +0 -0
  154. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Server/server.py +0 -0
  155. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  156. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  157. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/SubClasses/__init__.py +0 -0
  158. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/__init__.py +0 -0
  159. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/object_select_window.py +0 -0
  160. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Main/update_gui_file.py +0 -0
  161. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/__init__.py +0 -0
  162. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/excel_dialog.py +0 -0
  163. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  164. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/models_dialogue.py +0 -0
  165. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/profile_dialogue.py +0 -0
  166. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  167. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  168. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/ProfilesInput/update_gui_file.py +0 -0
  169. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RmsModelEditor/__init__.py +0 -0
  170. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RmsModelEditor/block_data_dialogue.py +0 -0
  171. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RmsModelEditor/rms_model_editor.py +0 -0
  172. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RmsModelEditor/rms_model_editor_engine.py +0 -0
  173. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RmsModelEditor/update_gui_file.py +0 -0
  174. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RosetaExplorer/MainWindow.py +0 -0
  175. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  176. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RosetaExplorer/__init__.py +0 -0
  177. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  178. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/RosetaExplorer/update_gui_file.py +0 -0
  179. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SigmaAnalysis/__init__.py +0 -0
  180. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  181. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_gui.py +0 -0
  182. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  183. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SolarPowerWizard/__init__.py +0 -0
  184. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizard_gui.py +0 -0
  185. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  186. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  187. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SubstationDesigner/__init__.py +0 -0
  188. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SubstationDesigner/substation_designer.py +0 -0
  189. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SubstationDesigner/substation_designer_gui.py +0 -0
  190. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SubstationDesigner/update_gui_file.py +0 -0
  191. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SyncDialogue/__init__.py +0 -0
  192. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SyncDialogue/sync_dialogue.py +0 -0
  193. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SyncDialogue/sync_gui.py +0 -0
  194. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SyncDialogue/update_gui_file.py +0 -0
  195. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SystemScaler/__init__.py +0 -0
  196. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SystemScaler/system_scaler.py +0 -0
  197. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SystemScaler/system_scaler_ui.py +0 -0
  198. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/SystemScaler/update_gui_file.py +0 -0
  199. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  200. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TowerBuilder/__init__.py +0 -0
  201. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TowerBuilder/table_models.py +0 -0
  202. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TowerBuilder/tower_builder.py +0 -0
  203. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TowerBuilder/update_gui_file.py +0 -0
  204. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TreeModelViewer/MainWindow.py +0 -0
  205. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  206. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TreeModelViewer/__init__.py +0 -0
  207. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/TreeModelViewer/update_gui_file.py +0 -0
  208. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Visualization/__init__.py +0 -0
  209. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Visualization/visualization.py +0 -0
  210. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Widgets/__init__.py +0 -0
  211. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Widgets/custom_qrangeslider.py +0 -0
  212. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/Widgets/matplotlibwidget.py +0 -0
  213. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/WindPowerWizard/__init__.py +0 -0
  214. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/WindPowerWizard/update_gui_file.py +0 -0
  215. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/WindPowerWizard/wind_power_wizard_gui.py +0 -0
  216. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  217. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/__init__.py +0 -0
  218. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/associations_model.py +0 -0
  219. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/correct_icons.py +0 -0
  220. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/general_dialogues.py +0 -0
  221. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/messages.py +0 -0
  222. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/object_model.py +0 -0
  223. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/object_proxy_model.py +0 -0
  224. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/pandas_model.py +0 -0
  225. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/plot_config.py +0 -0
  226. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/profiles_model.py +0 -0
  227. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/results_model.py +0 -0
  228. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/rms_events_editor_dialog.py +0 -0
  229. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/rms_plot_variables_dialog.py +0 -0
  230. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/table_view_header_wrap.py +0 -0
  231. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/themes.py +0 -0
  232. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/toast_widget.py +0 -0
  233. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/update_gui_all.py +0 -0
  234. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/update_gui_common.py +0 -0
  235. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Gui/wrappable_table_model.py +0 -0
  236. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/LICENSE.txt +0 -0
  237. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Session/__init__.py +0 -0
  238. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Session/export_results_driver.py +0 -0
  239. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Session/file_handler.py +0 -0
  240. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Session/server_driver.py +0 -0
  241. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Session/session.py +0 -0
  242. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/Session/synchronization_driver.py +0 -0
  243. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/__init__.py +0 -0
  244. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/darkdetect/__init__.py +0 -0
  245. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/darkdetect/_dummy.py +0 -0
  246. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/darkdetect/_linux_detect.py +0 -0
  247. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/darkdetect/_mac_detect.py +0 -0
  248. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/darkdetect/_windows_detect.py +0 -0
  249. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/__init__.py +0 -0
  250. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_color.py +0 -0
  251. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  252. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  253. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  254. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_main.py +0 -0
  255. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  256. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  257. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  258. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  259. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  260. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  261. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  262. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  263. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  264. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  265. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  266. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_style_loader.py +0 -0
  267. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  268. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_template/engine.py +0 -0
  269. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_template/filter.py +0 -0
  270. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/_util.py +0 -0
  271. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  272. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  273. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  274. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  275. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  276. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  277. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  278. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  279. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  280. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  281. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  282. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  283. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  284. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  285. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  286. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  287. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/__init__.py +0 -0
  288. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/data/VeraGrid.ico +0 -0
  289. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/data/VeraGrid.svg +0 -0
  290. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/data/__init__.py +0 -0
  291. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/data/cables.csv +0 -0
  292. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/data/sequence_lines.csv +0 -0
  293. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/data/transformers.csv +0 -0
  294. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/data/wires.csv +0 -0
  295. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/plugins.py +0 -0
  296. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/templates.py +0 -0
  297. {veragrid-5.6.11 → veragrid-5.6.13}/VeraGrid/update.py +0 -0
  298. {veragrid-5.6.11 → veragrid-5.6.13}/setup.cfg +0 -0
  299. {veragrid-5.6.11 → veragrid-5.6.13}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: VeraGrid
3
- Version: 5.6.11
3
+ Version: 5.6.13
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.
@@ -6,7 +6,7 @@ from __future__ import annotations
6
6
 
7
7
  import ast
8
8
  import os
9
- from typing import Union, List, Set, Tuple, Dict, TYPE_CHECKING
9
+ from typing import Union, List, Tuple, Dict, TYPE_CHECKING
10
10
  import json
11
11
  import numpy as np
12
12
  import math
@@ -19,7 +19,6 @@ from PySide6.QtCore import (Qt, QMimeData, QIODevice, QByteArray, QDataStream, Q
19
19
  from PySide6.QtGui import (QIcon, QPixmap, QImage, QStandardItemModel, QStandardItem, QColor, QDropEvent)
20
20
 
21
21
  from VeraGrid.Gui.Diagrams.MapWidget.Branches.map_line_container import MapLineContainer
22
- from VeraGrid.Gui.Diagrams.SchematicWidget.Injections.generator_graphics import GeneratorGraphicItem
23
22
  from VeraGrid.Gui.Diagrams.SchematicWidget.Substation.bus_graphics import BusGraphicItem
24
23
  from VeraGrid.Gui.Diagrams.generic_graphics import GenericDiagramWidget
25
24
  from VeraGrid.Gui.SubstationDesigner.substation_designer import SubstationDesigner
@@ -136,7 +135,7 @@ class MapLibraryModel(QStandardItemModel):
136
135
  :return: QByteArray
137
136
  """
138
137
  data = QByteArray()
139
- stream = QDataStream(data, QIODevice.WriteOnly)
138
+ stream = QDataStream(data, QIODevice.OpenModeFlag.WriteOnly)
140
139
  stream.writeQString(val)
141
140
  return data
142
141
 
@@ -166,7 +165,7 @@ class MapLibraryModel(QStandardItemModel):
166
165
  txt = self.data(idx, Qt.ItemDataRole.DisplayRole)
167
166
 
168
167
  data = QByteArray()
169
- stream = QDataStream(data, QIODevice.WriteOnly)
168
+ stream = QDataStream(data, QIODevice.OpenModeFlag.WriteOnly)
170
169
  stream.writeQString(txt)
171
170
 
172
171
  mime_data.setData('component/name', data)
@@ -3129,154 +3128,3 @@ def generate_map_diagram(
3129
3128
 
3130
3129
  return diagram
3131
3130
 
3132
-
3133
- def get_devices_to_expand(circuit: MultiCircuit, substations: List[Substation], max_level: int = 1,
3134
- expand_outside: bool = True) -> Tuple[
3135
- List[Substation],
3136
- List[VoltageLevel],
3137
- List[Line],
3138
- List[DcLine],
3139
- List[HvdcLine]]:
3140
- """
3141
- get lists of devices to expand given a root bus
3142
- :param circuit: MultiCircuit
3143
- :param substations: List of Bus
3144
- :param max_level: max expansion level
3145
- :param expand_outside: whether to expand outside of the given references using the branches
3146
- :return:
3147
- """
3148
-
3149
- # get all Branches
3150
- all_branches = circuit.lines + circuit.dc_lines + circuit.hvdc_lines
3151
-
3152
- # create a pool of buses that belong to the substations
3153
- # store the bus objects and their level from the root
3154
- bus_pool = [(b, 0) for b in circuit.buses if b.substation in substations]
3155
-
3156
- voltage_levels = set()
3157
- substations_extended = set()
3158
- selected_branches = set()
3159
-
3160
- while len(bus_pool) > 0:
3161
-
3162
- # search the next bus
3163
- bus, level = bus_pool.pop()
3164
-
3165
- if bus.voltage_level is not None:
3166
- voltage_levels.add(bus.voltage_level)
3167
- if bus.substation not in substations_extended:
3168
- substations_extended.add(bus.substation)
3169
-
3170
- if level < max_level:
3171
-
3172
- for i, br in enumerate(all_branches):
3173
-
3174
- if br.bus_from == bus:
3175
- if expand_outside:
3176
- bus_pool.append((br.bus_to, level + 1))
3177
- selected_branches.add(br)
3178
-
3179
- elif br.bus_to == bus:
3180
- if expand_outside:
3181
- bus_pool.append((br.bus_from, level + 1))
3182
- selected_branches.add(br)
3183
-
3184
- else:
3185
- pass
3186
-
3187
- # sort Branches
3188
- lines: List[Line] = list()
3189
- dc_lines: List[DcLine] = list()
3190
- hvdc_lines: List[HvdcLine] = list()
3191
-
3192
- for obj in selected_branches:
3193
-
3194
- if obj.device_type == DeviceType.LineDevice:
3195
- lines.append(obj)
3196
-
3197
- elif obj.device_type == DeviceType.DCLineDevice:
3198
- dc_lines.append(obj)
3199
-
3200
-
3201
- elif obj.device_type == DeviceType.HVDCLineDevice:
3202
- hvdc_lines.append(obj)
3203
-
3204
- else:
3205
- raise Exception(f'Unrecognized branch type {obj.device_type.value}')
3206
-
3207
- list_substations_extended = list(substations_extended)
3208
-
3209
- for substation in substations:
3210
- if substation not in list_substations_extended:
3211
- list_substations_extended.append(substation)
3212
-
3213
- return list_substations_extended, list(voltage_levels), lines, dc_lines, hvdc_lines
3214
-
3215
-
3216
- def make_diagram_from_substations(circuit: MultiCircuit,
3217
- substations: List[Substation] | Set[Substation],
3218
- prog_func: Union[Callable, None] = None,
3219
- text_func: Union[Callable, None] = None,
3220
- use_flow_based_width: bool = False,
3221
- min_branch_width: int = 1.0,
3222
- max_branch_width=5,
3223
- min_bus_width=1.0,
3224
- max_bus_width=20,
3225
- arrow_size=20,
3226
- palette: Colormaps = Colormaps.VeraGrid,
3227
- default_bus_voltage: float = 10,
3228
- expand_outside: bool = True,
3229
- name="Map diagram"):
3230
- """
3231
- Create a vicinity diagram
3232
- :param circuit: MultiCircuit
3233
- :param substations: List of Bus
3234
- :param prog_func:
3235
- :param text_func:
3236
- :param use_flow_based_width: use flow based width
3237
- :param min_branch_width: minimum branch width
3238
- :param max_branch_width: maximum branch width
3239
- :param min_bus_width:
3240
- :param max_bus_width: maximum bus width
3241
- :param arrow_size: arrow size
3242
- :param palette: Colormaps
3243
- :param default_bus_voltage: default bus voltage
3244
- :param expand_outside: whether to expand outside the given references using the branches
3245
- :param name: Name of the diagram
3246
- :return:
3247
- """
3248
-
3249
- (substations_extended, voltage_levels,
3250
- lines, dc_lines, hvdc_lines) = get_devices_to_expand(circuit=circuit,
3251
- substations=substations,
3252
- max_level=1,
3253
- expand_outside=expand_outside)
3254
-
3255
- # Draw schematic subset
3256
- diagram = generate_map_diagram(
3257
- substations=substations_extended,
3258
- voltage_levels=voltage_levels,
3259
- lines=lines,
3260
- dc_lines=dc_lines,
3261
- hvdc_lines=hvdc_lines,
3262
- fluid_nodes=list(),
3263
- fluid_paths=list(),
3264
- external_grids=list(),
3265
- static_generators=list(),
3266
- loads=list(),
3267
- batteries=list(),
3268
- generators=list(),
3269
- prog_func=prog_func,
3270
- text_func=text_func,
3271
- name=name,
3272
- use_flow_based_width=use_flow_based_width,
3273
- min_branch_width=min_branch_width,
3274
- max_branch_width=max_branch_width,
3275
- min_bus_width=min_bus_width,
3276
- max_bus_width=max_bus_width,
3277
- arrow_size=arrow_size,
3278
- palette=palette,
3279
- default_bus_voltage=default_bus_voltage
3280
- )
3281
-
3282
- return diagram
@@ -137,9 +137,11 @@ class MapView(QGraphicsView):
137
137
 
138
138
  # Create a QLabel
139
139
  self.attribution_label = QLabel("Bottom Left Label")
140
- self.attribution_label.setStyleSheet("background-color: rgba(0, 0, 0, 0);"
141
- "color: rgba(150, 150, 150, 180);"
142
- "font-size:9pt") # Semi-transparent yellow
140
+ self.attribution_label.setStyleSheet(
141
+ "background-color: rgba(0, 0, 0, 0);"
142
+ "color: rgba(150, 150, 150, 180);"
143
+ "font-size:9pt"
144
+ ) # Semi-transparent yellow
143
145
 
144
146
  # Create a QGraphicsProxyWidget for the QLabel
145
147
  self.label_proxy_widget = QGraphicsProxyWidget()
@@ -47,35 +47,14 @@ class ControllableShuntGraphicItem(InjectionTemplateGraphicItem):
47
47
  @param event:
48
48
  @return:
49
49
  """
50
- menu = QtWidgets.QMenu()
50
+ menu = self.get_base_context_menu()
51
51
  menu.addSection("Controllable shunt")
52
52
 
53
- add_menu_entry(menu=menu,
54
- text="Active",
55
- checkeable=True,
56
- checked_value=self.api_object.active,
57
- function_ptr=self.enable_disable_toggle)
58
-
59
53
  add_menu_entry(menu=menu,
60
54
  text="Editor",
61
55
  function_ptr=self.edit,
62
56
  icon_path=":/Icons/icons/edit.png")
63
57
 
64
- add_menu_entry(menu=menu,
65
- text="Plot profiles",
66
- function_ptr=self.plot,
67
- icon_path=":/Icons/icons/plot.png")
68
-
69
- add_menu_entry(menu=menu,
70
- text="Delete",
71
- function_ptr=self.delete,
72
- icon_path=":/Icons/icons/delete3.png")
73
-
74
- add_menu_entry(menu=menu,
75
- text="Change bus",
76
- function_ptr=self.change_bus,
77
- icon_path=":/Icons/icons/move_bus.png")
78
-
79
58
  menu.exec_(event.screenPos())
80
59
 
81
60
  def edit(self):
@@ -55,16 +55,9 @@ class GeneratorGraphicItem(InjectionTemplateGraphicItem):
55
55
  @param event:
56
56
  @return:
57
57
  """
58
- menu = QMenu()
58
+ menu = self.get_base_context_menu()
59
59
  menu.addSection("Generator")
60
60
 
61
- add_menu_entry(menu=menu,
62
- text="Active",
63
- icon_path="",
64
- function_ptr=self.enable_disable_toggle,
65
- checkeable=True,
66
- checked_value=self.api_object.active)
67
-
68
61
  add_menu_entry(menu=menu,
69
62
  text="Voltage control",
70
63
  icon_path="",
@@ -89,13 +82,6 @@ class GeneratorGraphicItem(InjectionTemplateGraphicItem):
89
82
 
90
83
  menu.addSeparator()
91
84
 
92
- add_menu_entry(menu=menu,
93
- text="Plot profiles",
94
- icon_path=":/Icons/icons/plot.png",
95
- function_ptr=self.plot)
96
-
97
- menu.addSeparator()
98
-
99
85
  add_menu_entry(menu=menu,
100
86
  text="Solar photovoltaic wizard",
101
87
  icon_path=":/Icons/icons/solar_power.png",
@@ -108,20 +94,11 @@ class GeneratorGraphicItem(InjectionTemplateGraphicItem):
108
94
 
109
95
  menu.addSeparator()
110
96
 
111
- add_menu_entry(menu, text='Remove',
112
- icon_path=":/Icons/icons/delete_schematic.png",
113
- function_ptr=self.delete)
114
-
115
97
  add_menu_entry(menu=menu,
116
98
  text="Convert to battery",
117
99
  icon_path=":/Icons/icons/add_batt.png",
118
100
  function_ptr=self.to_battery)
119
101
 
120
- add_menu_entry(menu=menu,
121
- text="Change bus",
122
- icon_path=":/Icons/icons/move_bus.png",
123
- function_ptr=self.change_bus)
124
-
125
102
  menu.exec_(event.screenPos())
126
103
 
127
104
  def edit_rms(self):
@@ -189,7 +189,6 @@ class InjectionTemplateGraphicItem(GenericDiagramWidget, QGraphicsItemGroup):
189
189
 
190
190
  deleted, delete_from_db_final = self.editor.delete_with_dialogue(selected=[self], delete_from_db=False)
191
191
 
192
-
193
192
  def plot(self):
194
193
  """
195
194
  Plot API objects profiles
@@ -214,6 +213,13 @@ class InjectionTemplateGraphicItem(GenericDiagramWidget, QGraphicsItemGroup):
214
213
  """
215
214
  self._editor.change_injection_bus(injection_graphics=self)
216
215
 
216
+ def move_behind_converter(self):
217
+ """
218
+ Create a DC bus and a converter and move the injection there
219
+ :return:
220
+ """
221
+ self._editor.move_behind_converter(injection_graphics=self)
222
+
217
223
  def rescale(self, scale: float = 1.0):
218
224
  """
219
225
 
@@ -240,6 +246,11 @@ class InjectionTemplateGraphicItem(GenericDiagramWidget, QGraphicsItemGroup):
240
246
  function_ptr=self.change_bus,
241
247
  icon_path=":/Icons/icons/move_bus.png")
242
248
 
249
+ add_menu_entry(menu=menu,
250
+ text="Move behind converter",
251
+ function_ptr=self.move_behind_converter,
252
+ icon_path=":/Icons/icons/to_vsc.png")
253
+
243
254
  add_menu_entry(menu=menu,
244
255
  text="Plot profiles",
245
256
  function_ptr=self.plot,
@@ -32,7 +32,7 @@ from VeraGrid.Gui.Diagrams.SchematicWidget.Injections.current_injection_graphics
32
32
  from VeraGrid.Gui.Diagrams.SchematicWidget.Injections.controllable_shunt_graphics import (
33
33
  ControllableShuntGraphicItem,
34
34
  ControllableShunt)
35
- from VeraGridEngine.enumerations import DeviceType, FaultType, BusGraphicType, MethodShortCircuit, PhasesShortCircuit
35
+ from VeraGridEngine.enumerations import DeviceType, BusGraphicType
36
36
  from VeraGridEngine.Devices.types import INJECTION_DEVICE_TYPES
37
37
  from VeraGridEngine.Devices.Substation import Bus
38
38
  from VeraGridEngine.Devices.Aggregation.short_cirtcuit_event import ShortCircuitEvent
@@ -640,7 +640,7 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
640
640
  def convert_to_connectivity_grid(self) -> None:
641
641
  """
642
642
  Transform this bus into a grid of buses to be able to compute the bus currents
643
- and delete this bus afterwards
643
+ and delete this bus afterward
644
644
  """
645
645
  self.editor.transform_busbar_to_connectivity_grid(bus_graphics=self)
646
646
 
@@ -1757,8 +1757,8 @@ class SchematicWidget(BaseDiagramWidget):
1757
1757
  bus: Bus,
1758
1758
  injections_by_tpe: Dict[DeviceType, List[ALL_DEV_TYPES]],
1759
1759
  explode_factor: float = 1.0,
1760
- x0: Union[int, None] = None,
1761
- y0: Union[int, None] = None) -> BusGraphicItem:
1760
+ x0: Union[float, None] = None,
1761
+ y0: Union[float, None] = None) -> BusGraphicItem:
1762
1762
  """
1763
1763
  Add API bus to the diagram
1764
1764
  :param bus: Bus instance
@@ -1996,8 +1996,8 @@ class SchematicWidget(BaseDiagramWidget):
1996
1996
 
1997
1997
  def add_api_vsc(self,
1998
1998
  elm: VSC,
1999
- x: float,
2000
- y: float,
1999
+ x: float | None = None,
2000
+ y: float | None = None,
2001
2001
  r: float = 0.0,
2002
2002
  logger: Logger = Logger()) -> Union[VscGraphicItem, None]:
2003
2003
  """
@@ -4601,6 +4601,38 @@ class SchematicWidget(BaseDiagramWidget):
4601
4601
 
4602
4602
  self.draw_additional_diagram(diagram=diagram)
4603
4603
 
4604
+ def add_buses_deep(self, buses: List[Bus] | Set[Bus]):
4605
+ """
4606
+ Draw all elements associated to a group of buses with deeper expansion.
4607
+ Used for voltage level conversions where internal buses and switches
4608
+ may be multiple hops away.
4609
+ :param buses: List or Set of Buses
4610
+ """
4611
+
4612
+ (buses,
4613
+ lines, dc_lines, transformers2w,
4614
+ transformers3w, windings, hvdc_lines,
4615
+ vsc_converters, upfc_devices,
4616
+ series_reactances, switches,
4617
+ fluid_nodes, fluid_paths) = get_devices_to_expand(circuit=self.circuit, buses=buses, max_level=5)
4618
+
4619
+ # Draw schematic subset
4620
+ diagram = generate_schematic_diagram(buses=list(buses),
4621
+ lines=lines,
4622
+ dc_lines=dc_lines,
4623
+ transformers2w=transformers2w,
4624
+ transformers3w=transformers3w,
4625
+ windings=windings,
4626
+ hvdc_lines=hvdc_lines,
4627
+ vsc_devices=vsc_converters,
4628
+ upfc_devices=upfc_devices,
4629
+ series_reactances=series_reactances,
4630
+ switches=switches,
4631
+ fluid_nodes=list(fluid_nodes),
4632
+ fluid_paths=fluid_paths)
4633
+
4634
+ self.draw_additional_diagram(diagram=diagram)
4635
+
4604
4636
  def change_injection_bus(self, injection_graphics: INJECTION_GRAPHICS):
4605
4637
  """
4606
4638
 
@@ -4672,6 +4704,55 @@ class SchematicWidget(BaseDiagramWidget):
4672
4704
 
4673
4705
  new_bus_graphic.get_terminal().update()
4674
4706
 
4707
+ def move_behind_converter(self, injection_graphics: INJECTION_GRAPHICS):
4708
+ """
4709
+ This function moved an injection device from an AC bus to another
4710
+ newly created DC bus that is connected to a new converter
4711
+ :param injection_graphics:
4712
+ :return:
4713
+ """
4714
+
4715
+ ok = yes_no_question(
4716
+ text=f"Are you sure that you want to relocate {injection_graphics.api_object.name} "
4717
+ f"behind a converter?",
4718
+ title='Move behind converter'
4719
+ )
4720
+
4721
+ if ok:
4722
+ old_bus_graphic: BusGraphicItem = self.graphics_manager.query(injection_graphics.api_object.bus)
4723
+
4724
+ new_bus, converter = self.circuit.move_behind_converter(api_object=injection_graphics.api_object)
4725
+
4726
+ if old_bus_graphic is None:
4727
+ x0 = injection_graphics.api_object.bus.x
4728
+ y0 = injection_graphics.api_object.bus.y + 180
4729
+ else:
4730
+ x0 = old_bus_graphic.x()
4731
+ y0 = old_bus_graphic.y() + 180
4732
+
4733
+ new_bus_graphic_item = self.add_api_bus(
4734
+ bus=new_bus,
4735
+ injections_by_tpe={
4736
+ injection_graphics.api_object.device_type: [injection_graphics.api_object]
4737
+ },
4738
+ x0=x0,
4739
+ y0=y0
4740
+ )
4741
+ self.add_to_scene(new_bus_graphic_item)
4742
+
4743
+ new_bus_graphic_item.set_position(x=x0, y=y0)
4744
+
4745
+ self.add_api_vsc(elm=converter)
4746
+
4747
+ # add the graphics for the new bus
4748
+ # new_bus_graphic_item.add_object(api_obj=injection_graphics.api_object)
4749
+
4750
+ self._remove_from_scene(injection_graphics.nexus)
4751
+ self._remove_from_scene(injection_graphics)
4752
+
4753
+ new_bus_graphic_item.update()
4754
+ injection_graphics.update_nexus(injection_graphics.pos())
4755
+
4675
4756
  def transform_busbar_to_connectivity_grid(self, bus_graphics: BusGraphicItem, x_offset=80):
4676
4757
  """
4677
4758
  Transform the bus into a grid of buses to be able to compute the bus currents
@@ -4721,11 +4802,26 @@ class SchematicWidget(BaseDiagramWidget):
4721
4802
  vl_type=vl_wizard.get_vl_type(),
4722
4803
  add_disconnectors=vl_wizard.add_brakers_checkbox.isChecked(),
4723
4804
  bar_by_segments=vl_wizard.bar_by_segments_checkbox.isChecked(),
4724
- skip_injections_reconnection=True
4805
+ skip_injections_reconnection=True,
4806
+ enable_transfer_bus=vl_wizard.enable_transfer_bus_checkbox.isChecked(),
4807
+ reducible_branches=vl_wizard.reducible_branches_checkbox.isChecked(),
4808
+ bay_assignments=vl_wizard.get_bay_assignments(),
4809
+ x0=bus_graphics.x(),
4810
+ y0=bus_graphics.y()
4725
4811
  )
4726
4812
 
4727
4813
  # add the newly created buses to the diagram (with all their stuff that's not there already)
4728
- self.add_buses(buses=new_buses)
4814
+ # Use all buses (including internal ones) to ensure all switches are drawn
4815
+ self.add_buses_deep(buses=new_buses)
4816
+
4817
+ # Force redraw of all new bus graphics to ensure connections are visible
4818
+ for new_bus in new_buses:
4819
+ bus_graphic = self.graphics_manager.query(new_bus)
4820
+ if bus_graphic is not None:
4821
+ bus_graphic.update()
4822
+ terminal = bus_graphic.get_terminal()
4823
+ if terminal is not None:
4824
+ terminal.update()
4729
4825
 
4730
4826
  # reconnect graphics
4731
4827
  # self.reconnect_bus_graphics(bus_graphics=bus_graphics, new_buses=conn_buses)
@@ -4736,23 +4832,50 @@ class SchematicWidget(BaseDiagramWidget):
4736
4832
  new_bus_graphic: BusGraphicItem = self.graphics_manager.query(new_bus)
4737
4833
  branch_graphic = self.graphics_manager.query(element)
4738
4834
 
4739
- # At this point the API branch has been ressigned already
4740
-
4741
- new_bus_graphic.terminal.reassign_terminal(
4742
- graphic_obj=branch_graphic,
4743
- another_terminal=bus_graphics.terminal
4744
- )
4835
+ # Skip if graphics not found
4836
+ if new_bus_graphic is None:
4837
+ print(f"Warning: No graphic found for bus {new_bus.name}")
4838
+ continue
4839
+ if branch_graphic is None:
4840
+ print(f"Warning: No graphic found for element {element.name}")
4841
+ continue
4842
+
4843
+ # At this point the API branch has been reassigned already
4844
+ terminal = new_bus_graphic.get_terminal()
4845
+ if terminal is not None:
4846
+ terminal.reassign_terminal(
4847
+ graphic_obj=branch_graphic,
4848
+ another_terminal=bus_graphics.terminal
4849
+ )
4745
4850
 
4746
- branch_graphic.api_object.reassign_bus(
4747
- old_bus=bus_graphics.api_object,
4748
- new_bus=new_bus_graphic.api_object
4749
- )
4851
+ if hasattr(branch_graphic, 'api_object') and branch_graphic.api_object is not None:
4852
+ branch_graphic.api_object.reassign_bus(
4853
+ old_bus=bus_graphics.api_object,
4854
+ new_bus=new_bus_graphic.api_object
4855
+ )
4750
4856
 
4751
- new_bus_graphic.get_terminal().update()
4857
+ if terminal is not None:
4858
+ terminal.update()
4752
4859
 
4753
4860
  # Finally delete the old bus
4754
4861
  self.delete_element_utility_function(device=bus_graphics.api_object)
4755
4862
 
4863
+ # Update scene to ensure visual refresh of newly added elements
4864
+ # Invalidate the entire scene to force redraw of all items
4865
+ self.diagram_scene.invalidate()
4866
+ self.diagram_scene.update()
4867
+ self.editor_graphics_view.viewport().update()
4868
+
4869
+ # select the new buses
4870
+ for new_bus in new_buses:
4871
+ new_bus_graphic: BusGraphicItem = self.graphics_manager.query(new_bus)
4872
+ if new_bus_graphic is not None:
4873
+ new_bus_graphic.setSelected(True)
4874
+
4875
+ # Process events to ensure updates are applied immediately
4876
+ from PySide6.QtWidgets import QApplication
4877
+ QApplication.processEvents()
4878
+
4756
4879
  else:
4757
4880
  self.gui.show_warning_toast("No conversion made...")
4758
4881
 
@@ -5021,7 +5144,7 @@ List[FluidPath]]:
5021
5144
  bus_idx.append(bus_dict[bus])
5022
5145
 
5023
5146
  # add searched bus
5024
- if bus.graphic_type == BusGraphicType.BusBar or bus.graphic_type.Connectivity:
5147
+ if bus.graphic_type == BusGraphicType.BusBar or bus.graphic_type == BusGraphicType.Connectivity:
5025
5148
  buses.add(bus)
5026
5149
 
5027
5150
  if level < (max_level + max_level_offset):
@@ -5034,15 +5157,19 @@ List[FluidPath]]:
5034
5157
  max_level_offset = 1
5035
5158
 
5036
5159
  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
5037
5163
  if br.bus_to not in visited:
5038
5164
  bus_pool.append((br.bus_to, level + 1))
5039
- selected_branches.add(br)
5040
5165
  visited.add(br.bus_to)
5041
5166
 
5042
5167
  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
5043
5171
  if br.bus_from not in visited:
5044
5172
  bus_pool.append((br.bus_from, level + 1))
5045
- selected_branches.add(br)
5046
5173
  visited.add(br.bus_from)
5047
5174
 
5048
5175
  else:
@@ -263,7 +263,8 @@ class BarTerminalItem(BaseTerminal, QGraphicsRectItem):
263
263
  dx = w / (n + 1)
264
264
 
265
265
  for i, (connection, call_back) in enumerate(self._hosting_connections.items()):
266
- call_back(value + QPointF(float(i + 1) * dx, h2))
266
+ if call_back is not None:
267
+ call_back(value + QPointF(float(i + 1) * dx, h2))
267
268
 
268
269
  def itemChange(self, change: QGraphicsItem.GraphicsItemChange, value: Any) -> Any:
269
270
  """
@@ -393,7 +394,8 @@ class RoundTerminalItem(BaseTerminal, QGraphicsEllipseItem):
393
394
  """
394
395
 
395
396
  for i, (connection, call_back) in enumerate(self._hosting_connections.items()):
396
- call_back(value + self.center)
397
+ if call_back is not None:
398
+ call_back(value + self.center)
397
399
 
398
400
  def itemChange(self, change: QGraphicsItem.GraphicsItemChange, value: QPointF) -> QPointF:
399
401
  """
@@ -165,15 +165,15 @@ class BaseDiagramWidget(QSplitter):
165
165
 
166
166
  # Table to display object's properties
167
167
  self.object_editor_table = QTableView(self)
168
- change_font_size(self.object_editor_table, 9)
169
- change_font_size(self.object_editor_table.verticalHeader(), 9)
170
- change_font_size(self.object_editor_table.horizontalHeader(), 9)
168
+ # change_font_size(self.object_editor_table, 9)
169
+ # change_font_size(self.object_editor_table.verticalHeader(), 9)
170
+ # change_font_size(self.object_editor_table.horizontalHeader(), 9)
171
171
 
172
172
  # Actual libraryView object
173
173
  self.library_view = QListView(self)
174
174
  self.library_view.setViewMode(self.library_view.ViewMode.ListMode)
175
175
  self.library_view.setDragDropMode(QAbstractItemView.DragDropMode.InternalMove)
176
- change_font_size(self.library_view, 9)
176
+ # change_font_size(self.library_view, 9)
177
177
 
178
178
  # library model
179
179
  self.library_model = library_model