VeraGrid 5.5.1__tar.gz → 5.5.2__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 (309) hide show
  1. {veragrid-5.5.1 → veragrid-5.5.2}/PKG-INFO +1 -1
  2. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ExecuteVeraGrid.py +41 -3
  3. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/AboutDialogue/gui.py +1 -1
  4. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/AboutDialogue/icons_rc.py +2 -2
  5. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Analysis/gui.py +40 -40
  6. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Analysis/icons_rc.py +6 -6
  7. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ContingencyPlanner/gui.py +4 -4
  8. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ContingencyPlanner/icons_rc.py +4 -4
  9. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/CoordinatesInput/gui.py +1 -1
  10. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/CoordinatesInput/icons_rc.py +12 -12
  11. {veragrid-5.5.1/VeraGrid/Gui → veragrid-5.5.2/VeraGrid/Gui/Diagrams/Editors}/RmsModelEditor/icons_rc.py +2 -2
  12. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/rms_model_editor.py +6 -6
  13. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +1 -1
  14. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +18 -4
  15. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/schematic_widget.py +53 -12
  16. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/terminal_item.py +150 -160
  17. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridGenerator/gui.py +29 -29
  18. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridGenerator/icons_rc.py +4 -4
  19. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridMerge/grid_diff_gui.py +1 -1
  20. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridMerge/grid_merge_gui.py +1 -1
  21. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridReduce/grid_reduce_gui.py +1 -1
  22. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadCatalogue/SelectComponents.py +1 -1
  23. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadCatalogue/icons_rc.py +2 -2
  24. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadDesigner/icons_rc.py +11 -11
  25. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadDesigner/load_designer_ui.py +1 -1
  26. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/VeraGridMain.py +2 -0
  27. veragrid-5.5.2/VeraGrid/Gui/Main/correct_icons.py +51 -0
  28. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/icons_rc.py +21542 -21963
  29. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/excel_sheet_selection.py +1 -1
  30. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/icons_rc.py +16 -16
  31. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/profiles_from_data_gui.py +1 -1
  32. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/profiles_from_models_gui.py +1 -1
  33. {veragrid-5.5.1/VeraGrid/Gui/Diagrams/Editors → veragrid-5.5.2/VeraGrid/Gui}/RmsModelEditor/icons_rc.py +2 -2
  34. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RmsModelEditor/rms_model_editor.py +1 -1
  35. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RosetaExplorer/MainWindow.py +11 -11
  36. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RosetaExplorer/icons_rc.py +57 -57
  37. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SigmaAnalysis/gui.py +1 -1
  38. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SigmaAnalysis/icons_rc.py +12 -12
  39. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SolarPowerWizard/gui.py +1 -1
  40. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SolarPowerWizard/icons_rc.py +3 -3
  41. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SubstationDesigner/substation_designer_gui.py +1 -1
  42. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SyncDialogue/gui.py +1 -1
  43. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SyncDialogue/icons_rc.py +5 -5
  44. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SystemScaler/icons_rc.py +11 -11
  45. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SystemScaler/system_scaler_ui.py +1 -1
  46. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TowerBuilder/icons_rc.py +7 -7
  47. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TowerBuilder/tower_builder.py +1 -1
  48. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TreeModelViewer/MainWindow.py +1 -1
  49. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TreeModelViewer/icons_rc.py +60 -60
  50. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/WindPowerWizard/gui.py +1 -1
  51. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/WindPowerWizard/icons_rc.py +2 -2
  52. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/update_gui_all.py +31 -1
  53. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/__version__.py +1 -1
  54. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/AboutDialogue/__init__.py +0 -0
  55. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/AboutDialogue/about_dialogue.py +0 -0
  56. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/AboutDialogue/update_gui_file.py +0 -0
  57. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Analysis/AnalysisDialogue.py +0 -0
  58. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Analysis/__init__.py +0 -0
  59. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Analysis/object_plot_analysis.py +0 -0
  60. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Analysis/update_gui_file.py +0 -0
  61. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ContingencyPlanner/__init__.py +0 -0
  62. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  63. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  64. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/CoordinatesInput/__init__.py +0 -0
  65. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  66. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/CoordinatesInput/update_gui_file.py +0 -0
  67. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/__init__.py +0 -0
  68. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/rms_model_editor_dialogue.py +0 -0
  69. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/rms_model_editor_engine.py +0 -0
  70. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/RmsModelEditor/update_gui_file.py +0 -0
  71. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/__init__.py +0 -0
  72. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/controllable_shunt_editor.py +0 -0
  73. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/generator_editor.py +0 -0
  74. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/line_editor.py +0 -0
  75. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/new_line_dialogue.py +0 -0
  76. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/transformer3w_editor.py +0 -0
  77. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/transformer_editor.py +0 -0
  78. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/Editors/transformer_taps_editor.py +0 -0
  79. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  80. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/line_location_graphic_item.py +0 -0
  81. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  82. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  83. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  84. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  85. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  86. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  87. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  88. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  89. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +0 -0
  90. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  91. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  92. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  93. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  94. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  95. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  96. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  97. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  98. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  99. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  100. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  101. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/__init__.py +0 -0
  102. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/grid_map_widget.py +0 -0
  103. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/MapWidget/map_widget.py +0 -0
  104. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  105. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  106. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  107. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  108. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  109. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  110. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  111. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  112. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  113. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  114. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics_3term.py +0 -0
  115. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  116. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  117. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  118. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  119. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  120. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  121. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  122. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  123. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  124. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  125. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  126. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  127. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  128. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
  129. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  130. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  131. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  132. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  133. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  134. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  135. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/__init__.py +0 -0
  136. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/base_diagram_widget.py +0 -0
  137. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/diagrams_model.py +0 -0
  138. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/generic_graphics.py +0 -0
  139. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Diagrams/graphics_manager.py +0 -0
  140. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridGenerator/__init__.py +0 -0
  141. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  142. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridGenerator/update_gui_file.py +0 -0
  143. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridMerge/__init__.py +0 -0
  144. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridMerge/build_diff_tree.py +0 -0
  145. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridMerge/grid_diff.py +0 -0
  146. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridMerge/grid_merge.py +0 -0
  147. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridMerge/update_gui_file.py +0 -0
  148. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridReduce/__init__.py +0 -0
  149. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridReduce/grid_reduce.py +0 -0
  150. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/GridReduce/update_gui_file.py +0 -0
  151. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadCatalogue/__init__.py +0 -0
  152. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  153. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadCatalogue/update_gui_file.py +0 -0
  154. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadDesigner/__init__.py +0 -0
  155. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadDesigner/load_designer.py +0 -0
  156. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/LoadDesigner/update_gui_file.py +0 -0
  157. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/ConsoleLog.py +0 -0
  158. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/ConsoleLogController.py +0 -0
  159. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/MainWindow.py +0 -0
  160. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Model/__init__.py +0 -0
  161. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  162. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Model/data_base.py +0 -0
  163. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Model/diagrams.py +0 -0
  164. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Model/time_events.py +0 -0
  165. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/README.txt +0 -0
  166. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Results/__init__.py +0 -0
  167. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Results/results.py +0 -0
  168. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  169. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  170. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Server/__init__.py +0 -0
  171. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Server/server.py +0 -0
  172. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  173. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  174. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/__init__.py +0 -0
  175. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/base_gui.py +0 -0
  176. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/io.py +0 -0
  177. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/SubClasses/simulations.py +0 -0
  178. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/__init__.py +0 -0
  179. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/object_select_window.py +0 -0
  180. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Main/update_gui_file.py +0 -0
  181. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/__init__.py +0 -0
  182. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/excel_dialog.py +0 -0
  183. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/models_dialogue.py +0 -0
  184. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/profile_dialogue.py +0 -0
  185. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/ProfilesInput/update_gui_file.py +0 -0
  186. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RmsModelEditor/__init__.py +0 -0
  187. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RmsModelEditor/block_editor.py +0 -0
  188. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RmsModelEditor/rms_model_editor_dialogue.py +0 -0
  189. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RmsModelEditor/update_gui_file.py +0 -0
  190. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  191. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RosetaExplorer/__init__.py +0 -0
  192. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  193. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/RosetaExplorer/update_gui_file.py +0 -0
  194. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SigmaAnalysis/__init__.py +0 -0
  195. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  196. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  197. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SmallSignalEditor/Icons/__init__.py +0 -0
  198. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SmallSignalEditor/SmallSignal_dialogue.py +0 -0
  199. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SmallSignalEditor/__init__.py +0 -0
  200. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SolarPowerWizard/__init__.py +0 -0
  201. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  202. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  203. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SubstationDesigner/__init__.py +0 -0
  204. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SubstationDesigner/substation_designer.py +0 -0
  205. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SubstationDesigner/update_gui_file.py +0 -0
  206. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SubstationDesigner/voltage_level_conversion.py +0 -0
  207. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SyncDialogue/__init__.py +0 -0
  208. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SyncDialogue/sync_dialogue.py +0 -0
  209. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SyncDialogue/update_gui_file.py +0 -0
  210. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SystemScaler/__init__.py +0 -0
  211. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SystemScaler/system_scaler.py +0 -0
  212. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/SystemScaler/update_gui_file.py +0 -0
  213. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  214. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TowerBuilder/__init__.py +0 -0
  215. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TowerBuilder/table_models.py +0 -0
  216. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TowerBuilder/update_gui_file.py +0 -0
  217. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  218. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TreeModelViewer/__init__.py +0 -0
  219. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/TreeModelViewer/update_gui_file.py +0 -0
  220. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Visualization/__init__.py +0 -0
  221. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Visualization/visualization.py +0 -0
  222. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Widgets/__init__.py +0 -0
  223. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Widgets/custom_qrangeslider.py +0 -0
  224. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/Widgets/matplotlibwidget.py +0 -0
  225. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/WindPowerWizard/__init__.py +0 -0
  226. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/WindPowerWizard/update_gui_file.py +0 -0
  227. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  228. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/__init__.py +0 -0
  229. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/associations_model.py +0 -0
  230. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/general_dialogues.py +0 -0
  231. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/gui_functions.py +0 -0
  232. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/messages.py +0 -0
  233. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/object_model.py +0 -0
  234. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/object_proxy_model.py +0 -0
  235. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/pandas_model.py +0 -0
  236. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/plot_config.py +0 -0
  237. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/profiles_model.py +0 -0
  238. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/python_console.py +0 -0
  239. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/python_highlighter.py +0 -0
  240. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/results_model.py +0 -0
  241. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/table_view_header_wrap.py +0 -0
  242. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/themes.py +0 -0
  243. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/toast_widget.py +0 -0
  244. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/update_gui_common.py +0 -0
  245. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Gui/wrappable_table_model.py +0 -0
  246. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/LICENSE.txt +0 -0
  247. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Session/__init__.py +0 -0
  248. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Session/export_results_driver.py +0 -0
  249. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Session/file_handler.py +0 -0
  250. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Session/server_driver.py +0 -0
  251. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Session/session.py +0 -0
  252. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/Session/synchronization_driver.py +0 -0
  253. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/__init__.py +0 -0
  254. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/darkdetect/__init__.py +0 -0
  255. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/darkdetect/_dummy.py +0 -0
  256. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/darkdetect/_linux_detect.py +0 -0
  257. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/darkdetect/_mac_detect.py +0 -0
  258. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/darkdetect/_windows_detect.py +0 -0
  259. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/__init__.py +0 -0
  260. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_color.py +0 -0
  261. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  262. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  263. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  264. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_main.py +0 -0
  265. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  266. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  267. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  268. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  269. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  270. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  271. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  272. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  273. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  274. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  275. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  276. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_style_loader.py +0 -0
  277. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  278. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_template/engine.py +0 -0
  279. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_template/filter.py +0 -0
  280. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/_util.py +0 -0
  281. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  282. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  283. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  284. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  285. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  286. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  287. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  288. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  289. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  290. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  291. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  292. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  293. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  294. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  295. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  296. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  297. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/__init__.py +0 -0
  298. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/data/VeraGrid.ico +0 -0
  299. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/data/VeraGrid.svg +0 -0
  300. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/data/__init__.py +0 -0
  301. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/data/cables.csv +0 -0
  302. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/data/sequence_lines.csv +0 -0
  303. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/data/transformers.csv +0 -0
  304. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/data/wires.csv +0 -0
  305. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/plugins.py +0 -0
  306. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/templates.py +0 -0
  307. {veragrid-5.5.1 → veragrid-5.5.2}/VeraGrid/update.py +0 -0
  308. {veragrid-5.5.1 → veragrid-5.5.2}/setup.cfg +0 -0
  309. {veragrid-5.5.1 → veragrid-5.5.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: VeraGrid
3
- Version: 5.5.1
3
+ Version: 5.5.2
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.
@@ -5,7 +5,9 @@
5
5
  import os
6
6
  import sys
7
7
  import ctypes
8
+ import platform
8
9
  import threading
10
+
9
11
  PACKAGE_PARENT = '..'
10
12
  SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__))))
