GridCal 5.1.1__tar.gz → 5.1.3__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.
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/dc_line_graphics.py +15 -8
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/hvdc_graphics.py +15 -7
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/line_editor.py +1 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/line_graphics.py +14 -7
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/line_graphics_template.py +116 -31
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/series_reactance_graphics.py +8 -6
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/switch_graphics.py +14 -7
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/transformer2w_graphics.py +17 -8
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/transformer3w_graphics.py +9 -13
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/upfc_graphics.py +12 -5
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/vsc_graphics.py +15 -6
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/winding_graphics.py +13 -6
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_node_graphics.py +31 -52
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_p2x_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_path_graphics.py +7 -7
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_pump_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_turbine_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/battery_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/controllable_shunt_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/current_injection_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/external_grid_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/generator_graphics.py +5 -5
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/injections_template_graphics.py +3 -3
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/load_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/shunt_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/static_generator_graphics.py +4 -4
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Substation/bus_graphics.py +53 -49
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Substation/busbar_graphics.py +20 -20
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Substation/cn_graphics.py +39 -306
- GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget/bus_branch_editor_widget.py → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget/diagram_editor_widget.py +312 -151
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/generic_graphics.py +19 -17
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/terminal_item.py +184 -18
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/grid_map_widget.py +7 -2
- GridCal-5.1.3/GridCal/Gui/Diagrams/diagrams_model.py +83 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/graphics_manager.py +21 -15
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/GuiFunctions.py +106 -96
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/ConsoleLog.py +1 -1
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/MainWindow.py +717 -660
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +138 -147
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Model/objects.py +22 -2
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +98 -30
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/base_gui.py +3 -1
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/io.py +36 -28
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/simulations.py +3 -3
- GridCal-5.1.3/GridCal/Gui/Main/icons_rc.py +28802 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Session/file_handler.py +30 -21
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/__version__.py +1 -1
- GridCal-5.1.3/GridCal/data/sequence_lines.csv +4 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/PKG-INFO +1 -1
- GridCal-5.1.1/GridCal/Gui/Diagrams/BusViewer/bus_viewer_dialogue.py +0 -307
- GridCal-5.1.1/GridCal/Gui/Diagrams/BusViewer/gui.py +0 -140
- GridCal-5.1.1/GridCal/Gui/Diagrams/BusViewer/icons_rc.py +0 -828
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/Rectangle_Connector.py +0 -428
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/dc_line_graphics.py +0 -352
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/hvdc_graphics.py +0 -116
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/line_editor.py +0 -253
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/line_graphics.py +0 -371
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/line_graphics_template.py +0 -920
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/switch_graphics.py +0 -108
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/transformer2w_graphics.py +0 -242
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/transformer_editor.py +0 -306
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/upfc_graphics.py +0 -111
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/vsc_graphics.py +0 -123
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches/winding_graphics.py +0 -128
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Connector.py +0 -182
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Fluid/fluid_node_graphics.py +0 -439
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Fluid/fluid_p2x_graphics.py +0 -206
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Fluid/fluid_path_graphics.py +0 -273
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Fluid/fluid_pump_graphics.py +0 -206
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Fluid/fluid_turbine_graphics.py +0 -216
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections/battery_graphics.py +0 -193
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections/external_grid_graphics.py +0 -205
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections/generator_graphics.py +0 -566
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections/injections_template_graphics.py +0 -173
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections/load_graphics.py +0 -183
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections/shunt_graphics.py +0 -215
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections/static_generator_graphics.py +0 -203
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Substation/bus_graphics.py +0 -779
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/generic_graphics.py +0 -108
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/matplotlibwidget.py +0 -252
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/node_breaker_editor_widget.py +0 -1337
- GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/terminal_item.py +0 -181
- GridCal-5.1.1/GridCal/Gui/Main/icons_rc.py +0 -29025
- GridCal-5.1.1/GridCal/Gui/Visualization/__init__.py +0 -0
- GridCal-5.1.1/GridCal/Gui/Widgets/__init__.py +0 -0
- GridCal-5.1.1/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
- GridCal-5.1.1/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -9
- GridCal-5.1.1/GridCal/Gui/__init__.py +0 -0
- GridCal-5.1.1/GridCal/Session/__init__.py +0 -0
- GridCal-5.1.1/GridCal/data/__init__.py +0 -0
- GridCal-5.1.1/GridCal/data/sequence_lines.csv +0 -4
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/ExecuteGridCal.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/AboutDialogue/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Analysis/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Analysis/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CascadingSteps/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CascadingSteps/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ConsoleWidget.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ContingencyPlanner/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ContingencyPlanner/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CoordinatesInput/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/CoordinatesInput/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/transformer_editor.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/Substation/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusBranchEditorWidget → GridCal-5.1.3/GridCal/Gui/Diagrams/DiagramEditorWidget}/matplotlibwidget.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusViewer → GridCal-5.1.3/GridCal/Gui/Diagrams/MapWidget/Layers}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Layers/image_layer.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Layers/layer_types.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Layers/place.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Layers/point_layer.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Layers/polygon_layer.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Layers/polyline_layer.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Layers/text_layer.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Schema/Connector.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Schema/Nodes.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Schema/SchemaManager.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/MapWidget/Layers → GridCal-5.1.3/GridCal/Gui/Diagrams/MapWidget/Schema}/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/MapWidget/Schema → GridCal-5.1.3/GridCal/Gui/Diagrams/MapWidget/TileProviders}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/blue_marble.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/cartodb.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/gmt_local.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapbox.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/mapquest.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/open_street_map.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_toner.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_transport.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/TileProviders/stamen_watercolor.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/MapWidget/TileProviders → GridCal-5.1.3/GridCal/Gui/Diagrams/MapWidget/Tiles}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Tiles/base_tiles.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Tiles/default_tile_data.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Tiles/pycacheback.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Tiles/tile_worker.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/Tiles/tiles_cache.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/MapWidget/Tiles → GridCal-5.1.3/GridCal/Gui/Diagrams/MapWidget}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/logger.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/map_events.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/map_widget.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Diagrams/MapWidget/node_widget.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/MapWidget → GridCal-5.1.3/GridCal/Gui/Diagrams}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/GeneralDialogues.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Branches → GridCal-5.1.3/GridCal/Gui/GridGenerator}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/GridGenerator/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/BusViewer → GridCal-5.1.3/GridCal/Gui/GridGenerator}/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Fluid → GridCal-5.1.3/GridCal/Gui/LoadDesigner}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/GridCalMain.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Injections → GridCal-5.1.3/GridCal/Gui/Main/SubClasses/Model}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Model/time_events.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget/Substation → GridCal-5.1.3/GridCal/Gui/Main/SubClasses/Results}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Results/results.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams/NodeBreakerEditorWidget → GridCal-5.1.3/GridCal/Gui/Main/SubClasses/Scripting}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Diagrams → GridCal-5.1.3/GridCal/Gui/Main/SubClasses/Settings}/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/GridGenerator → GridCal-5.1.3/GridCal/Gui/Main/SubClasses}/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/LoadDesigner → GridCal-5.1.3/GridCal/Gui/Main}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/object_select_window.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Main/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Main/SubClasses/Model → GridCal-5.1.3/GridCal/Gui/ProfilesInput}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Main/SubClasses/Results → GridCal-5.1.3/GridCal/Gui/RosetaExplorer}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Main/SubClasses/Scripting → GridCal-5.1.3/GridCal/Gui/SigmaAnalysis}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/GridGenerator → GridCal-5.1.3/GridCal/Gui/SigmaAnalysis}/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Main/SubClasses/Settings → GridCal-5.1.3/GridCal/Gui/SolarPowerWizard}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/SigmaAnalysis → GridCal-5.1.3/GridCal/Gui/SolarPowerWizard}/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Main/SubClasses → GridCal-5.1.3/GridCal/Gui/SyncDialogue}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SyncDialogue/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/Main → GridCal-5.1.3/GridCal/Gui/SystemScaler}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/ProfilesInput → GridCal-5.1.3/GridCal/Gui/TowerBuilder}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TowerBuilder/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TowerBuilder/test_.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/RosetaExplorer → GridCal-5.1.3/GridCal/Gui/TreeModelViewer}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/SigmaAnalysis → GridCal-5.1.3/GridCal/Gui/Visualization}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Visualization/palettes.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Visualization/visualization.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/SolarPowerWizard → GridCal-5.1.3/GridCal/Gui/Widgets}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/SyncDialogue → GridCal-5.1.3/GridCal/Gui/WindPowerWizard}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/SolarPowerWizard → GridCal-5.1.3/GridCal/Gui/WindPowerWizard}/update_gui_file.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/SystemScaler → GridCal-5.1.3/GridCal/Gui}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/messages.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/plot_config.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/themes.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/update_gui_all.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Gui/update_gui_common.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/LICENSE.txt +0 -0
- {GridCal-5.1.1/GridCal/Gui/TowerBuilder → GridCal-5.1.3/GridCal/Session}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Session/export_results_driver.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Session/results_model.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Session/session.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/Session/synchronization_driver.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/__init__.py +0 -0
- {GridCal-5.1.1/GridCal/Gui/TreeModelViewer → GridCal-5.1.3/GridCal/data}/__init__.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/data/cables.csv +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/data/transformers.csv +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/data/wires.csv +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/templates.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/GridCal/update.py +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/setup.cfg +0 -0
- {GridCal-5.1.1 → GridCal-5.1.3}/setup.py +0 -0
@@ -15,20 +15,20 @@
|
|
15
15
|
# along with this program; if not, write to the Free Software Foundation,
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
from __future__ import annotations
|
18
|
-
from typing import TYPE_CHECKING
|
18
|
+
from typing import TYPE_CHECKING, Union
|
19
19
|
import numpy as np
|
20
20
|
from PySide6.QtCore import Qt
|
21
21
|
from PySide6.QtGui import QIcon, QPixmap
|
22
22
|
from PySide6.QtWidgets import QMenu, QLabel, QDoubleSpinBox, QPushButton, QVBoxLayout, QComboBox, QDialog, QGraphicsScene
|
23
|
-
from GridCal.Gui.GuiFunctions import get_list_model
|
24
|
-
from GridCal.Gui.Diagrams.
|
23
|
+
from GridCal.Gui.GuiFunctions import get_list_model, add_menu_entry
|
24
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
25
25
|
from GridCalEngine.Devices.Branches.line import SequenceLineType, OverheadLineType, UndergroundLineType
|
26
26
|
from GridCalEngine.Devices.Branches.dc_line import DcLine
|
27
27
|
from GridCalEngine.enumerations import DeviceType
|
28
|
-
from GridCal.Gui.Diagrams.
|
28
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
29
29
|
|
30
30
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
31
|
-
from GridCal.Gui.Diagrams.
|
31
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
32
32
|
|
33
33
|
|
34
34
|
class DcLineEditor(QDialog):
|
@@ -230,9 +230,9 @@ class DcLineEditor(QDialog):
|
|
230
230
|
class DcLineGraphicItem(LineGraphicTemplateItem):
|
231
231
|
|
232
232
|
def __init__(self,
|
233
|
-
from_port:
|
234
|
-
to_port:
|
235
|
-
editor:
|
233
|
+
from_port: Union[BarTerminalItem, RoundTerminalItem],
|
234
|
+
to_port: Union[BarTerminalItem, RoundTerminalItem],
|
235
|
+
editor: DiagramEditorWidget,
|
236
236
|
width=5, api_object: DcLine = None):
|
237
237
|
"""
|
238
238
|
|
@@ -264,6 +264,13 @@ class DcLineGraphicItem(LineGraphicTemplateItem):
|
|
264
264
|
pe.setChecked(self.api_object.active)
|
265
265
|
pe.triggered.connect(self.enable_disable_toggle)
|
266
266
|
|
267
|
+
add_menu_entry(menu=menu,
|
268
|
+
text="Draw labels",
|
269
|
+
icon_path="",
|
270
|
+
function_ptr=self.enable_disable_label_drawing,
|
271
|
+
checkeable=True,
|
272
|
+
checked_value=self.draw_labels)
|
273
|
+
|
267
274
|
ra3 = menu.addAction('Editor')
|
268
275
|
edit_icon = QIcon()
|
269
276
|
edit_icon.addPixmap(QPixmap(":/Icons/icons/edit.svg"))
|
@@ -15,23 +15,24 @@
|
|
15
15
|
# along with this program; if not, write to the Free Software Foundation,
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
from __future__ import annotations
|
18
|
-
from typing import TYPE_CHECKING
|
18
|
+
from typing import TYPE_CHECKING, Union
|
19
19
|
from PySide6.QtGui import QIcon, QPixmap
|
20
20
|
from PySide6.QtWidgets import QMenu
|
21
|
-
from GridCal.Gui.
|
21
|
+
from GridCal.Gui.GuiFunctions import add_menu_entry
|
22
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
23
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
22
24
|
from GridCalEngine.Devices.Branches.hvdc_line import HvdcLine
|
23
|
-
from GridCal.Gui.Diagrams.BusBranchEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
24
25
|
|
25
26
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
26
|
-
from GridCal.Gui.Diagrams.
|
27
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
27
28
|
|
28
29
|
|
29
30
|
class HvdcGraphicItem(LineGraphicTemplateItem):
|
30
31
|
|
31
32
|
def __init__(self,
|
32
|
-
from_port:
|
33
|
-
to_port:
|
34
|
-
editor:
|
33
|
+
from_port: Union[BarTerminalItem, RoundTerminalItem],
|
34
|
+
to_port: Union[BarTerminalItem, RoundTerminalItem],
|
35
|
+
editor: DiagramEditorWidget,
|
35
36
|
width=5,
|
36
37
|
api_object: HvdcLine = None):
|
37
38
|
"""
|
@@ -64,6 +65,13 @@ class HvdcGraphicItem(LineGraphicTemplateItem):
|
|
64
65
|
pe.setChecked(self.api_object.active)
|
65
66
|
pe.triggered.connect(self.enable_disable_toggle)
|
66
67
|
|
68
|
+
add_menu_entry(menu=menu,
|
69
|
+
text="Draw labels",
|
70
|
+
icon_path="",
|
71
|
+
function_ptr=self.enable_disable_label_drawing,
|
72
|
+
checkeable=True,
|
73
|
+
checked_value=self.draw_labels)
|
74
|
+
|
67
75
|
# pe2 = menu.addAction('Convert to Multi-terminal')
|
68
76
|
# pe2.triggered.connect(self.convert_to_multi_terminal)
|
69
77
|
|
@@ -19,15 +19,16 @@ from typing import TYPE_CHECKING, Union
|
|
19
19
|
from PySide6.QtCore import Qt, QRectF
|
20
20
|
from PySide6.QtGui import QPen, QIcon, QPixmap, QBrush
|
21
21
|
from PySide6.QtWidgets import QMenu, QGraphicsRectItem, QGraphicsSceneContextMenuEvent
|
22
|
-
from GridCal.Gui.
|
23
|
-
from GridCal.Gui.Diagrams.
|
22
|
+
from GridCal.Gui.GuiFunctions import add_menu_entry
|
23
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
24
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_editor import LineEditor
|
24
25
|
from GridCal.Gui.messages import yes_no_question, warning_msg
|
25
|
-
from GridCal.Gui.Diagrams.
|
26
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
26
27
|
from GridCalEngine.Devices.Branches.line import Line, SequenceLineType
|
27
28
|
from GridCalEngine.enumerations import DeviceType
|
28
29
|
|
29
30
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
30
|
-
from GridCal.Gui.Diagrams.
|
31
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
31
32
|
|
32
33
|
|
33
34
|
class LineGraphicItem(LineGraphicTemplateItem):
|
@@ -36,9 +37,9 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
36
37
|
"""
|
37
38
|
|
38
39
|
def __init__(self,
|
39
|
-
from_port:
|
40
|
-
to_port: Union[
|
41
|
-
editor:
|
40
|
+
from_port: Union[BarTerminalItem, RoundTerminalItem],
|
41
|
+
to_port: Union[BarTerminalItem, RoundTerminalItem, None],
|
42
|
+
editor: DiagramEditorWidget,
|
42
43
|
width=5,
|
43
44
|
api_object: Line = None):
|
44
45
|
"""
|
@@ -123,6 +124,12 @@ class LineGraphicItem(LineGraphicTemplateItem):
|
|
123
124
|
pe.setChecked(self.api_object.active)
|
124
125
|
pe.triggered.connect(self.enable_disable_toggle)
|
125
126
|
|
127
|
+
add_menu_entry(menu=menu,
|
128
|
+
text="Draw labels",
|
129
|
+
function_ptr=self.enable_disable_label_drawing,
|
130
|
+
checkeable=True,
|
131
|
+
checked_value=self.draw_labels)
|
132
|
+
|
126
133
|
ra3 = menu.addAction('Editor')
|
127
134
|
edit_icon = QIcon()
|
128
135
|
edit_icon.addPixmap(QPixmap(":/Icons/icons/edit.svg"))
|
@@ -22,10 +22,12 @@ from PySide6.QtCore import Qt, QLineF, QPointF, QRectF
|
|
22
22
|
from PySide6.QtGui import QPen, QCursor, QPixmap, QBrush, QColor, QTransform, QPolygonF
|
23
23
|
from PySide6.QtWidgets import (QGraphicsLineItem, QGraphicsRectItem, QGraphicsPolygonItem,
|
24
24
|
QGraphicsEllipseItem, QGraphicsSceneMouseEvent, QGraphicsTextItem)
|
25
|
-
from GridCal.Gui.Diagrams.
|
26
|
-
from GridCal.Gui.Diagrams.
|
27
|
-
from GridCal.Gui.Diagrams.
|
28
|
-
from GridCal.Gui.Diagrams.
|
25
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.generic_graphics import ACTIVE, DEACTIVATED, OTHER, GenericDBWidget
|
26
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
27
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Substation.bus_graphics import BusGraphicItem
|
28
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Substation.cn_graphics import CnGraphicItem
|
29
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Substation.busbar_graphics import BusBarGraphicItem
|
30
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Fluid.fluid_node_graphics import FluidNodeGraphicItem
|
29
31
|
from GridCal.Gui.messages import yes_no_question
|
30
32
|
|
31
33
|
from GridCalEngine.Devices.Substation.bus import Bus
|
@@ -41,8 +43,8 @@ from GridCalEngine.Devices.Fluid.fluid_node import FluidNode
|
|
41
43
|
from GridCalEngine.Devices.Fluid.fluid_path import FluidPath
|
42
44
|
|
43
45
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
44
|
-
from GridCal.Gui.Diagrams.
|
45
|
-
from GridCal.Gui.Diagrams.
|
46
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
47
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.transformer3w_graphics import Transformer3WGraphicItem
|
46
48
|
|
47
49
|
|
48
50
|
class ArrowHead(QGraphicsPolygonItem):
|
@@ -99,7 +101,8 @@ class ArrowHead(QGraphicsPolygonItem):
|
|
99
101
|
self.setBrush(color)
|
100
102
|
self.label.setDefaultTextColor(color)
|
101
103
|
|
102
|
-
def set_value(self, value: float, redraw=True, backwards=False, name="", units="", format_str="{:10.2f}"
|
104
|
+
def set_value(self, value: float, redraw=True, backwards=False, name="", units="", format_str="{:10.2f}",
|
105
|
+
draw_label: bool = True):
|
103
106
|
"""
|
104
107
|
Set the sign with a value
|
105
108
|
:param value: any real value
|
@@ -108,13 +111,17 @@ class ArrowHead(QGraphicsPolygonItem):
|
|
108
111
|
:param name: name of the displayed magnitude (i.e. Pf)
|
109
112
|
:param units: the units of the displayed magnitude (i.e MW)
|
110
113
|
:param format_str: the formatting string of the displayed magnitude
|
114
|
+
:param draw_label: Draw label
|
111
115
|
"""
|
112
116
|
# self.backwards = value < 0
|
113
117
|
self.backwards = backwards
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
+
|
119
|
+
self.label.setVisible(draw_label)
|
120
|
+
if draw_label:
|
121
|
+
x = format_str.format(value)
|
122
|
+
msg = f'{name}:{x} {units}'
|
123
|
+
self.label.setPlainText(msg)
|
124
|
+
self.setToolTip(msg)
|
118
125
|
|
119
126
|
if redraw:
|
120
127
|
self.redraw()
|
@@ -216,6 +223,10 @@ class TransformerSymbol(QGraphicsRectItem):
|
|
216
223
|
self.c2.setToolTip(toolTip)
|
217
224
|
|
218
225
|
def redraw(self):
|
226
|
+
"""
|
227
|
+
|
228
|
+
:return:
|
229
|
+
"""
|
219
230
|
h = self.parent.pos2.y() - self.parent.pos1.y()
|
220
231
|
b = self.parent.pos2.x() - self.parent.pos1.x()
|
221
232
|
ang = np.arctan2(h, b)
|
@@ -282,6 +293,10 @@ class VscSymbol(QGraphicsRectItem):
|
|
282
293
|
self.setToolTip(toolTip)
|
283
294
|
|
284
295
|
def redraw(self):
|
296
|
+
"""
|
297
|
+
|
298
|
+
:return:
|
299
|
+
"""
|
285
300
|
h = self.parent.pos2.y() - self.parent.pos1.y()
|
286
301
|
b = self.parent.pos2.x() - self.parent.pos1.x()
|
287
302
|
ang = np.arctan2(h, b)
|
@@ -404,9 +419,9 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
404
419
|
"""
|
405
420
|
|
406
421
|
def __init__(self,
|
407
|
-
from_port:
|
408
|
-
to_port: Union[
|
409
|
-
editor:
|
422
|
+
from_port: Union[BarTerminalItem, RoundTerminalItem],
|
423
|
+
to_port: Union[BarTerminalItem, RoundTerminalItem, None],
|
424
|
+
editor: DiagramEditorWidget,
|
410
425
|
width=5,
|
411
426
|
api_object: Union[Line, Transformer2W, VSC, UPFC, HvdcLine, DcLine, FluidPath, None] = None,
|
412
427
|
arrow_size=10):
|
@@ -450,8 +465,8 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
450
465
|
self.pos1: QPointF = QPointF(0.0, 0.0)
|
451
466
|
self.pos2: QPointF = QPointF(0.0, 0.0)
|
452
467
|
|
453
|
-
self._from_port: Union[
|
454
|
-
self._to_port: Union[
|
468
|
+
self._from_port: Union[BarTerminalItem, RoundTerminalItem, None] = None
|
469
|
+
self._to_port: Union[BarTerminalItem, RoundTerminalItem, None] = None
|
455
470
|
|
456
471
|
# arrows
|
457
472
|
self.view_arrows = True
|
@@ -471,14 +486,14 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
471
486
|
|
472
487
|
self.set_colour(self.color, self.width, self.style)
|
473
488
|
|
474
|
-
def get_terminal_from(self) -> Union[None,
|
489
|
+
def get_terminal_from(self) -> Union[None, BarTerminalItem, RoundTerminalItem]:
|
475
490
|
"""
|
476
491
|
Get the terminal from
|
477
492
|
:return: TerminalItem
|
478
493
|
"""
|
479
494
|
return self._from_port
|
480
495
|
|
481
|
-
def get_terminal_to(self) -> Union[None,
|
496
|
+
def get_terminal_to(self) -> Union[None, BarTerminalItem, RoundTerminalItem]:
|
482
497
|
"""
|
483
498
|
Get the terminal to
|
484
499
|
:return: TerminalItem
|
@@ -634,7 +649,7 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
634
649
|
i = self.editor.circuit.get_branches().index(self.api_object)
|
635
650
|
self.editor.plot_branch(i, self.api_object)
|
636
651
|
|
637
|
-
def set_from_port(self, from_port:
|
652
|
+
def set_from_port(self, from_port: BarTerminalItem):
|
638
653
|
"""
|
639
654
|
Set the From terminal in a connection
|
640
655
|
@param from_port: TerminalItem
|
@@ -650,7 +665,7 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
650
665
|
self._from_port.update()
|
651
666
|
self._from_port.get_parent().setZValue(0)
|
652
667
|
|
653
|
-
def set_to_port(self, to_port:
|
668
|
+
def set_to_port(self, to_port: BarTerminalItem):
|
654
669
|
"""
|
655
670
|
Set the To terminal in a connection
|
656
671
|
@param to_port: TerminalItem
|
@@ -770,11 +785,11 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
770
785
|
Pf = Sf.real
|
771
786
|
Qf = Sf.imag
|
772
787
|
Pt = St.real
|
773
|
-
|
774
|
-
self.arrow_from_1.set_value(Pf, True, Pf < 0, name="Pf", units="MW")
|
775
|
-
self.arrow_from_2.set_value(Qf, True, Qf < 0, name="Qf", units="MVAr")
|
776
|
-
self.arrow_to_1.set_value(Pt, True, Pt > 0, name="Pt", units="MW")
|
777
|
-
self.arrow_to_2.set_value(
|
788
|
+
Qt_ = St.imag
|
789
|
+
self.arrow_from_1.set_value(Pf, True, Pf < 0, name="Pf", units="MW", draw_label=self.draw_labels)
|
790
|
+
self.arrow_from_2.set_value(Qf, True, Qf < 0, name="Qf", units="MVAr", draw_label=self.draw_labels)
|
791
|
+
self.arrow_to_1.set_value(Pt, True, Pt > 0, name="Pt", units="MW", draw_label=self.draw_labels)
|
792
|
+
self.arrow_to_2.set_value(Qt_, True, Qt_ > 0, name="Qt", units="MVAr", draw_label=self.draw_labels)
|
778
793
|
|
779
794
|
def set_arrows_with_hvdc_power(self, Pf: float, Pt: float) -> None:
|
780
795
|
"""
|
@@ -782,10 +797,10 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
782
797
|
:param Pf: Complex power from
|
783
798
|
:param Pt: Complex power to
|
784
799
|
"""
|
785
|
-
self.arrow_from_1.set_value(Pf, True, Pf < 0, name="Pf", units="MW")
|
786
|
-
self.arrow_from_2.set_value(Pf, True, Pf < 0, name="Pf", units="MW")
|
787
|
-
self.arrow_to_1.set_value(Pt, True, Pt > 0, name="Pt", units="MW")
|
788
|
-
self.arrow_to_2.set_value(Pt, True, Pt > 0, name="Pt", units="MW")
|
800
|
+
self.arrow_from_1.set_value(Pf, True, Pf < 0, name="Pf", units="MW", draw_label=self.draw_labels)
|
801
|
+
self.arrow_from_2.set_value(Pf, True, Pf < 0, name="Pf", units="MW", draw_label=self.draw_labels)
|
802
|
+
self.arrow_to_1.set_value(Pt, True, Pt > 0, name="Pt", units="MW", draw_label=self.draw_labels)
|
803
|
+
self.arrow_to_2.set_value(Pt, True, Pt > 0, name="Pt", units="MW", draw_label=self.draw_labels)
|
789
804
|
|
790
805
|
def change_bus(self):
|
791
806
|
"""
|
@@ -833,6 +848,46 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
833
848
|
else:
|
834
849
|
return False
|
835
850
|
|
851
|
+
def is_from_port_a_cn(self) -> bool:
|
852
|
+
"""
|
853
|
+
|
854
|
+
:return:
|
855
|
+
"""
|
856
|
+
if self._from_port:
|
857
|
+
return isinstance(self.get_terminal_from_parent(), CnGraphicItem)
|
858
|
+
else:
|
859
|
+
return False
|
860
|
+
|
861
|
+
def is_to_port_a_cn(self) -> bool:
|
862
|
+
"""
|
863
|
+
|
864
|
+
:return:
|
865
|
+
"""
|
866
|
+
if self._to_port:
|
867
|
+
return isinstance(self.get_terminal_to_parent(), CnGraphicItem)
|
868
|
+
else:
|
869
|
+
return False
|
870
|
+
|
871
|
+
def is_from_port_a_busbar(self) -> bool:
|
872
|
+
"""
|
873
|
+
|
874
|
+
:return:
|
875
|
+
"""
|
876
|
+
if self._from_port:
|
877
|
+
return isinstance(self.get_terminal_from_parent(), BusBarGraphicItem)
|
878
|
+
else:
|
879
|
+
return False
|
880
|
+
|
881
|
+
def is_to_port_a_busbar(self) -> bool:
|
882
|
+
"""
|
883
|
+
|
884
|
+
:return:
|
885
|
+
"""
|
886
|
+
if self._to_port:
|
887
|
+
return isinstance(self.get_terminal_to_parent(), BusBarGraphicItem)
|
888
|
+
else:
|
889
|
+
return False
|
890
|
+
|
836
891
|
def is_from_port_a_tr3(self) -> bool:
|
837
892
|
"""
|
838
893
|
|
@@ -840,7 +895,8 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
840
895
|
"""
|
841
896
|
if self._from_port:
|
842
897
|
if 'Transformer3WGraphicItem' not in sys.modules:
|
843
|
-
from GridCal.Gui.Diagrams.
|
898
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.transformer3w_graphics import \
|
899
|
+
Transformer3WGraphicItem
|
844
900
|
return isinstance(self.get_terminal_from_parent(), Transformer3WGraphicItem)
|
845
901
|
else:
|
846
902
|
return False
|
@@ -852,7 +908,8 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
852
908
|
"""
|
853
909
|
if self._to_port:
|
854
910
|
if 'Transformer3WGraphicItem' not in sys.modules:
|
855
|
-
from GridCal.Gui.Diagrams.
|
911
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.transformer3w_graphics import \
|
912
|
+
Transformer3WGraphicItem
|
856
913
|
return isinstance(self.get_terminal_to_parent(), Transformer3WGraphicItem)
|
857
914
|
else:
|
858
915
|
return False
|
@@ -961,6 +1018,34 @@ class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
|
961
1018
|
"""
|
962
1019
|
return self.is_from_port_a_bus() and self.is_to_port_a_fluid_node()
|
963
1020
|
|
1021
|
+
def connected_between_cn_and_bus(self):
|
1022
|
+
"""
|
1023
|
+
|
1024
|
+
:return:
|
1025
|
+
"""
|
1026
|
+
return self.is_from_port_a_cn() and self.is_to_port_a_bus()
|
1027
|
+
|
1028
|
+
def connected_between_bus_and_cn(self):
|
1029
|
+
"""
|
1030
|
+
|
1031
|
+
:return:
|
1032
|
+
"""
|
1033
|
+
return self.is_from_port_a_bus() and self.is_to_port_a_cn()
|
1034
|
+
|
1035
|
+
def connected_between_busbar_and_bus(self):
|
1036
|
+
"""
|
1037
|
+
|
1038
|
+
:return:
|
1039
|
+
"""
|
1040
|
+
return self.is_from_port_a_busbar() and self.is_to_port_a_bus()
|
1041
|
+
|
1042
|
+
def connected_between_bus_and_busbar(self):
|
1043
|
+
"""
|
1044
|
+
|
1045
|
+
:return:
|
1046
|
+
"""
|
1047
|
+
return self.is_from_port_a_bus() and self.is_to_port_a_busbar()
|
1048
|
+
|
964
1049
|
def should_be_a_converter(self) -> bool:
|
965
1050
|
"""
|
966
1051
|
|
@@ -15,21 +15,23 @@
|
|
15
15
|
# along with this program; if not, write to the Free Software Foundation,
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
from __future__ import annotations
|
18
|
-
from typing import TYPE_CHECKING
|
18
|
+
from typing import TYPE_CHECKING, Union
|
19
19
|
from PySide6.QtGui import QIcon, QPixmap
|
20
20
|
from PySide6.QtWidgets import QMenu
|
21
|
-
from GridCal.Gui.Diagrams.
|
21
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
22
22
|
from GridCalEngine.Devices.Branches.series_reactance import SeriesReactance
|
23
|
-
from GridCal.Gui.Diagrams.
|
23
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
24
24
|
|
25
25
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
26
|
-
from GridCal.Gui.Diagrams.
|
26
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
27
27
|
|
28
28
|
|
29
29
|
class SeriesReactanceGraphicItem(LineGraphicTemplateItem):
|
30
30
|
|
31
|
-
def __init__(self,
|
32
|
-
|
31
|
+
def __init__(self,
|
32
|
+
from_port: Union[BarTerminalItem, RoundTerminalItem],
|
33
|
+
to_port: Union[BarTerminalItem, RoundTerminalItem],
|
34
|
+
editor: DiagramEditorWidget, width=5,
|
33
35
|
api_object: SeriesReactance = None):
|
34
36
|
"""
|
35
37
|
|
@@ -17,20 +17,21 @@
|
|
17
17
|
from __future__ import annotations
|
18
18
|
from typing import TYPE_CHECKING, Union
|
19
19
|
from PySide6.QtGui import QIcon, QPixmap
|
20
|
-
from PySide6.QtWidgets import QMenu
|
21
|
-
from GridCal.Gui.Diagrams.
|
20
|
+
from PySide6.QtWidgets import QMenu
|
21
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
22
|
+
from GridCal.Gui.GuiFunctions import add_menu_entry
|
23
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
22
24
|
from GridCalEngine.Devices.Branches.switch import Switch
|
23
|
-
from GridCal.Gui.Diagrams.BusBranchEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
24
25
|
|
25
26
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
26
|
-
from GridCal.Gui.Diagrams.
|
27
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
27
28
|
|
28
29
|
|
29
30
|
class SwitchGraphicItem(LineGraphicTemplateItem):
|
30
31
|
|
31
|
-
def __init__(self, from_port:
|
32
|
-
to_port: Union[
|
33
|
-
editor:
|
32
|
+
def __init__(self, from_port: Union[BarTerminalItem, RoundTerminalItem],
|
33
|
+
to_port: Union[BarTerminalItem, RoundTerminalItem, None],
|
34
|
+
editor: DiagramEditorWidget,
|
34
35
|
width=5,
|
35
36
|
api_object: Switch = None):
|
36
37
|
"""
|
@@ -63,6 +64,12 @@ class SwitchGraphicItem(LineGraphicTemplateItem):
|
|
63
64
|
pe.setChecked(self.api_object.active)
|
64
65
|
pe.triggered.connect(self.enable_disable_toggle)
|
65
66
|
|
67
|
+
add_menu_entry(menu=menu,
|
68
|
+
text="Draw labels",
|
69
|
+
function_ptr=self.enable_disable_label_drawing,
|
70
|
+
checkeable=True,
|
71
|
+
checked_value=self.draw_labels)
|
72
|
+
|
66
73
|
rabf = menu.addAction('Change bus')
|
67
74
|
move_bus_icon = QIcon()
|
68
75
|
move_bus_icon.addPixmap(QPixmap(":/Icons/icons/move_bus.svg"))
|
@@ -15,19 +15,20 @@
|
|
15
15
|
# along with this program; if not, write to the Free Software Foundation,
|
16
16
|
# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
17
17
|
from __future__ import annotations
|
18
|
-
from typing import TYPE_CHECKING
|
18
|
+
from typing import TYPE_CHECKING, Union
|
19
19
|
from PySide6.QtGui import QIcon, QPixmap
|
20
20
|
from PySide6.QtWidgets import QMenu
|
21
|
-
from GridCal.Gui.
|
22
|
-
from GridCal.Gui.Diagrams.
|
21
|
+
from GridCal.Gui.GuiFunctions import add_menu_entry
|
22
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
23
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem, RoundTerminalItem
|
23
24
|
from GridCal.Gui.messages import yes_no_question
|
24
|
-
from GridCal.Gui.Diagrams.
|
25
|
-
|
25
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.transformer_editor import (TransformerEditor,
|
26
|
+
reverse_transformer_short_circuit_study)
|
26
27
|
from GridCalEngine.Devices.Branches.transformer import Transformer2W, TransformerType
|
27
28
|
from GridCalEngine.enumerations import DeviceType
|
28
29
|
|
29
30
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
30
|
-
from GridCal.Gui.Diagrams.
|
31
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
31
32
|
|
32
33
|
|
33
34
|
class TransformerGraphicItem(LineGraphicTemplateItem):
|
@@ -35,8 +36,10 @@ class TransformerGraphicItem(LineGraphicTemplateItem):
|
|
35
36
|
TransformerGraphicItem
|
36
37
|
"""
|
37
38
|
|
38
|
-
def __init__(self,
|
39
|
-
|
39
|
+
def __init__(self,
|
40
|
+
from_port: Union[BarTerminalItem, RoundTerminalItem],
|
41
|
+
to_port: Union[BarTerminalItem, RoundTerminalItem],
|
42
|
+
editor: DiagramEditorWidget, width=5,
|
40
43
|
api_object: Transformer2W = None):
|
41
44
|
"""
|
42
45
|
|
@@ -68,6 +71,12 @@ class TransformerGraphicItem(LineGraphicTemplateItem):
|
|
68
71
|
pe.setChecked(self.api_object.active)
|
69
72
|
pe.triggered.connect(self.enable_disable_toggle)
|
70
73
|
|
74
|
+
add_menu_entry(menu=menu,
|
75
|
+
text="Draw labels",
|
76
|
+
function_ptr=self.enable_disable_label_drawing,
|
77
|
+
checkeable=True,
|
78
|
+
checked_value=self.draw_labels)
|
79
|
+
|
71
80
|
ra2 = menu.addAction('Delete')
|
72
81
|
del_icon = QIcon()
|
73
82
|
del_icon.addPixmap(QPixmap(":/Icons/icons/delete3.svg"))
|
@@ -22,13 +22,13 @@ from PySide6.QtGui import QPen, QCursor, QColor, QIcon, QPixmap
|
|
22
22
|
from PySide6.QtWidgets import QGraphicsItem, QGraphicsEllipseItem, QGraphicsRectItem, QMenu, QGraphicsSceneMouseEvent
|
23
23
|
|
24
24
|
from GridCalEngine.Devices.Branches.transformer3w import Transformer3W
|
25
|
-
from GridCal.Gui.Diagrams.
|
26
|
-
from GridCal.Gui.Diagrams.
|
27
|
-
from GridCal.Gui.Diagrams.
|
25
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.generic_graphics import ACTIVE, DEACTIVATED
|
26
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import RoundTerminalItem
|
27
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.winding_graphics import WindingGraphicItem
|
28
28
|
from GridCal.Gui.messages import yes_no_question
|
29
29
|
|
30
30
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
31
|
-
from GridCal.Gui.Diagrams.
|
31
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
32
32
|
|
33
33
|
|
34
34
|
class Transformer3WGraphicItem(QGraphicsRectItem):
|
@@ -42,7 +42,7 @@ class Transformer3WGraphicItem(QGraphicsRectItem):
|
|
42
42
|
- description
|
43
43
|
"""
|
44
44
|
|
45
|
-
def __init__(self, editor:
|
45
|
+
def __init__(self, editor: DiagramEditorWidget,
|
46
46
|
elm: Transformer3W,
|
47
47
|
pos: QPoint = None,
|
48
48
|
parent=None,
|
@@ -105,7 +105,7 @@ class Transformer3WGraphicItem(QGraphicsRectItem):
|
|
105
105
|
yt = diameter * np.sin(angles) + diameter
|
106
106
|
|
107
107
|
self.winding_circles: List[QGraphicsEllipseItem] = list()
|
108
|
-
self.terminals: List[
|
108
|
+
self.terminals: List[RoundTerminalItem] = list()
|
109
109
|
self.connection_lines: List[WindingGraphicItem | None] = list()
|
110
110
|
|
111
111
|
pen = QPen(self.color, self.pen_width, self.style)
|
@@ -116,7 +116,7 @@ class Transformer3WGraphicItem(QGraphicsRectItem):
|
|
116
116
|
winding_circle.setRect(0.0, 0.0, diameter, diameter)
|
117
117
|
winding_circle.setPos(x[i], y[i])
|
118
118
|
|
119
|
-
terminal =
|
119
|
+
terminal = RoundTerminalItem("t", parent=self, editor=self.editor)
|
120
120
|
terminal.setPos(xt[i], yt[i])
|
121
121
|
terminal.setRotation(angles_deg[i])
|
122
122
|
|
@@ -277,15 +277,11 @@ class Transformer3WGraphicItem(QGraphicsRectItem):
|
|
277
277
|
"""
|
278
278
|
Update the object
|
279
279
|
"""
|
280
|
-
|
281
280
|
# Arrange line positions
|
282
281
|
for terminal in self.terminals:
|
283
|
-
|
284
|
-
y = int(2 * terminal.h / 3)
|
285
|
-
m = QPointF(x, y)
|
286
|
-
terminal.process_callbacks(self.pos() + terminal.pos() - m)
|
282
|
+
terminal.process_callbacks(parent_pos=self.pos())
|
287
283
|
|
288
|
-
def get_connection_winding(self, from_port:
|
284
|
+
def get_connection_winding(self, from_port: RoundTerminalItem, to_port: RoundTerminalItem):
|
289
285
|
"""
|
290
286
|
Find the winding between the terminals
|
291
287
|
:param from_port: "from" terminal [TerminalItem]
|
@@ -18,18 +18,19 @@ from __future__ import annotations
|
|
18
18
|
from typing import TYPE_CHECKING
|
19
19
|
from PySide6.QtGui import QIcon, QPixmap
|
20
20
|
from PySide6.QtWidgets import QMenu
|
21
|
-
from GridCal.Gui.
|
21
|
+
from GridCal.Gui.GuiFunctions import add_menu_entry
|
22
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.terminal_item import BarTerminalItem
|
22
23
|
from GridCalEngine.Devices.Branches.upfc import UPFC
|
23
|
-
from GridCal.Gui.Diagrams.
|
24
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.line_graphics_template import LineGraphicTemplateItem
|
24
25
|
|
25
26
|
if TYPE_CHECKING: # Only imports the below statements during type checking
|
26
|
-
from GridCal.Gui.Diagrams.
|
27
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.diagram_editor_widget import DiagramEditorWidget
|
27
28
|
|
28
29
|
|
29
30
|
class UpfcGraphicItem(LineGraphicTemplateItem):
|
30
31
|
|
31
|
-
def __init__(self, from_port:
|
32
|
-
editor:
|
32
|
+
def __init__(self, from_port: BarTerminalItem, to_port: BarTerminalItem,
|
33
|
+
editor: DiagramEditorWidget, width=5,
|
33
34
|
api_object: UPFC = None):
|
34
35
|
"""
|
35
36
|
|
@@ -64,6 +65,12 @@ class UpfcGraphicItem(LineGraphicTemplateItem):
|
|
64
65
|
pe.setIcon(pe_icon)
|
65
66
|
pe.triggered.connect(self.enable_disable_toggle)
|
66
67
|
|
68
|
+
add_menu_entry(menu=menu,
|
69
|
+
text="Draw labels",
|
70
|
+
function_ptr=self.enable_disable_label_drawing,
|
71
|
+
checkeable=True,
|
72
|
+
checked_value=self.draw_labels)
|
73
|
+
|
67
74
|
rabf = menu.addAction('Change bus')
|
68
75
|
move_bus_icon = QIcon()
|
69
76
|
move_bus_icon.addPixmap(QPixmap(":/Icons/icons/move_bus.svg"))
|