GridCal 5.1.31__tar.gz → 5.1.34__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 (283) hide show
  1. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/AnalysisDialogue.py +1 -1
  2. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +1 -1
  3. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +1 -1
  4. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +7 -5
  5. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +2 -11
  6. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Branches}/new_line_dialogue.py +14 -5
  7. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +1 -1
  8. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +3 -11
  9. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +2 -5
  10. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/blue_marble.py +2 -1
  11. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/cartodb.py +2 -1
  12. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/mapbox.py +2 -1
  13. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/mapquest.py +2 -1
  14. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/open_street_map.py +2 -1
  15. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/stamen_toner.py +2 -1
  16. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/stamen_transport.py +2 -1
  17. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/stamen_watercolor.py +2 -1
  18. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +4 -1
  19. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +43 -18
  20. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +173 -24
  21. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +1 -1
  22. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +1 -1
  23. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +1 -1
  24. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +1 -1
  25. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +29 -29
  26. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +1 -1
  27. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +1 -1
  28. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +1 -1
  29. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +1 -1
  30. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +1 -1
  31. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +1 -1
  32. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +1 -1
  33. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +4 -4
  34. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +1 -1
  35. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +2 -3
  36. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +1 -2
  37. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +1 -2
  38. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +1 -1
  39. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +1 -6
  40. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +1 -4
  41. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +2 -9
  42. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +1 -8
  43. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +1 -6
  44. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +22 -180
  45. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/base_diagram_widget.py +28 -6
  46. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/GridCalMain.py +1 -0
  47. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +1 -1
  48. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +68 -13
  49. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/objects.py +4 -214
  50. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/time_events.py +2 -2
  51. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Results/results.py +3 -3
  52. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +14 -3
  53. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +3 -3
  54. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/base_gui.py +5 -5
  55. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/io.py +4 -10
  56. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/simulations.py +54 -34
  57. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profile_dialogue.py +1 -1
  58. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +1 -1
  59. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +2 -2
  60. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/system_scaler.py +1 -1
  61. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +1 -1
  62. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +1 -1
  63. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/associations_model.py +4 -20
  64. GridCal-5.1.31/GridCal/Gui/ConsoleWidget.py → GridCal-5.1.34/GridCal/Gui/console_widget.py +3 -3
  65. GridCal-5.1.31/GridCal/Gui/GeneralDialogues.py → GridCal-5.1.34/GridCal/Gui/general_dialogues.py +1 -1
  66. GridCal-5.1.31/GridCal/Gui/GuiFunctions.py → GridCal-5.1.34/GridCal/Gui/gui_functions.py +5 -2
  67. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/object_model.py +6 -25
  68. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/pandas_model.py +3 -19
  69. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/profiles_model.py +4 -20
  70. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/table_view_header_wrap.py +13 -14
  71. GridCal-5.1.34/GridCal/Gui/wrappable_table_model.py +47 -0
  72. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/results_model.py +3 -19
  73. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/session.py +47 -55
  74. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/__version__.py +1 -1
  75. {GridCal-5.1.31/GridCal/Gui → GridCal-5.1.34/GridCal}/plugins.py +37 -28
  76. {GridCal-5.1.31 → GridCal-5.1.34}/PKG-INFO +1 -1
  77. GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget/map_events.py +0 -106
  78. GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget/node_widget.py +0 -161
  79. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ExecuteGridCal.py +0 -0
  80. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  81. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
  82. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/gui.py +0 -0
  83. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
  84. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
  85. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/__init__.py +0 -0
  86. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/gui.py +0 -0
  87. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/icons_rc.py +0 -0
  88. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
  89. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
  90. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
  91. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
  92. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/gui.py +0 -0
  93. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
  94. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  95. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
  96. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
  97. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  98. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  99. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
  100. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
  101. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
  102. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  103. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  104. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  105. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  106. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  107. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  108. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  109. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/__init__.py +0 -0
  110. {GridCal-5.1.31/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.34/GridCal/Gui/Diagrams/MapWidget/Tiles}/TileProviders/gmt_local.py +0 -0
  111. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  112. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  113. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  114. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  115. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  116. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  117. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
  118. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  119. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  120. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  121. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  122. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  123. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  124. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  125. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  126. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  127. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  128. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
  129. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  130. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  131. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  132. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  133. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  134. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
  135. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/__init__.py +0 -0
  136. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
  137. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
  138. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
  139. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/__init__.py +0 -0
  140. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  141. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/gui.py +0 -0
  142. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
  143. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
  144. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
  145. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
  146. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  147. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
  148. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
  149. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
  150. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
  151. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
  152. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
  153. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
  154. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/ConsoleLog.py +0 -0
  155. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
  156. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/MainWindow.py +0 -0
  157. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
  158. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
  159. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
  160. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  161. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
  162. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
  163. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
  164. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  165. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
  166. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/__init__.py +0 -0
  167. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/icons_rc.py +0 -0
  168. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/object_select_window.py +0 -0
  169. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Main/update_gui_file.py +0 -0
  170. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
  171. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
  172. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  173. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
  174. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
  175. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
  176. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  177. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  178. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
  179. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
  180. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
  181. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
  182. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
  183. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
  184. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
  185. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
  186. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
  187. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  188. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  189. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
  190. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
  191. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
  192. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  193. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  194. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
  195. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/gui.py +0 -0
  196. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
  197. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
  198. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
  199. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/__init__.py +0 -0
  200. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
  201. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
  202. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
  203. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
  204. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/gui.py +0 -0
  205. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
  206. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
  207. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/test_.py +0 -0
  208. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
  209. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
  210. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
  211. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
  212. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
  213. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Visualization/__init__.py +0 -0
  214. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Visualization/visualization.py +0 -0
  215. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Widgets/__init__.py +0 -0
  216. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
  217. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
  218. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
  219. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
  220. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
  221. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
  222. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  223. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/__init__.py +0 -0
  224. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/messages.py +0 -0
  225. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/plot_config.py +0 -0
  226. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/themes.py +0 -0
  227. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/update_gui_all.py +0 -0
  228. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Gui/update_gui_common.py +0 -0
  229. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/LICENSE.txt +0 -0
  230. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/__init__.py +0 -0
  231. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/export_results_driver.py +0 -0
  232. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/file_handler.py +0 -0
  233. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/server_driver.py +0 -0
  234. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/Session/synchronization_driver.py +0 -0
  235. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/__init__.py +0 -0
  236. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
  237. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
  238. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  239. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  240. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  241. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
  242. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  243. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  244. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  245. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  246. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  247. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  248. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  249. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  250. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  251. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  252. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  253. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
  254. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  255. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
  256. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
  257. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
  258. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  259. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  260. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  261. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  262. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  263. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  264. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  265. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  266. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  267. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  268. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  269. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  270. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  271. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  272. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  273. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  274. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/__init__.py +0 -0
  275. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/__init__.py +0 -0
  276. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/cables.csv +0 -0
  277. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/sequence_lines.csv +0 -0
  278. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/transformers.csv +0 -0
  279. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/data/wires.csv +0 -0
  280. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/templates.py +0 -0
  281. {GridCal-5.1.31 → GridCal-5.1.34}/GridCal/update.py +0 -0
  282. {GridCal-5.1.31 → GridCal-5.1.34}/setup.cfg +0 -0
  283. {GridCal-5.1.31 → GridCal-5.1.34}/setup.py +0 -0
