GridCal 5.1.23__tar.gz → 5.1.24__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (283) hide show
  1. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/MainWindow.py +192 -167
  2. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +16 -3
  3. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/simulations.py +26 -10
  4. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +1 -2
  5. GridCal-5.1.24/GridCal/Gui/ProfilesInput/icons_rc.py +1857 -0
  6. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +10 -10
  7. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +4 -4
  8. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/update_gui_file.py +1 -1
  9. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/plugins.py +85 -31
  10. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/__version__.py +1 -1
  11. {GridCal-5.1.23 → GridCal-5.1.24}/PKG-INFO +1 -1
  12. GridCal-5.1.23/GridCal/Gui/ProfilesInput/icons_rc.py +0 -1899
  13. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ExecuteGridCal.py +0 -0
  14. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
  15. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
  16. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/AboutDialogue/gui.py +0 -0
  17. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
  18. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
  19. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
  20. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Analysis/__init__.py +0 -0
  21. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Analysis/gui.py +0 -0
  22. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Analysis/icons_rc.py +0 -0
  23. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
  24. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
  25. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
  26. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
  27. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CascadingSteps/gui.py +0 -0
  28. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
  29. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ConsoleWidget.py +0 -0
  30. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
  31. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
  32. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
  33. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
  34. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
  35. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
  36. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
  37. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
  38. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
  39. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
  40. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Branches/__init__.py +0 -0
  41. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Branches/map_ac_line.py +0 -0
  42. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Branches/map_dc_line.py +0 -0
  43. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Branches/map_fluid_path.py +0 -0
  44. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Branches/map_hvdc_line.py +0 -0
  45. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_container.py +0 -0
  46. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Branches/map_line_segment.py +0 -0
  47. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Substation/__init__.py +0 -0
  48. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Substation/node_graphic_item.py +0 -0
  49. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Substation/node_template.py +0 -0
  50. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Substation/substation_graphic_item.py +0 -0
  51. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Substation/voltage_level_graphic_item.py +0 -0
  52. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/__init__.py +0 -0
  53. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/blue_marble.py +0 -0
  54. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/cartodb.py +0 -0
  55. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/gmt_local.py +0 -0
  56. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapbox.py +0 -0
  57. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapquest.py +0 -0
  58. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/open_street_map.py +0 -0
  59. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_toner.py +0 -0
  60. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_transport.py +0 -0
  61. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_watercolor.py +0 -0
  62. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Tiles/__init__.py +0 -0
  63. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
  64. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
  65. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
  66. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
  67. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
  68. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
  69. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/__init__.py +0 -0
  70. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +0 -0
  71. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/map_events.py +0 -0
  72. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +0 -0
  73. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/new_line_dialogue.py +0 -0
  74. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/MapWidget/node_widget.py +0 -0
  75. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/__init__.py +0 -0
  76. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/dc_line_graphics.py +0 -0
  77. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/hvdc_graphics.py +0 -0
  78. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_editor.py +0 -0
  79. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics.py +0 -0
  80. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/line_graphics_template.py +0 -0
  81. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/series_reactance_graphics.py +0 -0
  82. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/switch_graphics.py +0 -0
  83. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer2w_graphics.py +0 -0
  84. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer3w_graphics.py +0 -0
  85. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_editor.py +0 -0
  86. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/transformer_taps_editor.py +0 -0
  87. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/upfc_graphics.py +0 -0
  88. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/vsc_graphics.py +0 -0
  89. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Branches/winding_graphics.py +0 -0
  90. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/__init__.py +0 -0
  91. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_node_graphics.py +0 -0
  92. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_p2x_graphics.py +0 -0
  93. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_path_graphics.py +0 -0
  94. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_pump_graphics.py +0 -0
  95. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Fluid/fluid_turbine_graphics.py +0 -0
  96. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/__init__.py +0 -0
  97. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/battery_graphics.py +0 -0
  98. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_editor.py +0 -0
  99. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/controllable_shunt_graphics.py +0 -0
  100. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/current_injection_graphics.py +0 -0
  101. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/external_grid_graphics.py +0 -0
  102. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_editor.py +0 -0
  103. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/generator_graphics.py +0 -0
  104. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/injections_template_graphics.py +0 -0
  105. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/load_graphics.py +0 -0
  106. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/shunt_graphics.py +0 -0
  107. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Injections/static_generator_graphics.py +0 -0
  108. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Substation/__init__.py +0 -0
  109. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Substation/bus_graphics.py +0 -0
  110. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Substation/busbar_graphics.py +0 -0
  111. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/Substation/cn_graphics.py +0 -0
  112. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/__init__.py +0 -0
  113. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/matplotlibwidget.py +0 -0
  114. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/schematic_widget.py +0 -0
  115. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/SchematicWidget/terminal_item.py +0 -0
  116. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/__init__.py +0 -0
  117. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/base_diagram_widget.py +0 -0
  118. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/diagrams_model.py +0 -0
  119. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/generic_graphics.py +0 -0
  120. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Diagrams/graphics_manager.py +0 -0
  121. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/GeneralDialogues.py +0 -0
  122. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/GridGenerator/__init__.py +0 -0
  123. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
  124. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/GridGenerator/gui.py +0 -0
  125. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
  126. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/GridGenerator/update_gui_file.py +0 -0
  127. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/GuiFunctions.py +0 -0
  128. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadCatalogue/SelectComponents.py +0 -0
  129. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadCatalogue/__init__.py +0 -0
  130. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadCatalogue/catalogue_dialogue.py +0 -0
  131. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadCatalogue/icons_rc.py +0 -0
  132. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadCatalogue/update_gui_file.py +0 -0
  133. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadDesigner/__init__.py +0 -0
  134. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
  135. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
  136. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
  137. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
  138. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/ConsoleLog.py +0 -0
  139. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
  140. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/GridCalMain.py +0 -0
  141. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Model/__init__.py +0 -0
  142. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
  143. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +0 -0
  144. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Model/objects.py +0 -0
  145. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Model/time_events.py +0 -0
  146. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
  147. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Results/__init__.py +0 -0
  148. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Results/results.py +0 -0
  149. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Scripting/__init__.py +0 -0
  150. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
  151. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
  152. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Server/__init__.py +0 -0
  153. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Server/server.py +0 -0
  154. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/Settings/__init__.py +0 -0
  155. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/__init__.py +0 -0
  156. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/base_gui.py +0 -0
  157. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/SubClasses/io.py +0 -0
  158. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/__init__.py +0 -0
  159. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/icons_rc.py +0 -0
  160. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/object_select_window.py +0 -0
  161. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Main/update_gui_file.py +0 -0
  162. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/__init__.py +0 -0
  163. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
  164. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
  165. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
  166. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
  167. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
  168. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
  169. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
  170. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/RosetaExplorer/__init__.py +0 -0
  171. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
  172. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/RosetaExplorer/roseta_objects_model.py +0 -0
  173. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
  174. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SigmaAnalysis/__init__.py +0 -0
  175. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
  176. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
  177. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
  178. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SigmaAnalysis/update_gui_file.py +0 -0
  179. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SolarPowerWizard/__init__.py +0 -0
  180. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
  181. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
  182. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
  183. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SolarPowerWizard/update_gui_file.py +0 -0
  184. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SyncDialogue/__init__.py +0 -0
  185. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SyncDialogue/gui.py +0 -0
  186. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
  187. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
  188. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
  189. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SystemScaler/__init__.py +0 -0
  190. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
  191. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
  192. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
  193. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
  194. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
  195. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TowerBuilder/__init__.py +0 -0
  196. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TowerBuilder/gui.py +0 -0
  197. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
  198. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
  199. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TowerBuilder/test_.py +0 -0
  200. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
  201. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
  202. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
  203. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TreeModelViewer/__init__.py +0 -0
  204. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
  205. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
  206. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Visualization/__init__.py +0 -0
  207. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Visualization/visualization.py +0 -0
  208. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Widgets/__init__.py +0 -0
  209. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
  210. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
  211. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
  212. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
  213. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
  214. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -0
  215. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
  216. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/__init__.py +0 -0
  217. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/associations_model.py +0 -0
  218. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/messages.py +0 -0
  219. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/object_model.py +0 -0
  220. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/pandas_model.py +0 -0
  221. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/plot_config.py +0 -0
  222. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/profiles_model.py +0 -0
  223. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/table_view_header_wrap.py +0 -0
  224. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/themes.py +0 -0
  225. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/update_gui_all.py +0 -0
  226. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Gui/update_gui_common.py +0 -0
  227. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/LICENSE.txt +0 -0
  228. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Session/__init__.py +0 -0
  229. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Session/export_results_driver.py +0 -0
  230. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Session/file_handler.py +0 -0
  231. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Session/results_model.py +0 -0
  232. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Session/server_driver.py +0 -0
  233. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Session/session.py +0 -0
  234. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/Session/synchronization_driver.py +0 -0
  235. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/__init__.py +0 -0
  236. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/__init__.py +0 -0
  237. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_color.py +0 -0
  238. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_icon/__init__.py +0 -0
  239. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_icon/icon_engine.py +0 -0
  240. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_icon/svg.py +0 -0
  241. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_main.py +0 -0
  242. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_os_appearance/__init__.py +0 -0
  243. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/__init__.py +0 -0
  244. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_os_appearance/_accent/_mac_detect.py +0 -0
  245. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_os_appearance/listener.py +0 -0
  246. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_proxy_style.py +0 -0
  247. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_resources/__init__.py +0 -0
  248. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_resources/colors.py +0 -0
  249. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_resources/palette.py +0 -0
  250. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_resources/standard_icons.py +0 -0
  251. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_resources/stylesheets.py +0 -0
  252. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_resources/svg.py +0 -0
  253. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_style_loader.py +0 -0
  254. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_template/__init__.py +0 -0
  255. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_template/engine.py +0 -0
  256. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_template/filter.py +0 -0
  257. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/_util.py +0 -0
  258. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/qtpy/QtCore/__init__.py +0 -0
  259. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/qtpy/QtGui/__init__.py +0 -0
  260. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/qtpy/QtSvg/__init__.py +0 -0
  261. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/qtpy/QtWidgets/__init__.py +0 -0
  262. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/qtpy/__init__.py +0 -0
  263. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/qtpy/qt_compat.py +0 -0
  264. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/qtpy/qt_version.py +0 -0
  265. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/__init__.py +0 -0
  266. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/__main__.py +0 -0
  267. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/__init__.py +0 -0
  268. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/dock_ui.py +0 -0
  269. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/frame_ui.py +0 -0
  270. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/icons_ui.py +0 -0
  271. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/mdi_ui.py +0 -0
  272. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/_ui/widgets_ui.py +0 -0
  273. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/ThirdParty/qdarktheme/widget_gallery/main_window.py +0 -0
  274. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/__init__.py +0 -0
  275. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/data/__init__.py +0 -0
  276. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/data/cables.csv +0 -0
  277. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/data/sequence_lines.csv +0 -0
  278. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/data/transformers.csv +0 -0
  279. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/data/wires.csv +0 -0
  280. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/templates.py +0 -0
  281. {GridCal-5.1.23 → GridCal-5.1.24}/GridCal/update.py +0 -0
  282. {GridCal-5.1.23 → GridCal-5.1.24}/setup.cfg +0 -0
  283. {GridCal-5.1.23 → GridCal-5.1.24}/setup.py +0 -0
