GridCal 5.1.46__tar.gz → 5.1.48__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 (281) hide show
  1. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +2 -0
  2. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +5 -3
  3. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +15 -1
  4. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +4 -2
  5. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/base_diagram_widget.py +10 -9
  6. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +24 -0
  7. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Session/file_handler.py +0 -1
  8. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/__version__.py +1 -1
  9. {GridCal-5.1.46 → GridCal-5.1.48}/PKG-INFO +1 -1
  10. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ExecuteGridCal.py +0 -0
  11. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  12. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
  13. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/AboutDialogue/gui.py +0 -0
  14. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
  15. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
  16. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
  17. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Analysis/__init__.py +0 -0
  18. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Analysis/gui.py +0 -0
  19. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Analysis/icons_rc.py +0 -0
  20. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
  21. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
  22. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
  23. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
  24. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CascadingSteps/gui.py +0 -0
  25. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
  26. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  27. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  28. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
  29. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
  30. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  31. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  32. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  33. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
  34. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
  35. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
  36. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  37. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  38. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  39. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  40. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  41. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  42. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  43. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Branches/new_line_dialogue.py +0 -0
  44. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  45. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +0 -0
  46. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  47. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  48. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  49. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  50. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  51. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/gmt_local.py +0 -0
  52. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapbox.py +0 -0
  53. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapquest.py +0 -0
  54. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/open_street_map.py +0 -0
  55. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_toner.py +0 -0
  56. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_transport.py +0 -0
  57. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_watercolor.py +0 -0
  58. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  59. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  60. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  61. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  62. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  63. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  64. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  65. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
  66. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +0 -0
  67. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  68. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  69. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  70. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +0 -0
  71. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  72. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
  73. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  74. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  75. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  76. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  77. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +0 -0
  78. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +0 -0
  79. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  80. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  81. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  82. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  83. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  84. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  85. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  86. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  87. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  88. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  89. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  90. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +0 -0
  91. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  92. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  93. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  94. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
  95. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  96. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
  97. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  98. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  99. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  100. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  101. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +0 -0
  102. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +0 -0
  103. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  104. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  105. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
  106. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/__init__.py +0 -0
  107. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
  108. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
  109. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
  110. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/GridGenerator/__init__.py +0 -0
  111. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  112. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/GridGenerator/gui.py +0 -0
  113. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
  114. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
  115. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
  116. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
  117. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  118. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
  119. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
  120. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
  121. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
  122. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
  123. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
  124. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
  125. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/ConsoleLog.py +0 -0
  126. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
  127. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/GridCalMain.py +0 -0
  128. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/MainWindow.py +0 -0
  129. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
  130. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  131. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Model/objects.py +0 -0
  132. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Model/time_events.py +0 -0
  133. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
  134. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
  135. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Results/results.py +0 -0
  136. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  137. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
  138. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  139. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
  140. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
  141. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  142. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  143. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
  144. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/base_gui.py +0 -0
  145. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/io.py +0 -0
  146. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/SubClasses/simulations.py +0 -0
  147. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/__init__.py +0 -0
  148. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/icons_rc.py +0 -0
  149. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/object_select_window.py +0 -0
  150. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Main/update_gui_file.py +0 -0
  151. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
  152. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
  153. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  154. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
  155. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
  156. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
  157. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
  158. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  159. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  160. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
  161. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
  162. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
  163. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  164. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
  165. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
  166. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  167. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
  168. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
  169. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
  170. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
  171. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  172. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  173. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
  174. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
  175. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
  176. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  177. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  178. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
  179. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SyncDialogue/gui.py +0 -0
  180. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
  181. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
  182. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
  183. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SystemScaler/__init__.py +0 -0
  184. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
  185. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
  186. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
  187. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
  188. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  189. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
  190. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TowerBuilder/gui.py +0 -0
  191. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
  192. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
  193. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TowerBuilder/test_.py +0 -0
  194. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
  195. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
  196. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  197. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
  198. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
  199. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
  200. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Visualization/__init__.py +0 -0
  201. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Visualization/visualization.py +0 -0
  202. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Widgets/__init__.py +0 -0
  203. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
  204. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
  205. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
  206. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
  207. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
  208. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
  209. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  210. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/__init__.py +0 -0
  211. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/associations_model.py +0 -0
  212. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/console_widget.py +0 -0
  213. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/general_dialogues.py +0 -0
  214. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/gui_functions.py +0 -0
  215. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/messages.py +0 -0
  216. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/object_model.py +0 -0
  217. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/pandas_model.py +0 -0
  218. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/plot_config.py +0 -0
  219. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/profiles_model.py +0 -0
  220. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/results_model.py +0 -0
  221. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/table_view_header_wrap.py +0 -0
  222. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/themes.py +0 -0
  223. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/update_gui_all.py +0 -0
  224. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/update_gui_common.py +0 -0
  225. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Gui/wrappable_table_model.py +0 -0
  226. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/LICENSE.txt +0 -0
  227. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Session/__init__.py +0 -0
  228. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Session/export_results_driver.py +0 -0
  229. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Session/server_driver.py +0 -0
  230. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Session/session.py +0 -0
  231. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/Session/synchronization_driver.py +0 -0
  232. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/__init__.py +0 -0
  233. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
  234. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
  235. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  236. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  237. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  238. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
  239. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  240. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  241. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  242. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  243. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  244. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  245. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  246. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  247. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  248. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  249. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  250. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
  251. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  252. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
  253. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
  254. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
  255. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  256. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  257. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  258. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  259. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  260. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  261. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  262. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  263. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  264. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  265. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  266. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  267. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  268. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  269. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  270. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  271. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/__init__.py +0 -0
  272. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/data/__init__.py +0 -0
  273. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/data/cables.csv +0 -0
  274. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/data/sequence_lines.csv +0 -0
  275. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/data/transformers.csv +0 -0
  276. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/data/wires.csv +0 -0
  277. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/plugins.py +0 -0
  278. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/templates.py +0 -0
  279. {GridCal-5.1.46 → GridCal-5.1.48}/GridCal/update.py +0 -0
  280. {GridCal-5.1.46 → GridCal-5.1.48}/setup.cfg +0 -0
  281. {GridCal-5.1.46 → GridCal-5.1.48}/setup.py +0 -0
