GridCal 5.1.49__tar.gz → 5.1.50__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 (285) hide show
  1. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +45 -13
  2. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +15 -15
  3. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/base_diagram_widget.py +0 -1
  4. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/MainWindow.py +154 -92
  5. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +7 -0
  6. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/io.py +15 -1
  7. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/simulations.py +1 -1
  8. GridCal-5.1.50/GridCal/Gui/SubstationDesigner/substation_designer.py +178 -0
  9. GridCal-5.1.50/GridCal/Gui/SubstationDesigner/substation_designer_gui.py +122 -0
  10. GridCal-5.1.50/GridCal/Gui/SubstationDesigner/update_gui_file.py +9 -0
  11. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/object_model.py +1 -0
  12. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/__version__.py +1 -1
  13. GridCal-5.1.50/GridCal/data/__init__.py +0 -0
  14. {GridCal-5.1.49 → GridCal-5.1.50}/PKG-INFO +1 -1
  15. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ExecuteGridCal.py +0 -0
  16. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  17. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
  18. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/AboutDialogue/gui.py +0 -0
  19. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
  20. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
  21. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
  22. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Analysis/__init__.py +0 -0
  23. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Analysis/gui.py +0 -0
  24. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Analysis/icons_rc.py +0 -0
  25. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
  26. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
  27. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
  28. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
  29. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CascadingSteps/gui.py +0 -0
  30. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
  31. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  32. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  33. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
  34. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
  35. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  36. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  37. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  38. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
  39. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
  40. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
  41. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  42. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  43. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  44. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  45. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  46. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  47. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  48. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Branches/new_line_dialogue.py +0 -0
  49. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  50. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +0 -0
  51. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  52. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +0 -0
  53. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  54. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  55. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  56. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  57. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/gmt_local.py +0 -0
  58. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapbox.py +0 -0
  59. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapquest.py +0 -0
  60. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/open_street_map.py +0 -0
  61. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_toner.py +0 -0
  62. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_transport.py +0 -0
  63. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_watercolor.py +0 -0
  64. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  65. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  66. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  67. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  68. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  69. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  70. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  71. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
  72. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  73. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  74. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  75. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +0 -0
  76. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  77. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
  78. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  79. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  80. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  81. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  82. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +0 -0
  83. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +0 -0
  84. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  85. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  86. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  87. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  88. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  89. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  90. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  91. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  92. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  93. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  94. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  95. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +0 -0
  96. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  97. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  98. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  99. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
  100. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  101. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
  102. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  103. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  104. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  105. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  106. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +0 -0
  107. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +0 -0
  108. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +0 -0
  109. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  110. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  111. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +0 -0
  112. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
  113. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/__init__.py +0 -0
  114. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
  115. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
  116. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
  117. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/GridGenerator/__init__.py +0 -0
  118. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  119. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/GridGenerator/gui.py +0 -0
  120. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
  121. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
  122. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
  123. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
  124. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  125. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
  126. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
  127. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
  128. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
  129. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
  130. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
  131. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
  132. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/ConsoleLog.py +0 -0
  133. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
  134. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/GridCalMain.py +0 -0
  135. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
  136. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  137. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Model/objects.py +0 -0
  138. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Model/time_events.py +0 -0
  139. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
  140. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
  141. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Results/results.py +0 -0
  142. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  143. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
  144. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  145. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
  146. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
  147. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  148. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  149. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
  150. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/SubClasses/base_gui.py +0 -0
  151. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/__init__.py +0 -0
  152. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/icons_rc.py +0 -0
  153. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/object_select_window.py +0 -0
  154. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Main/update_gui_file.py +0 -0
  155. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
  156. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
  157. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  158. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
  159. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
  160. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
  161. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
  162. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  163. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  164. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
  165. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
  166. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
  167. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  168. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
  169. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
  170. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  171. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
  172. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
  173. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
  174. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
  175. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  176. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  177. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
  178. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
  179. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
  180. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  181. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  182. {GridCal-5.1.49/GridCal/Gui/SyncDialogue → GridCal-5.1.50/GridCal/Gui/SubstationDesigner}/__init__.py +0 -0
  183. {GridCal-5.1.49/GridCal/Gui/SystemScaler → GridCal-5.1.50/GridCal/Gui/SyncDialogue}/__init__.py +0 -0
  184. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SyncDialogue/gui.py +0 -0
  185. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
  186. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
  187. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
  188. {GridCal-5.1.49/GridCal/Gui/TowerBuilder → GridCal-5.1.50/GridCal/Gui/SystemScaler}/__init__.py +0 -0
  189. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
  190. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
  191. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
  192. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
  193. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  194. {GridCal-5.1.49/GridCal/Gui/TreeModelViewer → GridCal-5.1.50/GridCal/Gui/TowerBuilder}/__init__.py +0 -0
  195. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TowerBuilder/gui.py +0 -0
  196. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
  197. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
  198. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TowerBuilder/test_.py +0 -0
  199. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
  200. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
  201. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  202. {GridCal-5.1.49/GridCal/Gui/Visualization → GridCal-5.1.50/GridCal/Gui/TreeModelViewer}/__init__.py +0 -0
  203. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
  204. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
  205. {GridCal-5.1.49/GridCal/Gui/Widgets → GridCal-5.1.50/GridCal/Gui/Visualization}/__init__.py +0 -0
  206. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Visualization/visualization.py +0 -0
  207. {GridCal-5.1.49/GridCal/Gui/WindPowerWizard → GridCal-5.1.50/GridCal/Gui/Widgets}/__init__.py +0 -0
  208. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
  209. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
  210. {GridCal-5.1.49/GridCal/Gui → GridCal-5.1.50/GridCal/Gui/WindPowerWizard}/__init__.py +0 -0
  211. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
  212. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
  213. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
  214. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  215. {GridCal-5.1.49/GridCal/Session → GridCal-5.1.50/GridCal/Gui}/__init__.py +0 -0
  216. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/associations_model.py +0 -0
  217. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/console_widget.py +0 -0
  218. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/general_dialogues.py +0 -0
  219. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/gui_functions.py +0 -0
  220. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/messages.py +0 -0
  221. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/pandas_model.py +0 -0
  222. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/plot_config.py +0 -0
  223. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/profiles_model.py +0 -0
  224. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/results_model.py +0 -0
  225. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/table_view_header_wrap.py +0 -0
  226. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/themes.py +0 -0
  227. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/update_gui_all.py +0 -0
  228. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/update_gui_common.py +0 -0
  229. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Gui/wrappable_table_model.py +0 -0
  230. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/LICENSE.txt +0 -0
  231. {GridCal-5.1.49/GridCal/ThirdParty → GridCal-5.1.50/GridCal/Session}/__init__.py +0 -0
  232. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Session/export_results_driver.py +0 -0
  233. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Session/file_handler.py +0 -0
  234. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Session/server_driver.py +0 -0
  235. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Session/session.py +0 -0
  236. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/Session/synchronization_driver.py +0 -0
  237. {GridCal-5.1.49/GridCal/ThirdParty/qdarktheme/_icon → GridCal-5.1.50/GridCal/ThirdParty}/__init__.py +0 -0
  238. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
  239. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
  240. {GridCal-5.1.49/GridCal/ThirdParty/qdarktheme/_template → GridCal-5.1.50/GridCal/ThirdParty/qdarktheme/_icon}/__init__.py +0 -0
  241. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  242. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  243. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
  244. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  245. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  246. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  247. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  248. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  249. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  250. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  251. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  252. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  253. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  254. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  255. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
  256. {GridCal-5.1.49/GridCal/data → GridCal-5.1.50/GridCal/ThirdParty/qdarktheme/_template}/__init__.py +0 -0
  257. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
  258. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
  259. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
  260. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  261. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  262. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  263. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  264. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  265. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  266. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  267. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  268. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  269. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  270. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  271. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  272. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  273. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  274. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  275. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  276. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/__init__.py +0 -0
  277. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/data/cables.csv +0 -0
  278. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/data/sequence_lines.csv +0 -0
  279. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/data/transformers.csv +0 -0
  280. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/data/wires.csv +0 -0
  281. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/plugins.py +0 -0
  282. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/templates.py +0 -0
  283. {GridCal-5.1.49 → GridCal-5.1.50}/GridCal/update.py +0 -0
  284. {GridCal-5.1.49 → GridCal-5.1.50}/setup.cfg +0 -0
  285. {GridCal-5.1.49 → GridCal-5.1.50}/setup.py +0 -0