@@ -31,7 +31,7 @@ class Ui_mainWindow(object):
31
31
  def setupUi(self, mainWindow):
32
32
  if not mainWindow.objectName():
33
33
  mainWindow.setObjectName(u"mainWindow")
34
- mainWindow.resize(1346, 811)
34
+ mainWindow.resize(1346, 820)
35
35
  mainWindow.setBaseSize(QSize(0, 0))
36
36
  font = QFont()
37
37
  font.setPointSize(10)
@@ -3330,16 +3330,13 @@ class Ui_mainWindow(object):
3330
3330
  self.verticalLayout_29.setObjectName(u"verticalLayout_29")
3331
3331
  self.label_41 = QLabel(self.frame_34)
3332
3332
  self.label_41.setObjectName(u"label_41")
3333
- font8 = QFont()
3334
- font8.setFamilies([u"Ubuntu"])
3335
- font8.setPointSize(9)
3336
- self.label_41.setFont(font8)
3333
+ self.label_41.setFont(font1)
3337
3334
 
3338
3335
  self.verticalLayout_29.addWidget(self.label_41)
3339
3336
 
3340
3337
  self.areaFromListView = QListView(self.frame_34)
3341
3338
  self.areaFromListView.setObjectName(u"areaFromListView")
3342
- self.areaFromListView.setFont(font8)
3339
+ self.areaFromListView.setFont(font1)
3343
3340
 