@@ -131,6 +131,8 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
131
131
 
132
132
  self.update_diagram()
133
133
 
134
+ self.resize_voltage_levels()
135
+
134
136
  def resize_voltage_levels(self):
135
137
  """
136
138
 
@@ -63,7 +63,7 @@ import GridCalEngine.Devices.Diagrams.palettes as palettes
63
63
  from GridCal.Gui.Diagrams.graphics_manager import ALL_MAP_GRAPHICS
64
64
  from GridCal.Gui.Diagrams.MapWidget.Tiles.tiles import Tiles
65
65
  from GridCal.Gui.Diagrams.base_diagram_widget import BaseDiagramWidget
66
- from GridCal.Gui.messages import error_msg
66
+ from GridCal.Gui.messages import error_msg, info_msg
67
67
 
68
68
  if TYPE_CHECKING:
69
69
  from GridCal.Gui.Main.SubClasses.Model.diagrams import DiagramsMain
@@ -1278,10 +1278,10 @@ class GridMapWidget(BaseDiagramWidget):
1278
1278
  if results is not None:
1279
1279
  if isinstance(results, PowerFlowTimeSeriesResults):
1280
1280
  table = results.mdl(result_type=ResultTypes.BusVoltageModule)
1281
- table.plot_device(ax=ax_2, device_idx=i)
1281
+ table.plot_device(ax=ax_2, device_idx=i, title="Power flow")
1282
1282
  elif isinstance(results, OptimalPowerFlowTimeSeriesResults):
1283
1283
  table = results.mdl(result_type=ResultTypes.BusVoltageModule)
1284
- table.plot_device(ax=ax_2, device_idx=i)
1284
+ table.plot_device(ax=ax_2, device_idx=i, title="Optimal power flow")
1285
1285
 
1286
1286
  # Injections
1287
1287
  # filter injections by bus
@@ -1320,6 +1320,8 @@ class GridMapWidget(BaseDiagramWidget):
1320
1320
 
1321
1321
  # plot the profiles
1322
1322
  plt.show()
1323
+ else:
1324
+ info_msg("There are no time series, so nothing to plot :/")
1323
1325
 
1324
1326
 
1325
1327
  def generate_map_diagram(substations: List[Substation],
@@ -22,7 +22,7 @@ from PySide6.QtCore import Qt, QRectF, QRect, QPointF
22
22
  from PySide6.QtGui import QPen, QCursor, QIcon, QPixmap, QBrush, QColor
23
23
  from PySide6.QtWidgets import QMenu, QGraphicsSceneMouseEvent
24
24
 
25
- from GridCal.Gui.messages import yes_no_question
25
+ from GridCal.Gui.messages import yes_no_question, warning_msg
26
26
  from GridCal.Gui.gui_functions import add_menu_entry
27
27
  from GridCal.Gui.Diagrams.generic_graphics import (GenericDiagramWidget, ACTIVE, DEACTIVATED,
28
28
  FONT_SCALE, EMERGENCY, TRANSPARENT)
@@ -478,6 +478,10 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
478
478
  icon_path=":/Icons/icons/grid_icon.svg",
479
479
  function_ptr=self.expand_diagram_from_bus)
480
480
 
481
+ add_menu_entry(menu, text='Vecinity diagram from here',
482
+ icon_path=":/Icons/icons/grid_icon.svg",
483
+ function_ptr=self.new_vecinity_diagram_from_here)
484
+
481
485
  menu.addSection("Add")
482
486
 
483
487
  # Actions under the "Add" section
@@ -565,6 +569,16 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
565
569
  """
