VeraGrid 5.6.1__tar.gz → 5.6.3__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 (311) hide show
  1. {veragrid-5.6.1 → veragrid-5.6.3}/PKG-INFO +1 -1
  2. veragrid-5.6.3/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_battery_graphics.py +42 -0
  3. veragrid-5.6.3/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_external_grid_graphics.py +42 -0
  4. veragrid-5.6.3/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_generator_graphics.py +256 -0
  5. veragrid-5.6.3/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_injections_template_graphics.py +234 -0
  6. veragrid-5.6.3/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_load_graphics.py +87 -0
  7. veragrid-5.6.3/VeraGrid/Gui/Diagrams/MapWidget/Injections/map_static_generator_graphics.py +41 -0
  8. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Substation/node_template.py +1 -8
  9. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +151 -19
  10. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/grid_map_widget.py +294 -28
  11. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/map_widget.py +8 -5
  12. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +4 -0
  13. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +4 -0
  14. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +21 -16
  15. veragrid-5.6.3/VeraGrid/Gui/Diagrams/SchematicWidget/diagram_bus_selection_dialogue.py +82 -0
  16. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/schematic_widget.py +41 -10
  17. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/base_diagram_widget.py +4 -1
  18. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/generic_graphics.py +12 -0
  19. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/graphics_manager.py +17 -4
  20. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridReduce/grid_reduce.py +48 -23
  21. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridReduce/grid_reduce_gui.py +7 -0
  22. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/MainWindow.py +193 -164
  23. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Model/data_base.py +21 -6
  24. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Model/diagrams.py +90 -53
  25. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/base_gui.py +3 -0
  26. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/simulations.py +261 -123
  27. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/icons_rc.py +2 -2
  28. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RmsModelEditor/block_data_dialogue.py +6 -6
  29. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RmsModelEditor/icons_rc.py +2 -2
  30. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RmsModelEditor/rms_model_editor.py +7 -2
  31. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RmsModelEditor/rms_model_editor_engine.py +500 -76
  32. veragrid-5.6.3/VeraGrid/Gui/Widgets/__init__.py +0 -0
  33. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/general_dialogues.py +79 -24
  34. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/gui_functions.py +46 -1
  35. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/messages.py +20 -6
  36. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Session/session.py +15 -3
  37. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/__version__.py +1 -1
  38. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/templates.py +16 -11
  39. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ExecuteVeraGrid.py +0 -0
  40. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/AboutDialogue/__init__.py +0 -0
  41. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/AboutDialogue/about_dialogue.py +0 -0
  42. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/AboutDialogue/gui.py +0 -0
  43. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/AboutDialogue/icons_rc.py +0 -0
  44. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/AboutDialogue/update_gui_file.py +0 -0
  45. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Analysis/AnalysisDialogue.py +0 -0
  46. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Analysis/__init__.py +0 -0
  47. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Analysis/gui.py +0 -0
  48. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Analysis/icons_rc.py +0 -0
  49. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Analysis/object_plot_analysis.py +0 -0
  50. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Analysis/update_gui_file.py +0 -0
  51. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ContingencyPlanner/__init__.py +0 -0
  52. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  53. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ContingencyPlanner/gui.py +0 -0
  54. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ContingencyPlanner/icons_rc.py +0 -0
  55. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  56. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/CoordinatesInput/__init__.py +0 -0
  57. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  58. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/CoordinatesInput/gui.py +0 -0
  59. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/CoordinatesInput/icons_rc.py +0 -0
  60. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/CoordinatesInput/update_gui_file.py +0 -0
  61. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/__init__.py +0 -0
  62. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/controllable_shunt_editor.py +0 -0
  63. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/generator_editor.py +0 -0
  64. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/line_editor.py +0 -0
  65. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/new_line_dialogue.py +0 -0
  66. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/transformer3w_editor.py +0 -0
  67. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/transformer_editor.py +0 -0
  68. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/Editors/transformer_taps_editor.py +0 -0
  69. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  70. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/line_location_graphic_item.py +0 -0
  71. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  72. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  73. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  74. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  75. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  76. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  77. {veragrid-5.6.1/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid → veragrid-5.6.3/VeraGrid/Gui/Diagrams/MapWidget/Injections}/__init__.py +0 -0
  78. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  79. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  80. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  81. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  82. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  83. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  84. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  85. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  86. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  87. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  88. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  89. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  90. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/MapWidget/__init__.py +0 -0
  91. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  92. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  93. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  94. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  95. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
  96. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  97. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  98. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  99. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  100. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  101. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  102. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics_3term.py +0 -0
  103. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  104. {veragrid-5.6.1/VeraGrid/Gui/Diagrams/SchematicWidget/Injections → veragrid-5.6.3/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid}/__init__.py +0 -0
  105. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  106. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  107. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  108. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  109. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  110. {veragrid-5.6.1/VeraGrid/Gui/Diagrams/SchematicWidget/Substation → veragrid-5.6.3/VeraGrid/Gui/Diagrams/SchematicWidget/Injections}/__init__.py +0 -0
  111. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  112. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  113. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  114. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  115. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  116. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  117. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  118. {veragrid-5.6.1/VeraGrid/Gui/GridMerge → veragrid-5.6.3/VeraGrid/Gui/Diagrams/SchematicWidget/Substation}/__init__.py +0 -0
  119. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  120. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  121. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
  122. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/__init__.py +0 -0
  123. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Diagrams/diagrams_model.py +0 -0
  124. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridGenerator/__init__.py +0 -0
  125. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  126. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridGenerator/gui.py +0 -0
  127. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridGenerator/icons_rc.py +0 -0
  128. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridGenerator/update_gui_file.py +0 -0
  129. {veragrid-5.6.1/VeraGrid/Gui/GridReduce → veragrid-5.6.3/VeraGrid/Gui/GridMerge}/__init__.py +0 -0
  130. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridMerge/build_diff_tree.py +0 -0
  131. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridMerge/grid_diff.py +0 -0
  132. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridMerge/grid_diff_gui.py +0 -0
  133. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridMerge/grid_merge.py +0 -0
  134. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridMerge/grid_merge_gui.py +0 -0
  135. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridMerge/update_gui_file.py +0 -0
  136. {veragrid-5.6.1/VeraGrid/Gui/ProfilesInput → veragrid-5.6.3/VeraGrid/Gui/GridReduce}/__init__.py +0 -0
  137. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/GridReduce/update_gui_file.py +0 -0
  138. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadCatalogue/SelectComponents.py +0 -0
  139. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadCatalogue/__init__.py +0 -0
  140. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  141. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadCatalogue/icons_rc.py +0 -0
  142. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadCatalogue/update_gui_file.py +0 -0
  143. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadDesigner/__init__.py +0 -0
  144. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadDesigner/icons_rc.py +0 -0
  145. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadDesigner/load_designer.py +0 -0
  146. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadDesigner/load_designer_ui.py +0 -0
  147. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/LoadDesigner/update_gui_file.py +0 -0
  148. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/ConsoleLog.py +0 -0
  149. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/ConsoleLogController.py +0 -0
  150. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Model/__init__.py +0 -0
  151. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  152. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Model/compiled_arrays_model.py +0 -0
  153. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Model/time_events.py +0 -0
  154. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/README.txt +0 -0
  155. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Results/__init__.py +0 -0
  156. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Results/results.py +0 -0
  157. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  158. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  159. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Server/__init__.py +0 -0
  160. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Server/server.py +0 -0
  161. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  162. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  163. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/__init__.py +0 -0
  164. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/SubClasses/io.py +0 -0
  165. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/VeraGridMain.py +0 -0
  166. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/__init__.py +0 -0
  167. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/object_select_window.py +0 -0
  168. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Main/update_gui_file.py +0 -0
  169. {veragrid-5.6.1/VeraGrid/Gui/SolarPowerWizard → veragrid-5.6.3/VeraGrid/Gui/ProfilesInput}/__init__.py +0 -0
  170. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/excel_dialog.py +0 -0
  171. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  172. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/icons_rc.py +0 -0
  173. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/models_dialogue.py +0 -0
  174. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/profile_dialogue.py +0 -0
  175. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  176. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  177. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/ProfilesInput/update_gui_file.py +0 -0
  178. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RmsModelEditor/__init__.py +0 -0
  179. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RmsModelEditor/update_gui_file.py +0 -0
  180. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RosetaExplorer/MainWindow.py +0 -0
  181. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  182. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RosetaExplorer/__init__.py +0 -0
  183. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RosetaExplorer/icons_rc.py +0 -0
  184. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  185. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/RosetaExplorer/update_gui_file.py +0 -0
  186. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SigmaAnalysis/__init__.py +0 -0
  187. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SigmaAnalysis/gui.py +0 -0
  188. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SigmaAnalysis/icons_rc.py +0 -0
  189. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  190. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  191. {veragrid-5.6.1/VeraGrid/Gui/Widgets → veragrid-5.6.3/VeraGrid/Gui/SolarPowerWizard}/__init__.py +0 -0
  192. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SolarPowerWizard/gui.py +0 -0
  193. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SolarPowerWizard/icons_rc.py +0 -0
  194. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  195. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  196. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SubstationDesigner/__init__.py +0 -0
  197. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SubstationDesigner/substation_designer.py +0 -0
  198. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SubstationDesigner/substation_designer_gui.py +0 -0
  199. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SubstationDesigner/update_gui_file.py +0 -0
  200. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SubstationDesigner/voltage_level_conversion.py +0 -0
  201. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SyncDialogue/__init__.py +0 -0
  202. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SyncDialogue/gui.py +0 -0
  203. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SyncDialogue/icons_rc.py +0 -0
  204. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SyncDialogue/sync_dialogue.py +0 -0
  205. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SyncDialogue/update_gui_file.py +0 -0
  206. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SystemScaler/__init__.py +0 -0
  207. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SystemScaler/icons_rc.py +0 -0
  208. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SystemScaler/system_scaler.py +0 -0
  209. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SystemScaler/system_scaler_ui.py +0 -0
  210. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/SystemScaler/update_gui_file.py +0 -0
  211. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  212. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TowerBuilder/__init__.py +0 -0
  213. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TowerBuilder/icons_rc.py +0 -0
  214. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TowerBuilder/table_models.py +0 -0
  215. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TowerBuilder/tower_builder.py +0 -0
  216. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TowerBuilder/update_gui_file.py +0 -0
  217. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TreeModelViewer/MainWindow.py +0 -0
  218. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  219. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TreeModelViewer/__init__.py +0 -0
  220. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TreeModelViewer/icons_rc.py +0 -0
  221. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/TreeModelViewer/update_gui_file.py +0 -0
  222. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Visualization/__init__.py +0 -0
  223. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Visualization/visualization.py +0 -0
  224. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Widgets/custom_qrangeslider.py +0 -0
  225. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/Widgets/matplotlibwidget.py +0 -0
  226. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/WindPowerWizard/__init__.py +0 -0
  227. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/WindPowerWizard/gui.py +0 -0
  228. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/WindPowerWizard/icons_rc.py +0 -0
  229. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/WindPowerWizard/update_gui_file.py +0 -0
  230. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  231. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/__init__.py +0 -0
  232. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/associations_model.py +0 -0
  233. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/correct_icons.py +0 -0
  234. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/object_model.py +0 -0
  235. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/object_proxy_model.py +0 -0
  236. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/pandas_model.py +0 -0
  237. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/plot_config.py +0 -0
  238. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/profiles_model.py +0 -0
  239. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/python_console.py +0 -0
  240. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/python_highlighter.py +0 -0
  241. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/results_model.py +0 -0
  242. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/rms_events_editor_dialog.py +0 -0
  243. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/rms_plot_variables_dialog.py +0 -0
  244. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/table_view_header_wrap.py +0 -0
  245. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/themes.py +0 -0
  246. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/toast_widget.py +0 -0
  247. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/update_gui_all.py +0 -0
  248. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/update_gui_common.py +0 -0
  249. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Gui/wrappable_table_model.py +0 -0
  250. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/LICENSE.txt +0 -0
  251. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Session/__init__.py +0 -0
  252. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Session/export_results_driver.py +0 -0
  253. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Session/file_handler.py +0 -0
  254. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Session/server_driver.py +0 -0
  255. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/Session/synchronization_driver.py +0 -0
  256. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/__init__.py +0 -0
  257. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/darkdetect/__init__.py +0 -0
  258. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/darkdetect/_dummy.py +0 -0
  259. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/darkdetect/_linux_detect.py +0 -0
  260. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/darkdetect/_mac_detect.py +0 -0
  261. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/darkdetect/_windows_detect.py +0 -0
  262. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/__init__.py +0 -0
  263. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_color.py +0 -0
  264. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  265. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  266. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  267. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_main.py +0 -0
  268. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  269. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  270. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  271. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  272. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  273. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  274. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  275. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  276. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  277. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  278. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  279. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_style_loader.py +0 -0
  280. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  281. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_template/engine.py +0 -0
  282. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_template/filter.py +0 -0
  283. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/_util.py +0 -0
  284. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  285. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  286. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  287. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  288. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  289. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  290. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  291. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  292. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  293. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  294. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  295. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  296. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  297. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  298. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  299. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  300. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/__init__.py +0 -0
  301. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/data/VeraGrid.ico +0 -0
  302. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/data/VeraGrid.svg +0 -0
  303. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/data/__init__.py +0 -0
  304. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/data/cables.csv +0 -0
  305. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/data/sequence_lines.csv +0 -0
  306. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/data/transformers.csv +0 -0
  307. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/data/wires.csv +0 -0
  308. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/plugins.py +0 -0
  309. {veragrid-5.6.1 → veragrid-5.6.3}/VeraGrid/update.py +0 -0
  310. {veragrid-5.6.1 → veragrid-5.6.3}/setup.cfg +0 -0
  311. {veragrid-5.6.1 → veragrid-5.6.3}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: VeraGrid