@@ -20,7 +20,7 @@ from PySide6 import QtWidgets
20
20
  from GridCal.Gui.Analysis.gui import Ui_MainWindow
21
21
  from GridCal.Gui.Analysis.object_plot_analysis import grid_analysis, GridErrorLog, FixableErrorOutOfRange
22
22
  from GridCalEngine.Devices.multi_circuit import MultiCircuit
23
- from GridCal.Gui.GeneralDialogues import LogsDialogue, Logger
23
+ from GridCal.Gui.general_dialogues import LogsDialogue, Logger
24
24
 
25
25
 
26
26
  class GridAnalysisGUI(QtWidgets.QMainWindow):
@@ -22,7 +22,7 @@ from GridCal.Gui.ContingencyPlanner.gui import Ui_MainWindow
22
22
  import GridCalEngine.Devices as dev
23
23
  from GridCalEngine.enumerations import DeviceType
24
24
  from GridCalEngine.Devices.multi_circuit import MultiCircuit
25
- import GridCal.Gui.GuiFunctions as gf
25
+ import GridCal.Gui.gui_functions as gf
26
26
  from GridCalEngine.Simulations.ContingencyAnalysis.contingency_plan import generate_automatic_contingency_plan
27
27
 
28
28
 
@@ -5,7 +5,7 @@ from PySide6 import QtGui, QtCore, QtWidgets
5
5
  from typing import List, Tuple, Union