566
570
  self.editor.expand_diagram_from_bus(root_bus=self.api_object)
567
571
 
572
+ def new_vecinity_diagram_from_here(self):
573
+ """
574
+ Create new vecinity diagram
575
+ :return:
576
+ """
577
+ if self.api_object is not None:
578
+ self.editor.gui.new_bus_branch_diagram_from_bus(root_bus=self.api_object)
579
+ else:
580
+ warning_msg("The api object is none :(")
581
+
568
582
  def enable_disable_toggle(self):
569
583
  """
570
584
  Toggle bus element state
@@ -3737,10 +3737,10 @@ class SchematicWidget(BaseDiagramWidget):
3737
3737
  if results is not None:
3738
3738
  if isinstance(results, PowerFlowTimeSeriesResults):
3739
3739
  table = results.mdl(result_type=ResultTypes.BusVoltageModule)
3740
- table.plot_device(ax=ax_2, device_idx=i)
3740
+ table.plot_device(ax=ax_2, device_idx=i, title="Power flow")
3741
3741
  elif isinstance(results, OptimalPowerFlowTimeSeriesResults):
3742
3742
  table = results.mdl(result_type=ResultTypes.BusVoltageModule)
3743
- table.plot_device(ax=ax_2, device_idx=i)
3743
+ table.plot_device(ax=ax_2, device_idx=i, title="Optimal power flow")
3744
3744
 
3745
3745
  # Injections
3746
3746
  # filter injections by bus
@@ -3779,6 +3779,8 @@ class SchematicWidget(BaseDiagramWidget):
3779
3779
 
3780
3780
  # plot the profiles
3781
3781
  plt.show()
3782
+ else:
3783
+ info_msg("There are no time series, so nothing to plot :/")
3782
3784
 
3783
3785
  def split_line_now(self, line_graphics: LineGraphicItem, position: float, extra_km: float):
3784
3786
  """
@@ -18,6 +18,7 @@ from __future__ import annotations
18
18
  from typing import List, Dict, Union, Tuple, Callable, TYPE_CHECKING
19
19
  import numpy as np
20
20
  import cv2
21
+ from docutils.nodes import title
21
22
  from matplotlib import pyplot as plt
22
23
 
23
24
  from PySide6.QtCore import Qt
@@ -325,47 +326,47 @@ class BaseDiagramWidget(QSplitter):
325
326
  if isinstance(results, PowerFlowTimeSeriesResults):
326
327
 
327
328
  Sf_table = results.mdl(result_type=ResultTypes.BranchActivePowerFrom)
328
- Sf_table.plot_device(ax=ax_1, device_idx=i)
329
+ Sf_table.plot_device(ax=ax_1, device_idx=i, title="Power flow")
329
330
 
330
331
  loading_table = results.mdl(result_type=ResultTypes.BranchLoading)
331
332
  loading_table.convert_to_cdf()
332
- loading_table.plot_device(ax=ax_2, device_idx=i)
333
+ loading_table.plot_device(ax=ax_2, device_idx=i, title="Power loading")
333
334
  any_plot = True
334
335
 
335
336
  elif isinstance(results, LinearAnalysisTimeSeriesResults):
336
337
 
337
338
  Sf_table = results.mdl(result_type=ResultTypes.BranchActivePowerFrom)
338
- Sf_table.plot_device(ax=ax_1, device_idx=i)
339
+ Sf_table.plot_device(ax=ax_1, device_idx=i, title="Linear flow")
339
340
 
340
341
  loading_table = results.mdl(result_type=ResultTypes.BranchLoading)
341
342
  loading_table.convert_to_cdf()
342
- loading_table.plot_device(ax=ax_2, device_idx=i)
343
+ loading_table.plot_device(ax=ax_2, device_idx=i, title="Linear loading")
343
344
  any_plot = True
344
345
 
345
346
  elif isinstance(results, ContingencyAnalysisTimeSeriesResults):