11
13
  sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT)))
@@ -14,21 +16,57 @@ from VeraGrid.__version__ import about_msg
14
16
  # NOTE: For some reason I cannot begin to comprehend, the activation fails on windows if called before the GUI...
15
17
  import VeraGridEngine.Utils.ThirdParty.gslv.gslv_activation
16
18
 
19
+ from PySide6.QtCore import QDirIterator, QResource
20
+ from PySide6.QtSvg import QSvgRenderer
17
21
  from VeraGrid.Gui.Main.VeraGridMain import runVeraGrid
18
-
19
- import platform
22
+ from VeraGrid.Gui.update_gui_all import update_all_icons
20
23
 
21
24
  if platform.system() == 'Windows':
22
25
  # this makes the icon display properly under windows
23
26
  myappid = 'mycompany.myproduct.subproduct.version' # arbitrary string
24
27
  ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
25
28
 
29
+
30
+ def check_all_svgs():
31
+ """
32
+ Iterate through all resources registered by icons_rc and check SVG validity.
33
+ :returns: if any icon has errors
34
+ """
35
+ it = QDirIterator(":/Icons", QDirIterator.IteratorFlag.Subdirectories)
36
+ bad_files = []
37
+
38
+ while it.hasNext():
39
+ path = it.next()
40
+ if path.lower().endswith(".svg"):
41
+ res = QResource(path)
42
+ if not res.isValid():
43
+ print(f"[MISSING] {path}")
44
+ bad_files.append((path, "missing"))
45
+ continue
46
+
47
+ renderer = QSvgRenderer(path)
48
+ if not renderer.isValid():
49
+ print(f"[INVALID] {path}")
50
+ bad_files.append((path, "invalid"))
51
+ else:
52
+ pass
53
+ # print(f"[OK] {path}")
54
+
55
+ print("\nSVG compatibility summary:")
56
+ for path, status in bad_files:
57
+ print(f" {status.upper():<8} {path}")
58
+
59
+ if len(bad_files) > 0:
60
+ update_all_icons()
61
+
62
+
26
63
  if __name__ == "__main__":