6
6
  from GridCal.Gui.CoordinatesInput.gui import Ui_Dialog
7
7
  from GridCal.Gui.ProfilesInput.excel_dialog import ExcelDialog
8
- from GridCal.Gui.GeneralDialogues import LogsDialogue
8
+ from GridCal.Gui.general_dialogues import LogsDialogue
9
9
  from GridCalEngine.Devices.Substation import Bus
10
10
  from GridCalEngine.basic_structures import Logger
11
11
  from GridCal.Gui.messages import error_msg
@@ -411,14 +411,16 @@ class MapLineContainer(GenericDiagramWidget):
411
411
  :param index:
412
412
  :return:
413
413
  """
414
+ # TODO: Review this and possibly link to existing functions
414
415
  if 0 < index < len(self.api_object.locations.data) and len(self.api_object.locations.data) > 3:
415
416
 
416
- ln1 = Line()
417
- ln1.set_data_from(self.api_object)
418
- # ln1 = self.api_object.copy()
417
+ # ln1 = Line()
418
+ # ln1.set_data_from(self.api_object)
419
+ ln1 = self.api_object.copy()
419
420
 
420
- ln2 = Line()
421
- ln2.set_data_from(self.api_object)
421
+ # ln2 = Line()
422
+ # ln2.set_data_from(self.api_object)
423
+ ln2 = self.api_object.copy()
422
424
 
423
425
  first_list = self.api_object.locations.data[:index]
424
426
  second_list = self.api_object.locations.data[index:]
@@ -21,7 +21,7 @@ from PySide6.QtGui import QPen, QColor, QCursor
21
21
  from PySide6.QtWidgets import QMenu, QGraphicsSceneContextMenuEvent
22
22
  from PySide6.QtWidgets import QGraphicsLineItem, QGraphicsSceneMouseEvent
23
23
 
24
- from GridCal.Gui.GuiFunctions import add_menu_entry
24
+ from GridCal.Gui.gui_functions import add_menu_entry
25
25
  from GridCal.Gui.messages import yes_no_question
26
26
  from GridCal.Gui.Diagrams.generic_graphics import ACTIVE, DEACTIVATED, OTHER
27
27
  from GridCal.Gui.Diagrams.SchematicWidget.Branches.line_editor import LineEditor
@@ -99,10 +99,6 @@ class MapLineSegment(QGraphicsLineItem):
99
99
  pen.setWidthF(w)
100
100
 
101
101
  self.setPen(pen)
102
- # self.arrow_from_1.set_colour(color, w, style)
103
- # self.arrow_from_2.set_colour(color, w, style)
104
- # self.arrow_to_1.set_colour(color, w, style)
105
- # self.arrow_to_2.set_colour(color, w, style)
106
102
 
107
103
  def set_from_side_coordinates(self, x: float, y: float):
108
104
  """
@@ -152,12 +148,7 @@ class MapLineSegment(QGraphicsLineItem):
152
148
  :return:
153
149
  """
154
150
  if self.api_object is not None:
155
- self.editor.set_editor_model(api_object=self.api_object,
156
- dictionary_of_lists={
157
- DeviceType.BusDevice: self.editor.circuit.get_buses(),
158
- DeviceType.ConnectivityNodeDevice: self.editor.circuit.get_connectivity_nodes(),
159
- DeviceType.BranchGroupDevice: self.editor.circuit.get_branch_groups()
160
- })
151
+ self.editor.set_editor_model(api_object=self.api_object)
161
152
 
162
153
  def contextMenuEvent(self, event: QGraphicsSceneContextMenuEvent):
163
154
  """
@@ -15,12 +15,15 @@
15
15
  # along with this program; if not, write to the Free Software Foundation,
16
16
  # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
 