346
347
 
347
348
  Sf_table = results.mdl(result_type=ResultTypes.MaxContingencyFlows)
348
- Sf_table.plot_device(ax=ax_1, device_idx=i)
349
+ Sf_table.plot_device(ax=ax_1, device_idx=i, title="Contingency flow")
349
350
 
350
351
  loading_table = results.mdl(result_type=ResultTypes.MaxContingencyLoading)
351
352
  loading_table.convert_to_cdf()
352
- loading_table.plot_device(ax=ax_2, device_idx=i)
353
+ loading_table.plot_device(ax=ax_2, device_idx=i, title="Contingency loading")
353
354
  any_plot = True
354
355
 
355
356
  elif isinstance(results, OptimalPowerFlowTimeSeriesResults):
356
357
 
357
358
  Sf_table = results.mdl(result_type=ResultTypes.BranchActivePowerFrom)
358
- Sf_table.plot_device(ax=ax_1, device_idx=i)
359
+ Sf_table.plot_device(ax=ax_1, device_idx=i, title="Optimal power flow")
359
360
 
360
361
  loading_table = results.mdl(result_type=ResultTypes.BranchLoading)
361
362
  loading_table.convert_to_cdf()
362
- loading_table.plot_device(ax=ax_2, device_idx=i)
363
+ loading_table.plot_device(ax=ax_2, device_idx=i, title="Optimal loading")
363
364
  any_plot = True
364
365
 
365
366
  elif isinstance(results, StochasticPowerFlowResults):
366
367
  loading_table = results.mdl(result_type=ResultTypes.BranchLoadingAverage)
367
368
  loading_table.convert_to_cdf()
368
- loading_table.plot_device(ax=ax_2, device_idx=i)
369
+ loading_table.plot_device(ax=ax_2, device_idx=i, title="Stochastic loading")
369
370
  any_plot = True
370
371
 
371
372
  if any_plot:
@@ -1181,6 +1181,30 @@ class DiagramsMain(CompiledArraysMain):
1181
1181
  diagram=diagram)
1182
1182
  self.set_diagrams_list_view()
1183
1183
 
1184
+ def new_bus_branch_diagram_from_bus(self, root_bus: dev.Bus):
1185
+ """
1186
+ Add a bus-branch diagram of a particular selection of objects
1187
+ """
1188
+ dlg = InputNumberDialogue(min_value=1, max_value=99,
1189
+ default_value=1, is_int=True,
1190
+ title='Vecinity diagram',
1191
+ text='Select the expansion level')
1192
+
1193
+ if dlg.exec():
1194
+ diagram = make_vecinity_diagram(circuit=self.circuit,
1195
+ root_bus=root_bus,
1196
+ max_level=dlg.value)
1197
+
1198
+ diagram_widget = SchematicWidget(gui=self,
1199
+ circuit=self.circuit,
1200
+ diagram=diagram,
1201
+ default_bus_voltage=self.ui.defaultBusVoltageSpinBox.value(),
1202
+ time_index=self.get_diagram_slider_index(),
1203
+ call_delete_db_element_func=self.call_delete_db_element)
1204
+
1205
+ self.add_diagram_widget_and_diagram(diagram_widget=diagram_widget, diagram=diagram)
1206
+ self.set_diagrams_list_view()
1207
+
1184
1208
  def new_bus_branch_diagram_from_substation(self, substation: dev.Substation):
1185
1209
  """
1186
1210
  Add a bus-branch diagram of a particular selection of objects
@@ -116,7 +116,6 @@ class FileOpenThread(QThread):
116
116
  self.circuit = file_handler.open(text_func=self.progress_text.emit,
117
117
  progress_func=self.progress_signal.emit)
118
118
  except ValueError as e:
119
- # error_msg(text=str(e), title='File open')
120
119
  self.valid = False
121
120
  self.logger.add_error(msg=str(e))
122
121
  self.progress_text.emit('Error loading')
@@ -16,7 +16,7 @@ import datetime
16
16
  _current_year_ = datetime.datetime.now().year
17
17
 
18
18
  # do not forget to keep a three-number version!!!
19
- __GridCal_VERSION__ = "5.1.46"
19
+ __GridCal_VERSION__ = "5.1.48"
20
20
 
21
21
  url = 'https://github.com/SanPen/GridCal'
22
22
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: GridCal
3
- Version: 5.1.46
3
+ Version: 5.1.48
4
4
  Summary: GridCal is a Power Systems simulation program intended for professional use and research
5
5
  Home-page: https://github.com/SanPen/GridCal
6
6
  Author: Santiago Peñate Vera et. Al.