GridCal 5.1.0__tar.gz → 5.1.2__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.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/dc_line_graphics.py +15 -8
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/hvdc_graphics.py +15 -7
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/line_graphics.py +14 -7
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/line_graphics_template.py +120 -58
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/series_reactance_graphics.py +8 -6
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/switch_graphics.py +14 -7
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/transformer2w_graphics.py +17 -8
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/transformer3w_graphics.py +9 -13
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/upfc_graphics.py +12 -5
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/vsc_graphics.py +15 -6
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/winding_graphics.py +13 -6
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_node_graphics.py +41 -60
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_p2x_graphics.py +4 -4
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_path_graphics.py +9 -9
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_pump_graphics.py +4 -4
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Fluid/fluid_turbine_graphics.py +4 -7
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/battery_graphics.py +4 -4
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/controllable_shunt_graphics.py +4 -4
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/current_injection_graphics.py +4 -4
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/external_grid_graphics.py +4 -4
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/generator_graphics.py +5 -5
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/injections_template_graphics.py +16 -29
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/load_graphics.py +4 -5
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/shunt_graphics.py +4 -4
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Injections/static_generator_graphics.py +4 -5
- {GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Substation/bus_graphics.py +293 -202
- GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget/Substation/bus_graphics.py → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/Substation/busbar_graphics.py +30 -49
- GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/Substation/cn_graphics.py +599 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/__init__.py +0 -1
- GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget/bus_branch_editor_widget.py → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/diagram_editor_widget.py +298 -254
- GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/generic_graphics.py +237 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/terminal_item.py +184 -18
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Layers/image_layer.py +2 -2
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Layers/point_layer.py +2 -2
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Layers/polygon_layer.py +2 -2
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Layers/polyline_layer.py +2 -2
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Layers/text_layer.py +2 -2
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Schema/Connector.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Schema/SchemaManager.py +2 -2
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/blue_marble.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/cartodb.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/gmt_local.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/mapbox.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/mapquest.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/open_street_map.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/stamen_toner.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/stamen_transport.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/TileProviders/stamen_watercolor.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Tiles/base_tiles.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Tiles/tile_worker.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Tiles/tiles.py +3 -5
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Tiles/tiles_cache.py +1 -1
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/grid_map_widget.py +15 -6
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/map_widget.py +11 -11
- GridCal-5.1.2/GridCal/Gui/Diagrams/diagrams_model.py +83 -0
- GridCal-5.1.2/GridCal/Gui/Diagrams/graphics_manager.py +153 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/GuiFunctions.py +106 -96
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/ConsoleLog.py +1 -1
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/MainWindow.py +745 -693
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Model/diagrams.py +139 -148
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Model/objects.py +22 -2
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Settings/configuration.py +98 -30
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/base_gui.py +3 -1
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/io.py +36 -28
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/simulations.py +3 -3
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/icons_rc.py +6887 -7063
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Session/file_handler.py +30 -21
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/__version__.py +1 -1
- {GridCal-5.1.0 → GridCal-5.1.2}/PKG-INFO +1 -1
- GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget/generic_graphics.py +0 -108
- GridCal-5.1.0/GridCal/Gui/BusViewer/bus_viewer_dialogue.py +0 -307
- GridCal-5.1.0/GridCal/Gui/BusViewer/gui.py +0 -140
- GridCal-5.1.0/GridCal/Gui/BusViewer/icons_rc.py +0 -828
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/Rectangle_Connector.py +0 -428
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/dc_line_graphics.py +0 -352
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/hvdc_graphics.py +0 -116
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/line_editor.py +0 -253
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/line_graphics.py +0 -371
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/line_graphics_template.py +0 -920
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/switch_graphics.py +0 -108
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/transformer2w_graphics.py +0 -242
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/transformer_editor.py +0 -306
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/upfc_graphics.py +0 -111
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/vsc_graphics.py +0 -123
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches/winding_graphics.py +0 -128
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Connector.py +0 -182
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_node_graphics.py +0 -439
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_p2x_graphics.py +0 -206
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_path_graphics.py +0 -273
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_pump_graphics.py +0 -206
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Fluid/fluid_turbine_graphics.py +0 -216
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections/battery_graphics.py +0 -193
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections/external_grid_graphics.py +0 -205
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections/generator_graphics.py +0 -566
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections/injections_template_graphics.py +0 -173
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections/load_graphics.py +0 -183
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections/shunt_graphics.py +0 -215
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections/static_generator_graphics.py +0 -203
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/generic_graphics.py +0 -108
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/matplotlibwidget.py +0 -252
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/node_breaker_editor_widget.py +0 -1337
- GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/terminal_item.py +0 -181
- GridCal-5.1.0/GridCal/Gui/Widgets/__init__.py +0 -0
- GridCal-5.1.0/GridCal/Gui/WindPowerWizard/__init__.py +0 -0
- GridCal-5.1.0/GridCal/Gui/WindPowerWizard/update_gui_file.py +0 -9
- GridCal-5.1.0/GridCal/Gui/__init__.py +0 -0
- GridCal-5.1.0/GridCal/Session/__init__.py +0 -0
- GridCal-5.1.0/GridCal/data/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/ExecuteGridCal.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/AboutDialogue/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/AboutDialogue/about_dialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/AboutDialogue/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/AboutDialogue/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/AboutDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Analysis/AnalysisDialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Analysis/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Analysis/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Analysis/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Analysis/object_plot_analysis.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Analysis/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget/Branches → GridCal-5.1.2/GridCal/Gui/CascadingSteps}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/CascadingSteps/cascading_steps.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/CascadingSteps/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/CascadingSteps/update_gui_file.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ConsoleWidget.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget/Fluid → GridCal-5.1.2/GridCal/Gui/ContingencyPlanner}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ContingencyPlanner/contingency_planner_dialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ContingencyPlanner/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ContingencyPlanner/icons_rc.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusViewer → GridCal-5.1.2/GridCal/Gui/ContingencyPlanner}/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget/Injections → GridCal-5.1.2/GridCal/Gui/CoordinatesInput}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/CoordinatesInput/coordinates_dialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/CoordinatesInput/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/CoordinatesInput/icons_rc.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/ContingencyPlanner → GridCal-5.1.2/GridCal/Gui/CoordinatesInput}/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget/Substation → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/Branches}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/line_editor.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/Branches/transformer_editor.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusViewer → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/Fluid}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/CascadingSteps → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/Injections}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/ContingencyPlanner → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget/Substation}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/BusBranchEditorWidget → GridCal-5.1.2/GridCal/Gui/Diagrams/DiagramEditorWidget}/matplotlibwidget.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/CoordinatesInput → GridCal-5.1.2/GridCal/Gui/Diagrams/MapWidget/Layers}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Layers/layer_types.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Layers/place.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Schema/Nodes.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/GridGenerator → GridCal-5.1.2/GridCal/Gui/Diagrams/MapWidget/Schema}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/LoadDesigner → GridCal-5.1.2/GridCal/Gui/Diagrams/MapWidget/TileProviders}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/Main/SubClasses/Model → GridCal-5.1.2/GridCal/Gui/Diagrams/MapWidget/Tiles}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Tiles/default_tile_data.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/Tiles/pycacheback.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/Main/SubClasses/Results → GridCal-5.1.2/GridCal/Gui/Diagrams/MapWidget}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/logger.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/map_events.py +0 -0
- {GridCal-5.1.0/GridCal/Gui → GridCal-5.1.2/GridCal/Gui/Diagrams}/MapWidget/node_widget.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/Main/SubClasses/Scripting → GridCal-5.1.2/GridCal/Gui/Diagrams}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/GeneralDialogues.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/Main/SubClasses/Settings → GridCal-5.1.2/GridCal/Gui/GridGenerator}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/GridGenerator/grid_generator_dialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/GridGenerator/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/GridGenerator/icons_rc.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/CoordinatesInput → GridCal-5.1.2/GridCal/Gui/GridGenerator}/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/Main/SubClasses → GridCal-5.1.2/GridCal/Gui/LoadDesigner}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/LoadDesigner/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/LoadDesigner/load_designer.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/LoadDesigner/load_designer_ui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/LoadDesigner/update_gui_file.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/ConsoleLogController.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/GridCalMain.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/Main → GridCal-5.1.2/GridCal/Gui/Main/SubClasses/Model}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Model/compiled_arrays.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Model/time_events.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/README.txt +0 -0
- {GridCal-5.1.0/GridCal/Gui/MapWidget/Layers → GridCal-5.1.2/GridCal/Gui/Main/SubClasses/Results}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Results/results.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/MapWidget/Schema → GridCal-5.1.2/GridCal/Gui/Main/SubClasses/Scripting}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Scripting/python_highlighter.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/SubClasses/Scripting/scripting.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/MapWidget/TileProviders → GridCal-5.1.2/GridCal/Gui/Main/SubClasses/Settings}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/MapWidget/Tiles → GridCal-5.1.2/GridCal/Gui/Main/SubClasses}/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/MapWidget → GridCal-5.1.2/GridCal/Gui/Main}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/object_select_window.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Main/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Branches → GridCal-5.1.2/GridCal/Gui/ProfilesInput}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/excel_dialog.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/excel_sheet_selection.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/models_dialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/profile_dialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/profiles_from_data.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/profiles_from_data_gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/profiles_from_models_gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/ProfilesInput/update_gui_file.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/RosetaExplorer/ConsoleWidget.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/RosetaExplorer/MainWindow.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/RosetaExplorer/RosetaExplorer.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Fluid → GridCal-5.1.2/GridCal/Gui/RosetaExplorer}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/RosetaExplorer/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/RosetaExplorer/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Injections → GridCal-5.1.2/GridCal/Gui/SigmaAnalysis}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SigmaAnalysis/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SigmaAnalysis/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SigmaAnalysis/sigma_analysis_dialogue.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/GridGenerator → GridCal-5.1.2/GridCal/Gui/SigmaAnalysis}/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget/Substation → GridCal-5.1.2/GridCal/Gui/SolarPowerWizard}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SolarPowerWizard/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SolarPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SolarPowerWizard/solar_power_wizzard.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/SigmaAnalysis → GridCal-5.1.2/GridCal/Gui/SolarPowerWizard}/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/NodeBreakerEditorWidget → GridCal-5.1.2/GridCal/Gui/SyncDialogue}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SyncDialogue/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SyncDialogue/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SyncDialogue/sync_dialogue.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SyncDialogue/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/ProfilesInput → GridCal-5.1.2/GridCal/Gui/SystemScaler}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SystemScaler/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SystemScaler/system_scaler.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SystemScaler/system_scaler_ui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/SystemScaler/update_gui_file.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TowerBuilder/LineBuilderDialogue.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/RosetaExplorer → GridCal-5.1.2/GridCal/Gui/TowerBuilder}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TowerBuilder/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TowerBuilder/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TowerBuilder/table_models.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TowerBuilder/test_.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TowerBuilder/update_gui_file.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TreeModelViewer/MainWindow.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TreeModelViewer/TreeModelViewer.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/SigmaAnalysis → GridCal-5.1.2/GridCal/Gui/TreeModelViewer}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TreeModelViewer/icons_rc.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/TreeModelViewer/update_gui_file.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/SolarPowerWizard → GridCal-5.1.2/GridCal/Gui/Visualization}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Visualization/palettes.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Visualization/visualization.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/SyncDialogue → GridCal-5.1.2/GridCal/Gui/Widgets}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Widgets/custom_qrangeslider.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/Widgets/matplotlibwidget.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/SystemScaler → GridCal-5.1.2/GridCal/Gui/WindPowerWizard}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/WindPowerWizard/gui.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/WindPowerWizard/icons_rc.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/SolarPowerWizard → GridCal-5.1.2/GridCal/Gui/WindPowerWizard}/update_gui_file.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/WindPowerWizard/wind_power_wizzard.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/TowerBuilder → GridCal-5.1.2/GridCal/Gui}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/messages.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/plot_config.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/themes.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/update_gui_all.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Gui/update_gui_common.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/LICENSE.txt +0 -0
- {GridCal-5.1.0/GridCal/Gui/TreeModelViewer → GridCal-5.1.2/GridCal/Session}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Session/export_results_driver.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Session/results_model.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Session/session.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/Session/synchronization_driver.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/__init__.py +0 -0
- {GridCal-5.1.0/GridCal/Gui/Visualization → GridCal-5.1.2/GridCal/data}/__init__.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/data/cables.csv +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/data/sequence_lines.csv +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/data/transformers.csv +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/data/wires.csv +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/templates.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/GridCal/update.py +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/setup.cfg +0 -0
- {GridCal-5.1.0 → GridCal-5.1.2}/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.
|
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.
|
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.
|
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.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.
|
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.
|
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.
|
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.
|
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,12 +22,14 @@ 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.
|
26
|
-
from GridCal.Gui.
|
27
|
-
from GridCal.Gui.
|
28
|
-
from GridCal.Gui.
|
29
|
-
|
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
|
30
31
|
from GridCal.Gui.messages import yes_no_question
|
32
|
+
|
31
33
|
from GridCalEngine.Devices.Substation.bus import Bus
|
32
34
|
from GridCalEngine.Devices.Branches.line import Line
|
33
35
|
from GridCalEngine.Devices.Branches.transformer import Transformer2W
|
@@ -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.
|
45
|
-
from GridCal.Gui.
|
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)
|
@@ -398,15 +413,15 @@ class HvdcSymbol(QGraphicsRectItem):
|
|
398
413
|
self.setTransform(transform)
|
399
414
|
|
400
415
|
|
401
|
-
class LineGraphicTemplateItem(QGraphicsLineItem):
|
416
|
+
class LineGraphicTemplateItem(GenericDBWidget, QGraphicsLineItem):
|
402
417
|
"""
|
403
418
|
LineGraphicItem
|
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):
|
@@ -419,10 +434,9 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
419
434
|
:param api_object:
|
420
435
|
:param arrow_size:
|
421
436
|
"""
|
437
|
+
GenericDBWidget.__init__(self, parent=None, api_object=api_object, editor=editor, draw_labels=True)
|
422
438
|
QGraphicsLineItem.__init__(self)
|
423
439
|
|
424
|
-
self.api_object = api_object
|
425
|
-
|
426
440
|
if isinstance(api_object, Transformer2W):
|
427
441
|
if isinstance(api_object, Winding): # Winding is a sublass of Transformer
|
428
442
|
self.symbol = None
|
@@ -445,27 +459,14 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
445
459
|
self.pen_width = width
|
446
460
|
self.width = width
|
447
461
|
|
448
|
-
if self.api_object is not None:
|
449
|
-
if self.api_object.active:
|
450
|
-
self.color = ACTIVE['color']
|
451
|
-
self.style = ACTIVE['style']
|
452
|
-
else:
|
453
|
-
self.color = DEACTIVATED['color']
|
454
|
-
self.style = DEACTIVATED['style']
|
455
|
-
else:
|
456
|
-
self.color = ACTIVE['color']
|
457
|
-
self.style = ACTIVE['style']
|
458
|
-
|
459
462
|
self.setFlag(self.GraphicsItemFlag.ItemIsSelectable, True)
|
460
463
|
self.setCursor(QCursor(Qt.PointingHandCursor))
|
461
464
|
|
462
|
-
self.editor: BusBranchEditorWidget = editor
|
463
|
-
|
464
465
|
self.pos1: QPointF = QPointF(0.0, 0.0)
|
465
466
|
self.pos2: QPointF = QPointF(0.0, 0.0)
|
466
467
|
|
467
|
-
self._from_port: Union[
|
468
|
-
self._to_port: Union[
|
468
|
+
self._from_port: Union[BarTerminalItem, RoundTerminalItem, None] = None
|
469
|
+
self._to_port: Union[BarTerminalItem, RoundTerminalItem, None] = None
|
469
470
|
|
470
471
|
# arrows
|
471
472
|
self.view_arrows = True
|
@@ -485,14 +486,14 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
485
486
|
|
486
487
|
self.set_colour(self.color, self.width, self.style)
|
487
488
|
|
488
|
-
def get_terminal_from(self) -> Union[None,
|
489
|
+
def get_terminal_from(self) -> Union[None, BarTerminalItem, RoundTerminalItem]:
|
489
490
|
"""
|
490
491
|
Get the terminal from
|
491
492
|
:return: TerminalItem
|
492
493
|
"""
|
493
494
|
return self._from_port
|
494
495
|
|
495
|
-
def get_terminal_to(self) -> Union[None,
|
496
|
+
def get_terminal_to(self) -> Union[None, BarTerminalItem, RoundTerminalItem]:
|
496
497
|
"""
|
497
498
|
Get the terminal to
|
498
499
|
:return: TerminalItem
|
@@ -525,16 +526,7 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
525
526
|
"""
|
526
527
|
Change the colour according to the system theme
|
527
528
|
"""
|
528
|
-
|
529
|
-
if self.api_object.active:
|
530
|
-
self.color = ACTIVE['color']
|
531
|
-
self.style = ACTIVE['style']
|
532
|
-
else:
|
533
|
-
self.color = DEACTIVATED['color']
|
534
|
-
self.style = DEACTIVATED['style']
|
535
|
-
else:
|
536
|
-
self.color = ACTIVE['color']
|
537
|
-
self.style = ACTIVE['style']
|
529
|
+
super().recolour_mode()
|
538
530
|
|
539
531
|
self.set_colour(self.color, self.width, self.style)
|
540
532
|
|
@@ -657,7 +649,7 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
657
649
|
i = self.editor.circuit.get_branches().index(self.api_object)
|
658
650
|
self.editor.plot_branch(i, self.api_object)
|
659
651
|
|
660
|
-
def set_from_port(self, from_port:
|
652
|
+
def set_from_port(self, from_port: BarTerminalItem):
|
661
653
|
"""
|
662
654
|
Set the From terminal in a connection
|
663
655
|
@param from_port: TerminalItem
|
@@ -673,7 +665,7 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
673
665
|
self._from_port.update()
|
674
666
|
self._from_port.get_parent().setZValue(0)
|
675
667
|
|
676
|
-
def set_to_port(self, to_port:
|
668
|
+
def set_to_port(self, to_port: BarTerminalItem):
|
677
669
|
"""
|
678
670
|
Set the To terminal in a connection
|
679
671
|
@param to_port: TerminalItem
|
@@ -793,11 +785,11 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
793
785
|
Pf = Sf.real
|
794
786
|
Qf = Sf.imag
|
795
787
|
Pt = St.real
|
796
|
-
|
797
|
-
self.arrow_from_1.set_value(Pf, True, Pf < 0, name="Pf", units="MW")
|
798
|
-
self.arrow_from_2.set_value(Qf, True, Qf < 0, name="Qf", units="MVAr")
|
799
|
-
self.arrow_to_1.set_value(Pt, True, Pt > 0, name="Pt", units="MW")
|
800
|
-
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)
|
801
793
|
|
802
794
|
def set_arrows_with_hvdc_power(self, Pf: float, Pt: float) -> None:
|
803
795
|
"""
|
@@ -805,10 +797,10 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
805
797
|
:param Pf: Complex power from
|
806
798
|
:param Pt: Complex power to
|
807
799
|
"""
|
808
|
-
self.arrow_from_1.set_value(Pf, True, Pf < 0, name="Pf", units="MW")
|
809
|
-
self.arrow_from_2.set_value(Pf, True, Pf < 0, name="Pf", units="MW")
|
810
|
-
self.arrow_to_1.set_value(Pt, True, Pt > 0, name="Pt", units="MW")
|
811
|
-
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)
|
812
804
|
|
813
805
|
def change_bus(self):
|
814
806
|
"""
|
@@ -856,6 +848,46 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
856
848
|
else:
|
857
849
|
return False
|
858
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
|
+
|
859
891
|
def is_from_port_a_tr3(self) -> bool:
|
860
892
|
"""
|
861
893
|
|
@@ -863,7 +895,8 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
863
895
|
"""
|
864
896
|
if self._from_port:
|
865
897
|
if 'Transformer3WGraphicItem' not in sys.modules:
|
866
|
-
from GridCal.Gui.
|
898
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.transformer3w_graphics import \
|
899
|
+
Transformer3WGraphicItem
|
867
900
|
return isinstance(self.get_terminal_from_parent(), Transformer3WGraphicItem)
|
868
901
|
else:
|
869
902
|
return False
|
@@ -875,7 +908,8 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
875
908
|
"""
|
876
909
|
if self._to_port:
|
877
910
|
if 'Transformer3WGraphicItem' not in sys.modules:
|
878
|
-
from GridCal.Gui.
|
911
|
+
from GridCal.Gui.Diagrams.DiagramEditorWidget.Branches.transformer3w_graphics import \
|
912
|
+
Transformer3WGraphicItem
|
879
913
|
return isinstance(self.get_terminal_to_parent(), Transformer3WGraphicItem)
|
880
914
|
else:
|
881
915
|
return False
|
@@ -984,6 +1018,34 @@ class LineGraphicTemplateItem(QGraphicsLineItem):
|
|
984
1018
|
"""
|
985
1019
|
return self.is_from_port_a_bus() and self.is_to_port_a_fluid_node()
|
986
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
|
+
|
987
1049
|
def should_be_a_converter(self) -> bool:
|
988
1050
|
"""
|
989
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.
|
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.
|
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.
|
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.
|
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.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.
|
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.
|
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.
|
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.
|
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.
|
26
|
-
from GridCal.Gui.
|
27
|
-
from GridCal.Gui.
|
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.
|
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]
|