18
- from PySide6.QtWidgets import (QApplication, QDialog, QVBoxLayout, QHBoxLayout, QLabel, QComboBox, QDialogButtonBox)
18
+ from PySide6.QtWidgets import (QDialog, QVBoxLayout, QHBoxLayout, QLabel, QComboBox, QDialogButtonBox)
19
19
  from GridCalEngine.Devices.multi_circuit import MultiCircuit
20
20
  from GridCalEngine.Devices.Substation.substation import Substation
21
21
 
22
22
 
23
23
  class NewMapLineDialogue(QDialog):
24
+ """
25
+ NewMapLineDialogue
26
+ """
24
27
  def __init__(self, grid: MultiCircuit, se_from: Substation, se_to: Substation, parent=None):
25
28
  """
26
29
  Constructor
@@ -89,6 +92,10 @@ class NewMapLineDialogue(QDialog):
89
92
  self.setLayout(main_layout)
90
93
 
91
94
  def is_valid(self):
95
+ """
96
+
97
+ :return:
98
+ """
92
99
  return self._is_valid
93
100
 
94
101
  def bus_from(self):
@@ -114,12 +121,14 @@ class NewMapLineDialogue(QDialog):
114
121
  return None
115
122
 
116
123
  def accept(self):
117
- selected_option1 = self.combo_box_from.currentText()
118
- selected_option2 = self.combo_box_to.currentText()
119
- # print(f"Accepted: {selected_option1}, {selected_option2}")
124
+ """
125
+ accept
126
+ """
120
127
  super().accept()
121
128
 
122
129
  def reject(self):
130
+ """
131
+ reject
132
+ """
123
133
  self._is_valid = False
124
- # print("Canceled")
125
134
  super().reject()
@@ -17,7 +17,7 @@
17
17
  from __future__ import annotations
18
18
  from typing import Tuple, TYPE_CHECKING
19
19
  from PySide6.QtWidgets import QApplication, QMenu, QGraphicsSceneContextMenuEvent
20
- from GridCal.Gui.GuiFunctions import add_menu_entry
20
+ from GridCal.Gui.gui_functions import add_menu_entry
21
21
  from PySide6 import QtWidgets
22
22
  from PySide6.QtCore import Qt, QPointF
23
23
  from PySide6.QtGui import QBrush, QColor, QCursor
@@ -22,9 +22,9 @@ from PySide6.QtWidgets import (QApplication, QMenu, QGraphicsSceneContextMenuEve
22
22
  from PySide6.QtCore import Qt, QPointF
23
23
  from PySide6.QtGui import QBrush, QColor, QCursor
24
24
  from GridCal.Gui.Diagrams.MapWidget.Substation.node_template import NodeTemplate
25
- from GridCal.Gui.GuiFunctions import add_menu_entry
25
+ from GridCal.Gui.gui_functions import add_menu_entry
26
26
  from GridCal.Gui.messages import yes_no_question
27
- from GridCal.Gui.GeneralDialogues import InputNumberDialogue
27
+ from GridCal.Gui.general_dialogues import InputNumberDialogue
28
28
 
29
29
  from GridCalEngine.Devices.Substation.bus import Bus
30
30
  from GridCalEngine.Devices import VoltageLevel
@@ -193,15 +193,7 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
193
193
  self.editor.map.view.disableMove = True
194
194
 
195
195
  if self.api_object is not None:
196
- self.editor.set_editor_model(api_object=self.api_object,
197
- dictionary_of_lists={
198
- DeviceType.CountryDevice: self.editor.circuit.get_countries(),
199
- DeviceType.CommunityDevice: self.editor.circuit.get_communities(),
200
- DeviceType.RegionDevice: self.editor.circuit.get_regions(),
201
- DeviceType.MunicipalityDevice: self.editor.circuit.get_municipalities(),
202
- DeviceType.AreaDevice: self.editor.circuit.get_areas(),
203
- DeviceType.ZoneDevice: self.editor.circuit.get_zones(),
204
- })
196
+ self.editor.set_editor_model(api_object=self.api_object)
205
197
 
206
198
  def mouseReleaseEvent(self, event: QGraphicsSceneMouseEvent):
207
199
  """
@@ -22,7 +22,7 @@ from PySide6.QtGui import QBrush, QColor
22
22
  from PySide6.QtWidgets import (QMenu, QGraphicsSceneContextMenuEvent, QGraphicsSceneMouseEvent, QGraphicsEllipseItem)
