GridCal 5.1.10__tar.gz → 5.1.12__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 (297) hide show
  1. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ExecuteGridCal.py +40 -40
  2. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/AboutDialogue/about_dialogue.py +160 -158
  3. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/AboutDialogue/gui.py +173 -173
  4. GridCal-5.1.12/GridCal/Gui/AboutDialogue/icons_rc.py +326 -0
  5. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/AboutDialogue/update_gui_file.py +9 -9
  6. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Analysis/AnalysisDialogue.py +111 -111
  7. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Analysis/gui.py +378 -378
  8. GridCal-5.1.12/GridCal/Gui/Analysis/icons_rc.py +863 -0
  9. GridCal-5.1.12/GridCal/Gui/Analysis/object_plot_analysis.py +1321 -0
  10. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Analysis/update_gui_file.py +21 -21
  11. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CascadingSteps/cascading_steps.py +138 -138
  12. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CascadingSteps/gui.py +127 -127
  13. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CascadingSteps/update_gui_file.py +8 -8
  14. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ConsoleWidget.py +120 -120
  15. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +123 -123
  16. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ContingencyPlanner/gui.py +226 -226
  17. GridCal-5.1.12/GridCal/Gui/ContingencyPlanner/icons_rc.py +420 -0
  18. {GridCal-5.1.10/GridCal/Gui/SigmaAnalysis → GridCal-5.1.12/GridCal/Gui/ContingencyPlanner}/update_gui_file.py +8 -8
  19. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +447 -447
  20. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CoordinatesInput/gui.py +222 -222
  21. GridCal-5.1.12/GridCal/Gui/CoordinatesInput/icons_rc.py +1586 -0
  22. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CoordinatesInput/update_gui_file.py +8 -8
  23. GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Schema/map_template_line.py → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +406 -369
  24. GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +311 -0
  25. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Layers/image_layer.py +126 -126
  26. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Layers/layer_types.py +9 -9
  27. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Layers/place.py +17 -17
  28. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Layers/point_layer.py +117 -117
  29. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Layers/polygon_layer.py +123 -123
  30. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Layers/polyline_layer.py +114 -114
  31. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Layers/text_layer.py +129 -129
  32. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Schema → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Substation}/node_graphic_item.py +342 -305
  33. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Schema → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Substation}/node_template.py +64 -57
  34. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Schema → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Substation}/substation_graphic_item.py +285 -274
  35. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Schema → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Substation}/voltage_level_graphic_item.py +224 -216
  36. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/blue_marble.py +69 -69
  37. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/cartodb.py +74 -74
  38. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/gmt_local.py +131 -131
  39. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapbox.py +67 -67
  40. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapquest.py +70 -70
  41. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/open_street_map.py +73 -73
  42. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_toner.py +68 -68
  43. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_transport.py +71 -71
  44. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_watercolor.py +69 -69
  45. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +191 -191
  46. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +439 -439
  47. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +115 -115
  48. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +96 -91
  49. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +365 -365
  50. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +86 -86
  51. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +1051 -874
  52. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/logger.py +4 -4
  53. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/map_events.py +106 -106
  54. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +4112 -4106
  55. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/MapWidget/node_widget.py +161 -161
  56. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +358 -358
  57. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +129 -129
  58. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +277 -277
  59. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +355 -367
  60. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +1157 -1157
  61. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +109 -109
  62. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +112 -112
  63. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +242 -249
  64. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +415 -415
  65. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +256 -309
  66. GridCal-5.1.12/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +100 -0
  67. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +114 -114
  68. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +127 -127
  69. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +131 -131
  70. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +495 -495
  71. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +173 -174
  72. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +173 -173
  73. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +174 -175
  74. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +181 -181
  75. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +161 -162
  76. GridCal-5.1.12/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +146 -0
  77. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +188 -173
  78. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +173 -173
  79. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +173 -174
  80. GridCal-5.1.12/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +314 -0
  81. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +354 -599
  82. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +169 -169
  83. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +153 -153
  84. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +174 -174
  85. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +172 -172
  86. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +944 -944
  87. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +818 -819
  88. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +598 -598
  89. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +16 -16
  90. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +252 -252
  91. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +4642 -4826
  92. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +417 -417
  93. GridCal-5.1.12/GridCal/Gui/Diagrams/base_diagram_widget.py +506 -0
  94. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/diagrams_model.py +99 -99
  95. {GridCal-5.1.10/GridCal/Gui/Diagrams/SchematicWidget → GridCal-5.1.12/GridCal/Gui/Diagrams}/generic_graphics.py +267 -258
  96. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Diagrams/graphics_manager.py +200 -200
  97. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/GeneralDialogues.py +1053 -857
  98. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +177 -177
  99. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/GridGenerator/gui.py +337 -337
  100. GridCal-5.1.12/GridCal/Gui/GridGenerator/icons_rc.py +420 -0
  101. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/GridGenerator/update_gui_file.py +8 -8
  102. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/GuiFunctions.py +2886 -2853
  103. GridCal-5.1.12/GridCal/Gui/LoadDesigner/icons_rc.py +1518 -0
  104. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/LoadDesigner/load_designer.py +158 -158
  105. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/LoadDesigner/load_designer_ui.py +289 -289
  106. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/LoadDesigner/update_gui_file.py +9 -9
  107. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/ConsoleLog.py +113 -113
  108. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/ConsoleLogController.py +46 -46
  109. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/GridCalMain.py +161 -161
  110. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/MainWindow.py +5433 -5340
  111. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +159 -159
  112. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +1700 -1635
  113. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Model/objects.py +1115 -1115
  114. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Model/time_events.py +524 -523
  115. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/README.txt +18 -18
  116. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Results/results.py +335 -335
  117. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +92 -92
  118. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +145 -145
  119. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Server/server.py +167 -144
  120. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +434 -432
  121. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/base_gui.py +795 -795
  122. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/io.py +934 -865
  123. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/SubClasses/simulations.py +2816 -2655
  124. GridCal-5.1.12/GridCal/Gui/Main/icons_rc.py +30337 -0
  125. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/object_select_window.py +68 -68
  126. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Main/update_gui_file.py +20 -20
  127. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/excel_dialog.py +40 -40
  128. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +55 -55
  129. GridCal-5.1.12/GridCal/Gui/ProfilesInput/icons_rc.py +1899 -0
  130. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/models_dialogue.py +363 -363
  131. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/profile_dialogue.py +694 -694
  132. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/profiles_from_data.py +10 -10
  133. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +354 -354
  134. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +126 -126
  135. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ProfilesInput/update_gui_file.py +9 -9
  136. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +69 -69
  137. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/RosetaExplorer/MainWindow.py +507 -507
  138. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +551 -551
  139. GridCal-5.1.12/GridCal/Gui/RosetaExplorer/icons_rc.py +9708 -0
  140. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/RosetaExplorer/update_gui_file.py +20 -20
  141. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SigmaAnalysis/gui.py +106 -106
  142. GridCal-5.1.12/GridCal/Gui/SigmaAnalysis/icons_rc.py +1713 -0
  143. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +115 -115
  144. {GridCal-5.1.10/GridCal/Gui/ContingencyPlanner → GridCal-5.1.12/GridCal/Gui/SigmaAnalysis}/update_gui_file.py +8 -8
  145. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SolarPowerWizard/gui.py +181 -181
  146. GridCal-5.1.12/GridCal/Gui/SolarPowerWizard/icons_rc.py +959 -0
  147. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +185 -185
  148. GridCal-5.1.12/GridCal/Gui/SolarPowerWizard/update_gui_file.py +9 -0
  149. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SyncDialogue/gui.py +108 -108
  150. GridCal-5.1.12/GridCal/Gui/SyncDialogue/icons_rc.py +709 -0
  151. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SyncDialogue/sync_dialogue.py +109 -109
  152. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SyncDialogue/update_gui_file.py +9 -9
  153. GridCal-5.1.12/GridCal/Gui/SystemScaler/icons_rc.py +1518 -0
  154. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SystemScaler/system_scaler.py +286 -286
  155. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SystemScaler/system_scaler_ui.py +106 -106
  156. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/SystemScaler/update_gui_file.py +9 -9
  157. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +290 -290
  158. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TowerBuilder/gui.py +369 -369
  159. GridCal-5.1.12/GridCal/Gui/TowerBuilder/icons_rc.py +926 -0
  160. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TowerBuilder/table_models.py +396 -396
  161. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TowerBuilder/test_.py +164 -164
  162. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TowerBuilder/update_gui_file.py +9 -9
  163. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TreeModelViewer/MainWindow.py +106 -106
  164. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +265 -265
  165. GridCal-5.1.12/GridCal/Gui/TreeModelViewer/icons_rc.py +9656 -0
  166. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/TreeModelViewer/update_gui_file.py +20 -20
  167. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Visualization/palettes.py +464 -464
  168. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Visualization/visualization.py +95 -95
  169. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Widgets/custom_qrangeslider.py +1322 -1322
  170. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Widgets/matplotlibwidget.py +244 -244
  171. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/WindPowerWizard/gui.py +179 -179
  172. GridCal-5.1.12/GridCal/Gui/WindPowerWizard/icons_rc.py +498 -0
  173. GridCal-5.1.12/GridCal/Gui/WindPowerWizard/update_gui_file.py +9 -0
  174. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +106 -106
  175. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/messages.py +75 -75
  176. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/plot_config.py +45 -45
  177. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/themes.py +69 -69
  178. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/update_gui_all.py +45 -45
  179. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/update_gui_common.py +120 -120
  180. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/LICENSE.txt +228 -228
  181. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Session/export_results_driver.py +116 -116
  182. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Session/file_handler.py +234 -234
  183. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Session/results_model.py +317 -317
  184. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Session/server_driver.py +461 -457
  185. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Session/session.py +644 -696
  186. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Session/synchronization_driver.py +424 -424
  187. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/__init__.py +46 -46
  188. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_color.py +231 -231
  189. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +56 -56
  190. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +75 -75
  191. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_main.py +178 -178
  192. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +1 -1
  193. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +29 -29
  194. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +61 -61
  195. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +59 -59
  196. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +34 -34
  197. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +12 -12
  198. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +28 -28
  199. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +114 -114
  200. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +81 -81
  201. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +4 -4
  202. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +5 -5
  203. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_style_loader.py +302 -302
  204. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_template/engine.py +84 -84
  205. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_template/filter.py +94 -94
  206. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/_util.py +82 -82
  207. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +19 -19
  208. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +20 -20
  209. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +13 -13
  210. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +36 -36
  211. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +11 -11
  212. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +80 -80
  213. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +22 -22
  214. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +8 -8
  215. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +14 -14
  216. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +1 -1
  217. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +42 -42
  218. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +79 -79
  219. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +42 -42
  220. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +76 -76
  221. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +329 -329
  222. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +223 -223
  223. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/__init__.py +14 -14
  224. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/__version__.py +64 -64
  225. GridCal-5.1.12/GridCal/data/__init__.py +0 -0
  226. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/data/cables.csv +462 -462
  227. GridCal-5.1.12/GridCal/data/sequence_lines.csv +17 -0
  228. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/data/transformers.csv +788 -788
  229. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/data/wires.csv +100 -100
  230. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/templates.py +156 -156
  231. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/update.py +99 -96
  232. {GridCal-5.1.10 → GridCal-5.1.12}/PKG-INFO +29 -29
  233. {GridCal-5.1.10 → GridCal-5.1.12}/setup.cfg +3 -3
  234. {GridCal-5.1.10 → GridCal-5.1.12}/setup.py +148 -147
  235. GridCal-5.1.10/GridCal/Gui/AboutDialogue/icons_rc.py +0 -304
  236. GridCal-5.1.10/GridCal/Gui/Analysis/icons_rc.py +0 -845
  237. GridCal-5.1.10/GridCal/Gui/Analysis/object_plot_analysis.py +0 -1081
  238. GridCal-5.1.10/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -407
  239. GridCal-5.1.10/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -1553
  240. GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Schema/segment.py +0 -71
  241. GridCal-5.1.10/GridCal/Gui/Diagrams/video.py +0 -16
  242. GridCal-5.1.10/GridCal/Gui/GridGenerator/icons_rc.py +0 -406
  243. GridCal-5.1.10/GridCal/Gui/LoadDesigner/icons_rc.py +0 -1488
  244. GridCal-5.1.10/GridCal/Gui/Main/icons_rc.py +0 -30318
  245. GridCal-5.1.10/GridCal/Gui/ProfilesInput/icons_rc.py +0 -1857
  246. GridCal-5.1.10/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -9652
  247. GridCal-5.1.10/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -1677
  248. GridCal-5.1.10/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -950
  249. GridCal-5.1.10/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -9
  250. GridCal-5.1.10/GridCal/Gui/SyncDialogue/icons_rc.py +0 -690
  251. GridCal-5.1.10/GridCal/Gui/SystemScaler/icons_rc.py +0 -1488
  252. GridCal-5.1.10/GridCal/Gui/TowerBuilder/icons_rc.py +0 -904
  253. GridCal-5.1.10/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -9596
  254. GridCal-5.1.10/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -493
  255. GridCal-5.1.10/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -9
  256. GridCal-5.1.10/GridCal/data/sequence_lines.csv +0 -4
  257. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  258. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/Analysis/__init__.py +0 -0
  259. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
  260. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  261. {GridCal-5.1.10 → GridCal-5.1.12}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  262. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Layers → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Branches}/__init__.py +0 -0
  263. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Schema → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Layers}/__init__.py +0 -0
  264. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/TileProviders → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Substation}/__init__.py +0 -0
  265. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget/Tiles → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/TileProviders}/__init__.py +0 -0
  266. {GridCal-5.1.10/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget/Tiles}/__init__.py +0 -0
  267. {GridCal-5.1.10/GridCal/Gui/Diagrams/SchematicWidget/Branches → GridCal-5.1.12/GridCal/Gui/Diagrams/MapWidget}/__init__.py +0 -0
  268. {GridCal-5.1.10/GridCal/Gui/Diagrams/SchematicWidget/Fluid → GridCal-5.1.12/GridCal/Gui/Diagrams/SchematicWidget/Branches}/__init__.py +0 -0
  269. {GridCal-5.1.10/GridCal/Gui/Diagrams/SchematicWidget/Injections → GridCal-5.1.12/GridCal/Gui/Diagrams/SchematicWidget/Fluid}/__init__.py +0 -0
  270. {GridCal-5.1.10/GridCal/Gui/Diagrams/SchematicWidget/Substation → GridCal-5.1.12/GridCal/Gui/Diagrams/SchematicWidget/Injections}/__init__.py +0 -0
  271. {GridCal-5.1.10/GridCal/Gui/Diagrams → GridCal-5.1.12/GridCal/Gui/Diagrams/SchematicWidget/Substation}/__init__.py +0 -0
  272. {GridCal-5.1.10/GridCal/Gui/GridGenerator → GridCal-5.1.12/GridCal/Gui/Diagrams}/__init__.py +0 -0
  273. {GridCal-5.1.10/GridCal/Gui/LoadDesigner → GridCal-5.1.12/GridCal/Gui/GridGenerator}/__init__.py +0 -0
  274. {GridCal-5.1.10/GridCal/Gui/Main/SubClasses/Model → GridCal-5.1.12/GridCal/Gui/LoadDesigner}/__init__.py +0 -0
  275. {GridCal-5.1.10/GridCal/Gui/Main/SubClasses/Results → GridCal-5.1.12/GridCal/Gui/Main/SubClasses/Model}/__init__.py +0 -0
  276. {GridCal-5.1.10/GridCal/Gui/Main/SubClasses/Scripting → GridCal-5.1.12/GridCal/Gui/Main/SubClasses/Results}/__init__.py +0 -0
  277. {GridCal-5.1.10/GridCal/Gui/Main/SubClasses/Server → GridCal-5.1.12/GridCal/Gui/Main/SubClasses/Scripting}/__init__.py +0 -0
  278. {GridCal-5.1.10/GridCal/Gui/Main/SubClasses/Settings → GridCal-5.1.12/GridCal/Gui/Main/SubClasses/Server}/__init__.py +0 -0
  279. {GridCal-5.1.10/GridCal/Gui/Main/SubClasses → GridCal-5.1.12/GridCal/Gui/Main/SubClasses/Settings}/__init__.py +0 -0
  280. {GridCal-5.1.10/GridCal/Gui/Main → GridCal-5.1.12/GridCal/Gui/Main/SubClasses}/__init__.py +0 -0
  281. {GridCal-5.1.10/GridCal/Gui/ProfilesInput → GridCal-5.1.12/GridCal/Gui/Main}/__init__.py +0 -0
  282. {GridCal-5.1.10/GridCal/Gui/RosetaExplorer → GridCal-5.1.12/GridCal/Gui/ProfilesInput}/__init__.py +0 -0
  283. {GridCal-5.1.10/GridCal/Gui/SigmaAnalysis → GridCal-5.1.12/GridCal/Gui/RosetaExplorer}/__init__.py +0 -0
  284. {GridCal-5.1.10/GridCal/Gui/SolarPowerWizard → GridCal-5.1.12/GridCal/Gui/SigmaAnalysis}/__init__.py +0 -0
  285. {GridCal-5.1.10/GridCal/Gui/SyncDialogue → GridCal-5.1.12/GridCal/Gui/SolarPowerWizard}/__init__.py +0 -0
  286. {GridCal-5.1.10/GridCal/Gui/SystemScaler → GridCal-5.1.12/GridCal/Gui/SyncDialogue}/__init__.py +0 -0
  287. {GridCal-5.1.10/GridCal/Gui/TowerBuilder → GridCal-5.1.12/GridCal/Gui/SystemScaler}/__init__.py +0 -0
  288. {GridCal-5.1.10/GridCal/Gui/TreeModelViewer → GridCal-5.1.12/GridCal/Gui/TowerBuilder}/__init__.py +0 -0
  289. {GridCal-5.1.10/GridCal/Gui/Visualization → GridCal-5.1.12/GridCal/Gui/TreeModelViewer}/__init__.py +0 -0
  290. {GridCal-5.1.10/GridCal/Gui/Widgets → GridCal-5.1.12/GridCal/Gui/Visualization}/__init__.py +0 -0
  291. {GridCal-5.1.10/GridCal/Gui/WindPowerWizard → GridCal-5.1.12/GridCal/Gui/Widgets}/__init__.py +0 -0
  292. {GridCal-5.1.10/GridCal/Gui → GridCal-5.1.12/GridCal/Gui/WindPowerWizard}/__init__.py +0 -0
  293. {GridCal-5.1.10/GridCal/Session → GridCal-5.1.12/GridCal/Gui}/__init__.py +0 -0
  294. {GridCal-5.1.10/GridCal/ThirdParty → GridCal-5.1.12/GridCal/Session}/__init__.py +0 -0
  295. {GridCal-5.1.10/GridCal/ThirdParty/qdarktheme/_icon → GridCal-5.1.12/GridCal/ThirdParty}/__init__.py +0 -0
  296. {GridCal-5.1.10/GridCal/ThirdParty/qdarktheme/_template → GridCal-5.1.12/GridCal/ThirdParty/qdarktheme/_icon}/__init__.py +0 -0
  297. {GridCal-5.1.10/GridCal/data → GridCal-5.1.12/GridCal/ThirdParty/qdarktheme/_template}/__init__.py +0 -0