27
64
  print('Loading VeraGrid...')
65
+ check_all_svgs()
28
66
  print(about_msg)
29
67
 
30
68
  # Set the application style to the clear theme
31
69
  os.environ["QT_QUICK_CONTROLS_STYLE"] = "Basic"
32
70
  # os.environ["QT_QPA_PLATFORMTHEME"] = "qt5ct" # this forces QT-only menus and look and feel
33
71
  threading.stack_size(134217728)
34
- runVeraGrid()
72
+ runVeraGrid()
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'gui.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.7.2
6
+ ## Created by: Qt User Interface Compiler version 6.9.2
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -1,6 +1,6 @@
1
1
  # Resource object code (Python 3)
2
2
  # Created by: object code
3
- # Created by: The Resource Compiler for Qt version 6.7.2
3
+ # Created by: The Resource Compiler for Qt version 6.9.3
4
4
  # WARNING! All changes made in this file will be lost!
5
5
 
6
6
  from PySide6 import QtCore
@@ -419,7 +419,7 @@ qt_resource_struct = b"\
419
419
  \x00\x00\x00\x10\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\
420
420
  \x00\x00\x00\x00\x00\x00\x00\x00\
421
421
  \x00\x00\x00 \x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
422
- \x00\x00\x01\x98\xed\x01#\x84\
422
+ \x00\x00\x01\x99\x91\xbe]o\
423
423
  "
424
424
 