23
23
 
24
24
  from GridCal.Gui.Diagrams.generic_graphics import GenericDiagramWidget
25
- from GridCal.Gui.GuiFunctions import add_menu_entry
25
+ from GridCal.Gui.gui_functions import add_menu_entry
26
26
 
27
27
  from GridCalEngine.Devices.Substation.voltage_level import VoltageLevel
28
28
  from GridCalEngine.Devices.Substation.bus import Bus
@@ -148,10 +148,7 @@ class VoltageLevelGraphicItem(GenericDiagramWidget, QGraphicsEllipseItem):
148
148
  self.updateDiagram() # always update
149
149
 
150
150
  if self.api_object is not None:
151
- self.editor.set_editor_model(api_object=self.api_object,
152
- dictionary_of_lists={
153
- DeviceType.SubstationDevice: self.editor.circuit.get_substations(),
154
- })
151
+ self.editor.set_editor_model(api_object=self.api_object)
155
152
 
156
153
  def mouseReleaseEvent(self, event):
157
154
  """
@@ -34,7 +34,8 @@ class BlueMarbleTiles(Tiles):
34
34
  servers=['https://s3.amazonaws.com', ],
35
35
  url_path='/com.modestmaps.bluemarble/{Z}-r{Y}-c{X}.jpg',
36
36
  max_server_requests=2,
37
- http_proxy=http_proxy)
37
+ http_proxy=http_proxy,
38
+ attribution="© NASA Blue Marble, © OpenStreetMap contributors")
38
39
 
39
40
  def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
40
41
  """Convert geo to tile fractional coordinates for level in use.
@@ -38,7 +38,8 @@ class CartoDbTiles(Tiles):
38
38
  url_path='/{Z}/{X}/{Y}.png',
39
39
  max_server_requests=2,
40
40
  max_lru=10000,
41
- http_proxy=http_proxy)
41
+ http_proxy=http_proxy,
42
+ attribution="© CARTO, © OpenStreetMap contributors")
42
43
  # TODO: implement map wrap-around
43
44
  # self.wrap_x = True
44
45
  # self.wrap_y = False
@@ -29,7 +29,8 @@ class MapboxTiles(Tiles):
29
29
  ],
30
30
  url_path='/v3/examples.map-szwdot65/{Z}/{X}/{Y}.png',
31
31
  max_server_requests=2,
32
- http_proxy=http_proxy)
32
+ http_proxy=http_proxy,
33
+ attribution="© Mapbox © OpenStreetMap contributors")
33
34
 
34
35
  def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
35
36
  """Convert geo to tile fractional coordinates for level in use.
@@ -32,7 +32,8 @@ class MapquestTiles(Tiles):
32
32
  max_server_requests=2,
33
33
  max_lru=10000,
34
34
  tiles_dir=tiles_dir,
35
- http_proxy=http_proxy)
35
+ http_proxy=http_proxy,
36
+ attribution="© MapQuest, © OpenStreetMap contributors")
36
37
 
37
38
  def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
38
39
  """
@@ -34,7 +34,8 @@ class OsmTiles(Tiles):
34
34
  url_path='/{Z}/{X}/{Y}.png',
35
35
  max_server_requests=2,
36
36
  max_lru=10000,
37
- http_proxy=http_proxy)
37
+ http_proxy=http_proxy,
38
+ attribution="© OpenStreetMap contributors")
38
39
  # TODO: implement map wrap-around
39
40
  # self.wrap_x = True
40
41
  # self.wrap_y = False
@@ -31,7 +31,8 @@ class StamenTonerTiles(Tiles):
31
31
  url_path='/toner/{Z}/{X}/{Y}.png',
32
32
  max_server_requests=2,
33
33
  max_lru=10000,
34
- http_proxy=http_proxy)
34
+ http_proxy=http_proxy,
35
+ attribution="Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.")
35
36
 
36
37
  def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
37
38
  """Convert geo to tile fractional coordinates for level in use.
@@ -34,7 +34,8 @@ class StamenTransportTiles(Tiles):
34
34
  max_server_requests=2,
35
35
  max_lru=10000,
36
36
  tiles_dir=tiles_dir,
37
- http_proxy=http_proxy)
37
+ http_proxy=http_proxy,
38
+ attribution="Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.")
38
39
 
39
40
  def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
40
41
  """Convert geo to tile fractional coordinates for level in use.
