GridCal 5.1.38__tar.gz → 5.1.39__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (281) hide show
  1. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +2 -2
  2. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +2 -2
  3. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +1 -1
  4. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +2 -2
  5. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +2 -2
  6. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +1 -1
  7. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +133 -127
  8. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +3 -3
  9. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +2 -2
  10. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +1 -1
  11. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +1 -1
  12. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +1 -1
  13. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +2 -2
  14. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Results/results.py +1 -1
  15. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +1 -1
  16. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/session.py +1 -1
  17. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/__version__.py +1 -1
  18. {GridCal-5.1.38 → GridCal-5.1.39}/PKG-INFO +1 -1
  19. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ExecuteGridCal.py +0 -0
  20. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  21. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
  22. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/gui.py +0 -0
  23. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
  24. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
  25. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
  26. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/__init__.py +0 -0
  27. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/gui.py +0 -0
  28. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/icons_rc.py +0 -0
  29. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
  30. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
  31. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
  32. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
  33. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/gui.py +0 -0
  34. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
  35. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  36. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  37. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
  38. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
  39. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  40. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  41. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  42. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
  43. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
  44. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
  45. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  46. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  47. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  48. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  49. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  50. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  51. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Branches/new_line_dialogue.py +0 -0
  52. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  53. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +0 -0
  54. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  55. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  56. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/__init__.py +0 -0
  57. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/blue_marble.py +0 -0
  58. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/cartodb.py +0 -0
  59. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/gmt_local.py +0 -0
  60. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapbox.py +0 -0
  61. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/mapquest.py +0 -0
  62. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/open_street_map.py +0 -0
  63. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_toner.py +0 -0
  64. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_transport.py +0 -0
  65. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/TileProviders/stamen_watercolor.py +0 -0
  66. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  67. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  68. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  69. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  70. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  71. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  72. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  73. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
  74. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +0 -0
  75. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  76. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  77. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  78. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  79. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  80. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +0 -0
  81. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  82. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  83. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  84. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  85. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  86. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  87. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  88. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  89. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  90. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  91. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  92. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +0 -0
  93. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  94. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  95. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  96. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
  97. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  98. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
  99. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  100. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  101. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  102. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  103. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  104. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  105. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
  106. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/__init__.py +0 -0
  107. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/base_diagram_widget.py +0 -0
  108. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
  109. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
  110. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
  111. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/__init__.py +0 -0
  112. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  113. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/gui.py +0 -0
  114. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
  115. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
  116. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
  117. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
  118. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  119. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
  120. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
  121. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
  122. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
  123. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
  124. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
  125. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
  126. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/ConsoleLog.py +0 -0
  127. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
  128. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/GridCalMain.py +0 -0
  129. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/MainWindow.py +0 -0
  130. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
  131. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  132. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +0 -0
  133. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/objects.py +0 -0
  134. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Model/time_events.py +0 -0
  135. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
  136. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
  137. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  138. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
  139. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  140. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
  141. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
  142. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  143. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +0 -0
  144. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
  145. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/base_gui.py +0 -0
  146. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/io.py +0 -0
  147. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/SubClasses/simulations.py +0 -0
  148. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/__init__.py +0 -0
  149. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/icons_rc.py +0 -0
  150. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/object_select_window.py +0 -0
  151. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Main/update_gui_file.py +0 -0
  152. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
  153. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
  154. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
  155. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
  156. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
  157. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
  158. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
  159. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
  160. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
  161. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
  162. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
  163. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
  164. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  165. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
  166. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
  167. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  168. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
  169. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
  170. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
  171. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
  172. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  173. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
  174. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
  175. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
  176. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  177. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  178. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
  179. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/gui.py +0 -0
  180. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
  181. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
  182. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
  183. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/__init__.py +0 -0
  184. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
  185. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
  186. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
  187. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
  188. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  189. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
  190. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/gui.py +0 -0
  191. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
  192. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
  193. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/test_.py +0 -0
  194. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
  195. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
  196. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  197. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
  198. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
  199. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
  200. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Visualization/__init__.py +0 -0
  201. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Visualization/visualization.py +0 -0
  202. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Widgets/__init__.py +0 -0
  203. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
  204. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
  205. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
  206. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
  207. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
  208. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
  209. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  210. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/__init__.py +0 -0
  211. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/associations_model.py +0 -0
  212. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/console_widget.py +0 -0
  213. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/general_dialogues.py +0 -0
  214. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/gui_functions.py +0 -0
  215. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/messages.py +0 -0
  216. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/object_model.py +0 -0
  217. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/pandas_model.py +0 -0
  218. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/plot_config.py +0 -0
  219. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/profiles_model.py +0 -0
  220. {GridCal-5.1.38/GridCal/Session → GridCal-5.1.39/GridCal/Gui}/results_model.py +0 -0
  221. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/table_view_header_wrap.py +0 -0
  222. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/themes.py +0 -0
  223. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/update_gui_all.py +0 -0
  224. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/update_gui_common.py +0 -0
  225. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Gui/wrappable_table_model.py +0 -0
  226. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/LICENSE.txt +0 -0
  227. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/__init__.py +0 -0
  228. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/export_results_driver.py +0 -0
  229. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/file_handler.py +0 -0
  230. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/server_driver.py +0 -0
  231. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/Session/synchronization_driver.py +0 -0
  232. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/__init__.py +0 -0
  233. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
  234. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
  235. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  236. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  237. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  238. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
  239. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  240. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  241. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  242. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  243. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  244. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  245. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  246. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  247. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  248. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  249. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  250. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
  251. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  252. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
  253. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
  254. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
  255. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  256. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  257. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  258. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  259. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  260. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  261. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  262. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  263. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  264. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  265. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  266. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  267. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  268. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  269. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  270. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  271. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/__init__.py +0 -0
  272. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/__init__.py +0 -0
  273. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/cables.csv +0 -0
  274. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/sequence_lines.csv +0 -0
  275. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/transformers.csv +0 -0
  276. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/data/wires.csv +0 -0
  277. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/plugins.py +0 -0
  278. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/templates.py +0 -0
  279. {GridCal-5.1.38 → GridCal-5.1.39}/GridCal/update.py +0 -0
  280. {GridCal-5.1.38 → GridCal-5.1.39}/setup.cfg +0 -0
  281. {GridCal-5.1.38 → GridCal-5.1.39}/setup.py +0 -0
