GridCal 5.1.8__tar.gz → 5.1.9__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 (284) hide show
  1. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/ExecuteGridCal.py +40 -39
  2. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/AboutDialogue/about_dialogue.py +158 -158
  3. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/AboutDialogue/gui.py +173 -173
  4. GridCal-5.1.9/GridCal/Gui/AboutDialogue/icons_rc.py +304 -0
  5. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/AboutDialogue/update_gui_file.py +9 -9
  6. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Analysis/AnalysisDialogue.py +111 -111
  7. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Analysis/gui.py +378 -378
  8. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Analysis/icons_rc.py +845 -847
  9. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Analysis/object_plot_analysis.py +1081 -1081
  10. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Analysis/update_gui_file.py +21 -21
  11. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CascadingSteps/cascading_steps.py +138 -138
  12. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CascadingSteps/gui.py +127 -127
  13. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CascadingSteps/update_gui_file.py +8 -8
  14. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ConsoleWidget.py +120 -120
  15. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +123 -123
  16. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ContingencyPlanner/gui.py +226 -226
  17. GridCal-5.1.9/GridCal/Gui/ContingencyPlanner/icons_rc.py +407 -0
  18. {GridCal-5.1.8/GridCal/Gui/GridGenerator → GridCal-5.1.9/GridCal/Gui/ContingencyPlanner}/update_gui_file.py +8 -8
  19. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +447 -447
  20. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CoordinatesInput/gui.py +222 -222
  21. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CoordinatesInput/icons_rc.py +1553 -1553
  22. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CoordinatesInput/update_gui_file.py +8 -8
  23. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Layers/image_layer.py +126 -126
  24. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Layers/layer_types.py +9 -9
  25. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Layers/place.py +17 -17
  26. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Layers/point_layer.py +117 -117
  27. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Layers/polygon_layer.py +123 -123
  28. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Layers/polyline_layer.py +114 -114
  29. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Layers/text_layer.py +129 -129
  30. GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Schema/map_template_line.py +369 -0
  31. GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Schema/node_graphic_item.py +305 -0
  32. GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Schema/node_template.py +57 -0
  33. GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Schema/segment.py +71 -0
  34. GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Schema/substation_graphic_item.py +274 -0
  35. GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Schema/voltage_level_graphic_item.py +216 -0
  36. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/blue_marble.py +69 -69
  37. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/cartodb.py +74 -74
  38. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/gmt_local.py +131 -131
  39. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapbox.py +67 -67
  40. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapquest.py +70 -70
  41. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/open_street_map.py +73 -73
  42. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_toner.py +68 -68
  43. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_transport.py +71 -71
  44. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_watercolor.py +69 -69
  45. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +191 -191
  46. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +439 -439
  47. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +115 -115
  48. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +91 -91
  49. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +365 -365
  50. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +86 -86
  51. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +874 -513
  52. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/logger.py +4 -4
  53. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/map_events.py +106 -106
  54. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +4107 -4007
  55. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/MapWidget/node_widget.py +161 -161
  56. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/dc_line_graphics.py +358 -357
  57. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/hvdc_graphics.py +129 -129
  58. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/line_editor.py +277 -268
  59. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/line_graphics.py +367 -367
  60. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/line_graphics_template.py +1157 -1080
  61. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/series_reactance_graphics.py +109 -108
  62. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/switch_graphics.py +112 -109
  63. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/transformer2w_graphics.py +249 -249
  64. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/transformer3w_graphics.py +415 -411
  65. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/transformer_editor.py +309 -306
  66. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/upfc_graphics.py +114 -113
  67. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/vsc_graphics.py +127 -126
  68. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Branches/winding_graphics.py +131 -129
  69. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Fluid/fluid_node_graphics.py +495 -495
  70. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Fluid/fluid_p2x_graphics.py +174 -174
  71. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Fluid/fluid_path_graphics.py +173 -173
  72. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Fluid/fluid_pump_graphics.py +175 -175
  73. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Fluid/fluid_turbine_graphics.py +181 -181
  74. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/battery_graphics.py +162 -162
  75. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/controllable_shunt_graphics.py +173 -173
  76. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/current_injection_graphics.py +173 -173
  77. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/external_grid_graphics.py +174 -174
  78. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/generator_graphics.py +599 -558
  79. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/injections_template_graphics.py +169 -167
  80. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/load_graphics.py +153 -153
  81. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/shunt_graphics.py +174 -174
  82. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Injections/static_generator_graphics.py +172 -172
  83. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Substation/bus_graphics.py +944 -869
  84. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Substation/busbar_graphics.py +819 -868
  85. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/Substation/cn_graphics.py +598 -599
  86. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/__init__.py +16 -16
  87. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/generic_graphics.py +258 -258
  88. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/matplotlibwidget.py +252 -252
  89. GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget/diagram_editor_widget.py → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +4826 -4648
  90. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget}/terminal_item.py +417 -414
  91. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/diagrams_model.py +99 -83
  92. GridCal-5.1.9/GridCal/Gui/Diagrams/graphics_manager.py +200 -0
  93. GridCal-5.1.9/GridCal/Gui/Diagrams/video.py +16 -0
  94. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/GeneralDialogues.py +857 -827
  95. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +177 -177
  96. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/GridGenerator/gui.py +337 -337
  97. GridCal-5.1.9/GridCal/Gui/GridGenerator/icons_rc.py +406 -0
  98. {GridCal-5.1.8/GridCal/Gui/ContingencyPlanner → GridCal-5.1.9/GridCal/Gui/GridGenerator}/update_gui_file.py +8 -8
  99. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/GuiFunctions.py +2853 -2838
  100. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/LoadDesigner/icons_rc.py +1488 -1488
  101. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/LoadDesigner/load_designer.py +158 -158
  102. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/LoadDesigner/load_designer_ui.py +289 -289
  103. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/LoadDesigner/update_gui_file.py +9 -9
  104. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/ConsoleLog.py +113 -113
  105. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/ConsoleLogController.py +46 -46
  106. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/GridCalMain.py +161 -144
  107. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/MainWindow.py +5340 -5089
  108. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +159 -159
  109. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +1635 -1527
  110. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Model/objects.py +1115 -1110
  111. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Model/time_events.py +523 -523
  112. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/README.txt +18 -17
  113. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Results/results.py +335 -335
  114. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +92 -92
  115. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +145 -145
  116. GridCal-5.1.9/GridCal/Gui/Main/SubClasses/Server/server.py +144 -0
  117. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +432 -422
  118. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/base_gui.py +795 -784
  119. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/io.py +865 -822
  120. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/simulations.py +2655 -2545
  121. GridCal-5.1.9/GridCal/Gui/Main/icons_rc.py +30015 -0
  122. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/object_select_window.py +68 -68
  123. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/update_gui_file.py +20 -20
  124. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/excel_dialog.py +40 -40
  125. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +55 -55
  126. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/icons_rc.py +1857 -1857
  127. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/models_dialogue.py +363 -363
  128. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/profile_dialogue.py +694 -694
  129. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/profiles_from_data.py +10 -10
  130. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +354 -354
  131. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +126 -126
  132. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ProfilesInput/update_gui_file.py +9 -9
  133. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +69 -69
  134. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/RosetaExplorer/MainWindow.py +507 -507
  135. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +551 -551
  136. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/RosetaExplorer/icons_rc.py +9652 -9670
  137. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/RosetaExplorer/update_gui_file.py +20 -20
  138. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SigmaAnalysis/gui.py +106 -106
  139. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SigmaAnalysis/icons_rc.py +1677 -1677
  140. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +115 -115
  141. GridCal-5.1.9/GridCal/Gui/SigmaAnalysis/update_gui_file.py +9 -0
  142. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SolarPowerWizard/gui.py +181 -181
  143. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SolarPowerWizard/icons_rc.py +950 -950
  144. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +185 -185
  145. GridCal-5.1.9/GridCal/Gui/SolarPowerWizard/update_gui_file.py +9 -0
  146. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SyncDialogue/gui.py +108 -108
  147. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SyncDialogue/icons_rc.py +690 -690
  148. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SyncDialogue/sync_dialogue.py +109 -109
  149. {GridCal-5.1.8/GridCal/Gui/TowerBuilder → GridCal-5.1.9/GridCal/Gui/SyncDialogue}/update_gui_file.py +9 -9
  150. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SystemScaler/icons_rc.py +1488 -1488
  151. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SystemScaler/system_scaler.py +286 -286
  152. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SystemScaler/system_scaler_ui.py +106 -106
  153. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/SystemScaler/update_gui_file.py +9 -9
  154. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +290 -290
  155. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TowerBuilder/gui.py +369 -369
  156. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TowerBuilder/icons_rc.py +904 -906
  157. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TowerBuilder/table_models.py +396 -396
  158. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TowerBuilder/test_.py +164 -164
  159. {GridCal-5.1.8/GridCal/Gui/SyncDialogue → GridCal-5.1.9/GridCal/Gui/TowerBuilder}/update_gui_file.py +9 -9
  160. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TreeModelViewer/MainWindow.py +106 -98
  161. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +265 -265
  162. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TreeModelViewer/icons_rc.py +9596 -9624
  163. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/TreeModelViewer/update_gui_file.py +20 -20
  164. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Visualization/palettes.py +464 -464
  165. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Visualization/visualization.py +95 -95
  166. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Widgets/custom_qrangeslider.py +1322 -1322
  167. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Widgets/matplotlibwidget.py +244 -244
  168. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/WindPowerWizard/gui.py +179 -179
  169. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/WindPowerWizard/icons_rc.py +493 -493
  170. GridCal-5.1.9/GridCal/Gui/WindPowerWizard/update_gui_file.py +9 -0
  171. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +106 -106
  172. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/messages.py +75 -75
  173. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/plot_config.py +45 -45
  174. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/themes.py +69 -69
  175. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/update_gui_all.py +45 -45
  176. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/update_gui_common.py +120 -120
  177. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/LICENSE.txt +228 -228
  178. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Session/export_results_driver.py +116 -116
  179. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Session/file_handler.py +234 -226
  180. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Session/results_model.py +317 -317
  181. GridCal-5.1.9/GridCal/Session/server_driver.py +457 -0
  182. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Session/session.py +696 -683
  183. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Session/synchronization_driver.py +424 -424
  184. GridCal-5.1.9/GridCal/ThirdParty/__init__.py +0 -0
  185. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/__init__.py +46 -0
  186. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_color.py +231 -0
  187. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  188. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +56 -0
  189. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_icon/svg.py +75 -0
  190. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_main.py +178 -0
  191. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +1 -0
  192. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +29 -0
  193. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +61 -0
  194. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +59 -0
  195. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_proxy_style.py +34 -0
  196. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +12 -0
  197. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_resources/colors.py +28 -0
  198. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_resources/palette.py +114 -0
  199. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +81 -0
  200. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +4 -0
  201. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_resources/svg.py +5 -0
  202. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_style_loader.py +302 -0
  203. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  204. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_template/engine.py +84 -0
  205. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_template/filter.py +94 -0
  206. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/_util.py +82 -0
  207. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +19 -0
  208. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +20 -0
  209. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +13 -0
  210. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +36 -0
  211. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +11 -0
  212. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +80 -0
  213. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +22 -0
  214. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +8 -0
  215. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +14 -0
  216. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +1 -0
  217. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +42 -0
  218. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +79 -0
  219. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +42 -0
  220. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +76 -0
  221. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +329 -0
  222. GridCal-5.1.9/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +223 -0
  223. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/__init__.py +14 -14
  224. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/__version__.py +64 -64
  225. GridCal-5.1.9/GridCal/data/__init__.py +0 -0
  226. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/data/cables.csv +462 -462
  227. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/data/sequence_lines.csv +4 -4
  228. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/data/transformers.csv +788 -788
  229. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/data/wires.csv +100 -100
  230. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/templates.py +156 -156
  231. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/update.py +96 -96
  232. {GridCal-5.1.8 → GridCal-5.1.9}/PKG-INFO +29 -29
  233. {GridCal-5.1.8 → GridCal-5.1.9}/setup.cfg +3 -3
  234. {GridCal-5.1.8 → GridCal-5.1.9}/setup.py +147 -145
  235. GridCal-5.1.8/GridCal/Gui/AboutDialogue/icons_rc.py +0 -325
  236. GridCal-5.1.8/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -416
  237. GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Schema/Connector.py +0 -53
  238. GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Schema/Line.py +0 -46
  239. GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Schema/Nodes.py +0 -153
  240. GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Schema/SchemaManager.py +0 -58
  241. GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Schema/Substations.py +0 -153
  242. GridCal-5.1.8/GridCal/Gui/Diagrams/graphics_manager.py +0 -153
  243. GridCal-5.1.8/GridCal/Gui/GridGenerator/icons_rc.py +0 -415
  244. GridCal-5.1.8/GridCal/Gui/Main/icons_rc.py +0 -28802
  245. GridCal-5.1.8/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -9
  246. GridCal-5.1.8/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -9
  247. GridCal-5.1.8/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -9
  248. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  249. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Analysis/__init__.py +0 -0
  250. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
  251. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  252. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  253. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget/Branches → GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Layers}/__init__.py +0 -0
  254. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget/Fluid → GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Schema}/__init__.py +0 -0
  255. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget/Injections → GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/TileProviders}/__init__.py +0 -0
  256. {GridCal-5.1.8/GridCal/Gui/Diagrams/DiagramEditorWidget/Substation → GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget/Tiles}/__init__.py +0 -0
  257. {GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Layers → GridCal-5.1.9/GridCal/Gui/Diagrams/MapWidget}/__init__.py +0 -0
  258. {GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Schema → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget/Branches}/__init__.py +0 -0
  259. {GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/TileProviders → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget/Fluid}/__init__.py +0 -0
  260. {GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget/Tiles → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget/Injections}/__init__.py +0 -0
  261. {GridCal-5.1.8/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.9/GridCal/Gui/Diagrams/SchematicWidget/Substation}/__init__.py +0 -0
  262. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Diagrams/__init__.py +0 -0
  263. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/GridGenerator/__init__.py +0 -0
  264. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
  265. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
  266. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
  267. {GridCal-5.1.8 → GridCal-5.1.9}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  268. {GridCal-5.1.8/GridCal/Gui/Main/SubClasses/Settings → GridCal-5.1.9/GridCal/Gui/Main/SubClasses/Server}/__init__.py +0 -0
  269. {GridCal-5.1.8/GridCal/Gui/Main/SubClasses → GridCal-5.1.9/GridCal/Gui/Main/SubClasses/Settings}/__init__.py +0 -0
  270. {GridCal-5.1.8/GridCal/Gui/Main → GridCal-5.1.9/GridCal/Gui/Main/SubClasses}/__init__.py +0 -0
  271. {GridCal-5.1.8/GridCal/Gui/ProfilesInput → GridCal-5.1.9/GridCal/Gui/Main}/__init__.py +0 -0
  272. {GridCal-5.1.8/GridCal/Gui/RosetaExplorer → GridCal-5.1.9/GridCal/Gui/ProfilesInput}/__init__.py +0 -0
  273. {GridCal-5.1.8/GridCal/Gui/SigmaAnalysis → GridCal-5.1.9/GridCal/Gui/RosetaExplorer}/__init__.py +0 -0
  274. {GridCal-5.1.8/GridCal/Gui/SolarPowerWizard → GridCal-5.1.9/GridCal/Gui/SigmaAnalysis}/__init__.py +0 -0
  275. {GridCal-5.1.8/GridCal/Gui/SyncDialogue → GridCal-5.1.9/GridCal/Gui/SolarPowerWizard}/__init__.py +0 -0
  276. {GridCal-5.1.8/GridCal/Gui/SystemScaler → GridCal-5.1.9/GridCal/Gui/SyncDialogue}/__init__.py +0 -0
  277. {GridCal-5.1.8/GridCal/Gui/TowerBuilder → GridCal-5.1.9/GridCal/Gui/SystemScaler}/__init__.py +0 -0
  278. {GridCal-5.1.8/GridCal/Gui/TreeModelViewer → GridCal-5.1.9/GridCal/Gui/TowerBuilder}/__init__.py +0 -0
  279. {GridCal-5.1.8/GridCal/Gui/Visualization → GridCal-5.1.9/GridCal/Gui/TreeModelViewer}/__init__.py +0 -0
  280. {GridCal-5.1.8/GridCal/Gui/Widgets → GridCal-5.1.9/GridCal/Gui/Visualization}/__init__.py +0 -0
  281. {GridCal-5.1.8/GridCal/Gui/WindPowerWizard → GridCal-5.1.9/GridCal/Gui/Widgets}/__init__.py +0 -0
  282. {GridCal-5.1.8/GridCal/Gui → GridCal-5.1.9/GridCal/Gui/WindPowerWizard}/__init__.py +0 -0
  283. {GridCal-5.1.8/GridCal/Session → GridCal-5.1.9/GridCal/Gui}/__init__.py +0 -0
  284. {GridCal-5.1.8/GridCal/data → GridCal-5.1.9/GridCal/Session}/__init__.py +0 -0