@@ -30,7 +30,8 @@ class StamenWatercolorTiles(Tiles):
30
30
  max_server_requests=2,
31
31
  max_lru=10000,
32
32
  tiles_dir=tiles_dir,
33
- http_proxy=http_proxy)
33
+ http_proxy=http_proxy,
34
+ attribution="Map tiles by Stamen Design, under CC BY 3.0. Data by OpenStreetMap, under ODbL.")
34
35
 
35
36
  def Geo2Tile(self, longitude: float, latitude: float) -> Tuple[float, float]:
36
37
  """
@@ -59,7 +59,8 @@ class Tiles(BaseTiles):
59
59
  url_path: str,
60
60
  max_server_requests: int,
61
61
  http_proxy,
62
- refetch_days: int = 60):
62
+ refetch_days: int = 60,
63
+ attribution: str = ""):
63
64
  """
64
65
  Initialise a Tiles instance.
65
66
  :param levels: a list of level numbers that are to be served
@@ -77,6 +78,8 @@ class Tiles(BaseTiles):
77
78
  self.TilesetShortName = TilesetShortName
78
79
  self.TilesetVersion = TilesetVersion
79
80
 
81
+ self.attribution_string = attribution
82
+
80
83
  # prepare the tile cache directory, if required
81
84
  # we have to do this *before* the base class initialization!
82
85
  for level in levels:
@@ -15,15 +15,16 @@
15
15
  # along with this program; if not, write to the Free Software Foundation,
16
16
  # Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
17
  import os
18
- from typing import Union, List, Tuple, Dict
18
+ from typing import Union, List, Tuple
19
+ import json
19
20
  import numpy as np
20
21
  import math
21
22
  from PySide6.QtWidgets import QGraphicsItem
22
23
  from collections.abc import Callable
23
24
  from PySide6.QtSvg import QSvgGenerator
24
25
  from PySide6.QtCore import (Qt, QSize, QRect, QMimeData, QIODevice, QByteArray, QDataStream, QModelIndex)
25
- from PySide6.QtGui import (QIcon, QPixmap, QImage, QPainter, QStandardItemModel, QStandardItem, QColor, QDropEvent,
26
- QWheelEvent)
26
+ from PySide6.QtGui import (QIcon, QPixmap, QImage, QPainter, QStandardItemModel, QStandardItem, QColor,
27
+ QDropEvent, QWheelEvent)
27
28
 
28
29
  from GridCalEngine.Devices.Diagrams.map_location import MapLocation
29
30
  from GridCalEngine.Devices.Substation import Bus
@@ -39,7 +40,7 @@ from GridCalEngine.Devices.Substation.voltage_level import VoltageLevel
39
40
  from GridCalEngine.Devices.Branches.line_locations import LineLocation
40
41
  from GridCalEngine.Devices.multi_circuit import MultiCircuit
41
42
  from GridCalEngine.enumerations import DeviceType
42
- from GridCalEngine.Devices.types import ALL_DEV_TYPES, INJECTION_DEVICE_TYPES, FLUID_TYPES
43
+ from GridCalEngine.Devices.types import ALL_DEV_TYPES
43
44
  from GridCalEngine.basic_structures import Logger
44
45
 
45
46
  from GridCal.Gui.Diagrams.MapWidget.Branches.map_ac_line import MapAcLine
@@ -50,7 +51,7 @@ from GridCal.Gui.Diagrams.MapWidget.Substation.node_graphic_item import NodeGrap
50
51
  from GridCal.Gui.Diagrams.MapWidget.Substation.substation_graphic_item import SubstationGraphicItem
51
52
  from GridCal.Gui.Diagrams.MapWidget.Substation.voltage_level_graphic_item import VoltageLevelGraphicItem
52
53
  from GridCal.Gui.Diagrams.MapWidget.map_widget import MapWidget
53
- from GridCal.Gui.Diagrams.MapWidget.new_line_dialogue import NewMapLineDialogue
54
+ from GridCal.Gui.Diagrams.MapWidget.Branches.new_line_dialogue import NewMapLineDialogue
54
55
  import GridCal.Gui.Visualization.visualization as viz