3344
3341
  self.verticalLayout_29.addWidget(self.areaFromListView)
3345
3342
 
@@ -3352,13 +3349,13 @@ class Ui_mainWindow(object):
3352
3349
  self.verticalLayout_19.setObjectName(u"verticalLayout_19")
3353
3350
  self.label_21 = QLabel(self.frame_35)
3354
3351
  self.label_21.setObjectName(u"label_21")
3355
- self.label_21.setFont(font8)
3352
+ self.label_21.setFont(font1)
3356
3353
 
3357
3354
  self.verticalLayout_19.addWidget(self.label_21)
3358
3355
 
3359
3356
  self.areaToListView = QListView(self.frame_35)
3360
3357
  self.areaToListView.setObjectName(u"areaToListView")
3361
- self.areaToListView.setFont(font8)
3358
+ self.areaToListView.setFont(font1)
3362
3359
 
3363
3360
  self.verticalLayout_19.addWidget(self.areaToListView)
3364
3361
 
@@ -3585,37 +3582,112 @@ class Ui_mainWindow(object):
3585
3582
  self.gridLayout_21 = QGridLayout(self.frame_18)
3586
3583
  self.gridLayout_21.setObjectName(u"gridLayout_21")
3587
3584
  self.gridLayout_21.setContentsMargins(-1, 0, -1, -1)
3588
- self.label_7 = QLabel(self.frame_18)
3589
- self.label_7.setObjectName(u"label_7")
3585
+ self.investment_evaluation_method_ComboBox = QComboBox(self.frame_18)
3586
+ self.investment_evaluation_method_ComboBox.setObjectName(u"investment_evaluation_method_ComboBox")
3587
+ self.investment_evaluation_method_ComboBox.setFont(font1)
3590
3588
 
3591
- self.gridLayout_21.addWidget(self.label_7, 12, 0, 1, 2)
3589
+ self.gridLayout_21.addWidget(self.investment_evaluation_method_ComboBox, 24, 2, 1, 1)
3592
3590
 