425
425
  def qInitResources():
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'gui.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.7.2
6
+ ## Created by: Qt User Interface Compiler version 6.9.2
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -78,20 +78,20 @@ class Ui_MainWindow(object):
78
78
  self.label_4.setObjectName(u"label_4")
79
79
  palette = QPalette()
80
80
  brush = QBrush(QColor(119, 118, 123, 255))
81
- brush.setStyle(Qt.SolidPattern)
82
- palette.setBrush(QPalette.Active, QPalette.WindowText, brush)
83
- palette.setBrush(QPalette.Active, QPalette.Text, brush)
84
- palette.setBrush(QPalette.Active, QPalette.ButtonText, brush)
81
+ brush.setStyle(Qt.BrushStyle.SolidPattern)
82
+ palette.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.WindowText, brush)
83
+ palette.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.Text, brush)
84
+ palette.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.ButtonText, brush)
85
85
  brush1 = QBrush(QColor(0, 0, 0, 255))
86
- brush1.setStyle(Qt.SolidPattern)
87
- palette.setBrush(QPalette.Inactive, QPalette.WindowText, brush1)
88
- palette.setBrush(QPalette.Inactive, QPalette.Text, brush1)
89
- palette.setBrush(QPalette.Inactive, QPalette.ButtonText, brush1)
86
+ brush1.setStyle(Qt.BrushStyle.SolidPattern)
87
+ palette.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.WindowText, brush1)
88
+ palette.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.Text, brush1)
89
+ palette.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.ButtonText, brush1)
90
90
  brush2 = QBrush(QColor(190, 190, 190, 255))
91
- brush2.setStyle(Qt.SolidPattern)
92
- palette.setBrush(QPalette.Disabled, QPalette.WindowText, brush2)
93
- palette.setBrush(QPalette.Disabled, QPalette.Text, brush2)
94
- palette.setBrush(QPalette.Disabled, QPalette.ButtonText, brush2)
91
+ brush2.setStyle(Qt.BrushStyle.SolidPattern)
92
+ palette.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.WindowText, brush2)
93
+ palette.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.Text, brush2)
94
+ palette.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.ButtonText, brush2)
95
95
  self.label_4.setPalette(palette)
96
96
  font = QFont()
97
97
  font.setPointSize(14)
@@ -133,15 +133,15 @@ class Ui_MainWindow(object):
133
133
  self.label_12 = QLabel(self.frame)
134
134
  self.label_12.setObjectName(u"label_12")
135
135
  palette1 = QPalette()
136
- palette1.setBrush(QPalette.Active, QPalette.WindowText, brush)
137
- palette1.setBrush(QPalette.Active, QPalette.Text, brush)
138
- palette1.setBrush(QPalette.Active, QPalette.ButtonText, brush)
139
- palette1.setBrush(QPalette.Inactive, QPalette.WindowText, brush1)
140
- palette1.setBrush(QPalette.Inactive, QPalette.Text, brush1)
141
- palette1.setBrush(QPalette.Inactive, QPalette.ButtonText, brush1)
142
- palette1.setBrush(QPalette.Disabled, QPalette.WindowText, brush2)
143
- palette1.setBrush(QPalette.Disabled, QPalette.Text, brush2)
144
- palette1.setBrush(QPalette.Disabled, QPalette.ButtonText, brush2)
136
+ palette1.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.WindowText, brush)
137
+ palette1.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.Text, brush)
138
+ palette1.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.ButtonText, brush)
139
+ palette1.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.WindowText, brush1)
140
+ palette1.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.Text, brush1)
141
+ palette1.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.ButtonText, brush1)
142
+ palette1.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.WindowText, brush2)
143
+ palette1.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.Text, brush2)
144
+ palette1.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.ButtonText, brush2)
145
145
  self.label_12.setPalette(palette1)
146
146
  self.label_12.setFont(font)
147
147
 
@@ -203,15 +203,15 @@ class Ui_MainWindow(object):
203
203
  self.label_14 = QLabel(self.frame)
204
204
  self.label_14.setObjectName(u"label_14")
205
205
  palette2 = QPalette()
206
- palette2.setBrush(QPalette.Active, QPalette.WindowText, brush)
207
- palette2.setBrush(QPalette.Active, QPalette.Text, brush)
208
- palette2.setBrush(QPalette.Active, QPalette.ButtonText, brush)
209
- palette2.setBrush(QPalette.Inactive, QPalette.WindowText, brush1)
210
- palette2.setBrush(QPalette.Inactive, QPalette.Text, brush1)
211
- palette2.setBrush(QPalette.Inactive, QPalette.ButtonText, brush1)
212
- palette2.setBrush(QPalette.Disabled, QPalette.WindowText, brush2)
213
- palette2.setBrush(QPalette.Disabled, QPalette.Text, brush2)
214
- palette2.setBrush(QPalette.Disabled, QPalette.ButtonText, brush2)
206
+ palette2.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.WindowText, brush)
207
+ palette2.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.Text, brush)
208
+ palette2.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.ButtonText, brush)
209
+ palette2.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.WindowText, brush1)
210
+ palette2.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.Text, brush1)
211
+ palette2.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.ButtonText, brush1)
212
+ palette2.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.WindowText, brush2)
213
+ palette2.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.Text, brush2)
214
+ palette2.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.ButtonText, brush2)
215
215
  self.label_14.setPalette(palette2)
216
216
  self.label_14.setFont(font)
217
217
 
@@ -276,15 +276,15 @@ class Ui_MainWindow(object):
276
276
  self.label_16 = QLabel(self.frame_2)
277
277
  self.label_16.setObjectName(u"label_16")