@@ -52,8 +52,8 @@ class MapLineSegment(QGraphicsLineItem):
52
52
  self.container: MapLineContainer = container
53
53
  self.draw_labels = True
54
54
 
55
- self.style = Qt.SolidLine
56
- self.color = Qt.blue
55
+ self.style = Qt.PenStyle.SolidLine
56
+ self.color = QColor(115, 115, 115, 200) # translucent gray
57
57
  self.width = 0.1
58
58
 
59
59
  self.pos1: QPointF = self.first.get_center_pos()
@@ -374,14 +374,14 @@ class SubstationGraphicItem(QGraphicsRectItem, NodeTemplate):
374
374
  max_value=100000.0,
375
375
  default_value=self.editor.diagram.default_bus_voltage,
376
376
  title="Add voltage level",
377
- text="Voltage (kV)",
377
+ text="Voltage (KV)",
378
378
  )
379
379
 
380
380
  inpt.exec()
381
381
 
382
382
  if inpt.is_accepted:
383
383
  kv = inpt.value
384
- vl = VoltageLevel(name=f'{kv}kV @ {self.api_object.name}',
384
+ vl = VoltageLevel(name=f'{kv}KV @ {self.api_object.name}',
385
385
  Vnom=kv,
386
386
  substation=self.api_object)
387
387
 
@@ -994,7 +994,7 @@ class GridMapWidget(BaseDiagramWidget):
994
994
  #
995
995
  # tooltip = str(i) + ': ' + bus.name + '\n' \
996
996
  # + 'V:' + "{:10.4f}".format(vabs[i]) + " <{:10.4f}".format(vang[i]) + 'º [p.u.]\n' \
997
- # + 'V:' + "{:10.4f}".format(vabs[i] * bus.Vnom) + " <{:10.4f}".format(vang[i]) + 'º [kV]'
997
+ # + 'V:' + "{:10.4f}".format(vabs[i] * bus.Vnom) + " <{:10.4f}".format(vang[i]) + 'º [KV]'
998
998
  # if Sbus is not None:
999
999
  # tooltip += '\nS: ' + "{:10.4f}".format(Sbus[i] * Sbase) + ' [MVA]'
1000
1000
  # if types is not None:
@@ -73,7 +73,7 @@ class DcLineEditor(QDialog):
73
73
  # X = self.branch.X * Zbase
74
74
  # B = self.branch.B * Ybase
75
75
 
76
- I = self.branch.rate / Vf # current in kA
76
+ I = self.branch.rate / Vf # current in KA
77
77
 
78
78
  # ------------------------------------------------------------------------------------------
79
79
 
@@ -177,7 +177,7 @@ class DcLineEditor(QDialog):
177
177
  Vf = self.branch.bus_from.Vnom
178
178
  Vt = self.branch.bus_to.Vnom
179
179
 
180
- Sn = np.round(I * Vf, 2) # nominal power in MVA = kA * kV
180
+ Sn = np.round(I * Vf, 2) # nominal power in MVA = KA * KV
181
181
 
182
182
  Zbase = self.Sbase / (Vf * Vf)
183
183
  Ybase = 1.0 / Zbase
@@ -87,7 +87,7 @@ class LineEditor(QDialog):
87
87
  R = self.line.R * Zbase / length
88
88
  X = self.line.X * Zbase / length
89
89
  B = self.line.B * Ybase / length
90
- I = np.round(self.line.rate / (Vf * 1.73205080757), 6) # current in kA
90
+ I = np.round(self.line.rate / (Vf * 1.73205080757), 6) # current in KA
91
91
 
92
92
  # ------------------------------------------------------------------------------------------
93
93
 
@@ -225,7 +225,7 @@ class LineEditor(QDialog):
225
225
  x_ohm=self.x_spinner.value(), # ohm / km
226
226
  c_nf=self.b_spinner.value() * 1e3 / wf, # nF / km
227
227
  length=self.l_spinner.value(), # km
228
- Imax=self.i_spinner.value(), # kA
228
+ Imax=self.i_spinner.value(), # KA
229
229
  freq=self.frequency, # Hz
230
230
  Sbase=self.Sbase, # MVA
231
231
  apply_to_profile=self.apply_to_profile.isChecked()
@@ -271,7 +271,7 @@ class LineGraphicItem(LineGraphicTemplateItem):
271
271
 
272
272
  if ok:
273
273
  # rate = I
274
- rated_current = self.api_object.rate / (self.api_object.Vf * 1.73205080757) # MVA = kA * kV * sqrt(3)
274
+ rated_current = self.api_object.rate / (self.api_object.Vf * 1.73205080757) # MVA = KA * KV * sqrt(3)
275
275
 
276
276
  tpe = SequenceLineType(name='SequenceLine from ' + self.api_object.name,
277
277
  idtag=None,
@@ -22,7 +22,7 @@ from PySide6.QtCore import Qt, QLineF, QPointF, QRectF
22
22
  from PySide6.QtGui import QPen, QCursor, QPixmap, QBrush, QColor, QTransform, QPolygonF
23
23
  from PySide6.QtWidgets import (QGraphicsLineItem, QGraphicsRectItem, QGraphicsPolygonItem,
24
24
  QGraphicsEllipseItem, QGraphicsSceneMouseEvent, QGraphicsTextItem)
25
- from GridCal.Gui.Diagrams.generic_graphics import ACTIVE, DEACTIVATED, OTHER, GenericDiagramWidget
25
+ from GridCal.Gui.Diagrams.generic_graphics import ACTIVE, DEACTIVATED, OTHER, GenericDiagramWidget, TRANSPARENT, WHITE
26
26
  from GridCal.Gui.Diagrams.SchematicWidget.terminal_item import BarTerminalItem, RoundTerminalItem
27
27
  from GridCal.Gui.Diagrams.SchematicWidget.Substation.bus_graphics import BusGraphicItem
28
28
  from GridCal.Gui.Diagrams.SchematicWidget.Substation.cn_graphics import CnGraphicItem
@@ -50,115 +50,6 @@ if TYPE_CHECKING: # Only imports the below statements during type checking
50
50
  from GridCal.Gui.Diagrams.SchematicWidget.Branches.transformer3w_graphics import Transformer3WGraphicItem
51
51
 
52
52
 
53
- class ArrowHead(QGraphicsPolygonItem):
54
- """
55
- This is the arrow object
56
- """
57
-
58
- def __init__(self,
59
- parent: QGraphicsLineItem,
60
- arrow_size: int,
61
- position: float = 0.9,
62
- under: bool = False,
63
- backwards: bool = False,
64
- separation: int = 5,
65
- show_text: bool = True):
66
- """
67
- Constructor
68
- :param parent: Parent line
69
- :param arrow_size: Size of the arrow
70
- :param position: proportion of the line where to locate the arrow
71
- :param under: Is it under?
72
- :param backwards: Is it backwards?
73
- :param separation: Separation
74
- :param show_text: Show the label?
75
- """
76
- QGraphicsPolygonItem.__init__(self, parent=parent)
77
-
78
- self.parent: QGraphicsLineItem = parent
79
- self.arrow_size: int = arrow_size
80
- self.position: float = position
81
- self.under: bool = under
82
- self.backwards: float = backwards
83
- self.sep = separation
84
-
85
- self.label = QGraphicsTextItem(self)
86
- self.label.setPlainText("")
87
- self.show_text = show_text
88
-
89
- self.w = arrow_size
90
- self.h = arrow_size
91
-
92
- self.setPen(Qt.NoPen)
93
-
94
- def set_colour(self, color: QColor, w, style: Qt.PenStyle):
95
- """
96
- Set color and style
97
- :param color: QColor instance
98
- :param w: width
99
- :param style: PenStyle instance
100
- :return:
101
- """
102
- # self.setPen(QPen(color, w, style))
103
- # self.setPen(Qt.NoPen)
104
- self.setBrush(color)
105
- self.label.setDefaultTextColor(color)
106
-
107
- def set_value(self, value: float, redraw=True, backwards=False, name="", units="", format_str="{:10.2f}",
108
- draw_label: bool = True, visibility_filter_value=1e-4):
109
- """
110
- Set the sign with a value
111
- :param value: any real value
112
- :param redraw: redraw after the sign update
113
- :param backwards: draw backwards
114
- :param name: name of the displayed magnitude (i.e. Pf)
115
- :param units: the units of the displayed magnitude (i.e MW)
116
- :param format_str: the formatting string of the displayed magnitude
117
- :param visibility_filter_value: threshold to determine if to show this widget
118
- :param draw_label: Draw label
119
- """
120
- self.setVisible(abs(value) > visibility_filter_value)
121
- self.backwards = backwards
122
-
123
- self.label.setVisible(draw_label)
124
- if draw_label:
125
- x = format_str.format(value)
126
- msg = f'{name}:{x} {units}'
127
- self.label.setPlainText(msg)
128
- self.setToolTip(msg)
129
-
130
- if redraw:
131
- self.redraw()
132
-
133
- def redraw(self) -> None:
134
- """
135
- Redraw the arrow
136
- """
137
- line = self.parent.line()
138
-
139
- # the angle is added 180º if the sign is negative
140
- angle = - line.angle()
141
- base_pt = line.p1() + (line.p2() - line.p1()) * self.position
142
-
143
- p1 = -self.arrow_size if self.backwards else self.arrow_size
144
- p2 = -self.arrow_size if self.under else self.arrow_size
145
- arrow_p1 = base_pt - QTransform().rotate(angle).map(QPointF(p1, 0))
146
- arrow_p2 = base_pt - QTransform().rotate(angle).map(QPointF(p1, p2))
147
- arrow_polygon = QPolygonF([base_pt, arrow_p1, arrow_p2])
148
-
149
- # base_pt = line.p1() + (line.p2() - line.p1()) * self.position
150
- #
151
- # arrow_polygon = QPolygonF([base_pt, arrow_p1, arrow_p2])
152
-
153
- self.setPolygon(arrow_polygon)
154
- if self.show_text:
155
- # angle = - line.angle()
156
- a = angle + 180 if 90 < line.angle() <= 270 else angle # this keep the labels upside
157
- label_p = base_pt - QTransform().rotate(a).map(QPointF(0, -10 if self.under else 35))
158
- self.label.setPos(label_p)
159
- self.label.setRotation(a)
160
-
161
-
162
53
  class TransformerSymbol(QGraphicsRectItem):
163
54
  """
164
55
  TransformerSymbol
@@ -176,19 +67,19 @@ class TransformerSymbol(QGraphicsRectItem):
176
67
  self.color = ACTIVE['color']
177
68
  self.style = ACTIVE['style']
178
69
 
179
- self.setPen(QPen(Qt.transparent))
70
+ self.setPen(QPen(TRANSPARENT))
180
71
  self.setRect(QRectF(0, 0, w, h))
181
72
 
182
73
  self.c0 = QGraphicsEllipseItem(0, 0, d, d, parent=self)
183
74
  self.c1 = QGraphicsEllipseItem(0, 0, d, d, parent=self)
184
75
  self.c2 = QGraphicsEllipseItem(0, 0, d, d, parent=self)
185
76
 
186
- self.c0.setPen(QPen(Qt.transparent, self.width, self.style))
77
+ self.c0.setPen(QPen(TRANSPARENT, self.width, self.style))
187
78
  self.c2.setPen(QPen(self.color, self.width, self.style))
188
79
  self.c1.setPen(QPen(self.color, self.width, self.style))
189
80
 
190
- self.c0.setBrush(QBrush(Qt.white))
191
- self.c2.setBrush(QBrush(Qt.white))
81
+ self.c0.setBrush(QBrush(WHITE))
82
+ self.c2.setBrush(QBrush(WHITE))
192
83
 
193
84
  self.c0.setPos(w * 0.35 - d / 2, h * 0.5 - d / 2)
194
85
  self.c1.setPos(w * 0.35 - d / 2, h * 0.5 - d / 2)
@@ -266,12 +157,12 @@ class VscSymbol(QGraphicsRectItem):
266
157
  self.color = ACTIVE['color']
267
158
  self.style = ACTIVE['style']
268
159
 
269
- self.setPen(QPen(Qt.transparent))
160
+ self.setPen(QPen(TRANSPARENT))
270
161
  self.setRect(QRectF(0, 0, w, h))
271
162
 
272
163
  graphic = QGraphicsRectItem(QRectF(0, 0, w, h), parent=self)
273
164
  graphic.setBrush(QBrush(QPixmap(icon_route)))
274
- graphic.setPen(QPen(Qt.transparent, self.width, self.style))
165
+ graphic.setPen(QPen(TRANSPARENT, self.width, self.style))
275
166
 
276
167
  def set_colour(self, color: QColor, w, style: Qt.PenStyle):
277
168
  """
@@ -366,7 +257,7 @@ class HvdcSymbol(QGraphicsRectItem):
366
257
  self.color = ACTIVE['color']
367
258
  self.style = ACTIVE['style']
368
259
 
369
- self.setPen(QPen(Qt.transparent))
260
+ self.setPen(QPen(TRANSPARENT))
370
261
  self.setRect(QRectF(0, 0, w, h))
371
262
 
372
263
  offset = 3
@@ -377,12 +268,12 @@ class HvdcSymbol(QGraphicsRectItem):
377
268
 
378
269
  triangle = QGraphicsPolygonItem(self)
379
270
  triangle.setPolygon(t_points)
380
- triangle.setPen(QPen(Qt.white))
381
- triangle.setBrush(QBrush(Qt.white))
271
+ triangle.setPen(QPen(WHITE))
272
+ triangle.setBrush(QBrush(WHITE))
382
273
 
383
274
  line = QGraphicsRectItem(QRectF(h - offset, offset, offset, w - 2 * offset), parent=self)
384
- line.setPen(QPen(Qt.white))
385
- line.setBrush(QBrush(Qt.white))
275
+ line.setPen(QPen(WHITE))
276
+ line.setBrush(QBrush(WHITE))
386
277
 
387
278
  def set_colour(self, color: QColor, w, style: Qt.PenStyle):
388
279
  """
@@ -431,6 +322,122 @@ class HvdcSymbol(QGraphicsRectItem):
431
322
  self.setTransform(transform)
432
323
 
433
324
 
325
+ class ArrowHead(QGraphicsPolygonItem):
326
+ """
327
+ This is the arrow object
328
+ """
329
+
330
+ def __init__(self,
331
+ parent: QGraphicsLineItem,
332
+ arrow_size: int,
333
+ position: float = 0.9,
334
+ under: bool = False,
335
+ backwards: bool = False,
336
+ separation: int = 5,
337
+ show_text: bool = True):
338
+ """
339
+ Constructor
340
+ :param parent: Parent line
341
+ :param arrow_size: Size of the arrow
342
+ :param position: proportion of the line where to locate the arrow
343
+ :param under: Is it under?
344
+ :param backwards: Is it backwards?
345
+ :param separation: Separation
346
+ :param show_text: Show the label?
347
+ """
348
+ QGraphicsPolygonItem.__init__(self, parent=parent)
349
+
350
+ self.parent: QGraphicsLineItem = parent
351
+ self.arrow_size: int = arrow_size
352
+ self.position: float = position
353
+ self.under: bool = under
354
+ self.backwards: float = backwards
355
+ self.sep = separation
356
+
357
+ self.label = QGraphicsTextItem(self)
358
+ self.label.setPlainText("")
359
+ self.show_text = show_text
360
+
361
+ self.w = arrow_size
362
+ self.h = arrow_size
363
+
364
+ self.setPen(Qt.PenStyle.NoPen)
365
+
366
+ def set_colour(self, color: QColor, w, style: Qt.PenStyle):
367
+ """
368
+ Set color and style
369
+ :param color: QColor instance
370
+ :param w: width
371
+ :param style: PenStyle instance
372
+ :return:
373
+ """
374
+ self.setBrush(color)
375
+ self.label.setDefaultTextColor(color)
376
+
377
+ def set_value(self, value: float, redraw=True, backwards=False, name="", units="", format_str="{:10.2f}",
378
+ draw_label: bool = True, visibility_filter_value=1e-4):
379
+ """
380
+ Set the sign with a value
381
+ :param value: any real value
382
+ :param redraw: redraw after the sign update
383
+ :param backwards: draw backwards
384
+ :param name: name of the displayed magnitude (i.e. Pf)
385
+ :param units: the units of the displayed magnitude (i.e MW)
386
+ :param format_str: the formatting string of the displayed magnitude
387
+ :param visibility_filter_value: threshold to determine if to show this widget
388
+ :param draw_label: Draw label
389
+ """
390
+ self.setVisible(abs(value) > visibility_filter_value)
391
+ self.backwards = backwards
392
+
393
+ self.label.setVisible(draw_label)
394
+ if draw_label:
395
+ x = format_str.format(value)
396
+ msg = f'{name}:{x} {units}'
397
+ self.label.setPlainText(msg)
398
+ self.setToolTip(msg)
399
+
400
+ if redraw:
401
+ self.redraw()
402
+
403
+ def redraw(self) -> None:
404
+ """
405
+ Redraw the arrow
406
+ """
407
+ line = self.parent.line()
408
+
409
+ # the angle is added 180º if the sign is negative
410
+ angle = - line.angle()
411
+ base_pt = line.p1() + (line.p2() - line.p1()) * self.position
412
+
413
+ p1 = -self.arrow_size if self.backwards else self.arrow_size
414
+ p2 = -self.arrow_size if self.under else self.arrow_size
415
+ arrow_p1 = base_pt - QTransform().rotate(angle).map(QPointF(p1, 0))
416
+ arrow_p2 = base_pt - QTransform().rotate(angle).map(QPointF(p1, p2))
417
+ arrow_polygon = QPolygonF([base_pt, arrow_p1, arrow_p2])
418
+
419
+ self.setPolygon(arrow_polygon)
420
+
421
+ if self.show_text:
422
+ # if 90 < line.angle() <= 270:
423
+ # label_p = base_pt - QTransform().rotate(-angle).map(QPointF(20, -10 if self.under else 35))
424
+ # self.label.setPos(label_p)
425
+ # self.label.setRotation(-angle)
426
+ # else:
427
+ # label_p = base_pt - QTransform().rotate(angle).map(QPointF(20, -10 if self.under else 35))
428
+ # self.label.setPos(label_p)
429
+ # self.label.setRotation(angle)
430
+
431
+ if 90 < line.angle() <= 270:
432
+ label_p = base_pt - QTransform().rotate(angle).map(QPointF(-20, -35 if self.under else +10))
433
+ self.label.setRotation(angle + 180)
434
+ else:
435
+ label_p = base_pt - QTransform().rotate(angle).map(QPointF(40, -10 if self.under else 35))
436
+ self.label.setRotation(angle)
437
+
438
+ self.label.setPos(label_p)
439
+
440
+
434
441
  class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
435
442
  """
436
443
  LineGraphicItem
@@ -476,13 +483,13 @@ class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
476
483
  self.symbol = None
477
484
 
478
485
  self.scale = 1.0
479
- self.pen_style = Qt.SolidLine
480
- self.pen_color = Qt.black
486
+ self.pen_style = Qt.PenStyle.SolidLine
487
+ self.pen_color = QColor(0, 0, 0, 255) # Black
481
488
  self.pen_width = width
482
489
  self.width = width
483
490
 
484
491
  self.setFlag(self.GraphicsItemFlag.ItemIsSelectable, True)
485
- self.setCursor(QCursor(Qt.PointingHandCursor))
492
+ self.setCursor(QCursor(Qt.CursorShape.PointingHandCursor))
486
493
 
487
494
  self.pos1: QPointF = QPointF(0.0, 0.0)
488
495
  self.pos2: QPointF = QPointF(0.0, 0.0)
@@ -561,7 +568,7 @@ class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
561
568
  :return:
562
569
  """
563
570
 
564
- pen = QPen(color, w, style, Qt.RoundCap, Qt.RoundJoin)
571
+ pen = QPen(color, w, style, Qt.PenCapStyle.RoundCap, Qt.PenJoinStyle.RoundJoin)
565
572
 
566
573
  self.setPen(pen)
567
574
  self.arrow_p_from.set_colour(color, w, style)
@@ -589,8 +596,7 @@ class LineGraphicTemplateItem(GenericDiagramWidget, QGraphicsLineItem):
589
596
  :param event:
590
597
  :return:
591
598
  """
592
- if self.api_object is not None:
593
-
599
+ if self.api_object is not None:
594
600
  self.editor.set_editor_model(api_object=self.api_object)
595
601
 
596
602
  def remove_widget(self):
@@ -167,9 +167,9 @@ class Transformer3WGraphicItem(QGraphicsRectItem):
167
167
  :return:
168
168
  """
169
169
  if self.api_object is not None:
170
- self.winding_circles[0].setToolTip("Winding 1: {0} kV".format(self.api_object.V1))
171
- self.winding_circles[1].setToolTip("Winding 2: {0} kV".format(self.api_object.V2))
172
- self.winding_circles[2].setToolTip("Winding 3: {0} kV".format(self.api_object.V3))
170
+ self.winding_circles[0].setToolTip("Winding 1: {0} KV".format(self.api_object.V1))
171
+ self.winding_circles[1].setToolTip("Winding 2: {0} KV".format(self.api_object.V2))
172
+ self.winding_circles[2].setToolTip("Winding 3: {0} KV".format(self.api_object.V3))
173
173
  pass
174
174
 
175
175
  def set_label(self, val: str):
@@ -186,8 +186,8 @@ class TransformerEditor(QDialog):
186
186
  :return: TransformerType instance
187
187
  """
188
188
  eps = 1e-20
189
- Vf = self.transformer_obj.bus_from.Vnom # kV
190
- Vt = self.transformer_obj.bus_to.Vnom # kV
189
+ Vf = self.transformer_obj.bus_from.Vnom # KV
190
+ Vt = self.transformer_obj.bus_to.Vnom # KV
191
191
  Sn = self.sn_spinner.value() + eps # MVA
192
192
  Pcu = self.pcu_spinner.value() + eps # kW
193
193
  Pfe = self.pfe_spinner.value() + eps # kW
@@ -945,7 +945,7 @@ class BusGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
945
945
  msg += f" [{tpe}]"
946
946
  msg += "<br>"
947
947
  msg += f"v={vm}&lt;{va}º pu<br>"
948
- msg += f"V={vm_kv} kV<br>"
948
+ msg += f"V={vm_kv} KV<br>"
949
949
  if P is not None:
950
950
  p = format_str.format(P)
951
951
  q = format_str.format(Q)
@@ -797,7 +797,7 @@ class BusBarGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
797
797
  msg += f" [{tpe}]"
798
798
  msg += "<br>"
799
799
  msg += f"v={vm}&lt;{va}º pu<br>"
800
- msg += f"V={vm_kv} kV<br>"
800
+ msg += f"V={vm_kv} KV<br>"
801
801
  if P is not None:
802
802
  p = format_str.format(P)
803
803
  q = format_str.format(Q)
@@ -579,7 +579,7 @@ class CnGraphicItem(GenericDiagramWidget, QtWidgets.QGraphicsRectItem):
579
579
  msg += f" [{tpe}]"
580
580
  msg += "<br>"
581
581
  msg += f"v={vm}&lt;{va}º pu<br>"
582
- msg += f"V={vm_kv} kV<br>"
582
+ msg += f"V={vm_kv} KV<br>"
583
583
  if P is not None:
584
584
  p = format_str.format(P)
585
585
  q = format_str.format(Q)
@@ -345,7 +345,7 @@ class SchematicWidget(BaseDiagramWidget):
345
345
  Creates the Diagram Editor (DiagramEditorWidget)
346
346
  :param circuit: Circuit that is handling
347
347
  :param diagram: SchematicDiagram to use (optional)
348
- :param default_bus_voltage: Default bus voltages (kV)
348
+ :param default_bus_voltage: Default bus voltages (KV)
349
349
  :param time_index: time index to represent
350
350
  :param prefer_node_breaker: Preffer the node breaker representation?
351
351
  """
@@ -374,7 +374,7 @@ class SchematicWidget(BaseDiagramWidget):
374
374
  self.setStretchFactor(0, 0)
375
375
  self.setStretchFactor(1, 2000)
376
376
 
377
- # default_bus_voltage (kV)
377
+ # default_bus_voltage (KV)
378
378
  self.default_bus_voltage = default_bus_voltage
379
379
 
380
380
  # Preffer the node breaker representation?
@@ -22,7 +22,7 @@ from GridCal.Gui.table_view_header_wrap import HeaderViewWithWordWrap
22
22
  import GridCal.Gui.gui_functions as gf
23
23
  from GridCal.Gui.messages import error_msg, warning_msg
24
24
  from GridCal.Gui.Main.SubClasses.simulations import SimulationsMain
25
- from GridCal.Session.results_model import ResultsModel
25
+ from GridCal.Gui.results_model import ResultsModel
26
26
  from GridCal.Gui.general_dialogues import fill_tree_from_logs
27
27
  import GridCalEngine.Utils.Filtering as flt
28
28
  from GridCalEngine.basic_structures import Logger
@@ -19,7 +19,7 @@ import numpy as np
19
19
  from PySide6 import QtWidgets
20
20
 
21
21
  from GridCal.Gui.SigmaAnalysis.gui import Ui_MainWindow
22
- from GridCal.Session.results_model import ResultsModel
22
+ from GridCal.Gui.results_model import ResultsModel
23
23
  from GridCalEngine.enumerations import ResultTypes
24
24
  from GridCalEngine.Simulations.SigmaAnalysis.sigma_analysis_driver import SigmaAnalysisResults
25
25
 
@@ -60,7 +60,7 @@ from GridCalEngine.Devices.multi_circuit import MultiCircuit
60
60
  from GridCalEngine.enumerations import ResultTypes, SimulationTypes
61
61
  from GridCalEngine.Simulations.types import DRIVER_OBJECTS, RESULTS_OBJECTS
62
62
  from GridCalEngine.basic_structures import Logger
63
- from GridCal.Session.results_model import ResultsModel
63
+ from GridCal.Gui.results_model import ResultsModel
64
64
 
65
65
 
66
66
  class GcThread(QThread):
@@ -16,7 +16,7 @@ import datetime
16
16
  _current_year_ = datetime.datetime.now().year
17
17
 
18
18
  # do not forget to keep a three-number version!!!
19
- __GridCal_VERSION__ = "5.1.38"
19
+ __GridCal_VERSION__ = "5.1.39"
20
20
 
21
21
  url = 'https://github.com/SanPen/GridCal'
22
22
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: GridCal
3
- Version: 5.1.38
3
+ Version: 5.1.39
4
4
  Summary: GridCal is a Power Systems simulation program intended for professional use and research
5
5
  Home-page: https://github.com/SanPen/GridCal
6
6
  Author: Santiago Peñate Vera et. Al.