3593
- self.verticalSpacer_16 = QSpacerItem(20, 250, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
3591
+ self.label_94 = QLabel(self.frame_18)
3592
+ self.label_94.setObjectName(u"label_94")
3593
+ self.label_94.setMinimumSize(QSize(24, 24))
3594
+ self.label_94.setMaximumSize(QSize(24, 24))
3595
+ self.label_94.setPixmap(QPixmap(u":/Icons/icons/clustering.svg"))
3596
+ self.label_94.setScaledContents(True)
3594
3597
 
3595
- self.gridLayout_21.addItem(self.verticalSpacer_16, 29, 1, 1, 1)
3598
+ self.gridLayout_21.addWidget(self.label_94, 8, 0, 1, 1)
3596
3599
 
3597
- self.label_120 = QLabel(self.frame_18)
3598
- self.label_120.setObjectName(u"label_120")
3599
- self.label_120.setMinimumSize(QSize(24, 24))
3600
- self.label_120.setMaximumSize(QSize(24, 24))
3601
- self.label_120.setPixmap(QPixmap(u":/Icons/icons/expansion_planning.svg"))
3602
- self.label_120.setScaledContents(True)
3600
+ self.label_61 = QLabel(self.frame_18)
3601
+ self.label_61.setObjectName(u"label_61")
3602
+ self.label_61.setFont(font1)
3603
3603
 
3604
- self.gridLayout_21.addWidget(self.label_120, 21, 0, 1, 1)
3604
+ self.gridLayout_21.addWidget(self.label_61, 17, 0, 1, 2)
3605
3605
 
3606
- self.line_30 = QFrame(self.frame_18)
3607
- self.line_30.setObjectName(u"line_30")
3606
+ self.label_121 = QLabel(self.frame_18)
3607
+ self.label_121.setObjectName(u"label_121")
3608
3608
  palette28 = QPalette()
3609
- palette28.setBrush(QPalette.Active, QPalette.WindowText, brush3)
3610
- palette28.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
3609
+ palette28.setBrush(QPalette.Active, QPalette.WindowText, brush)
3610
+ palette28.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
3611
3611
  palette28.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3612
- self.line_30.setPalette(palette28)
3612
+ self.label_121.setPalette(palette28)
3613
+ self.label_121.setFont(font4)
3614
+ self.label_121.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
3615
+
3616
+ self.gridLayout_21.addWidget(self.label_121, 21, 1, 1, 2)
3617
+
3618
+ self.label_89 = QLabel(self.frame_18)
3619
+ self.label_89.setObjectName(u"label_89")
3620
+ palette29 = QPalette()
3621
+ palette29.setBrush(QPalette.Active, QPalette.WindowText, brush)
3622
+ palette29.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
3623
+ palette29.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3624
+ self.label_89.setPalette(palette29)
3625
+ self.label_89.setFont(font4)
3626
+ self.label_89.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
3627
+
3628
+ self.gridLayout_21.addWidget(self.label_89, 13, 1, 1, 2)
3629
+
3630
+ self.label_33 = QLabel(self.frame_18)
3631
+ self.label_33.setObjectName(u"label_33")
3632
+ self.label_33.setFont(font1)
3633
+
3634
+ self.gridLayout_21.addWidget(self.label_33, 10, 0, 1, 2)
3635
+
3636
+ self.label_3 = QLabel(self.frame_18)
3637
+ self.label_3.setObjectName(u"label_3")
3638
+ self.label_3.setFont(font1)
3639
+
3640
+ self.gridLayout_21.addWidget(self.label_3, 24, 0, 1, 2)
3641
+
3642
+ self.line_29 = QFrame(self.frame_18)
3643
+ self.line_29.setObjectName(u"line_29")
3644
+ palette30 = QPalette()
3645
+ palette30.setBrush(QPalette.Active, QPalette.WindowText, brush3)
3646
+ palette30.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
3647
+ palette30.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3648
+ self.line_29.setPalette(palette30)
3649
+ self.line_29.setFrameShadow(QFrame.Plain)
3650
+ self.line_29.setLineWidth(4)
3651
+ self.line_29.setFrameShape(QFrame.Shape.HLine)
3652
+
3653
+ self.gridLayout_21.addWidget(self.line_29, 9, 0, 1, 3)
3654
+
3655
+ self.label_44 = QLabel(self.frame_18)
3656
+ self.label_44.setObjectName(u"label_44")
3657
+
3658
+ self.gridLayout_21.addWidget(self.label_44, 18, 0, 1, 2)
3659
+
3660
+ self.line_30 = QFrame(self.frame_18)
3661
+ self.line_30.setObjectName(u"line_30")
3662
+ palette31 = QPalette()
3663
+ palette31.setBrush(QPalette.Active, QPalette.WindowText, brush3)
3664
+ palette31.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
3665
+ palette31.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3666
+ self.line_30.setPalette(palette31)
3613
3667
  self.line_30.setFrameShadow(QFrame.Plain)
3614
3668
  self.line_30.setLineWidth(4)
3615
3669
  self.line_30.setFrameShape(QFrame.Shape.HLine)
3616
3670
 
3617
3671
  self.gridLayout_21.addWidget(self.line_30, 22, 0, 1, 3)
3618
3672
 
3673
+ self.label_31 = QLabel(self.frame_18)
3674
+ self.label_31.setObjectName(u"label_31")
3675
+
3676
+ self.gridLayout_21.addWidget(self.label_31, 20, 0, 1, 1)
3677
+
3678
+ self.node_distances_sigma_doubleSpinBox = QDoubleSpinBox(self.frame_18)
3679
+ self.node_distances_sigma_doubleSpinBox.setObjectName(u"node_distances_sigma_doubleSpinBox")
3680
+ self.node_distances_sigma_doubleSpinBox.setFont(font1)
3681
+ self.node_distances_sigma_doubleSpinBox.setDecimals(6)
3682
+ self.node_distances_sigma_doubleSpinBox.setSingleStep(0.010000000000000)
3683
+ self.node_distances_sigma_doubleSpinBox.setValue(0.750000000000000)
3684
+
3685
+ self.gridLayout_21.addWidget(self.node_distances_sigma_doubleSpinBox, 16, 2, 1, 1)
3686
+
3687
+ self.verticalSpacer_16 = QSpacerItem(20, 250, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
3688
+
3689
+ self.gridLayout_21.addItem(self.verticalSpacer_16, 31, 1, 1, 1)
3690
+
3619
3691
  self.frame_59 = QFrame(self.frame_18)
3620
3692
  self.frame_59.setObjectName(u"frame_59")
3621
3693
  self.frame_59.setFrameShape(QFrame.NoFrame)
@@ -3625,11 +3697,11 @@ class Ui_mainWindow(object):
3625
3697
  self.horizontalLayout_32.setContentsMargins(0, 0, 0, 0)
3626
3698
  self.label_93 = QLabel(self.frame_59)
3627
3699
  self.label_93.setObjectName(u"label_93")
3628
- palette29 = QPalette()
3629
- palette29.setBrush(QPalette.Active, QPalette.WindowText, brush)
3630
- palette29.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
3631
- palette29.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3632
- self.label_93.setPalette(palette29)
3700
+ palette32 = QPalette()
3701
+ palette32.setBrush(QPalette.Active, QPalette.WindowText, brush)
3702
+ palette32.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
3703
+ palette32.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3704
+ self.label_93.setPalette(palette32)
3633
3705
  self.label_93.setFont(font4)
3634
3706
  self.label_93.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
3635
3707
 
@@ -3638,25 +3710,14 @@ class Ui_mainWindow(object):
3638
3710
 
3639
3711
  self.gridLayout_21.addWidget(self.frame_59, 8, 1, 1, 1)
3640
3712
 
3641
- self.label_33 = QLabel(self.frame_18)
3642
- self.label_33.setObjectName(u"label_33")
3643
- self.label_33.setFont(font1)
3644
-
3645
- self.gridLayout_21.addWidget(self.label_33, 10, 0, 1, 2)
3646
-
3647
- self.label_31 = QLabel(self.frame_18)
3648
- self.label_31.setObjectName(u"label_31")
3649
-
3650
- self.gridLayout_21.addWidget(self.label_31, 20, 0, 1, 1)
3651
-
3652
- self.max_investments_evluation_number_spinBox = QSpinBox(self.frame_18)
3653
- self.max_investments_evluation_number_spinBox.setObjectName(u"max_investments_evluation_number_spinBox")
3654
- self.max_investments_evluation_number_spinBox.setFont(font1)
3655
- self.max_investments_evluation_number_spinBox.setMinimum(1)
3656
- self.max_investments_evluation_number_spinBox.setMaximum(999999999)
3657
- self.max_investments_evluation_number_spinBox.setValue(4)
3713
+ self.node_distances_elements_spinBox = QSpinBox(self.frame_18)
3714
+ self.node_distances_elements_spinBox.setObjectName(u"node_distances_elements_spinBox")
3715
+ self.node_distances_elements_spinBox.setFont(font1)
3716
+ self.node_distances_elements_spinBox.setMinimum(1)
3717
+ self.node_distances_elements_spinBox.setMaximum(99999)
3718
+ self.node_distances_elements_spinBox.setValue(2)
3658
3719
 
3659
- self.gridLayout_21.addWidget(self.max_investments_evluation_number_spinBox, 27, 2, 1, 1)
3720
+ self.gridLayout_21.addWidget(self.node_distances_elements_spinBox, 17, 2, 1, 1)
3660
3721
 
3661
3722
  self.label_38 = QLabel(self.frame_18)
3662
3723
  self.label_38.setObjectName(u"label_38")
@@ -3664,25 +3725,30 @@ class Ui_mainWindow(object):
3664
3725
 
3665
3726
  self.gridLayout_21.addWidget(self.label_38, 16, 0, 1, 2)
3666
3727
 
3667
- self.label_3 = QLabel(self.frame_18)
3668
- self.label_3.setObjectName(u"label_3")
3669
- self.label_3.setFont(font1)
3728
+ self.label_7 = QLabel(self.frame_18)
3729
+ self.label_7.setObjectName(u"label_7")
3670
3730
 
3671
- self.gridLayout_21.addWidget(self.label_3, 23, 0, 1, 2)
3731
+ self.gridLayout_21.addWidget(self.label_7, 12, 0, 1, 2)
3672
3732
 
3673
3733
  self.line_24 = QFrame(self.frame_18)
3674
3734
  self.line_24.setObjectName(u"line_24")
3675
- palette30 = QPalette()
3676
- palette30.setBrush(QPalette.Active, QPalette.WindowText, brush3)
3677
- palette30.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
3678
- palette30.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3679
- self.line_24.setPalette(palette30)
3735
+ palette33 = QPalette()
3736
+ palette33.setBrush(QPalette.Active, QPalette.WindowText, brush3)
3737
+ palette33.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
3738
+ palette33.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3739
+ self.line_24.setPalette(palette33)
3680
3740
  self.line_24.setFrameShadow(QFrame.Plain)
3681
3741
  self.line_24.setLineWidth(4)
3682
3742
  self.line_24.setFrameShape(QFrame.Shape.HLine)
3683
3743
 
3684
3744
  self.gridLayout_21.addWidget(self.line_24, 14, 0, 1, 3)
3685
3745
 
3746
+ self.investment_evaluation_objfunc_ComboBox = QComboBox(self.frame_18)
3747
+ self.investment_evaluation_objfunc_ComboBox.setObjectName(u"investment_evaluation_objfunc_ComboBox")
3748
+ self.investment_evaluation_objfunc_ComboBox.setFont(font1)
3749
+
3750
+ self.gridLayout_21.addWidget(self.investment_evaluation_objfunc_ComboBox, 26, 2, 1, 1)
3751
+
3686
3752
  self.cluster_number_spinBox = QSpinBox(self.frame_18)
3687
3753
  self.cluster_number_spinBox.setObjectName(u"cluster_number_spinBox")
3688
3754
  self.cluster_number_spinBox.setFont(font1)
@@ -3692,11 +3758,42 @@ class Ui_mainWindow(object):
3692
3758
 
3693
3759
  self.gridLayout_21.addWidget(self.cluster_number_spinBox, 10, 2, 1, 1)
3694
3760
 
3761
+ self.label_51 = QLabel(self.frame_18)
3762
+ self.label_51.setObjectName(u"label_51")
3763
+ self.label_51.setFont(font1)
3764
+
3765
+ self.gridLayout_21.addWidget(self.label_51, 29, 0, 1, 2)
3766
+
3767
+ self.internal_investment_methods_radioButton = QRadioButton(self.frame_18)
3768
+ self.internal_investment_methods_radioButton.setObjectName(u"internal_investment_methods_radioButton")
3769
+ self.internal_investment_methods_radioButton.setFont(font1)
3770
+ self.internal_investment_methods_radioButton.setChecked(True)
3771
+
3772
+ self.gridLayout_21.addWidget(self.internal_investment_methods_radioButton, 23, 0, 1, 3)
3773
+
3695
3774
  self.label_153 = QLabel(self.frame_18)
3696
3775
  self.label_153.setObjectName(u"label_153")
3697
3776
  self.label_153.setFont(font1)
3698
3777
 
3699
- self.gridLayout_21.addWidget(self.label_153, 25, 0, 1, 2)
3778
+ self.gridLayout_21.addWidget(self.label_153, 26, 0, 1, 2)
3779
+
3780
+ self.label_120 = QLabel(self.frame_18)
3781
+ self.label_120.setObjectName(u"label_120")
3782
+ self.label_120.setMinimumSize(QSize(24, 24))
3783
+ self.label_120.setMaximumSize(QSize(24, 24))
3784
+ self.label_120.setPixmap(QPixmap(u":/Icons/icons/expansion_planning.svg"))
3785
+ self.label_120.setScaledContents(True)
3786
+
3787
+ self.gridLayout_21.addWidget(self.label_120, 21, 0, 1, 1)
3788
+
3789
+ self.max_investments_evluation_number_spinBox = QSpinBox(self.frame_18)
3790
+ self.max_investments_evluation_number_spinBox.setObjectName(u"max_investments_evluation_number_spinBox")
3791
+ self.max_investments_evluation_number_spinBox.setFont(font1)
3792
+ self.max_investments_evluation_number_spinBox.setMinimum(1)
3793
+ self.max_investments_evluation_number_spinBox.setMaximum(999999999)
3794
+ self.max_investments_evluation_number_spinBox.setValue(4)
3795
+
3796
+ self.gridLayout_21.addWidget(self.max_investments_evluation_number_spinBox, 29, 2, 1, 1)
3700
3797
 
3701
3798
  self.label_88 = QLabel(self.frame_18)
3702
3799
  self.label_88.setObjectName(u"label_88")
@@ -3707,98 +3804,23 @@ class Ui_mainWindow(object):
3707
3804
 
3708
3805
  self.gridLayout_21.addWidget(self.label_88, 13, 0, 1, 1)
3709
3806
 
3710
- self.investment_evaluation_method_ComboBox = QComboBox(self.frame_18)
3711
- self.investment_evaluation_method_ComboBox.setObjectName(u"investment_evaluation_method_ComboBox")
3712
- self.investment_evaluation_method_ComboBox.setFont(font1)
3807
+ self.plugins_investment_methods_radioButton = QRadioButton(self.frame_18)
3808
+ self.plugins_investment_methods_radioButton.setObjectName(u"plugins_investment_methods_radioButton")
3809
+ self.plugins_investment_methods_radioButton.setFont(font1)
3713
3810
 
3714
- self.gridLayout_21.addWidget(self.investment_evaluation_method_ComboBox, 23, 2, 1, 1)
3811
+ self.gridLayout_21.addWidget(self.plugins_investment_methods_radioButton, 27, 0, 1, 3)
3715
3812
 
3716
- self.label_44 = QLabel(self.frame_18)
3717
- self.label_44.setObjectName(u"label_44")
3813
+ self.label_83 = QLabel(self.frame_18)
3814
+ self.label_83.setObjectName(u"label_83")
3815
+ self.label_83.setFont(font1)
3718
3816
 
3719
- self.gridLayout_21.addWidget(self.label_44, 18, 0, 1, 2)
3817
+ self.gridLayout_21.addWidget(self.label_83, 28, 0, 1, 2)
3720
3818
 
3721
- self.investment_evaluation_objfunc_ComboBox = QComboBox(self.frame_18)
3722
- self.investment_evaluation_objfunc_ComboBox.setObjectName(u"investment_evaluation_objfunc_ComboBox")
3723
- self.investment_evaluation_objfunc_ComboBox.setFont(font1)
3819
+ self.plugins_investment_evaluation_method_ComboBox = QComboBox(self.frame_18)
3820
+ self.plugins_investment_evaluation_method_ComboBox.setObjectName(u"plugins_investment_evaluation_method_ComboBox")
3821
+ self.plugins_investment_evaluation_method_ComboBox.setFont(font1)
3724
3822
 
3725
- self.gridLayout_21.addWidget(self.investment_evaluation_objfunc_ComboBox, 25, 2, 1, 1)
3726
-
3727
- self.line_29 = QFrame(self.frame_18)
3728
- self.line_29.setObjectName(u"line_29")
3729
- palette31 = QPalette()
3730
- palette31.setBrush(QPalette.Active, QPalette.WindowText, brush3)
3731
- palette31.setBrush(QPalette.Inactive, QPalette.WindowText, brush3)
3732
- palette31.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3733
- self.line_29.setPalette(palette31)
3734
- self.line_29.setFrameShadow(QFrame.Plain)
3735
- self.line_29.setLineWidth(4)
3736
- self.line_29.setFrameShape(QFrame.Shape.HLine)
3737
-
3738
- self.gridLayout_21.addWidget(self.line_29, 9, 0, 1, 3)
3739
-
3740
- self.label_51 = QLabel(self.frame_18)
3741
- self.label_51.setObjectName(u"label_51")
3742
- self.label_51.setFont(font1)
3743
-
3744
- self.gridLayout_21.addWidget(self.label_51, 27, 0, 1, 2)
3745
-
3746
- self.label_94 = QLabel(self.frame_18)
3747
- self.label_94.setObjectName(u"label_94")
3748
- self.label_94.setMinimumSize(QSize(24, 24))
3749
- self.label_94.setMaximumSize(QSize(24, 24))
3750
- self.label_94.setPixmap(QPixmap(u":/Icons/icons/clustering.svg"))
3751
- self.label_94.setScaledContents(True)
3752
-
3753
- self.gridLayout_21.addWidget(self.label_94, 8, 0, 1, 1)
3754
-
3755
- self.label_89 = QLabel(self.frame_18)
3756
- self.label_89.setObjectName(u"label_89")
3757
- palette32 = QPalette()
3758
- palette32.setBrush(QPalette.Active, QPalette.WindowText, brush)
3759
- palette32.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
3760
- palette32.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3761
- self.label_89.setPalette(palette32)
3762
- self.label_89.setFont(font4)
3763
- self.label_89.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
3764
-
3765
- self.gridLayout_21.addWidget(self.label_89, 13, 1, 1, 2)
3766
-
3767
- self.node_distances_sigma_doubleSpinBox = QDoubleSpinBox(self.frame_18)
3768
- self.node_distances_sigma_doubleSpinBox.setObjectName(u"node_distances_sigma_doubleSpinBox")
3769
- self.node_distances_sigma_doubleSpinBox.setFont(font1)
3770
- self.node_distances_sigma_doubleSpinBox.setDecimals(6)
3771
- self.node_distances_sigma_doubleSpinBox.setSingleStep(0.010000000000000)
3772
- self.node_distances_sigma_doubleSpinBox.setValue(0.750000000000000)
3773
-
3774
- self.gridLayout_21.addWidget(self.node_distances_sigma_doubleSpinBox, 16, 2, 1, 1)
3775
-
3776
- self.label_121 = QLabel(self.frame_18)
3777
- self.label_121.setObjectName(u"label_121")
3778
- palette33 = QPalette()
3779
- palette33.setBrush(QPalette.Active, QPalette.WindowText, brush)
3780
- palette33.setBrush(QPalette.Inactive, QPalette.WindowText, brush)
3781
- palette33.setBrush(QPalette.Disabled, QPalette.WindowText, brush1)
3782
- self.label_121.setPalette(palette33)
3783
- self.label_121.setFont(font4)
3784
- self.label_121.setAlignment(Qt.AlignBottom|Qt.AlignLeading|Qt.AlignLeft)
3785
-
3786
- self.gridLayout_21.addWidget(self.label_121, 21, 1, 1, 2)
3787
-
3788
- self.node_distances_elements_spinBox = QSpinBox(self.frame_18)
3789
- self.node_distances_elements_spinBox.setObjectName(u"node_distances_elements_spinBox")
3790
- self.node_distances_elements_spinBox.setFont(font1)
3791
- self.node_distances_elements_spinBox.setMinimum(1)
3792
- self.node_distances_elements_spinBox.setMaximum(99999)
3793
- self.node_distances_elements_spinBox.setValue(2)
3794
-
3795
- self.gridLayout_21.addWidget(self.node_distances_elements_spinBox, 17, 2, 1, 1)
3796
-
3797
- self.label_61 = QLabel(self.frame_18)
3798
- self.label_61.setObjectName(u"label_61")
3799
- self.label_61.setFont(font1)
3800
-
3801
- self.gridLayout_21.addWidget(self.label_61, 17, 0, 1, 2)
3823
+ self.gridLayout_21.addWidget(self.plugins_investment_evaluation_method_ComboBox, 28, 2, 1, 1)
3802
3824
 
3803
3825
 
3804
3826
  self.horizontalLayout_6.addWidget(self.frame_18)
@@ -4400,7 +4422,7 @@ class Ui_mainWindow(object):
4400
4422
  mainWindow.setCentralWidget(self.centralwidget)
4401
4423
  self.menuBar = QMenuBar(mainWindow)
4402
4424
  self.menuBar.setObjectName(u"menuBar")
4403
- self.menuBar.setGeometry(QRect(0, 0, 1346, 20))
4425
+ self.menuBar.setGeometry(QRect(0, 0, 1346, 24))
4404
4426
  self.menuBar.setFont(font)
4405
4427
  self.menuProject = QMenu(self.menuBar)
4406
4428
  self.menuProject.setObjectName(u"menuProject")
@@ -5554,35 +5576,22 @@ class Ui_mainWindow(object):
5554
5576
  #if QT_CONFIG(tooltip)
5555
5577
  self.ml_tab.setToolTip(QCoreApplication.translate("mainWindow", u"Machine-learning related settings", None))
5556
5578
  #endif // QT_CONFIG(tooltip)
5557
- self.label_7.setText("")
5558
- self.label_120.setText("")
5559
- self.label_93.setText(QCoreApplication.translate("mainWindow", u"Clustering", None))
5560
- self.label_33.setText(QCoreApplication.translate("mainWindow", u"Number of clusters", None))
5561
- self.label_31.setText("")
5562
- #if QT_CONFIG(tooltip)
5563
- self.max_investments_evluation_number_spinBox.setToolTip(QCoreApplication.translate("mainWindow", u"Number of maximum evaluations for the optimization methods", None))
5564
- #endif // QT_CONFIG(tooltip)
5565
- self.max_investments_evluation_number_spinBox.setSuffix(QCoreApplication.translate("mainWindow", u" x number of investments", None))
5566
- self.label_38.setText(QCoreApplication.translate("mainWindow", u"Nodal distances", None))
5567
- self.label_3.setText(QCoreApplication.translate("mainWindow", u"Method", None))
5568
- #if QT_CONFIG(tooltip)
5569
- self.cluster_number_spinBox.setToolTip(QCoreApplication.translate("mainWindow", u"<html><head/><body><p>Number of clusters, this affects all the simulations that deal with clustering</p></body></html>", None))
5570
- #endif // QT_CONFIG(tooltip)
5571
- self.cluster_number_spinBox.setSuffix(QCoreApplication.translate("mainWindow", u" Clusters", None))
5572
- self.label_153.setText(QCoreApplication.translate("mainWindow", u"Objective function", None))
5573
- self.label_88.setText("")
5574
5579
  #if QT_CONFIG(tooltip)
5575
5580
  self.investment_evaluation_method_ComboBox.setToolTip(QCoreApplication.translate("mainWindow", u"Select the investment evaluation method", None))
5576
5581
  #endif // QT_CONFIG(tooltip)
5577
- self.label_44.setText("")
5578
- self.label_51.setText(QCoreApplication.translate("mainWindow", u"Maximum evaluations", None))
5579
5582
  self.label_94.setText("")
5583
+ self.label_61.setText(QCoreApplication.translate("mainWindow", u"Min. group size", None))
5584
+ self.label_121.setText(QCoreApplication.translate("mainWindow", u"Investment evaluation", None))
5580
5585
  self.label_89.setText(QCoreApplication.translate("mainWindow", u"Node grouping", None))
5586
+ self.label_33.setText(QCoreApplication.translate("mainWindow", u"Number of clusters", None))
5587
+ self.label_3.setText(QCoreApplication.translate("mainWindow", u"Method", None))
5588
+ self.label_44.setText("")
5589
+ self.label_31.setText("")
5581
5590
  #if QT_CONFIG(tooltip)
5582
5591
  self.node_distances_sigma_doubleSpinBox.setToolTip(QCoreApplication.translate("mainWindow", u"M\u00e1ximum standard deviation to determine the groups", None))
5583
5592
  #endif // QT_CONFIG(tooltip)
5584
5593
  self.node_distances_sigma_doubleSpinBox.setSuffix(QCoreApplication.translate("mainWindow", u" \u03c3", None))
5585
- self.label_121.setText(QCoreApplication.translate("mainWindow", u"Investment evaluation", None))
5594
+ self.label_93.setText(QCoreApplication.translate("mainWindow", u"Clustering", None))
5586
5595
  #if QT_CONFIG(tooltip)
5587
5596
  self.node_distances_elements_spinBox.setToolTip(QCoreApplication.translate("mainWindow", u"Minimum size of the group", None))
5588
5597
  #endif // QT_CONFIG(tooltip)
@@ -5590,7 +5599,23 @@ class Ui_mainWindow(object):
5590
5599
  self.node_distances_elements_spinBox.setStatusTip("")
5591
5600
  #endif // QT_CONFIG(statustip)
5592
5601
  self.node_distances_elements_spinBox.setSuffix(QCoreApplication.translate("mainWindow", u" elements", None))
5593
- self.label_61.setText(QCoreApplication.translate("mainWindow", u"Min. group size", None))
5602
+ self.label_38.setText(QCoreApplication.translate("mainWindow", u"Nodal distances", None))
5603
+ self.label_7.setText("")
5604
+ #if QT_CONFIG(tooltip)
5605
+ self.cluster_number_spinBox.setToolTip(QCoreApplication.translate("mainWindow", u"<html><head/><body><p>Number of clusters, this affects all the simulations that deal with clustering</p></body></html>", None))
5606
+ #endif // QT_CONFIG(tooltip)
5607
+ self.cluster_number_spinBox.setSuffix(QCoreApplication.translate("mainWindow", u" Clusters", None))
5608
+ self.label_51.setText(QCoreApplication.translate("mainWindow", u"Maximum evaluations", None))
5609
+ self.internal_investment_methods_radioButton.setText(QCoreApplication.translate("mainWindow", u"Internal method", None))
5610
+ self.label_153.setText(QCoreApplication.translate("mainWindow", u"Objective function", None))
5611
+ self.label_120.setText("")
5612
+ #if QT_CONFIG(tooltip)
5613
+ self.max_investments_evluation_number_spinBox.setToolTip(QCoreApplication.translate("mainWindow", u"Number of maximum evaluations for the optimization methods", None))
5614
+ #endif // QT_CONFIG(tooltip)
5615
+ self.max_investments_evluation_number_spinBox.setSuffix(QCoreApplication.translate("mainWindow", u" x number of investments", None))
5616
+ self.label_88.setText("")
5617
+ self.plugins_investment_methods_radioButton.setText(QCoreApplication.translate("mainWindow", u"Plugin method", None))
5618
+ self.label_83.setText(QCoreApplication.translate("mainWindow", u"Plugin", None))
5594
5619
  self.label_55.setText(QCoreApplication.translate("mainWindow", u"Method", None))
5595
5620
  self.label_78.setText("")
5596
5621
  self.label_79.setText(QCoreApplication.translate("mainWindow", u"Cascading", None))
@@ -25,6 +25,7 @@ from GridCal.Gui.Main.SubClasses.Results.results import ResultsMain
25
25
  from GridCal.Gui.Diagrams.SchematicWidget.schematic_widget import SchematicWidget
26
26
  from GridCal.Gui.Diagrams.generic_graphics import set_dark_mode, set_light_mode
27
27
  from GridCal.Gui.plugins import PluginsInfo
28
+ import GridCal.Gui.GuiFunctions as gf
28
29
  from GridCal.Gui.GuiFunctions import add_menu_entry
29
30
 
30
31
 
@@ -448,15 +449,27 @@ class ConfigurationMain(ResultsMain):
448
449
 
449
450
  self.plugins_info.read() # force refresh
450
451
 
451
- for plugin_info in self.plugins_info.plugins:
452
+ self.plugins_investment_evaluation_method_dict = dict()
452
453
 
453
- if plugin_info.function_ptr is not None:
454
+ # for every plugin...
455
+ for key, plugin_info in self.plugins_info.plugins.items():
456
+
457
+ # maybe add the main function
458
+ if plugin_info.main_fcn.function_ptr is not None:
454
459
 
455
460
  add_menu_entry(menu=self.ui.menuplugins,
456
461
  text=plugin_info.name,
457
462
  icon_path=":/Icons/icons/plugin.svg",
458
463
  icon_pixmap=plugin_info.icon,
459
- function_ptr=lambda: plugin_info.function_ptr(self))
464
+ function_ptr=lambda: plugin_info.main_fcn.function_ptr(self))
460
465
 
461
466
  else:
462
467
  print(f"{plugin_info.name} has no function_ptr, see trace for errors :/")
468
+
469
+ # maybe add the investments function
470
+ if plugin_info.investments_fcn.function_ptr is not None:
471
+ self.plugins_investment_evaluation_method_dict[plugin_info.investments_fcn.name] = plugin_info.investments_fcn.function_ptr
472
+
473
+ # create combobox model for the plugin investments
474
+ lst = list(self.plugins_investment_evaluation_method_dict.keys())
475
+ self.ui.plugins_investment_evaluation_method_ComboBox.setModel(gf.get_list_model(lst))
@@ -171,6 +171,7 @@ class SimulationsMain(TimeEventsMain):
171
171
  InvestmentEvaluationMethod.MixedVariableGA,
172
172
  ]