278
278
  palette3 = QPalette()
279
- palette3.setBrush(QPalette.Active, QPalette.WindowText, brush)
280
- palette3.setBrush(QPalette.Active, QPalette.Text, brush)
281
- palette3.setBrush(QPalette.Active, QPalette.ButtonText, brush)
282
- palette3.setBrush(QPalette.Inactive, QPalette.WindowText, brush1)
283
- palette3.setBrush(QPalette.Inactive, QPalette.Text, brush1)
284
- palette3.setBrush(QPalette.Inactive, QPalette.ButtonText, brush1)
285
- palette3.setBrush(QPalette.Disabled, QPalette.WindowText, brush2)
286
- palette3.setBrush(QPalette.Disabled, QPalette.Text, brush2)
287
- palette3.setBrush(QPalette.Disabled, QPalette.ButtonText, brush2)
279
+ palette3.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.WindowText, brush)
280
+ palette3.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.Text, brush)
281
+ palette3.setBrush(QPalette.ColorGroup.Active, QPalette.ColorRole.ButtonText, brush)
282
+ palette3.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.WindowText, brush1)
283
+ palette3.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.Text, brush1)
284
+ palette3.setBrush(QPalette.ColorGroup.Inactive, QPalette.ColorRole.ButtonText, brush1)
285
+ palette3.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.WindowText, brush2)
286
+ palette3.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.Text, brush2)
287
+ palette3.setBrush(QPalette.ColorGroup.Disabled, QPalette.ColorRole.ButtonText, brush2)
288
288
  self.label_16.setPalette(palette3)
289
289
  self.label_16.setFont(font)
290
290
 
@@ -1,6 +1,6 @@
1
1
  # Resource object code (Python 3)
2
2
  # Created by: object code
3
- # Created by: The Resource Compiler for Qt version 6.7.2
3
+ # Created by: The Resource Compiler for Qt version 6.9.3
4
4
  # WARNING! All changes made in this file will be lost!
5
5
 
6
6
  from PySide6 import QtCore
@@ -827,15 +827,15 @@ qt_resource_struct = b"\
827
827
  \x00\x00\x00\x00\x00\x02\x00\x00\x00\x05\x00\x00\x00\x03\
828
828
  \x00\x00\x00\x00\x00\x00\x00\x00\
829
829
  \x00\x00\x00\x82\x00\x00\x00\x00\x00\x01\x00\x00(\xad\
830
- \x00\x00\x01\x88\xae\xf9[!\
830
+ \x00\x00\x01\x99\x91\xbe]p\
831
831
  \x00\x00\x00\x10\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
832
- \x00\x00\x01\x88\xae\xf9[!\
832
+ \x00\x00\x01\x99\x91\xbe]p\
833
833
  \x00\x00\x00j\x00\x00\x00\x00\x00\x01\x00\x00 \xcc\
834
- \x00\x00\x01\x88\xae\xf9[!\
834
+ \x00\x00\x01\x99\x91\xbe]p\
835
835
  \x00\x00\x00&\x00\x00\x00\x00\x00\x01\x00\x00\x0d^\
836
- \x00\x00\x01\x88\xae\xf9[!\
836
+ \x00\x00\x01\x99\x91\xbe]p\
837
837
  \x00\x00\x00:\x00\x01\x00\x00\x00\x01\x00\x00\x18|\
838
- \x00\x00\x01\x88\xae\xf9[!\
838
+ \x00\x00\x01\x99\x91\xbe]p\
839
839
  "
840
840
 
841
841
  def qInitResources():
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'gui.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.7.2
6
+ ## Created by: Qt User Interface Compiler version 6.9.2
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -102,7 +102,7 @@ class Ui_MainWindow(object):
102
102
  self.gridLayout_26.addWidget(self.label, 2, 0, 1, 3)
103
103
 
104
104
 
105
- self.formLayout.setWidget(0, QFormLayout.LabelRole, self.frame_71)
105
+ self.formLayout.setWidget(0, QFormLayout.ItemRole.LabelRole, self.frame_71)
106
106
 
107
107
  self.frame_72 = QFrame(self.frame_74)
108
108
  self.frame_72.setObjectName(u"frame_72")
@@ -161,7 +161,7 @@ class Ui_MainWindow(object):
161
161
  self.gridLayout_27.addWidget(self.label_111, 7, 0, 1, 1)
162
162
 
163
163
 
164
- self.formLayout.setWidget(0, QFormLayout.FieldRole, self.frame_72)
164
+ self.formLayout.setWidget(0, QFormLayout.ItemRole.FieldRole, self.frame_72)
165
165
 
166
166
  self.frame_75 = QFrame(self.frame_74)
167
167
  self.frame_75.setObjectName(u"frame_75")
@@ -187,7 +187,7 @@ class Ui_MainWindow(object):
187
187
  self.horizontalLayout_37.addWidget(self.autoNminusXButton)
188
188
 
189
189
 
190
- self.formLayout.setWidget(1, QFormLayout.SpanningRole, self.frame_75)
190
+ self.formLayout.setWidget(1, QFormLayout.ItemRole.SpanningRole, self.frame_75)
191
191
 
192
192
 
193
193
  self.verticalLayout_2.addWidget(self.frame_74)
@@ -1,6 +1,6 @@
1
1
  # Resource object code (Python 3)
2
2
  # Created by: object code
3
- # Created by: The Resource Compiler for Qt version 6.7.2
3
+ # Created by: The Resource Compiler for Qt version 6.9.3
4
4
  # WARNING! All changes made in this file will be lost!
5
5
 
6
6
  from PySide6 import QtCore
@@ -400,11 +400,11 @@ qt_resource_struct = b"\
400
400
  \x00\x00\x00\x10\x00\x02\x00\x00\x00\x03\x00\x00\x00\x03\
401
401
  \x00\x00\x00\x00\x00\x00\x00\x00\
402
402
  \x00\x00\x00N\x00\x01\x00\x00\x00\x01\x00\x00\x07\x14\
403
- \x00\x00\x01\x8b\xd7}+r\
403
+ \x00\x00\x01\x99\x91\xbe]r\
404
404
  \x00\x00\x00p\x00\x00\x00\x00\x00\x01\x00\x00\x0e\xb0\