@@ -1,39 +1,40 @@
1
- # This file is part of GridCal.
2
- #
3
- # GridCal is free software: you can redistribute it and/or modify
4
- # it under the terms of the GNU General Public License as published by
5
- # the Free Software Foundation, either version 3 of the License, or
6
- # (at your option) any later version.
7
- #
8
- # GridCal is distributed in the hope that it will be useful,
9
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
- # GNU General Public License for more details.
12
- #
13
- # You should have received a copy of the GNU General Public License
14
- # along with GridCal. If not, see <http://www.gnu.org/licenses/>.
15
- import os
16
- import sys
17
- import ctypes
18
-
19
- PACKAGE_PARENT = '..'
20
- SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__))))
21
- sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT)))
22
- from GridCal.__version__ import about_msg
23
- from GridCal.Gui.Main.GridCalMain import runGridCal
24
- import platform
25
-
26
- if platform.system() == 'Windows':
27
- # this makes the icon display properly under windows
28
- myappid = 'mycompany.myproduct.subproduct.version' # arbitrary string
29
- ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
30
-
31
- if __name__ == "__main__":
32
- print('Loading GridCal...')
33
- print(about_msg)
34
-
35
- # Set the application style to the clear theme
36
- os.environ["QT_QUICK_CONTROLS_STYLE"] = "Basic"
37
- # os.environ["QT_QPA_PLATFORMTHEME"] = "qt5ct" # this forces QT-only menus and look and feel
38
-
39
- runGridCal()
1
+ # This file is part of GridCal.
2
+ #
3
+ # GridCal is free software: you can redistribute it and/or modify
4
+ # it under the terms of the GNU General Public License as published by
5
+ # the Free Software Foundation, either version 3 of the License, or
6
+ # (at your option) any later version.
7
+ #
8
+ # GridCal is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
+ # GNU General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU General Public License
14
+ # along with GridCal. If not, see <http://www.gnu.org/licenses/>.
15
+ import os
16
+ import sys
17
+ import ctypes
18
+
19
+ PACKAGE_PARENT = '..'
20
+ SCRIPT_DIR = os.path.dirname(os.path.realpath(os.path.join(os.getcwd(), os.path.expanduser(__file__))))
21
+ sys.path.append(os.path.normpath(os.path.join(SCRIPT_DIR, PACKAGE_PARENT)))
22
+ from GridCal.__version__ import about_msg
23
+ from GridCal.Gui.Main.GridCalMain import runGridCal
24
+ import platform
25
+
26
+ if platform.system() == 'Windows':
27
+ # this makes the icon display properly under windows
28
+ myappid = 'mycompany.myproduct.subproduct.version' # arbitrary string
29
+ ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
30
+
31
+ if __name__ == "__main__":
32
+ print('Loading GridCal...')
33
+ print(about_msg)
34
+
35
+ # Set the application style to the clear theme
36
+ os.environ["QT_QUICK_CONTROLS_STYLE"] = "Basic"
37
+ # os.environ["QT_QPA_PLATFORMTHEME"] = "qt5ct" # this forces QT-only menus and look and feel
38
+
39
+ runGridCal()
40
+
@@ -1,158 +1,158 @@
1
- import os
2
- import sys
3
- import chardet
4
- import subprocess
5
- from PySide6 import QtWidgets
6
- from typing import List
7
- from GridCal.Gui.AboutDialogue.gui import Ui_AboutDialog
8
- from GridCal.__version__ import __GridCal_VERSION__, contributors_msg, copyright_msg
9
- from GridCal.update import check_version, get_upgrade_command
10
- from GridCalEngine.__version__ import __GridCalEngine_VERSION__
11
- from GridCalEngine.Compilers.circuit_to_newton_pa import (NEWTON_PA_AVAILABLE,
12
- NEWTON_PA_RECOMMENDED_VERSION,
13
- NEWTON_PA_VERSION)
14
- from GridCalEngine.Compilers.circuit_to_bentayga import (BENTAYGA_AVAILABLE,
15
- BENTAYGA_RECOMMENDED_VERSION,
16
- BENTAYGA_VERSION)
17
- from GridCalEngine.Compilers.circuit_to_pgm import (PGM_AVAILABLE,
18
- PGM_RECOMMENDED_VERSION,
19
- PGM_VERSION)
20
-
21
-
22
- class AboutDialogueGuiGUI(QtWidgets.QDialog):
23
-
24
- def __init__(self, parent=None):
25
- """
26
-
27
- :param parent:
28
- """
29
- QtWidgets.QDialog.__init__(self, parent)
30
- self.ui = Ui_AboutDialog()
31
- self.ui.setupUi(self)
32
- self.setWindowTitle('About GridCal')
33
- self.setAcceptDrops(True)
34
-
35
- self.ui.librariesTableWidget.setColumnCount(4)
36
- self.ui.librariesTableWidget.setRowCount(4)
37
- self.ui.librariesTableWidget.setHorizontalHeaderLabels(["Name", "version", "supported version", "licensed"])
38
-
39
- self.ui.librariesTableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem("GridCal"))
40
- self.ui.librariesTableWidget.setItem(0, 1, QtWidgets.QTableWidgetItem(__GridCal_VERSION__))
41
- self.ui.librariesTableWidget.setItem(0, 2, QtWidgets.QTableWidgetItem(__GridCalEngine_VERSION__))
42
- self.ui.librariesTableWidget.setItem(0, 3, QtWidgets.QTableWidgetItem("True"))
43
-
44
- self.ui.librariesTableWidget.setItem(1, 0, QtWidgets.QTableWidgetItem("NewtonPa"))
45
- self.ui.librariesTableWidget.setItem(1, 1, QtWidgets.QTableWidgetItem(NEWTON_PA_VERSION
46
- if NEWTON_PA_AVAILABLE else
47
- "Not installed"))
48
- self.ui.librariesTableWidget.setItem(1, 2, QtWidgets.QTableWidgetItem(NEWTON_PA_RECOMMENDED_VERSION))
49
- self.ui.librariesTableWidget.setItem(1, 3, QtWidgets.QTableWidgetItem(str(NEWTON_PA_AVAILABLE)))
50
-
51
- self.ui.librariesTableWidget.setItem(2, 0, QtWidgets.QTableWidgetItem("Bentayga"))
52
- self.ui.librariesTableWidget.setItem(2, 1, QtWidgets.QTableWidgetItem(BENTAYGA_VERSION
53
- if BENTAYGA_AVAILABLE else
54
- "Not installed"))
55
- self.ui.librariesTableWidget.setItem(2, 2, QtWidgets.QTableWidgetItem(BENTAYGA_RECOMMENDED_VERSION))
56
- self.ui.librariesTableWidget.setItem(2, 3, QtWidgets.QTableWidgetItem(str(BENTAYGA_AVAILABLE)))
57
-
58
- self.ui.librariesTableWidget.setItem(3, 0, QtWidgets.QTableWidgetItem("power-grid-model"))
59
- self.ui.librariesTableWidget.setItem(3, 1, QtWidgets.QTableWidgetItem(PGM_VERSION
60
- if PGM_AVAILABLE else
61
- "Not installed"))
62
- self.ui.librariesTableWidget.setItem(3, 2, QtWidgets.QTableWidgetItem(PGM_RECOMMENDED_VERSION))
63
- self.ui.librariesTableWidget.setItem(3, 3, QtWidgets.QTableWidgetItem(str(PGM_AVAILABLE)))
64
-
65
- # check the version in pypi
66
- version_code, latest_version = check_version()
67
-
68
- self.upgrade_cmd: List[str] = ['']
69
-
70
- if version_code == 1:
71
- addendum = '\nThere is a newer version: ' + latest_version
72
-
73
- self.upgrade_cmd = get_upgrade_command(latest_version)
74
- command = ' '.join(self.upgrade_cmd)
75
- self.ui.updateLabel.setText('\n\nTerminal command to update:\n\n' + command)
76
- self.ui.updateButton.setVisible(True)
77
-
78
- elif version_code == -1:
79
- addendum = '\nThis version is newer than the version available in the repositories (' + latest_version + ')'
80
- self.ui.updateLabel.setText(addendum)
81
- self.ui.updateButton.setVisible(False)
82
-
83
- elif version_code == 0:
84
- addendum = '\nGridCal is up to date.'
85
- self.ui.updateLabel.setText(addendum)
86
- self.ui.updateButton.setVisible(False)
87
-
88
- elif version_code == -2:
89
- addendum = '\nIt was impossible to check for a newer version'
90
- self.ui.updateLabel.setText(addendum)
91
- self.ui.updateButton.setVisible(False)
92
-
93
- else:
94
- addendum = ''
95
- self.ui.updateLabel.setText(addendum)
96
- self.ui.updateButton.setVisible(False)
97
-
98
- # self.ui.mainLabel.setText(about_msg)
99
- self.ui.versionLabel.setText('GridCal version: ' + __GridCal_VERSION__ + ', ' + addendum)
100
- self.ui.copyrightLabel.setText(copyright_msg)
101
- self.ui.contributorsLabel.setText(contributors_msg)
102
-
103
- # click
104
- self.ui.updateButton.clicked.connect(self.update)
105
-
106
- self.show_license()
107
-
108
- def msg(self, text, title="Warning"):
109
- """
110
- Message box
111
- :param text: Text to display
112
- :param title: Name of the window
113
- """
114
- msg = QtWidgets.QMessageBox()
115
- msg.setIcon(QtWidgets.QMessageBox.Icon.Information)
116
- msg.setText(text)
117
- # msg.setInformativeText("This is additional information")
118
- msg.setWindowTitle(title)
119
- # msg.setDetailedText("The details are as follows:")
120
- msg.setStandardButtons(QtWidgets.QMessageBox.StandardButton.Ok)
121
- retval = msg.exec_()
122
-
123
- def update(self):
124
- """
125
- Upgrade GridCal
126
- :return:
127
- """
128
- list_files = subprocess.run(self.upgrade_cmd,
129
- stdout=subprocess.PIPE,
130
- text=True,
131
- input="Hello from the other side") # upgrade_cmd is a list already
132
- if list_files.returncode != 0:
133
- self.msg("The exit code was: %d" % list_files.returncode)
134
- else:
135
- self.msg('GridCal updated successfully')
136
-
137
- def show_license(self):
138
- """
139
- Show the license
140
- """
141
- here = os.path.abspath(os.path.dirname(__file__))
142
- license_file = os.path.join(here, '..', '..', 'LICENSE.txt')
143
-
144
- # make a guess of the file encoding
145
- detection = chardet.detect(open(license_file, "rb").read())
146
-
147
- with open(license_file, 'r', encoding=detection['encoding']) as file:
148
- license_txt = file.read()
149
-
150
- self.ui.licenseTextEdit.setPlainText(license_txt)
151
-
152
-
153
- if __name__ == "__main__":
154
- app = QtWidgets.QApplication(sys.argv)
155
- window = AboutDialogueGuiGUI()
156
- # window.resize(1.61 * 700.0, 600.0) # golden ratio
157
- window.show()
158
- sys.exit(app.exec_())
1
+ import os
2
+ import sys
3
+ import chardet
4
+ import subprocess
5
+ from PySide6 import QtWidgets
6
+ from typing import List
7
+ from GridCal.Gui.AboutDialogue.gui import Ui_AboutDialog
8
+ from GridCal.__version__ import __GridCal_VERSION__, contributors_msg, copyright_msg
9
+ from GridCal.update import check_version, get_upgrade_command
10
+ from GridCalEngine.__version__ import __GridCalEngine_VERSION__
11
+ from GridCalEngine.Compilers.circuit_to_newton_pa import (NEWTON_PA_AVAILABLE,
12
+ NEWTON_PA_RECOMMENDED_VERSION,
13
+ NEWTON_PA_VERSION)
14
+ from GridCalEngine.Compilers.circuit_to_bentayga import (BENTAYGA_AVAILABLE,
15
+ BENTAYGA_RECOMMENDED_VERSION,
16
+ BENTAYGA_VERSION)
17
+ from GridCalEngine.Compilers.circuit_to_pgm import (PGM_AVAILABLE,
18
+ PGM_RECOMMENDED_VERSION,
19
+ PGM_VERSION)
20
+
21
+
22
+ class AboutDialogueGuiGUI(QtWidgets.QDialog):
23
+
24
+ def __init__(self, parent=None):
25
+ """
26
+
27
+ :param parent:
28
+ """
29
+ QtWidgets.QDialog.__init__(self, parent)
30
+ self.ui = Ui_AboutDialog()
31
+ self.ui.setupUi(self)
32
+ self.setWindowTitle('About GridCal')
33
+ self.setAcceptDrops(True)
34
+
35
+ self.ui.librariesTableWidget.setColumnCount(4)
36
+ self.ui.librariesTableWidget.setRowCount(4)
37
+ self.ui.librariesTableWidget.setHorizontalHeaderLabels(["Name", "version", "supported version", "licensed"])
38
+
39
+ self.ui.librariesTableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem("GridCal"))
40
+ self.ui.librariesTableWidget.setItem(0, 1, QtWidgets.QTableWidgetItem(__GridCal_VERSION__))
41
+ self.ui.librariesTableWidget.setItem(0, 2, QtWidgets.QTableWidgetItem(__GridCalEngine_VERSION__))
42
+ self.ui.librariesTableWidget.setItem(0, 3, QtWidgets.QTableWidgetItem("True"))
43
+
44
+ self.ui.librariesTableWidget.setItem(1, 0, QtWidgets.QTableWidgetItem("NewtonPa"))
45
+ self.ui.librariesTableWidget.setItem(1, 1, QtWidgets.QTableWidgetItem(NEWTON_PA_VERSION
46
+ if NEWTON_PA_AVAILABLE else
47
+ "Not installed"))
48
+ self.ui.librariesTableWidget.setItem(1, 2, QtWidgets.QTableWidgetItem(NEWTON_PA_RECOMMENDED_VERSION))
49
+ self.ui.librariesTableWidget.setItem(1, 3, QtWidgets.QTableWidgetItem(str(NEWTON_PA_AVAILABLE)))
50
+
51
+ self.ui.librariesTableWidget.setItem(2, 0, QtWidgets.QTableWidgetItem("Bentayga"))
52
+ self.ui.librariesTableWidget.setItem(2, 1, QtWidgets.QTableWidgetItem(BENTAYGA_VERSION
53
+ if BENTAYGA_AVAILABLE else
54
+ "Not installed"))
55
+ self.ui.librariesTableWidget.setItem(2, 2, QtWidgets.QTableWidgetItem(BENTAYGA_RECOMMENDED_VERSION))
56
+ self.ui.librariesTableWidget.setItem(2, 3, QtWidgets.QTableWidgetItem(str(BENTAYGA_AVAILABLE)))
57
+
58
+ self.ui.librariesTableWidget.setItem(3, 0, QtWidgets.QTableWidgetItem("power-grid-model"))
59
+ self.ui.librariesTableWidget.setItem(3, 1, QtWidgets.QTableWidgetItem(PGM_VERSION
60
+ if PGM_AVAILABLE else
61
+ "Not installed"))
62
+ self.ui.librariesTableWidget.setItem(3, 2, QtWidgets.QTableWidgetItem(PGM_RECOMMENDED_VERSION))
63
+ self.ui.librariesTableWidget.setItem(3, 3, QtWidgets.QTableWidgetItem(str(PGM_AVAILABLE)))
64
+
65
+ # check the version in pypi
66
+ version_code, latest_version = check_version()
67
+
68
+ self.upgrade_cmd: List[str] = ['']
69
+
70
+ if version_code == 1:
71
+ addendum = '\nThere is a newer version: ' + latest_version
72
+
73
+ self.upgrade_cmd = get_upgrade_command(latest_version)
74
+ command = ' '.join(self.upgrade_cmd)
75
+ self.ui.updateLabel.setText('\n\nTerminal command to update:\n\n' + command)
76
+ self.ui.updateButton.setVisible(True)
77
+
78
+ elif version_code == -1:
79
+ addendum = '\nThis version is newer than the version available in the repositories (' + latest_version + ')'
80
+ self.ui.updateLabel.setText(addendum)
81
+ self.ui.updateButton.setVisible(False)
82
+
83
+ elif version_code == 0:
84
+ addendum = '\nGridCal is up to date.'
85
+ self.ui.updateLabel.setText(addendum)
86
+ self.ui.updateButton.setVisible(False)
87
+
88
+ elif version_code == -2:
89
+ addendum = '\nIt was impossible to check for a newer version'
90
+ self.ui.updateLabel.setText(addendum)
91
+ self.ui.updateButton.setVisible(False)
92
+
93
+ else:
94
+ addendum = ''
95
+ self.ui.updateLabel.setText(addendum)
96
+ self.ui.updateButton.setVisible(False)
97
+
98
+ # self.ui.mainLabel.setText(about_msg)
99
+ self.ui.versionLabel.setText('GridCal version: ' + __GridCal_VERSION__ + ', ' + addendum)
100
+ self.ui.copyrightLabel.setText(copyright_msg)
101
+ self.ui.contributorsLabel.setText(contributors_msg)
102
+
103
+ # click
104
+ self.ui.updateButton.clicked.connect(self.update)
105
+
106
+ self.show_license()
107
+
108
+ def msg(self, text, title="Warning"):
109
+ """
110
+ Message box
111
+ :param text: Text to display
112
+ :param title: Name of the window
113
+ """
114
+ msg = QtWidgets.QMessageBox()
115
+ msg.setIcon(QtWidgets.QMessageBox.Icon.Information)
116
+ msg.setText(text)
117
+ # msg.setInformativeText("This is additional information")
118
+ msg.setWindowTitle(title)
119
+ # msg.setDetailedText("The details are as follows:")
120
+ msg.setStandardButtons(QtWidgets.QMessageBox.StandardButton.Ok)
121
+ retval = msg.exec_()
122
+
123
+ def update(self):
124
+ """
125
+ Upgrade GridCal
126
+ :return:
127
+ """
128
+ list_files = subprocess.run(self.upgrade_cmd,
129
+ stdout=subprocess.PIPE,
130
+ text=True,
131
+ input="Hello from the other side") # upgrade_cmd is a list already
132
+ if list_files.returncode != 0:
133
+ self.msg("The exit code was: %d" % list_files.returncode)
134
+ else:
135
+ self.msg('GridCal updated successfully')
136
+
137
+ def show_license(self):
138
+ """
139
+ Show the license
140
+ """
141
+ here = os.path.abspath(os.path.dirname(__file__))
142
+ license_file = os.path.join(here, '..', '..', 'LICENSE.txt')
143
+
144
+ # make a guess of the file encoding
145
+ detection = chardet.detect(open(license_file, "rb").read())
146
+
147
+ with open(license_file, 'r', encoding=detection['encoding']) as file:
148
+ license_txt = file.read()
149
+
150
+ self.ui.licenseTextEdit.setPlainText(license_txt)
151
+
152
+
153
+ if __name__ == "__main__":
154
+ app = QtWidgets.QApplication(sys.argv)
155
+ window = AboutDialogueGuiGUI()
156
+ # window.resize(1.61 * 700.0, 600.0) # golden ratio
157
+ window.show()
158
+ sys.exit(app.exec_())