55
56
  import GridCalEngine.Devices.Diagrams.palettes as palettes
56
57
  from GridCal.Gui.Diagrams.graphics_manager import ALL_MAP_GRAPHICS
@@ -212,14 +213,16 @@ class GridMapWidget(BaseDiagramWidget):
212
213
  call_delete_db_element_func: Callable[["GridMapWidget", ALL_DEV_TYPES], None] = None,
213
214
  call_new_substation_diagram_func: Callable[[Substation], None] = None, ):
214
215
  """
215
-
216
- :param tile_src:
217
- :param start_level:
218
- :param longitude:
219
- :param latitude:
220
- :param name:
221
- :param diagram:
222
- :param call_delete_db_element_func:
216
+ GridMapWidget
217
+ :param tile_src: Tiles instance
218
+ :param start_level: starting level
219
+ :param longitude: Center point Longitude (deg)
220
+ :param latitude: Center point Latitude (deg)
221
+ :param name: Name of the diagram
222
+ :param circuit: MultiCircuit instance
223
+ :param diagram: Diagram instance (optional)
224
+ :param call_delete_db_element_func: function pointer to call on delete (optional)
225
+ :param call_new_substation_diagram_func: function pointer to call on new_substation (optional)
223
226
  """
224
227
 
225
228
  BaseDiagramWidget.__init__(self,
@@ -237,8 +240,6 @@ class GridMapWidget(BaseDiagramWidget):
237
240
  self.map = MapWidget(parent=self,
238
241
  tile_src=tile_src,
239
242
  start_level=start_level,
240
- startLat=latitude,
241
- startLon=longitude,
242
243
  editor=self,
243
244
  zoom_callback=self.zoom_callback,
244
245
  position_callback=self.position_callback)
@@ -458,9 +459,11 @@ class GridMapWidget(BaseDiagramWidget):
458
459
  if it1 == it2:
459
460
  return 0
460
461
 
461
- new_line = Line()
462
- new_line.set_data_from(it1.line_container.api_object)
462
+ # TODO: Review this and possibly link to existing functions
463
+ # new_line = Line()
464
+ # new_line.set_data_from(it1.line_container.api_object)
463
465
  # ln1 = self.api_object.copy()
466
+ new_line = it1.line_container.api_object.copy()
464
467
 
465
468
  better_first, better_second, bus_from, bus_to = compare_options(it1, it2)
466
469
 
@@ -956,7 +959,6 @@ class GridMapWidget(BaseDiagramWidget):
956
959
 
957
960
  voltage_cmap = viz.get_voltage_color_map()
958
961
  loading_cmap = viz.get_loading_color_map()
959
- bus_types = ['', 'PQ', 'PV', 'Slack', 'PQV', 'P']
960
962
 
961
963
  vmin = 0
962
964
  vmax = 1.2
@@ -1168,6 +1170,29 @@ class GridMapWidget(BaseDiagramWidget):
1168
1170
  else:
1169
1171
  print("call_new_substation_diagram_func is None :( ")
1170
1172
 
1173
+ def copy(self) -> "GridMapWidget":
1174
+ """
1175
+ Deep copy of this widget
1176
+ :return: GridMapWidget
1177
+ """
1178
+ d_copy = MapDiagram(name=self.diagram.name + '_copy')
1179
+ j_data = json.dumps(self.diagram.get_data_dict(), indent=4)
1180
+ d_copy.parse_data(data=json.loads(j_data),
1181
+ obj_dict=self.circuit.get_all_elements_dict_by_type(add_locations=True),
1182
+ logger=self.logger)
1183
+
1184
+ return GridMapWidget(
1185
+ tile_src=self.map.tile_src,
1186
+ start_level=self.diagram.start_level,
1187
+ longitude=self.diagram.longitude,
1188
+ latitude=self.diagram.latitude,
1189
+ name=self.diagram.name,
1190
+ circuit=self.circuit,
1191
+ diagram=self.diagram,
1192
+ call_new_substation_diagram_func=self.call_new_substation_diagram_func,
1193
+ call_delete_db_element_func=self.call_delete_db_element_func
1194
+ )
1195
+
1171
1196
 
1172
1197
  def generate_map_diagram(substations: List[Substation],
1173
1198
  voltage_levels: List[VoltageLevel],