405
- \x00\x00\x01\x8b\xd7}+r\
405
+ \x00\x00\x01\x99\x91\xbe]r\
406
406
  \x00\x00\x00 \x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\
407
- \x00\x00\x01\x8b\xd7}+r\
407
+ \x00\x00\x01\x99\x91\xbe]r\
408
408
  "
409
409
 
410
410
  def qInitResources():
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'gui.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.7.2
6
+ ## Created by: Qt User Interface Compiler version 6.9.2
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -1,6 +1,6 @@
1
1
  # Resource object code (Python 3)
2
2
  # Created by: object code
3
- # Created by: The Resource Compiler for Qt version 6.7.2
3
+ # Created by: The Resource Compiler for Qt version 6.9.3
4
4
  # WARNING! All changes made in this file will be lost!
5
5
 
6
6
  from PySide6 import QtCore
@@ -1521,27 +1521,27 @@ qt_resource_struct = b"\
1521
1521
  \x00\x00\x00\x10\x00\x02\x00\x00\x00\x0b\x00\x00\x00\x03\
1522
1522
  \x00\x00\x00\x00\x00\x00\x00\x00\
1523
1523
  \x00\x00\x006\x00\x01\x00\x00\x00\x01\x00\x00\x07v\
1524
- \x00\x00\x01\x88\xae\xf9[!\
1524
+ \x00\x00\x01\x99\x91\xbe]t\
1525
1525
  \x00\x00\x01D\x00\x00\x00\x00\x00\x01\x00\x00J\xde\
1526
- \x00\x00\x01\x88\xae\xf9[%\
1526
+ \x00\x00\x01\x99\x91\xbe]t\
1527
1527
  \x00\x00\x00\x86\x00\x00\x00\x00\x00\x01\x00\x00\x17.\
1528
- \x00\x00\x01\x88\xae\xf9[!\
1528
+ \x00\x00\x01\x99\x91\xbe]s\
1529
1529
  \x00\x00\x01\x02\x00\x01\x00\x00\x00\x01\x00\x00=U\
1530
- \x00\x00\x01\x88\xae\xf9[!\
1530
+ \x00\x00\x01\x99\x91\xbe]s\
1531
1531
  \x00\x00\x00f\x00\x00\x00\x00\x00\x01\x00\x00\x0c\x17\
1532
- \x00\x00\x01\x88\xae\xf9[!\
1532
+ \x00\x00\x01\x99\x91\xbe]s\
1533
1533
  \x00\x00\x01d\x00\x01\x00\x00\x00\x01\x00\x00TK\
1534
- \x00\x00\x01\x88\xae\xf9[!\
1534
+ \x00\x00\x01\x99\x91\xbe]s\
1535
1535
  \x00\x00\x00\xec\x00\x00\x00\x00\x00\x01\x00\x004i\
1536
- \x00\x00\x01\x88\xae\xf9[!\
1536
+ \x00\x00\x01\x99\x91\xbe]s\
1537
1537
  \x00\x00\x01&\x00\x00\x00\x00\x00\x01\x00\x00A\xf0\
1538
- \x00\x00\x01\x88\xae\xf9[!\
1538
+ \x00\x00\x01\x99\x91\xbe]t\
1539
1539
  \x00\x00\x00 \x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
1540
- \x00\x00\x01\x88\xae\xf9[!\
1540
+ \x00\x00\x01\x99\x91\xbe]s\
1541
1541
  \x00\x00\x00\xa6\x00\x00\x00\x00\x00\x01\x00\x00!'\
1542
- \x00\x00\x01\x88\xae\xf9[!\
1542
+ \x00\x00\x01\x99\x91\xbe]s\
1543
1543
  \x00\x00\x00\xc0\x00\x00\x00\x00\x00\x01\x00\x00)v\
1544
- \x00\x00\x01\x88\xae\xf9[!\
1544
+ \x00\x00\x01\x99\x91\xbe]s\
1545
1545
  "
1546
1546
 
1547
1547
  def qInitResources():
@@ -1,6 +1,6 @@
1
1
  # Resource object code (Python 3)
2
2
  # Created by: object code
3
- # Created by: The Resource Compiler for Qt version 6.7.2
3
+ # Created by: The Resource Compiler for Qt version 6.9.3
4
4
  # WARNING! All changes made in this file will be lost!
5
5
 
6
6
  from PySide6 import QtCore
@@ -248,7 +248,7 @@ qt_resource_struct = b"\
248
248
  \x00\x00\x00\x10\x00\x02\x00\x00\x00\x01\x00\x00\x00\x03\
249
249
  \x00\x00\x00\x00\x00\x00\x00\x00\
250
250
  \x00\x00\x00 \x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\
251
- \x00\x00\x01\x98\xef\x8e\xbd\x8b\
251
+ \x00\x00\x01\x99\xa6\xd8CE\
252
252
  "
253
253
 