173
173
  self.investment_evaluation_method_dict = OrderedDict()
174
+ self.plugins_investment_evaluation_method_dict = OrderedDict()
174
175
  lst = list()
175
176
  for method in investment_methods:
176
177
  self.investment_evaluation_method_dict[method.value] = method
@@ -2442,23 +2443,38 @@ class SimulationsMain(TimeEventsMain):
2442
2443
 
2443
2444
  if not self.session.is_this_running(SimulationTypes.InvestmentsEvaluation_run):
2444
2445
 
2445
- # evaluation method
2446
- method = self.investment_evaluation_method_dict[
2447
- self.ui.investment_evaluation_method_ComboBox.currentText()
2448
- ]
2446
+ if self.ui.internal_investment_methods_radioButton.isChecked():
2447
+ # evaluation method
2448
+ method = self.investment_evaluation_method_dict[
2449
+ self.ui.investment_evaluation_method_ComboBox.currentText()
2450
+ ]
2449
2451
 
2450
- # maximum number of function evalñuations as a factor of the number of investments
2452
+ obj_fn_tpe = self.investment_evaluation_objfunc_dict[
2453
+ self.ui.investment_evaluation_objfunc_ComboBox.currentText()
2454
+ ]
2455
+
2456
+ fn_ptr = None
2457
+
2458
+ elif self.ui.plugins_investment_methods_radioButton.isChecked():
2459
+
2460
+ method = InvestmentEvaluationMethod.FromPlugin
2461
+ obj_fn_tpe = InvestmentsEvaluationObjectives.FromPlugin
2462
+ fn_ptr = self.plugins_investment_evaluation_method_dict[
2463
+ self.ui.plugins_investment_evaluation_method_ComboBox.currentText()
2464
+ ]
2465
+ else:
2466
+ raise Exception("Unrecognized investment simulation mode")
2467
+
2468
+ # maximum number of function evaluations as a factor of the number of investments
2451
2469
  max_eval = self.ui.max_investments_evluation_number_spinBox.value() * len(
2452
2470
  self.circuit.investments_groups)
