Changeset View
Changeset View
Standalone View
Standalone View
source/blender/editors/space_node/node_select.cc
| Show All 17 Lines | |||||
| #include "BLI_string_search.h" | #include "BLI_string_search.h" | ||||
| #include "BLI_string_utf8.h" | #include "BLI_string_utf8.h" | ||||
| #include "BLI_utildefines.h" | #include "BLI_utildefines.h" | ||||
| #include "BKE_context.h" | #include "BKE_context.h" | ||||
| #include "BKE_main.h" | #include "BKE_main.h" | ||||
| #include "BKE_node.h" | #include "BKE_node.h" | ||||
| #include "BKE_node_runtime.hh" | #include "BKE_node_runtime.hh" | ||||
| #include "BKE_node_tree_update.h" | |||||
| #include "BKE_workspace.h" | #include "BKE_workspace.h" | ||||
| #include "ED_node.h" /* own include */ | #include "ED_node.h" /* own include */ | ||||
| #include "ED_screen.h" | #include "ED_screen.h" | ||||
| #include "ED_select_utils.h" | #include "ED_select_utils.h" | ||||
| #include "ED_spreadsheet.h" | |||||
| #include "ED_view3d.h" | #include "ED_view3d.h" | ||||
| #include "ED_viewer_path.hh" | |||||
| #include "RNA_access.h" | #include "RNA_access.h" | ||||
| #include "RNA_define.h" | #include "RNA_define.h" | ||||
| #include "WM_api.h" | #include "WM_api.h" | ||||
| #include "WM_types.h" | #include "WM_types.h" | ||||
| #include "UI_interface.h" | #include "UI_interface.h" | ||||
| ▲ Show 20 Lines • Show All 598 Lines • ▼ Show 20 Lines | if (found) { | ||||
| break; | break; | ||||
| } | } | ||||
| } | } | ||||
| changed = true; | changed = true; | ||||
| } | } | ||||
| } | } | ||||
| if (RNA_boolean_get(op->ptr, "clear_viewer")) { | |||||
| if (node == nullptr) { | |||||
| /* Disable existing active viewer. */ | |||||
| WorkSpace *workspace = CTX_wm_workspace(C); | |||||
| BKE_viewer_path_clear(&workspace->viewer_path); | |||||
| WM_event_add_notifier(C, NC_VIEWER_PATH, nullptr); | |||||
| } | |||||
| } | |||||
| if (!(changed || found)) { | if (!(changed || found)) { | ||||
| return false; | return false; | ||||
| } | } | ||||
| bool active_texture_changed = false; | bool active_texture_changed = false; | ||||
| bool viewer_node_changed = false; | bool viewer_node_changed = false; | ||||
| if ((node != nullptr) && (node_was_selected == false || params->select_passthrough == false)) { | if ((node != nullptr) && (node_was_selected == false || params->select_passthrough == false)) { | ||||
| viewer_node_changed = (node->flag & NODE_DO_OUTPUT) == 0 && node->type == GEO_NODE_VIEWER; | viewer_node_changed = (node->flag & NODE_DO_OUTPUT) == 0 && node->type == GEO_NODE_VIEWER; | ||||
| ED_node_set_active(&bmain, &snode, snode.edittree, node, &active_texture_changed); | ED_node_set_active(&bmain, &snode, snode.edittree, node, &active_texture_changed); | ||||
| } | } | ||||
| else if (node != nullptr && node->type == GEO_NODE_VIEWER) { | else if (node != nullptr && node->type == GEO_NODE_VIEWER) { | ||||
| ED_spreadsheet_context_paths_set_geometry_node(&bmain, &snode, node); | viewer_path::activate_geometry_node(bmain, snode, *node); | ||||
| } | } | ||||
| ED_node_set_active_viewer_key(&snode); | ED_node_set_active_viewer_key(&snode); | ||||
| node_sort(*snode.edittree); | node_sort(*snode.edittree); | ||||
| if ((active_texture_changed && has_workbench_in_texture_color(wm, scene, ob)) || | if ((active_texture_changed && has_workbench_in_texture_color(wm, scene, ob)) || | ||||
| viewer_node_changed) { | viewer_node_changed) { | ||||
| DEG_id_tag_update(&snode.edittree->id, ID_RECALC_COPY_ON_WRITE); | DEG_id_tag_update(&snode.edittree->id, ID_RECALC_COPY_ON_WRITE); | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 59 Lines • ▼ Show 20 Lines | prop = RNA_def_int_vector(ot->srna, | ||||
| INT_MAX, | INT_MAX, | ||||
| "Location", | "Location", | ||||
| "Mouse location", | "Mouse location", | ||||
| INT_MIN, | INT_MIN, | ||||
| INT_MAX); | INT_MAX); | ||||
| RNA_def_property_flag(prop, PROP_HIDDEN); | RNA_def_property_flag(prop, PROP_HIDDEN); | ||||
| RNA_def_boolean(ot->srna, "socket_select", false, "Socket Select", ""); | RNA_def_boolean(ot->srna, "socket_select", false, "Socket Select", ""); | ||||
| RNA_def_boolean(ot->srna, | |||||
| "clear_viewer", | |||||
| false, | |||||
| "Clear Viewer", | |||||
| "Deactivate geometry nodes viewer when clicking in empty space"); | |||||
| } | } | ||||
| /** \} */ | /** \} */ | ||||
| /* -------------------------------------------------------------------- */ | /* -------------------------------------------------------------------- */ | ||||
| /** \name Box Select Operator | /** \name Box Select Operator | ||||
| * \{ */ | * \{ */ | ||||
| ▲ Show 20 Lines • Show All 721 Lines • Show Last 20 Lines | |||||