254
254
  def qInitResources():
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'rms_model_editor.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.7.2
6
+ ## Created by: Qt User Interface Compiler version 6.9.2
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -74,23 +74,23 @@ class Ui_MainWindow(object):
74
74
  self.verticalLayout_7.setContentsMargins(-1, 8, -1, -1)
75
75
  self.datalistWidget = QListWidget(self.frame_8)
76
76
  brush = QBrush(QColor(64, 191, 83, 255))
77
- brush.setStyle(Qt.NoBrush)
77
+ brush.setStyle(Qt.BrushStyle.NoBrush)
78
78
  __qlistwidgetitem = QListWidgetItem(self.datalistWidget)
79
79
  __qlistwidgetitem.setForeground(brush);
80
80
  brush1 = QBrush(QColor(64, 191, 83, 255))
81
- brush1.setStyle(Qt.NoBrush)
81
+ brush1.setStyle(Qt.BrushStyle.NoBrush)
82
82
  __qlistwidgetitem1 = QListWidgetItem(self.datalistWidget)
83
83
  __qlistwidgetitem1.setForeground(brush1);
84
84
  brush2 = QBrush(QColor(26, 95, 180, 255))
85
- brush2.setStyle(Qt.NoBrush)
85
+ brush2.setStyle(Qt.BrushStyle.NoBrush)
86
86
  __qlistwidgetitem2 = QListWidgetItem(self.datalistWidget)
87
87
  __qlistwidgetitem2.setForeground(brush2);
88
88
  brush3 = QBrush(QColor(26, 95, 180, 255))
89
- brush3.setStyle(Qt.NoBrush)
89
+ brush3.setStyle(Qt.BrushStyle.NoBrush)
90
90
  __qlistwidgetitem3 = QListWidgetItem(self.datalistWidget)
91
91
  __qlistwidgetitem3.setForeground(brush3);
92
92
  brush4 = QBrush(QColor(255, 120, 0, 255))
93
- brush4.setStyle(Qt.NoBrush)
93
+ brush4.setStyle(Qt.BrushStyle.NoBrush)
94
94
  __qlistwidgetitem4 = QListWidgetItem(self.datalistWidget)
95
95
  __qlistwidgetitem4.setForeground(brush4);
96
96
  self.datalistWidget.setObjectName(u"datalistWidget")
@@ -37,7 +37,7 @@ if TYPE_CHECKING: # Only imports the below statements during type checking
37
37
  from VeraGrid.Gui.Diagrams.SchematicWidget.Branches.transformer3w_graphics import Transformer3WGraphicItem
38
38
  from VeraGrid.Gui.Diagrams.SchematicWidget.Branches.vsc_graphics_3term import VscGraphicItem3Term
39
39
 
40
- NODE_GRAPHIC = BusGraphicItem | FluidNodeGraphicItem
40
+ NODE_GRAPHIC = Union[BusGraphicItem, FluidNodeGraphicItem]
41
41
 
42
42
 
43
43
  class TransformerSymbol(QGraphicsRectItem):
@@ -33,7 +33,6 @@ from VeraGrid.Gui.Diagrams.SchematicWidget.Injections.controllable_shunt_graphic
33
33
  ControllableShunt)
34
34
  from VeraGrid.Gui.Diagrams.Editors.RmsModelEditor.rms_model_editor_engine import RmsModelEditorGUI
35
35
 
36
-
37
36
  from VeraGrid.Gui.SubstationDesigner.voltage_level_conversion import VoltageLevelConversionWizard
38
37
  from VeraGridEngine.enumerations import DeviceType, FaultType, BusGraphicType
39
38
  from VeraGridEngine.Devices.types import INJECTION_DEVICE_TYPES
@@ -243,6 +242,13 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
243
242
 
244
243
  return conn
245
244
 
245
+ def get_associated_shunt_graphics(self) -> List[INJECTION_GRAPHICS]:
246
+ """
247
+ List of associated shunt graphics
248
+ :return:
249
+ """
250
+ return self._child_graphics
251
+
246
252
  def get_associated_widgets(self) -> List[GenericDiagramWidget | INJECTION_GRAPHICS]:
247
253
  """
248
254
  Get a list of all associated graphics
@@ -576,6 +582,10 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
576
582
  icon_path=":/Icons/icons/voltage_level.svg",
577
583
  function_ptr=self.convert_to_voltage_level)
578
584
 
585
+ add_menu_entry(menu, text='Convert to impedances circuit',
586
+ icon_path=":/Icons/icons/voltage_level.svg",
587
+ function_ptr=self.convert_to_connectivity_grid)
588
+
579
589
  add_menu_entry(menu, text='Expand schematic',
580
590
  icon_path=":/Icons/icons/grid_icon.svg",
581
591
  function_ptr=self.expand_diagram_from_bus)
@@ -636,7 +646,6 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
636
646
  dlg = RmsModelEditorGUI(self.api_object, parent=self.editor)
637
647
  dlg.show()
638
648
 
639
-
640
649
  def assign_status_to_profile(self):
641
650
  """
642
651
  Assign the snapshot rate to the profile
@@ -674,11 +683,16 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
674
683
  """
675
684
  self.vl_wizard = VoltageLevelConversionWizard()
676
685
 
677
-
678
-
679
686
  # open
680
687
  self.vl_wizard.show()
681
688
 
689
+ def convert_to_connectivity_grid(self):
690
+ """
691
+ Transform this bus into a grid of buses to be able to compute the bus currents
692
+ and delete this bus afterwards
693
+ """
694
+ self.editor.transform_busbar_to_connectivity_grid(bus_graphics=self)
695
+
682
696
  def expand_diagram_from_bus(self) -> None:
683
697
  """