3
- Version: 5.6.1
3
+ Version: 5.6.3
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.
@@ -0,0 +1,42 @@
1
+ # This Source Code Form is subject to the terms of the Mozilla Public
2
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ # file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
+ # SPDX-License-Identifier: MPL-2.0
5
+ from __future__ import annotations
6
+ from typing import TYPE_CHECKING
7
+
8
+ from VeraGridEngine.Devices.Injections.battery import Battery
9
+ from VeraGrid.Gui.Diagrams.MapWidget.Injections.map_injections_template_graphics import MapInjectionTemplateGraphicItem
10
+
11
+ if TYPE_CHECKING: # Only imports the below statements during type checking
12
+ from VeraGrid.Gui.Diagrams.MapWidget.grid_map_widget import GridMapWidget
13
+
14
+
15
+ class MapBatteryGraphicItem(MapInjectionTemplateGraphicItem):
16
+
17
+ def __init__(self, api_object: Battery,
18
+ editor: GridMapWidget,
19
+ lat: float,
20
+ lon: float,
21
+ size: float = 0.8,
22
+ draw_labels: bool = True):
23
+ """
24
+
25
+ :param api_object:
26
+ :param editor:
27
+ """
28
+ MapInjectionTemplateGraphicItem.__init__(self,
29
+ api_object=api_object,
30
+ editor=editor,
31
+ lat=lat,
32
+ lon=lon,
33
+ size=size,
34
+ draw_labels=draw_labels)
35
+
36
+ @property
37
+ def api_object(self) -> Battery:
38
+ """
39
+
40
+ :return:
41
+ """
42
+ return self._api_object
@@ -0,0 +1,42 @@
1
+ # This Source Code Form is subject to the terms of the Mozilla Public
2
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ # file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
+ # SPDX-License-Identifier: MPL-2.0
5
+ from __future__ import annotations
6
+ from typing import TYPE_CHECKING
7
+
8
+ from VeraGrid.Gui.Diagrams.generic_graphics import Square
9
+ from VeraGridEngine.Devices.Injections.external_grid import ExternalGrid
10
+ from VeraGrid.Gui.Diagrams.MapWidget.Injections.map_injections_template_graphics import MapInjectionTemplateGraphicItem
11
+
12
+ if TYPE_CHECKING: # Only imports the below statements during type checking
13
+ from VeraGrid.Gui.Diagrams.MapWidget.grid_map_widget import GridMapWidget
14
+
15
+
16
+ class MapExternalGridGraphicItem(MapInjectionTemplateGraphicItem):
17
+ """
18
+ ExternalGrid graphic item
19
+ """
20
+
21
+ def __init__(self, api_object: ExternalGrid,
22
+ editor: GridMapWidget,
23
+ lat: float,
24
+ lon: float,
25
+ size: float = 0.8,
26
+ draw_labels: bool = True):
27
+ """
28
+
29
+ :param api_object:
30
+ :param editor:
31
+ """
32
+ MapInjectionTemplateGraphicItem.__init__(self,
33
+ api_object=api_object,
34
+ editor=editor,
35
+ lat=lat,
36
+ lon=lon,
37
+ size=size,
38
+ draw_labels=draw_labels)
39
+
40
+ @property
41
+ def api_object(self) -> ExternalGrid:
42
+ return self._api_object
@@ -0,0 +1,256 @@
1
+ # This Source Code Form is subject to the terms of the Mozilla Public
2
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ # file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
+ # SPDX-License-Identifier: MPL-2.0
5
+
6
+ from __future__ import annotations
7
+
8
+ from typing import TYPE_CHECKING
9
+ import numpy as np
10
+ from PySide6 import QtWidgets, QtCore
11
+ from PySide6.QtWidgets import QMenu
12
+ from VeraGridEngine.Devices.Injections.generator import Generator
13
+ from VeraGrid.Gui.Diagrams.Editors.generator_editor import GeneratorQCurveEditor
14
+ from VeraGrid.Gui.messages import yes_no_question, info_msg
15
+ from VeraGrid.Gui.Diagrams.MapWidget.Injections.map_injections_template_graphics import MapInjectionTemplateGraphicItem
16
+ from VeraGrid.Gui.SolarPowerWizard.solar_power_wizzard import SolarPvWizard
17
+ from VeraGrid.Gui.WindPowerWizard.wind_power_wizzard import WindFarmWizard
18
+ from VeraGrid.Gui.gui_functions import add_menu_entry
19
+ from VeraGrid.Gui.RmsModelEditor.rms_model_editor_engine import RmsModelEditorGUI
20
+ from VeraGridEngine.enumerations import DeviceType
21
+
22
+ if TYPE_CHECKING: # Only imports the below statements during type checking
23
+ from VeraGrid.Gui.Diagrams.MapWidget.grid_map_widget import GridMapWidget
24
+
25
+
26
+ class MapGeneratorGraphicItem(MapInjectionTemplateGraphicItem):
27
+ """
28
+ GeneratorGraphicItem
29
+ """
30
+
31
+ def __init__(self, api_object: Generator,
32
+ editor: GridMapWidget,
33
+ lat: float,
34
+ lon: float,
35
+ size: float = 0.8,
36
+ draw_labels: bool = True):
37
+ """
38
+
39
+ :param api_object:
40
+ :param editor:
41
+ """
42
+ MapInjectionTemplateGraphicItem.__init__(self,
43
+ api_object=api_object,
44
+ editor=editor,
45
+ lat=lat,
46
+ lon=lon,
47
+ size=size,
48
+ draw_labels=draw_labels)
49
+
50
+ @property
51
+ def api_object(self) -> Generator:
52
+ return self._api_object
53
+
54
+ def contextMenuEvent(self, event):
55
+ """
56
+ Display context menu
57
+ @param event:
58
+ @return:
59
+ """
60
+ menu = QMenu()
61
+ menu.addSection("Generator")
62
+
63
+ # add_menu_entry(menu=menu,
64
+ # text="Active",
65
+ # icon_path="",
66
+ # function_ptr=self.enable_disable_toggle,
67
+ # checkeable=True,
68
+ # checked_value=self.api_object.active)
69
+
70
+ add_menu_entry(menu=menu,
71
+ text="Voltage control",
72
+ icon_path="",
73
+ function_ptr=self.enable_disable_control_toggle,
74
+ checkeable=True,
75
+ checked_value=self.api_object.is_controlled)
76
+
77
+ add_menu_entry(menu=menu,
78
+ text="Set regulation bus",
79
+ icon_path="",
80
+ function_ptr=self.set_regulation_bus)
81
+
82
+ add_menu_entry(menu=menu,
83
+ text="Rms Editor",
84
+ function_ptr=self.edit_rms,
85
+ icon_path=":/Icons/icons/edit.png")
86
+
87
+ add_menu_entry(menu=menu,
88
+ text="Qcurve edit",
89
+ function_ptr=self.edit_q_curve,
90
+ icon_path=":/Icons/icons/edit.png")
91
+
92
+ menu.addSeparator()
93
+
94
+ add_menu_entry(menu=menu,
95
+ text="Plot profiles",
96
+ icon_path=":/Icons/icons/plot.png",
97
+ function_ptr=self.plot)
98
+
99
+ menu.addSeparator()
100
+
101
+ add_menu_entry(menu=menu,
102
+ text="Solar photovoltaic wizard",
103
+ icon_path=":/Icons/icons/solar_power.png",
104
+ function_ptr=self.solar_pv_wizard)
105
+
106
+ add_menu_entry(menu=menu,
107
+ text="Wind farm wizard",
108
+ icon_path=":/Icons/icons/wind_power.png",
109
+ function_ptr=self.wind_farm_wizard)
110
+
111
+ menu.addSeparator()
112
+
113
+ add_menu_entry(menu, text='Remove',
114
+ icon_path=":/Icons/icons/delete_schematic.png",
115
+ function_ptr=self.delete)
116
+
117
+ add_menu_entry(menu=menu,
118
+ text="Convert to battery",
119
+ icon_path=":/Icons/icons/add_batt.png",
120
+ function_ptr=self.to_battery)
121
+
122
+ add_menu_entry(menu=menu,
123
+ text="Change bus",
124
+ icon_path=":/Icons/icons/move_bus.png",
125
+ function_ptr=self.change_bus)
126
+
127
+ menu.exec_(event.screenPos())
128
+
129
+ def edit_rms(self):
130
+ """
131
+
132
+ :return:
133
+ """
134
+ # load templates
135
+ templates = self.editor.circuit.rms_models
136
+
137
+ # select line templates
138
+ templ_catalogue = dict()
139
+ templ_list = []
140
+ for templ in templates:
141
+ if templ.tpe == DeviceType.GeneratorDevice:
142
+ templ_list.append(templ.name)
143
+ templ_catalogue[templ.name] = templ
144
+
145
+ # prompt RmsModelEditorGUI
146
+
147
+ rms_model_editor = RmsModelEditorGUI(api_object_model_host=self.api_object.rms_model, templates_list=templ_list,
148
+ templates_catalogue=templ_catalogue, api_object_name=self.api_object.name,
149
+ api_object=self.api_object, main_editor=True, parent=self.editor)
150
+ rms_model_editor.show()
151
+
152
+ def to_battery(self):
153
+ """
154
+ Convert this generator to a battery
155
+ """
156
+ ok = yes_no_question('Are you sure that you want to convert this generator into a battery?',
157
+ 'Convert generator')
158
+ if ok:
159
+ self._editor.convert_generator_to_battery(gen=self.api_object, graphic_object=self)
160
+
161
+ def enable_disable_control_toggle(self):
162
+ """
163
+ Enable / Disable device voltage control
164
+ """
165
+ if self.api_object is not None:
166
+ self.api_object.is_controlled = not self.api_object.is_controlled
167
+
168
+ def set_regulation_bus(self):
169
+ """
170
+ Set regulation bus
171
+ :return:
172
+ """
173
+ self._editor.set_generator_control_bus(generator_graphics=self)
174
+
175
+ def clear_regulation_bus(self):
176
+ """
177
+
178
+ :return:
179
+ """
180
+ self.api_object.control_bus = None
181
+
182
+ def clear_regulation_cn(self):
183
+ """
184
+
185
+ :return:
186
+ """
187
+ self.api_object.control_cn = None
188
+
189
+ def edit_q_curve(self):
190
+ """
191
+ Open the appropriate editor dialogue
192
+ :return:
193
+ """
194
+ dlg = GeneratorQCurveEditor(q_curve=self.api_object.q_curve,
195
+ Qmin=self.api_object.Qmin,
196
+ Qmax=self.api_object.Qmax,
197
+ Pmin=self.api_object.Pmin,
198
+ Pmax=self.api_object.Pmax,
199
+ Snom=self.api_object.Snom)
200
+ if dlg.exec():
201
+ pass
202
+
203
+ self.api_object.Snom = np.round(dlg.Snom, 1) if dlg.Snom > 1 else dlg.Snom
204
+ self.api_object.Qmin = dlg.Qmin
205
+ self.api_object.Qmax = dlg.Qmax
206
+ self.api_object.Pmin = dlg.Pmin
207
+ self.api_object.Pmax = dlg.Pmax
208
+
209
+ def solar_pv_wizard(self):
210
+ """
211
+ Open the appropriate editor dialogue
212
+ :return:
213
+ """
214
+
215
+ if self._editor.circuit.has_time_series:
216
+
217
+ dlg = SolarPvWizard(time_array=self._editor.circuit.time_profile.strftime("%Y-%m-%d %H:%M").tolist(),
218
+ peak_power=self.api_object.Pmax,
219
+ latitude=self.api_object.bus.latitude,
220
+ longitude=self.api_object.bus.longitude,
221
+ gen_name=self.api_object.name,
222
+ bus_name=self.api_object.bus.name)
223
+ if dlg.exec():
224
+ if dlg.is_accepted:
225
+ if len(dlg.P) == self.api_object.P_prof.size():
226
+ self.api_object.P_prof.set(dlg.P)
227
+
228
+ self.plot()
229
+ else:
230
+ raise Exception("Wrong length from the solar photovoltaic wizard")
231
+ else:
232
+ info_msg("You need to have time profiles for this function")
233
+
234
+ def wind_farm_wizard(self):
235
+ """
236
+ Open the appropriate editor dialogue
237
+ :return:
238
+ """
239
+
240
+ if self._editor.circuit.has_time_series:
241
+
242
+ dlg = WindFarmWizard(time_array=self._editor.circuit.time_profile.strftime("%Y-%m-%d %H:%M").tolist(),
243
+ peak_power=self.api_object.Pmax,
244
+ latitude=self.api_object.bus.latitude,
245
+ longitude=self.api_object.bus.longitude,
246
+ gen_name=self.api_object.name,
247
+ bus_name=self.api_object.bus.name)
248
+ if dlg.exec():
249
+ if dlg.is_accepted:
250
+ if len(dlg.P) == self.api_object.P_prof.size():
251
+ self.api_object.P_prof.set(dlg.P)
252
+ self.plot()
253
+ else:
254
+ raise Exception("Wrong length from the solar photovoltaic wizard")
255
+ else:
256
+ info_msg("You need to have time profiles for this function")
@@ -0,0 +1,234 @@
1
+ # This Source Code Form is subject to the terms of the Mozilla Public
2
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ # file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
+ # SPDX-License-Identifier: MPL-2.0
5
+
6
+ from __future__ import annotations
7
+ from typing import TYPE_CHECKING, List, Union
8
+ from PySide6.QtCore import Qt
9
+ from PySide6.QtGui import QPen, QCursor, QColor, QBrush
10
+ from PySide6.QtWidgets import (QGraphicsEllipseItem, QMenu,
11
+ QGraphicsSceneContextMenuEvent,
12
+ QGraphicsSceneMouseEvent)
13
+ from VeraGrid.Gui.gui_functions import add_menu_entry
14
+ from VeraGrid.Gui.Diagrams.MapWidget.Substation.node_template import NodeTemplate
15
+
16
+ from VeraGridEngine.Devices.types import INJECTION_DEVICE_TYPES
17
+
18
+ if TYPE_CHECKING: # Only imports the below statements during type checking
19
+ from VeraGrid.Gui.Diagrams.MapWidget.grid_map_widget import GridMapWidget
20
+
21
+
22
+ class MapInjectionTemplateGraphicItem(NodeTemplate, QGraphicsEllipseItem):
23
+ """
24
+ InjectionTemplateGraphicItem
25
+ """
26
+
27
+ def __init__(self,
28
+ api_object: INJECTION_DEVICE_TYPES,
29
+ editor: GridMapWidget,
30
+ lat: float,
31
+ lon: float,
32
+ size: float = 0.8,
33
+ draw_labels: bool = True):
34
+ """
35
+
36
+ :param api_object:
37
+ :param editor:
38
+ :param lat:
39
+ :param lon:
40
+ :param size:
41
+ :param draw_labels:
42
+ """
43
+ # Correct way to call multiple inheritance
44
+ super().__init__()
45
+
46
+ # Explicitly call QGraphicsRectItem initialization
47
+ QGraphicsEllipseItem.__init__(self)
48
+
49
+ # Explicitly call NodeTemplate initialization
50
+ NodeTemplate.__init__(self,
51
+ api_object=api_object,
52
+ editor=editor,
53
+ draw_labels=draw_labels,
54
+ lat=lat,
55
+ lon=lon)
56
+
57
+ r2 = size / 2.0
58
+ x, y = editor.to_x_y(lat=lat, lon=lon) # upper left corner
59
+ self.size = size
60
+ self.setRect(x - r2, y - r2, self.size, self.size)
61
+
62
+ # Properties of the container:
63
+ self.setFlags(self.GraphicsItemFlag.ItemIsSelectable | self.GraphicsItemFlag.ItemIsMovable)
64
+ self.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
65
+
66
+ self.set_api_object_color()
67
+
68
+ @property
69
+ def api_object(self) -> INJECTION_DEVICE_TYPES:
70
+ """
71
+
72
+ :return:
73
+ """
74
+ return self._api_object
75
+
76
+ @property
77
+ def editor(self) -> GridMapWidget:
78
+ """
79
+
80
+ :return:
81
+ """
82
+ return self._editor
83
+
84
+ def set_api_object_color(self) -> QColor:
85
+ """
86
+ Sets whatever colour is in the API object property
87
+ """
88
+
89
+ color = QColor(self.api_object.color)
90
+ color.setAlpha(128)
91
+ self.color = color
92
+
93
+ brush = QBrush(color)
94
+ self.setBrush(brush)
95
+
96
+ pen = self.pen()
97
+ pen.setColor(color)
98
+ pen.setWidth(0) # set the pen width to 0
99
+ self.setPen(pen)
100
+
101
+ return color
102
+
103
+ def update_position_at_the_diagram(self) -> None:
104
+ """
105
+ Updates the element position in the diagram (to save)
106
+ :return:
107
+ """
108
+ lat, long = self.editor.to_lat_lon(self.rect().x(), self.rect().y())
109
+
110
+ self.lat = lat
111
+ self.lon = long
112
+
113
+ self.editor.update_diagram_element(device=self.api_object,
114
+ latitude=lat,
115
+ longitude=long,
116
+ graphic_object=self)
117
+
118
+ def set_size(self, r: float):
119
+ """
120
+
121
+ :param r: radius in pixels
122
+ :return:
123
+ """
124
+ if r != self.size:
125
+ rect = self.rect()
126
+ rect.setWidth(r)
127
+ rect.setHeight(r)
128
+
129
+ # change the width and height while keeping the same center
130
+ r2 = (self.size - r) / 2
131
+ new_x = rect.x() + r2
132
+ new_y = rect.y() + r2
133
+
134
+ self.size = r
135
+
136
+ # Set the new rectangle with the updated dimensions
137
+ self.setRect(new_x, new_y, r, r)
138
+
139
+ def recolour_mode(self):
140
+ """
141
+ Change the colour according to the system theme
142
+ """
143
+ super().recolour_mode()
144
+
145
+ return self.set_api_object_color()
146
+
147
+ def delete(self):
148
+ """
149
+ Remove this element
150
+ @return:
151
+ """
152
+
153
+ deleted, delete_from_db_final = self.editor.delete_with_dialogue(selected=[self], delete_from_db=False)
154
+
155
+ def plot(self):
156
+ """
157
+ Plot API objects profiles
158
+ """
159
+ # time series object from the last simulation
160
+ ts = self.editor.circuit.time_profile
161
+
162
+ # plot the profiles
163
+ self.api_object.plot_profiles(time=ts)
164
+
165
+ def mousePressEvent(self, event: QGraphicsSceneMouseEvent):
166
+ """
167
+ mouse press: display the editor
168
+ :param event:
169
+ :return:
170
+ """
171
+ super().mousePressEvent(event)
172
+ self._editor.set_editor_model(api_object=self.api_object)
173
+
174
+ def mouseReleaseEvent(self, event: QGraphicsSceneMouseEvent):
175
+ """
176
+ Event handler for mouse release events.
177
+ """
178
+ super().mouseReleaseEvent(event)
179
+ # self.editor.disableMove = True
180
+ self.update_position_at_the_diagram() # always update
181
+
182
+ def mouseDoubleClickEvent(self, event, /):
183
+ """
184
+
185
+ :param event:
186
+ :return:
187
+ """
188
+ super().mouseDoubleClickEvent(event)
189
+ self.set_api_object_color()
190
+
191
+ def get_base_context_menu(self) -> QMenu:
192
+ """
193
+ Generate the base menu for injections
194
+ :return:
195
+ """
196
+ menu = QMenu()
197
+
198
+ add_menu_entry(menu=menu,
199
+ text="Plot profiles",
200
+ function_ptr=self.plot,
201
+ icon_path=":/Icons/icons/plot.png")
202
+
203
+ add_menu_entry(menu=menu,
204
+ text="Consolidate coordinates",
205
+ function_ptr=self.consolidate_coordinates,
206
+ icon_path=":/Icons/icons/delete_schematic.png")
207
+
208
+ menu.addSeparator()
209
+
210
+ add_menu_entry(menu=menu,
211
+ text="Delete",
212
+ function_ptr=self.delete,
213
+ icon_path=":/Icons/icons/delete_schematic.png")
214
+
215
+ return menu
216
+
217
+ def contextMenuEvent(self, event: QGraphicsSceneContextMenuEvent):
218
+ """
219
+ Display context menu
220
+ @param event:
221
+ @return:
222
+ """
223
+ menu = self.get_base_context_menu()
224
+
225
+ menu.exec(event.screenPos())
226
+
227
+ def consolidate_coordinates(self):
228
+ """
229
+ Consolidate coordinates in to the DB
230
+ """
231
+ lat, long = self.editor.to_lat_lon(self.rect().x(), self.rect().y())
232
+ self.api_object.latitude = lat
233
+ self.api_object.longitude = long
234
+ self.editor.gui.show_info_toast("Coordinates consolidated!")
@@ -0,0 +1,87 @@
1
+ # This Source Code Form is subject to the terms of the Mozilla Public
2
+ # License, v. 2.0. If a copy of the MPL was not distributed with this
3
+ # file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
+ # SPDX-License-Identifier: MPL-2.0
5
+
6
+ from __future__ import annotations
7
+ from typing import TYPE_CHECKING
8
+
9
+ from PySide6 import QtWidgets
10
+ from PySide6.QtCore import QPointF
11
+ from PySide6.QtGui import QPolygonF
12
+ from VeraGrid.Gui.gui_functions import add_menu_entry
13
+ from VeraGrid.Gui.Diagrams.generic_graphics import Polygon
14
+ from VeraGrid.Gui.Diagrams.MapWidget.Injections.map_injections_template_graphics import MapInjectionTemplateGraphicItem
15
+ from VeraGrid.Gui.RmsModelEditor.rms_model_editor_engine import RmsModelEditorGUI
16
+ from VeraGridEngine.Devices.Injections.load import Load
17
+ from VeraGridEngine.enumerations import DeviceType
18
+
19
+ if TYPE_CHECKING: # Only imports the below statements during type checking
20
+ from VeraGrid.Gui.Diagrams.MapWidget.grid_map_widget import GridMapWidget
21
+
22
+
23
+ class MapLoadGraphicItem(MapInjectionTemplateGraphicItem):
24
+
25
+ def __init__(self, api_object: Load,
26
+ editor: GridMapWidget,
27
+ lat: float,
28
+ lon: float,
29
+ size: float = 0.8,
30
+ draw_labels: bool = True):
31
+ """
32
+
33
+ :param api_object:
34
+ :param editor:
35
+ """
36
+ MapInjectionTemplateGraphicItem.__init__(self,
37
+ api_object=api_object,
38
+ editor=editor,
39
+ lat=lat,
40
+ lon=lon,
41
+ size=size,
42
+ draw_labels=draw_labels)
43
+
44
+ @property
45
+ def api_object(self) -> Load:
46
+ return self._api_object
47
+
48
+ def contextMenuEvent(self, event: QtWidgets.QGraphicsSceneContextMenuEvent):
49
+ """
50
+ Display context menu
51
+ @param event:
52
+ @return:
53
+ """
54
+ if self.api_object is not None:
55
+ menu = self.get_base_context_menu()
56
+ menu.addSection("Load")
57
+
58
+ add_menu_entry(menu=menu,
59
+ text="Rms Editor",
60
+ function_ptr=self.edit_rms,
61
+ icon_path=":/Icons/icons/edit.png")
62
+
63
+ menu.exec(event.screenPos())
64
+ else:
65
+ self.editor.gui.show_error_toast("The graphic has no API object!")
66
+
67
+ def edit_rms(self):
68
+ """
69
+
70
+ :return:
71
+ """
72
+ # load templates
73
+ templates = self.editor.circuit.rms_models
74
+
75
+ # select line templates
76
+ templ_catalogue = dict()
77
+ templ_list = []
78
+ for templ in templates:
79
+ if templ.tpe == DeviceType.LoadDevice:
80
+ templ_list.append(templ.name)
81
+ templ_catalogue[templ.name] = templ
82
+
83
+ # prompt RmsModelEditorGUI
84
+ rms_model_editor = RmsModelEditorGUI(api_object_model_host=self.api_object.rms_model, templates_list=templ_list,
85
+ templates_catalogue=templ_catalogue, api_object_name=self.api_object.name,
86
+ api_object=self.api_object, main_editor= True, parent=self.editor)
87
+ rms_model_editor.show()