2453
2471
 
2454
- objf_tpe = self.investment_evaluation_objfunc_dict[
2455
- self.ui.investment_evaluation_objfunc_ComboBox.currentText()
2456
- ]
2457
-
2472
+ # compose the options
2458
2473
  options = sim.InvestmentsEvaluationOptions(solver=method,
2459
2474
  max_eval=max_eval,
2460
2475
  pf_options=self.get_selected_power_flow_options(),
2461
- objf_tpe=objf_tpe
2476
+ objf_tpe=obj_fn_tpe,
2477
+ plugin_fcn_ptr=fn_ptr
2462
2478
  )
2463
2479
 
2464
2480
  opf_time_series_results = self.get_opf_ts_results(
@@ -3,7 +3,7 @@
3
3
  ################################################################################
4
4
  ## Form generated from reading UI file 'excel_sheet_selection.ui'
5
5
  ##
6
- ## Created by: Qt User Interface Compiler version 6.6.2
6
+ ## Created by: Qt User Interface Compiler version 6.7.2
7
7
  ##
8
8
  ## WARNING! All changes made in this file will be lost when recompiling UI file!
9
9
  ################################################################################
@@ -44,7 +44,6 @@ class Ui_ExcelSelectionDialog(object):
44
44
 
45
45
  self.retranslateUi(ExcelSelectionDialog)
46
46
  self.buttonBox.accepted.connect(ExcelSelectionDialog.accept)
47
- self.butonBox.accepted.connect(ExcelSelectionDialog.accept)
48
47
  self.buttonBox.rejected.connect(ExcelSelectionDialog.reject)
49
48
 
50
49
  QMetaObject.connectSlotsByName(ExcelSelectionDialog)