684
698
  Expands the diagram from this bus
@@ -41,6 +41,7 @@ from VeraGridEngine.Devices.Diagrams.schematic_diagram import SchematicDiagram
41
41
  from VeraGridEngine.Devices.Diagrams.graphic_location import GraphicLocation
42
42
  from VeraGridEngine.Simulations.OPF.opf_ts_results import OptimalPowerFlowTimeSeriesResults
43
43
  from VeraGridEngine.Simulations.PowerFlow.power_flow_ts_results import PowerFlowTimeSeriesResults
44
+ from VeraGridEngine.Topology.substation_wizards import transform_busbar_to_connectivity_grid
44
45
  from VeraGridEngine.enumerations import DeviceType, ResultTypes, TerminalType, BusGraphicType
45
46
  from VeraGridEngine.basic_structures import Vec, CxVec, IntVec, Logger
46
47
 
@@ -4711,19 +4712,19 @@ class SchematicWidget(BaseDiagramWidget):
4711
4712
  if idx_bus_list[0][1] == line_graphics.api_object.bus_from:
4712
4713
  idx, old_bus, old_bus_graphic_item = idx_bus_list[0]
4713
4714
  idx, new_bus, new_bus_graphic_item = idx_bus_list[1]
4714
- side = 'f'
4715
+
4715
4716
  elif idx_bus_list[1][1] == line_graphics.api_object.bus_from:
4716
4717
  idx, new_bus, new_bus_graphic_item = idx_bus_list[0]
4717
4718
  idx, old_bus, old_bus_graphic_item = idx_bus_list[1]
4718
- side = 'f'
4719
+
4719
4720
  elif idx_bus_list[0][1] == line_graphics.api_object.bus_to:
4720
4721
  idx, old_bus, old_bus_graphic_item = idx_bus_list[0]
4721
4722
  idx, new_bus, new_bus_graphic_item = idx_bus_list[1]
4722
- side = 't'
4723
+
4723
4724
  elif idx_bus_list[1][1] == line_graphics.api_object.bus_to:
4724
4725
  idx, new_bus, new_bus_graphic_item = idx_bus_list[0]
4725
4726
  idx, old_bus, old_bus_graphic_item = idx_bus_list[1]
4726
- side = 't'
4727
+
4727
4728
  else:
4728
4729
  error_msg(text="The 'from' or 'to' bus to change has not been selected!",
4729
4730
  title='Change bus')
@@ -4734,14 +4735,17 @@ class SchematicWidget(BaseDiagramWidget):
4734
4735
  title='Change bus')
4735
4736
 
4736
4737
  if ok:
4737
- if side == 'f':
4738
- line_graphics.api_object.bus_from = new_bus
4739
- line_graphics.set_from_port(new_bus_graphic_item.get_terminal())
4740
- elif side == 't':
4741
- line_graphics.api_object.bus_to = new_bus
4742
- line_graphics.set_to_port(new_bus_graphic_item.get_terminal())
4743
- else:
4744
- raise Exception('Unsupported side value {}'.format(side))
4738
+ new_bus_graphic_item.get_terminal().reassign_terminal(
4739
+ graphic_obj=line_graphics,
4740
+ another_terminal=old_bus_graphic_item.get_terminal()
4741
+ )
4742
+
4743
+ line_graphics.api_object.reassign_bus(
4744
+ old_bus=old_bus,
4745
+ new_bus=new_bus
4746
+ )
4747
+
4748
+ new_bus_graphic_item.get_terminal().update()
4745
4749
 
4746
4750
  else:
4747
4751
  warning_msg("you must select the origin and destination buses!",
@@ -4878,6 +4882,43 @@ class SchematicWidget(BaseDiagramWidget):
4878
4882
 
4879
4883
  self.draw_additional_diagram(diagram=diagram)
4880
4884
 
4885
+ def transform_busbar_to_connectivity_grid(self, bus_graphics: BusGraphicItem):
4886
+ """
4887
+ Transform the bus into a grid of buses to be able to compute the bus currents
4888
+ :param bus_graphics: BusGraphicItem
4889
+ """
4890
+
4891
+ # convert a bus into many small buses connected by impedances
4892
+ new_buses, new_lines = transform_busbar_to_connectivity_grid(grid=self.circuit,
4893
+ busbar=bus_graphics.api_object)
4894
+
4895
+ # add the new buses
4896
+ self.add_buses(buses=new_buses)
4897
+
4898
+ # connected branches
4899
+ branch_graphics = bus_graphics.get_associated_branch_graphics()
4900
+
4901
+ # Note: graphical shunts have been added already
4902
+ # the order of the buses matches the order of the branches because the
4903
+ # transformation function already works like that
4904
+ for i, branch_graphic in enumerate(branch_graphics):
4905
+ new_bus_graphic: BusGraphicItem = self.graphics_manager.query(new_buses[i])
4906
+
4907
+ new_bus_graphic.terminal.reassign_terminal(
4908
+ graphic_obj=branch_graphic,
4909
+ another_terminal=bus_graphics.terminal
4910
+ )
4911
+
4912
+ branch_graphic.api_object.reassign_bus(
4913
+ old_bus=bus_graphics.api_object,
4914
+ new_bus=new_bus_graphic.api_object
4915
+ )
4916
+
4917
+ new_bus_graphic.get_terminal().update()
4918
+
4919
+ # Finally delete the old bus
4920
+ self.delete_element_utility_function(device=bus_graphics.api_object)
4921
+
4881
4922
 
4882
4923
  def generate_schematic_diagram(buses: List[Bus],
4883
4924
  lines: List[Line],