@@ -1,40 +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()
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()
40
+
@@ -1,158 +1,160 @@
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
+ AboutDialogueGuiGUI
25
+ """
26
+ def __init__(self, parent=None):
27
+ """
28
+
29
+ :param parent:
30
+ """
31
+ QtWidgets.QDialog.__init__(self, parent)
32
+ self.ui = Ui_AboutDialog()
33
+ self.ui.setupUi(self)
34
+ self.setWindowTitle('About GridCal')
35
+ self.setAcceptDrops(True)
36
+
37
+ self.ui.librariesTableWidget.setColumnCount(4)
38
+ self.ui.librariesTableWidget.setRowCount(4)
39
+ self.ui.librariesTableWidget.setHorizontalHeaderLabels(["Name", "version", "supported version", "licensed"])
40
+
41
+ self.ui.librariesTableWidget.setItem(0, 0, QtWidgets.QTableWidgetItem("GridCal"))
42
+ self.ui.librariesTableWidget.setItem(0, 1, QtWidgets.QTableWidgetItem(__GridCal_VERSION__))
43
+ self.ui.librariesTableWidget.setItem(0, 2, QtWidgets.QTableWidgetItem(__GridCalEngine_VERSION__))
44
+ self.ui.librariesTableWidget.setItem(0, 3, QtWidgets.QTableWidgetItem("True"))
45
+
46
+ self.ui.librariesTableWidget.setItem(1, 0, QtWidgets.QTableWidgetItem("NewtonPa"))
47
+ self.ui.librariesTableWidget.setItem(1, 1, QtWidgets.QTableWidgetItem(NEWTON_PA_VERSION
48
+ if NEWTON_PA_AVAILABLE else
49
+ "Not installed"))
50
+ self.ui.librariesTableWidget.setItem(1, 2, QtWidgets.QTableWidgetItem(NEWTON_PA_RECOMMENDED_VERSION))
51
+ self.ui.librariesTableWidget.setItem(1, 3, QtWidgets.QTableWidgetItem(str(NEWTON_PA_AVAILABLE)))
52
+
53
+ self.ui.librariesTableWidget.setItem(2, 0, QtWidgets.QTableWidgetItem("Bentayga"))
54
+ self.ui.librariesTableWidget.setItem(2, 1, QtWidgets.QTableWidgetItem(BENTAYGA_VERSION
55
+ if BENTAYGA_AVAILABLE else
56
+ "Not installed"))
57
+ self.ui.librariesTableWidget.setItem(2, 2, QtWidgets.QTableWidgetItem(BENTAYGA_RECOMMENDED_VERSION))
58
+ self.ui.librariesTableWidget.setItem(2, 3, QtWidgets.QTableWidgetItem(str(BENTAYGA_AVAILABLE)))
59
+
60
+ self.ui.librariesTableWidget.setItem(3, 0, QtWidgets.QTableWidgetItem("power-grid-model"))
61
+ self.ui.librariesTableWidget.setItem(3, 1, QtWidgets.QTableWidgetItem(PGM_VERSION
62
+ if PGM_AVAILABLE else
63
+ "Not installed"))
64
+ self.ui.librariesTableWidget.setItem(3, 2, QtWidgets.QTableWidgetItem(PGM_RECOMMENDED_VERSION))
65
+ self.ui.librariesTableWidget.setItem(3, 3, QtWidgets.QTableWidgetItem(str(PGM_AVAILABLE)))
66
+
67
+ # check the version in pypi
68
+ version_code, latest_version = check_version()
69
+
70
+ self.upgrade_cmd: List[str] = ['']
71
+
72
+ if version_code == 1:
73
+ addendum = '\nThere is a newer version: ' + latest_version
74
+
75
+ self.upgrade_cmd = get_upgrade_command(latest_version)
76
+ command = ' '.join(self.upgrade_cmd)
77
+ self.ui.updateLabel.setText('\n\nTerminal command to update:\n\n' + command)
78
+ self.ui.updateButton.setVisible(True)
79
+
80
+ elif version_code == -1:
81
+ addendum = '\nThis version is newer than the version available in the repositories (' + latest_version + ')'
82
+ self.ui.updateLabel.setText(addendum)
83
+ self.ui.updateButton.setVisible(False)
84
+
85
+ elif version_code == 0:
86
+ addendum = '\nGridCal is up to date.'
87
+ self.ui.updateLabel.setText(addendum)
88
+ self.ui.updateButton.setVisible(False)
89
+
90
+ elif version_code == -2:
91
+ addendum = '\nIt was impossible to check for a newer version'
92
+ self.ui.updateLabel.setText(addendum)
93
+ self.ui.updateButton.setVisible(False)
94
+
95
+ else:
96
+ addendum = ''
97
+ self.ui.updateLabel.setText(addendum)
98
+ self.ui.updateButton.setVisible(False)
99
+
100
+ # self.ui.mainLabel.setText(about_msg)
101
+ self.ui.versionLabel.setText('GridCal version: ' + __GridCal_VERSION__ + ', ' + addendum)
102
+ self.ui.copyrightLabel.setText(copyright_msg)
103
+ self.ui.contributorsLabel.setText(contributors_msg)
104
+
105
+ # click
106
+ self.ui.updateButton.clicked.connect(self.update)
107
+
108
+ self.show_license()
109
+
110
+ def msg(self, text, title="Warning"):
111
+ """
112
+ Message box
113
+ :param text: Text to display
114
+ :param title: Name of the window
115
+ """
116
+ msg = QtWidgets.QMessageBox()
117
+ msg.setIcon(QtWidgets.QMessageBox.Icon.Information)
118
+ msg.setText(text)
119
+ # msg.setInformativeText("This is additional information")
120
+ msg.setWindowTitle(title)
121
+ # msg.setDetailedText("The details are as follows:")
122
+ msg.setStandardButtons(QtWidgets.QMessageBox.StandardButton.Ok)
123
+ retval = msg.exec_()
124
+
125
+ def update(self):
126
+ """
127
+ Upgrade GridCal
128
+ :return:
129
+ """
130
+ list_files = subprocess.run(self.upgrade_cmd,
131
+ stdout=subprocess.PIPE,
132
+ text=True,
133
+ input="Hello from the other side") # upgrade_cmd is a list already
134
+ if list_files.returncode != 0:
135
+ self.msg("The exit code was: %d" % list_files.returncode)
136
+ else:
137
+ self.msg('GridCal updated successfully')
138
+
139
+ def show_license(self):
140
+ """
141
+ Show the license
142
+ """
143
+ here = os.path.abspath(os.path.dirname(__file__))
144
+ license_file = os.path.join(here, '..', '..', 'LICENSE.txt')
145
+
146
+ # make a guess of the file encoding
147
+ detection = chardet.detect(open(license_file, "rb").read())
148
+
149
+ with open(license_file, 'r', encoding=detection['encoding']) as file:
150
+ license_txt = file.read()
151
+
152
+ self.ui.licenseTextEdit.setPlainText(license_txt)
153
+
154
+
155
+ if __name__ == "__main__":
156
+ app = QtWidgets.QApplication(sys.argv)
157
+ window = AboutDialogueGuiGUI()
158
+ # window.resize(1.61 * 700.0, 600.0) # golden ratio
159
+ window.show()
160
+ sys.exit(app.exec_())