@@ -30,6 +30,7 @@ from PySide6.QtCore import (Qt, QSize, QRect, QMimeData, QIODevice, QByteArray,
30
30
  from PySide6.QtGui import (QIcon, QPixmap, QImage, QPainter, QStandardItemModel, QStandardItem, QColor,
31
31
  QDropEvent, QWheelEvent)
32
32
 
33
+ from GridCal.Gui.SubstationDesigner.substation_designer import SubstationDesigner
33
34
  from GridCalEngine.Devices.Diagrams.map_location import MapLocation
34
35
  from GridCalEngine.Devices.Substation import Bus
35
36
  from GridCalEngine.Devices.Branches.line import Line
@@ -857,15 +858,46 @@ class GridMapWidget(BaseDiagramWidget):
857
858
  y0 = point0.y()
858
859
  lat, lon = self.to_lat_lon(x=x0, y=y0)
859
860
 
860
- # print(f"Dropped at x:{x0}, y:{y0}, lat:{lat}, lon:{lon}")
861
-
862
861
  if obj_type == self.library_model.get_substation_mime_data():
863
- api_object = Substation(name=f"Substation {self.circuit.get_substation_number()}",
864
- latitude=lat,
865
- longitude=lon)
866
- self.circuit.add_substation(obj=api_object)
867
- substation_graphics = self.add_api_substation(api_object=api_object, lat=lat, lon=lon)
868
- substation_graphics.add_voltage_level()
862
+ self.create_substation_with_dialogue(lat=lat, lon=lon)
863
+
864
+ def create_substation_with_dialogue(self, lat, lon):
865
+ """
866
+ Create a substation using the dialogue
867
+ :param lat:
868
+ :param lon:
869
+ :return:
870
+ """
871
+ kv = self.gui.get_default_voltage()
872
+ dlg = SubstationDesigner(grid=self.circuit, default_voltage=kv)
873
+ dlg.exec()
874
+ if dlg.was_ok():
875
+
876
+ # create the SE
877
+ se_object = Substation(name=dlg.get_name(), latitude=lat, longitude=lon)
878
+
879
+ self.circuit.add_substation(obj=se_object)
880
+ substation_graphics = self.add_api_substation(api_object=se_object, lat=lat, lon=lon)
881
+
882
+ for vl_template in dlg.get_voltage_levels():
883
+
884
+ # substation_graphics.add_voltage_level()
885
+ vl = VoltageLevel(name=f"{se_object.name} @{kv}KV VL",
886
+ Vnom=vl_template.voltage,
887
+ substation=se_object)
888
+ self.circuit.add_voltage_level(vl)
889
+
890
+ bus = Bus(name=f"{se_object.name} @{kv}KV bus",
891
+ Vnom=vl_template.voltage,
892
+ substation=se_object,
893
+ voltage_level=vl)
894
+ self.circuit.add_bus(obj=bus)
895
+
896
+ # add the vl graphics
897
+ self.add_api_voltage_level(substation_graphics=substation_graphics, api_object=vl)
898
+
899
+ # sort voltage levels
900
+ substation_graphics.sort_voltage_levels()
869
901
 
870
902
  def wheelEvent(self, event: QWheelEvent):
871
903
  """
@@ -874,12 +906,12 @@ class GridMapWidget(BaseDiagramWidget):
874
906
  :return:
875
907
  """
876
908
 
877
- # SANTIAGO: NO TOCAR ESTO ES EL COMPORTAMIENTO DESEADO
909
+ # SANTIAGO: DO NOT TOUCH, THIS IS THE DESIRED BEHAVIOUR
878
910
  self.update_device_sizes()
879
911
 
880
- def get_branch_width(self):
912
+ def get_branch_width(self) -> float:
881
913
  """
882
-
914
+ Get the desired branch width
883
915
  :return:
884
916
  """
885
917
  max_zoom = self.map.max_level
@@ -888,9 +920,9 @@ class GridMapWidget(BaseDiagramWidget):
888
920
  scale = self.diagram.min_branch_width + (zoom - min_zoom) / (max_zoom - min_zoom)
889
921
  return scale
890
922
 
891
- def update_device_sizes(self):
923
+ def update_device_sizes(self) -> None:
892
924
  """
893
-
925
+ Updat ethe devices' sizes
894
926
  :return:
895
927
  """
896
928
 
@@ -469,12 +469,12 @@ class MapWidget(QWidget):
469
469
  self.view_tlat = 0
470
470
 
471
471
  # some cursors
472
- self.standard_cursor = QCursor(Qt.ArrowCursor)
473
- self.box_select_cursor = QCursor(Qt.CrossCursor)
474
- self.wait_cursor = QCursor(Qt.WaitCursor)
475
- self.drag_cursor = QCursor(Qt.OpenHandCursor)
472
+ self.standard_cursor = QCursor(Qt.CursorShape.ArrowCursor)
473
+ self.box_select_cursor = QCursor(Qt.CursorShape.CrossCursor)
474
+ self.wait_cursor = QCursor(Qt.CursorShape.WaitCursor)
475
+ self.drag_cursor = QCursor(Qt.CursorShape.OpenHandCursor)
476
476
 
477
- self.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
477
+ self.setSizePolicy(QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Expanding)
478
478
  self.setMinimumSize(self.tile_width, self.tile_height)
479
479
 
480
480
  self.setMouseTracking(True)
@@ -672,9 +672,9 @@ class MapWidget(QWidget):
672
672
  self.setCursor(self.default_cursor)
673
673
 
674
674
  b = event.button()
675
- if b == Qt.NoButton:
675
+ if b == Qt.MouseButton.NoButton:
676
676
  pass
677
- elif b == Qt.LeftButton:
677
+ elif b == Qt.MouseButton.LeftButton:
678
678
  self.left_mbutton_down = False
679
679
 
680
680
  if self.start_drag_x is None:
@@ -688,10 +688,10 @@ class MapWidget(QWidget):
688
688
  longitude, latitude = self.view_to_geo(x, y)
689
689
  self.position_callback(latitude, longitude, x, y)
690
690
 
691
- elif b == Qt.MidButton:
691
+ elif b == Qt.MouseButton.MiddleButton:
692
692
  self.mid_mbutton_down = False
693
693
 
694
- elif b == Qt.RightButton:
694
+ elif b == Qt.MouseButton.RightButton:
695
695
  self.right_mbutton_down = False
696
696
 
697
697
  else:
@@ -705,13 +705,13 @@ class MapWidget(QWidget):
705
705
  :return:
706
706
  """
707
707
  b = event.button()
708
- if b == Qt.NoButton:
708
+ if b == Qt.MouseButton.NoButton:
709
709
  pass
710
- elif b == Qt.LeftButton:
710
+ elif b == Qt.MouseButton.LeftButton:
711
711
  pass
712
- elif b == Qt.MidButton:
712
+ elif b == Qt.MouseButton.MiddleButton:
713
713
  pass
714
- elif b == Qt.RightButton:
714
+ elif b == Qt.MouseButton.RightButton:
715
715
  pass
716
716
  else:
717
717
  pass
@@ -781,7 +781,7 @@ class MapWidget(QWidget):
781
781
  def keyPressEvent(self, event: QKeyEvent):
782
782
  """Capture a key press."""
783
783
 
784
- if event.key() == Qt.Key_Shift:
784
+ if event.key() == Qt.Key.Key_Shift:
785
785
  self.shift_down = True
786
786
  self.default_cursor = self.box_select_cursor
787
787
  self.setCursor(self.default_cursor)
@@ -792,7 +792,7 @@ class MapWidget(QWidget):
792
792
  """Capture a key release."""
793
793
 
794
794
  key = event.key()
795
- if event.key() == Qt.Key_Shift:
795
+ if event.key() == Qt.Key.Key_Shift:
796
796
  self.shift_down = False
797
797
  self.default_cursor = self.standard_cursor
798
798
  self.setCursor(self.default_cursor)
@@ -18,7 +18,6 @@ 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
22
21
  from matplotlib import pyplot as plt
23
22
 
24
23
  from PySide6.QtCore import Qt
@@ -4191,20 +4191,42 @@ class Ui_mainWindow(object):
4191
4191
  self.frame_77.setFrameShadow(QFrame.Raised)
4192
4192
  self.gridLayout_11 = QGridLayout(self.frame_77)
4193
4193
  self.gridLayout_11.setObjectName(u"gridLayout_11")
4194
- self.label_115 = QLabel(self.frame_77)
4195
- self.label_115.setObjectName(u"label_115")
4194
+ self.raw_export_version_comboBox = QComboBox(self.frame_77)
4195
+ self.raw_export_version_comboBox.setObjectName(u"raw_export_version_comboBox")
4196
+
4197
+ self.gridLayout_11.addWidget(self.raw_export_version_comboBox, 10, 1, 1, 1)
4198
+
4199
+ self.model_version_label = QLabel(self.frame_77)
4200
+ self.model_version_label.setObjectName(u"model_version_label")
4201
+ self.model_version_label.setFont(font1)
4202
+
4203
+ self.gridLayout_11.addWidget(self.model_version_label, 4, 0, 1, 2)
4204
+
4205
+ self.label_131 = QLabel(self.frame_77)
4206
+ self.label_131.setObjectName(u"label_131")
4196
4207
  palette42 = QPalette()
4197
4208
  palette42.setBrush(QPalette.Active, QPalette.WindowText, brush)
4198
4209
  palette42.setBrush(QPalette.Inactive, QPalette.WindowText, brush5)
4199
4210
  palette42.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4200
- self.label_115.setPalette(palette42)
4201
- self.label_115.setFont(font4)
4211
+ self.label_131.setPalette(palette42)
4212
+ self.label_131.setFont(font4)
4202
4213
 
4203
- self.gridLayout_11.addWidget(self.label_115, 0, 1, 1, 1)
4214
+ self.gridLayout_11.addWidget(self.label_131, 8, 1, 1, 1)
4204
4215
 
4205
- self.verticalSpacer_20 = QSpacerItem(20, 436, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
4216
+ self.label_145 = QLabel(self.frame_77)
4217
+ self.label_145.setObjectName(u"label_145")
4218
+ self.label_145.setMinimumSize(QSize(24, 24))
4219
+ self.label_145.setMaximumSize(QSize(24, 24))
4220
+ self.label_145.setPixmap(QPixmap(u":/Icons/icons/new2c.svg"))
4221
+ self.label_145.setScaledContents(True)
4222
+
4223
+ self.gridLayout_11.addWidget(self.label_145, 8, 0, 1, 1)
4206
4224
 
4207
- self.gridLayout_11.addItem(self.verticalSpacer_20, 7, 1, 1, 1)
4225
+ self.label_39 = QLabel(self.frame_77)
4226
+ self.label_39.setObjectName(u"label_39")
4227
+ self.label_39.setFont(font1)
4228
+
4229
+ self.gridLayout_11.addWidget(self.label_39, 2, 0, 1, 2)
4208
4230
 
4209
4231
  self.label_136 = QLabel(self.frame_77)
4210
4232
  self.label_136.setObjectName(u"label_136")
@@ -4215,24 +4237,19 @@ class Ui_mainWindow(object):
4215
4237
 
4216
4238
  self.gridLayout_11.addWidget(self.label_136, 0, 0, 1, 1)
4217
4239
 
4218
- self.label_39 = QLabel(self.frame_77)
4219
- self.label_39.setObjectName(u"label_39")
4220
- self.label_39.setFont(font1)
4240
+ self.file_information_label = QLabel(self.frame_77)
4241
+ self.file_information_label.setObjectName(u"file_information_label")
4242
+ self.file_information_label.setFont(font1)
4243
+ self.file_information_label.setWordWrap(True)
4244
+ self.file_information_label.setTextInteractionFlags(Qt.LinksAccessibleByMouse|Qt.TextSelectableByKeyboard|Qt.TextSelectableByMouse)
4221
4245
 
4222
- self.gridLayout_11.addWidget(self.label_39, 2, 0, 1, 2)
4246
+ self.gridLayout_11.addWidget(self.file_information_label, 3, 0, 1, 2)
4223
4247
 
4224
- self.line_28 = QFrame(self.frame_77)
4225
- self.line_28.setObjectName(u"line_28")
4226
- palette43 = QPalette()
4227
- palette43.setBrush(QPalette.Active, QPalette.WindowText, brush3)
4228
- palette43.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
4229
- palette43.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4230
- self.line_28.setPalette(palette43)
4231
- self.line_28.setFrameShadow(QFrame.Plain)
4232
- self.line_28.setLineWidth(4)
4233
- self.line_28.setFrameShape(QFrame.Shape.HLine)
4248
+ self.user_name_label = QLabel(self.frame_77)
4249
+ self.user_name_label.setObjectName(u"user_name_label")
4250
+ self.user_name_label.setFont(font1)
4234
4251
 
4235
- self.gridLayout_11.addWidget(self.line_28, 1, 0, 1, 2)
4252
+ self.gridLayout_11.addWidget(self.user_name_label, 5, 0, 1, 2)
4236
4253
 
4237
4254
  self.saveResultsCheckBox = QCheckBox(self.frame_77)
4238
4255
  self.saveResultsCheckBox.setObjectName(u"saveResultsCheckBox")
@@ -4240,25 +4257,57 @@ class Ui_mainWindow(object):
4240
4257
 
4241
4258
  self.gridLayout_11.addWidget(self.saveResultsCheckBox, 6, 0, 1, 2)
4242
4259
 
4243
- self.user_name_label = QLabel(self.frame_77)
4244
- self.user_name_label.setObjectName(u"user_name_label")
4245
- self.user_name_label.setFont(font1)
4260
+ self.label_112 = QLabel(self.frame_77)
4261
+ self.label_112.setObjectName(u"label_112")
4262
+ self.label_112.setFont(font1)
4246
4263
 
4247
- self.gridLayout_11.addWidget(self.user_name_label, 5, 0, 1, 2)
4264
+ self.gridLayout_11.addWidget(self.label_112, 10, 0, 1, 1)
4248
4265
 
4249
- self.model_version_label = QLabel(self.frame_77)
4250
- self.model_version_label.setObjectName(u"model_version_label")
4251
- self.model_version_label.setFont(font1)
4266
+ self.label_115 = QLabel(self.frame_77)
4267
+ self.label_115.setObjectName(u"label_115")
4268
+ palette43 = QPalette()
4269
+ palette43.setBrush(QPalette.Active, QPalette.WindowText, brush)
4270
+ palette43.setBrush(QPalette.Inactive, QPalette.WindowText, brush5)
4271
+ palette43.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4272
+ self.label_115.setPalette(palette43)
4273
+ self.label_115.setFont(font4)
4252
4274
 
4253
- self.gridLayout_11.addWidget(self.model_version_label, 4, 0, 1, 2)
4275
+ self.gridLayout_11.addWidget(self.label_115, 0, 1, 1, 1)
4254
4276
 
4255
- self.file_information_label = QLabel(self.frame_77)
4256
- self.file_information_label.setObjectName(u"file_information_label")
4257
- self.file_information_label.setFont(font1)
4258
- self.file_information_label.setWordWrap(True)
4259
- self.file_information_label.setTextInteractionFlags(Qt.LinksAccessibleByMouse|Qt.TextSelectableByKeyboard|Qt.TextSelectableByMouse)
4277
+ self.verticalSpacer_20 = QSpacerItem(20, 436, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
4260
4278
 
4261
- self.gridLayout_11.addWidget(self.file_information_label, 3, 0, 1, 2)
4279
+ self.gridLayout_11.addItem(self.verticalSpacer_20, 11, 1, 1, 1)
4280
+
4281
+ self.line_28 = QFrame(self.frame_77)
4282
+ self.line_28.setObjectName(u"line_28")
4283
+ palette44 = QPalette()
4284
+ palette44.setBrush(QPalette.Active, QPalette.WindowText, brush3)
4285
+ palette44.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
4286
+ palette44.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4287
+ self.line_28.setPalette(palette44)
4288
+ self.line_28.setFrameShadow(QFrame.Plain)
4289
+ self.line_28.setLineWidth(4)
4290
+ self.line_28.setFrameShape(QFrame.Shape.HLine)
4291
+
4292
+ self.gridLayout_11.addWidget(self.line_28, 1, 0, 1, 2)
4293
+
4294
+ self.line_33 = QFrame(self.frame_77)
4295
+ self.line_33.setObjectName(u"line_33")
4296
+ palette45 = QPalette()
4297
+ palette45.setBrush(QPalette.Active, QPalette.WindowText, brush3)
4298
+ palette45.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
4299
+ palette45.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4300
+ self.line_33.setPalette(palette45)
4301
+ self.line_33.setFrameShadow(QFrame.Plain)
4302
+ self.line_33.setLineWidth(4)
4303
+ self.line_33.setFrameShape(QFrame.Shape.HLine)
4304
+
4305
+ self.gridLayout_11.addWidget(self.line_33, 9, 0, 1, 2)
4306
+
4307
+ self.label_24 = QLabel(self.frame_77)
4308
+ self.label_24.setObjectName(u"label_24")
4309
+
4310
+ self.gridLayout_11.addWidget(self.label_24, 7, 0, 1, 1)
4262
4311
 
4263
4312
 
4264
4313
  self.horizontalLayout_40.addWidget(self.frame_77)
@@ -4272,38 +4321,20 @@ class Ui_mainWindow(object):
4272
4321
  self.gridLayout_5.setObjectName(u"gridLayout_5")
4273
4322
  self.label_134 = QLabel(self.frame_79)
4274
4323
  self.label_134.setObjectName(u"label_134")
4275
- palette44 = QPalette()
4276
- palette44.setBrush(QPalette.Active, QPalette.WindowText, brush)
4277
- palette44.setBrush(QPalette.Inactive, QPalette.WindowText, brush5)
4278
- palette44.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4279
- self.label_134.setPalette(palette44)
4324
+ palette46 = QPalette()
4325
+ palette46.setBrush(QPalette.Active, QPalette.WindowText, brush)
4326
+ palette46.setBrush(QPalette.Inactive, QPalette.WindowText, brush5)
4327
+ palette46.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4328
+ self.label_134.setPalette(palette46)
4280
4329
  self.label_134.setFont(font4)
4281
4330
 
4282
4331
  self.gridLayout_5.addWidget(self.label_134, 0, 1, 1, 2)
4283
4332
 
4284
- self.label_135 = QLabel(self.frame_79)
4285
- self.label_135.setObjectName(u"label_135")
4286
- self.label_135.setFont(font1)
4287
-
4288
- self.gridLayout_5.addWidget(self.label_135, 2, 0, 1, 3)
4289
-
4290
- self.cgmes_profiles_listView = QListView(self.frame_79)
4291
- self.cgmes_profiles_listView.setObjectName(u"cgmes_profiles_listView")
4292
- self.cgmes_profiles_listView.setFont(font1)
4293
-
4294
- self.gridLayout_5.addWidget(self.cgmes_profiles_listView, 12, 0, 1, 3)
4295
-
4296
- self.label_90 = QLabel(self.frame_79)
4297
- self.label_90.setObjectName(u"label_90")
4298
- self.label_90.setFont(font1)
4299
-
4300
- self.gridLayout_5.addWidget(self.label_90, 8, 0, 1, 3)
4301
-
4302
- self.cgmes_version_comboBox = QComboBox(self.frame_79)
4303
- self.cgmes_version_comboBox.setObjectName(u"cgmes_version_comboBox")
4304
- self.cgmes_version_comboBox.setFont(font1)
4333
+ self.cgmes_boundary_set_label = QLabel(self.frame_79)
4334
+ self.cgmes_boundary_set_label.setObjectName(u"cgmes_boundary_set_label")
4335
+ self.cgmes_boundary_set_label.setFont(font1)
4305
4336
 
4306
- self.gridLayout_5.addWidget(self.cgmes_version_comboBox, 3, 0, 1, 3)
4337
+ self.gridLayout_5.addWidget(self.cgmes_boundary_set_label, 9, 0, 1, 2)
4307
4338
 
4308
4339
  self.label_139 = QLabel(self.frame_79)
4309
4340
  self.label_139.setObjectName(u"label_139")
@@ -4311,12 +4342,6 @@ class Ui_mainWindow(object):
4311
4342
 
4312
4343
  self.gridLayout_5.addWidget(self.label_139, 11, 0, 1, 3)
4313
4344
 
4314
- self.cgmes_single_profile_per_file_checkBox = QCheckBox(self.frame_79)
4315
- self.cgmes_single_profile_per_file_checkBox.setObjectName(u"cgmes_single_profile_per_file_checkBox")
4316
- self.cgmes_single_profile_per_file_checkBox.setFont(font1)
4317
-
4318
- self.gridLayout_5.addWidget(self.cgmes_single_profile_per_file_checkBox, 13, 0, 1, 3)
4319
-
4320
4345
  self.label_137 = QLabel(self.frame_79)
4321
4346
  self.label_137.setObjectName(u"label_137")
4322
4347
  self.label_137.setMinimumSize(QSize(24, 24))
@@ -4326,19 +4351,36 @@ class Ui_mainWindow(object):
4326
4351
 
4327
4352
  self.gridLayout_5.addWidget(self.label_137, 0, 0, 1, 1)
4328
4353
 
4354
+ self.label_102 = QLabel(self.frame_79)
4355
+ self.label_102.setObjectName(u"label_102")
4356
+
4357
+ self.gridLayout_5.addWidget(self.label_102, 10, 0, 1, 1)
4358
+
4359
+ self.label_135 = QLabel(self.frame_79)
4360
+ self.label_135.setObjectName(u"label_135")
4361
+ self.label_135.setFont(font1)
4362
+
4363
+ self.gridLayout_5.addWidget(self.label_135, 2, 0, 1, 3)
4364
+
4329
4365
  self.line_31 = QFrame(self.frame_79)
4330
4366
  self.line_31.setObjectName(u"line_31")
4331
- palette45 = QPalette()
4332
- palette45.setBrush(QPalette.Active, QPalette.WindowText, brush3)
4333
- palette45.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
4334
- palette45.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4335
- self.line_31.setPalette(palette45)
4367
+ palette47 = QPalette()
4368
+ palette47.setBrush(QPalette.Active, QPalette.WindowText, brush3)
4369
+ palette47.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
4370
+ palette47.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
4371
+ self.line_31.setPalette(palette47)
4336
4372
  self.line_31.setFrameShadow(QFrame.Plain)
4337
4373
  self.line_31.setLineWidth(4)
4338
4374
  self.line_31.setFrameShape(QFrame.Shape.HLine)
4339
4375
 
4340
4376
  self.gridLayout_5.addWidget(self.line_31, 1, 0, 1, 3)
4341
4377
 
4378
+ self.cgmes_profiles_listView = QListView(self.frame_79)
4379
+ self.cgmes_profiles_listView.setObjectName(u"cgmes_profiles_listView")
4380
+ self.cgmes_profiles_listView.setFont(font1)
4381
+
4382
+ self.gridLayout_5.addWidget(self.cgmes_profiles_listView, 12, 0, 1, 3)
4383
+
4342
4384
  self.selectCGMESBoundarySetButton = QPushButton(self.frame_79)
4343
4385
  self.selectCGMESBoundarySetButton.setObjectName(u"selectCGMESBoundarySetButton")
4344
4386
  self.selectCGMESBoundarySetButton.setMaximumSize(QSize(80, 16777215))
@@ -4346,16 +4388,28 @@ class Ui_mainWindow(object):
4346
4388
 
4347
4389
  self.gridLayout_5.addWidget(self.selectCGMESBoundarySetButton, 9, 2, 1, 1)
4348
4390
 
4349
- self.cgmes_boundary_set_label = QLabel(self.frame_79)
4350
- self.cgmes_boundary_set_label.setObjectName(u"cgmes_boundary_set_label")
4351
- self.cgmes_boundary_set_label.setFont(font1)
4391
+ self.cgmes_version_comboBox = QComboBox(self.frame_79)
4392
+ self.cgmes_version_comboBox.setObjectName(u"cgmes_version_comboBox")
4393
+ self.cgmes_version_comboBox.setFont(font1)
4352
4394
 
4353
- self.gridLayout_5.addWidget(self.cgmes_boundary_set_label, 9, 0, 1, 2)
4395
+ self.gridLayout_5.addWidget(self.cgmes_version_comboBox, 3, 0, 1, 3)
4354
4396
 
4355
- self.label_102 = QLabel(self.frame_79)
4356
- self.label_102.setObjectName(u"label_102")
4397
+ self.label_90 = QLabel(self.frame_79)
4398
+ self.label_90.setObjectName(u"label_90")
4399
+ self.label_90.setFont(font1)
4357
4400
 
4358
- self.gridLayout_5.addWidget(self.label_102, 10, 0, 1, 1)
4401
+ self.gridLayout_5.addWidget(self.label_90, 8, 0, 1, 3)
4402
+
4403
+ self.cgmes_single_profile_per_file_checkBox = QCheckBox(self.frame_79)
4404
+ self.cgmes_single_profile_per_file_checkBox.setObjectName(u"cgmes_single_profile_per_file_checkBox")
4405
+ self.cgmes_single_profile_per_file_checkBox.setFont(font1)
4406
+
4407
+ self.gridLayout_5.addWidget(self.cgmes_single_profile_per_file_checkBox, 13, 0, 1, 3)
4408
+
4409
+ self.cgmes_map_regions_like_raw_checkBox = QCheckBox(self.frame_79)
4410
+ self.cgmes_map_regions_like_raw_checkBox.setObjectName(u"cgmes_map_regions_like_raw_checkBox")
4411
+
4412
+ self.gridLayout_5.addWidget(self.cgmes_map_regions_like_raw_checkBox, 14, 0, 1, 1)
4359
4413
 
4360
4414
 
4361
4415
  self.horizontalLayout_40.addWidget(self.frame_79)
@@ -5682,31 +5736,39 @@ class Ui_mainWindow(object):
5682
5736
  #if QT_CONFIG(tooltip)
5683
5737
  self.file_tab.setToolTip(QCoreApplication.translate("mainWindow", u"File settings", None))
5684
5738
  #endif // QT_CONFIG(tooltip)
5685
- self.label_115.setText(QCoreApplication.translate("mainWindow", u"File Information", None))
5686
- self.label_136.setText("")
5739
+ self.model_version_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5740
+ self.label_131.setText(QCoreApplication.translate("mainWindow", u"Raw files", None))
5741
+ self.label_145.setText("")
5687
5742
  self.label_39.setText(QCoreApplication.translate("mainWindow", u"File path", None))
5743
+ self.label_136.setText("")
5744
+ self.file_information_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5745
+ self.user_name_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5688
5746
  #if QT_CONFIG(tooltip)
5689
5747
  self.saveResultsCheckBox.setToolTip(QCoreApplication.translate("mainWindow", u"If checked, the results are stored inside the gridcal file in a compressed format.", None))
5690
5748
  #endif // QT_CONFIG(tooltip)
5691
5749
  self.saveResultsCheckBox.setText(QCoreApplication.translate("mainWindow", u"Save results in .gridcal files", None))
5692
- self.user_name_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5693
- self.model_version_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5694
- self.file_information_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5750
+ self.label_112.setText(QCoreApplication.translate("mainWindow", u"Export version", None))
5751
+ self.label_115.setText(QCoreApplication.translate("mainWindow", u"File Information", None))
5752
+ self.label_24.setText("")
5695
5753
  self.label_134.setText(QCoreApplication.translate("mainWindow", u"CGMES", None))
5696
- self.label_135.setText(QCoreApplication.translate("mainWindow", u"Export version", None))
5697
- self.label_90.setText(QCoreApplication.translate("mainWindow", u"Boundary set", None))
5754
+ #if QT_CONFIG(tooltip)
5755
+ self.cgmes_boundary_set_label.setToolTip(QCoreApplication.translate("mainWindow", u"Path of the CGMES default boundary set (single zip file)", None))
5756
+ #endif // QT_CONFIG(tooltip)
5757
+ self.cgmes_boundary_set_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5698
5758
  self.label_139.setText(QCoreApplication.translate("mainWindow", u"Profiles to export", None))
5699
- self.cgmes_single_profile_per_file_checkBox.setText(QCoreApplication.translate("mainWindow", u"One file per profile", None))
5700
5759
  self.label_137.setText("")
5760
+ self.label_102.setText("")
5761
+ self.label_135.setText(QCoreApplication.translate("mainWindow", u"Export version", None))
5701
5762
  #if QT_CONFIG(tooltip)
5702
5763
  self.selectCGMESBoundarySetButton.setToolTip(QCoreApplication.translate("mainWindow", u"Select the CGMES boundary set (single zip file)", None))
5703
5764
  #endif // QT_CONFIG(tooltip)
5704
5765
  self.selectCGMESBoundarySetButton.setText(QCoreApplication.translate("mainWindow", u"Select", None))
5766
+ self.label_90.setText(QCoreApplication.translate("mainWindow", u"Boundary set", None))
5767
+ self.cgmes_single_profile_per_file_checkBox.setText(QCoreApplication.translate("mainWindow", u"One file per profile", None))
5705
5768
  #if QT_CONFIG(tooltip)
5706
- self.cgmes_boundary_set_label.setToolTip(QCoreApplication.translate("mainWindow", u"Path of the CGMES default boundary set (single zip file)", None))
5769
+ self.cgmes_map_regions_like_raw_checkBox.setToolTip(QCoreApplication.translate("mainWindow", u"<html><head/><body><p>If active the CGMEs mapping will be:</p><p>GeographicalRegion &lt;-&gt; Area</p><p>SubGeographicalRegion &lt;-&gt; Zone</p><p>Otherwise:</p><p>GeographicalRegion &lt;-&gt; Country</p><p>SubGeographicalRegion &lt;-&gt; Community</p><p><br/></p></body></html>", None))
5707
5770
  #endif // QT_CONFIG(tooltip)
5708
- self.cgmes_boundary_set_label.setText(QCoreApplication.translate("mainWindow", u"...", None))
5709
- self.label_102.setText("")
5771
+ self.cgmes_map_regions_like_raw_checkBox.setText(QCoreApplication.translate("mainWindow", u"Map regions like raw files", None))
5710
5772
  self.settings_tabWidget.setTabText(self.settings_tabWidget.indexOf(self.file_tab), QCoreApplication.translate("mainWindow", u"File", None))
5711
5773
  #if QT_CONFIG(tooltip)
5712
5774
  self.settings_tabWidget.setTabToolTip(self.settings_tabWidget.indexOf(self.file_tab), QCoreApplication.translate("mainWindow", u"File related settings", None))
@@ -290,6 +290,13 @@ class DiagramsMain(CompiledArraysMain):
290
290
  # Set context menu policy to CustomContextMenu
291
291
  self.ui.diagramsListView.setContextMenuPolicy(QtGui.Qt.ContextMenuPolicy.CustomContextMenu)
292
292
 
293
+ def get_default_voltage(self) -> float:
294
+ """
295
+ Get the defualt marked voltage
296
+ :return:
297
+ """
298
+ return self.ui.defaultBusVoltageSpinBox.value()
299
+
293
300
  def auto_layout(self):
294
301
  """
295
302
  Automatic layout of the nodes
@@ -83,6 +83,8 @@ class IoMain(ConfigurationMain):
83
83
  self.ui.cgmes_profiles_listView.setModel(gf.get_list_model(list(self.cgmes_profiles_dict.keys()),
84
84
  checks=True, check_value=True))
85
85
 
86
+ self.ui.raw_export_version_comboBox.addItems(["33", "35"])
87
+
86
88
  self.ui.actionNew_project.triggered.connect(self.new_project)
87
89
  self.ui.actionOpen_file.triggered.connect(self.open_file)
88
90
  self.ui.actionAdd_circuit.triggered.connect(self.add_circuit)
@@ -290,6 +292,12 @@ class IoMain(ConfigurationMain):
290
292
  :return: Nothing
291
293
  """
292
294
  if len(filenames) > 0:
295
+
296
+ for fname in filenames:
297
+ if not os.path.exists(fname):
298
+ error_msg(text=f"The file does not exists :(\n{fname}", title="File opening")
299
+ return
300
+
293
301
  self.file_name = filenames[0]
294
302
 
295
303
  # store the working directory
@@ -688,13 +696,19 @@ class IoMain(ConfigurationMain):
688
696
 
689
697
  one_file_per_profile = self.ui.cgmes_single_profile_per_file_checkBox.isChecked()
690
698
 
699
+ cgmes_map_areas_like_raw = self.ui.cgmes_map_regions_like_raw_checkBox.isChecked()
700
+
701
+ raw_version = self.ui.raw_export_version_comboBox.currentText()
702
+
691
703
  options = filedrv.FileSavingOptions(cgmes_boundary_set=self.current_boundary_set,
692
704
  simulation_drivers=self.get_simulations(),
693
705
  sessions_data=sessions_data,
694
706
  dictionary_of_json_files=json_files,
695
707
  cgmes_version=cgmes_version,
696
708
  cgmes_profiles=cgmes_profiles,
697
- one_file_per_profile=one_file_per_profile)
709
+ cgmes_one_file_per_profile=one_file_per_profile,
710
+ cgmes_map_areas_like_raw=cgmes_map_areas_like_raw,
711
+ raw_version=raw_version)
698
712
 
699
713
  return options
700
714
 
@@ -2109,7 +2109,7 @@ class SimulationsMain(TimeEventsMain):
2109
2109
  idx_br = info.idx_branches
2110
2110
 
2111
2111
  if len(idx_from) == 0:
2112
- error_msg('The area "from" has no buses!')
2112
+ error_msg('The "from" aggregation has no buses!')
2113
2113
  return None
2114
2114
 
2115
2115
  if len(idx_to) == 0: