Blender
V3.3
|
#include "MEM_guardedalloc.h"
#include "BLI_hash.h"
#include "BLI_hash.hh"
#include "BLI_hash_mm2a.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "BLI_vector.hh"
#include "ED_screen.h"
#include "ED_spreadsheet.h"
#include "DEG_depsgraph.h"
#include "BKE_context.h"
#include "BKE_main.h"
#include "BKE_modifier.h"
#include "BKE_node.h"
#include "BKE_object.h"
#include "BKE_workspace.h"
#include "DNA_modifier_types.h"
#include "DNA_windowmanager_types.h"
#include "spreadsheet_context.hh"
Go to the source code of this file.
Namespaces | |
blender | |
blender::ed | |
blender::ed::spreadsheet | |
void ED_spreadsheet_context_free | ( | struct SpreadsheetContext * | context | ) |
Definition at line 237 of file spreadsheet_context.cc.
References blender::compositor::context, and blender::ed::spreadsheet::spreadsheet_context_free().
Referenced by ED_spreadsheet_context_path_clear().
SpreadsheetContext* ED_spreadsheet_context_new | ( | int | type | ) |
Definition at line 232 of file spreadsheet_context.cc.
References blender::ed::spreadsheet::spreadsheet_context_new(), and type.
void ED_spreadsheet_context_path_clear | ( | struct SpaceSpreadsheet * | sspreadsheet | ) |
Definition at line 242 of file spreadsheet_context.cc.
References BLI_listbase_clear(), blender::compositor::context, SpaceSpreadsheet::context_path, ED_spreadsheet_context_free(), and LISTBASE_FOREACH_MUTABLE.
Referenced by ED_spreadsheet_context_path_guess(), ED_spreadsheet_context_path_set_evaluated_object(), and ED_spreadsheet_context_path_set_geometry_node().
bool ED_spreadsheet_context_path_exists | ( | Main * | UNUSEDbmain, |
SpaceSpreadsheet * | sspreadsheet | ||
) |
Definition at line 529 of file spreadsheet_context.cc.
References blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), BKE_modifiers_findby_name(), SpaceSpreadsheet::context_path, eModifierType_Nodes, GEO_NODE_VIEWER, GS, ID_NT, blender::Span< T >::index_range(), blender::Span< T >::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::IndexRange::last(), modifier_name, node, nodeFindNodebyName(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), SPREADSHEET_CONTEXT_MODIFIER, SPREADSHEET_CONTEXT_NODE, SPREADSHEET_CONTEXT_OBJECT, type, and ModifierData::type.
void ED_spreadsheet_context_path_guess | ( | const bContext * | C, |
SpaceSpreadsheet * | sspreadsheet | ||
) |
Definition at line 374 of file spreadsheet_context.cc.
References blender::compositor::area(), bScreen::areabase, C, CTX_data_active_object(), CTX_data_main(), ED_spreadsheet_context_path_clear(), ED_spreadsheet_context_path_set_evaluated_object(), ED_spreadsheet_context_path_set_geometry_node(), SpaceNode::edittree, find_screen_to_search_for_context(), ListBase::first, GEO_NODE_VIEWER, if(), LISTBASE_FOREACH, node, NODE_DO_OUTPUT, bNodeTree::nodes, NTREE_GEOMETRY, SpaceSpreadsheet::object_eval_state, SPACE_NODE, SpaceLink::spacetype, SPREADSHEET_OBJECT_EVAL_STATE_VIEWER_NODE, bNodeTree::type, wmWindowManager::windows, and Main::wm.
uint64_t ED_spreadsheet_context_path_hash | ( | const SpaceSpreadsheet * | sspreadsheet | ) |
Definition at line 255 of file spreadsheet_context.cc.
References BLI_hash_mm2a_end(), BLI_hash_mm2a_init(), blender::compositor::context, SpaceSpreadsheet::context_path, LISTBASE_FOREACH, and blender::ed::spreadsheet::spreadsheet_context_hash().
Referenced by ED_spreadsheet_context_paths_set_geometry_node().
bool ED_spreadsheet_context_path_is_active | ( | const bContext * | C, |
SpaceSpreadsheet * | sspreadsheet | ||
) |
Definition at line 418 of file spreadsheet_context.cc.
References blender::compositor::area(), bScreen::areabase, blender::Vector< T, InlineBufferCapacity, Allocator >::as_span(), BKE_modifiers_findby_name(), C, SpaceSpreadsheet::context_path, CTX_data_active_object(), CTX_data_main(), SpaceNode::edittree, eModifierFlag_Active, eModifierType_Nodes, find_screen_to_search_for_context(), ListBase::first, ModifierData::flag, SpaceNode::flag, GEO_NODE_VIEWER, Object::id, SpaceNode::id, if(), blender::Span< T >::is_empty(), blender::Vector< T, InlineBufferCapacity, Allocator >::is_empty(), blender::Span< T >::last(), LISTBASE_FOREACH, modifier_name, node, blender::ed::space_node::node_context(), NODE_DO_OUTPUT, nodeFindNodebyName(), SpaceNode::nodetree, SpaceSpreadsheet::object_eval_state, blender::Span< T >::size(), blender::Vector< T, InlineBufferCapacity, Allocator >::size(), SNODE_PIN, SPACE_NODE, SpaceLink::spacetype, SPREADSHEET_CONTEXT_MODIFIER, SPREADSHEET_CONTEXT_NODE, SPREADSHEET_CONTEXT_OBJECT, SPREADSHEET_OBJECT_EVAL_STATE_VIEWER_NODE, STREQ, SpaceNode::treepath, type, ModifierData::type, SpreadsheetContext::type, wmWindowManager::windows, and Main::wm.
void ED_spreadsheet_context_path_set_evaluated_object | ( | SpaceSpreadsheet * | sspreadsheet, |
Object * | object | ||
) |
Definition at line 348 of file spreadsheet_context.cc.
References BLI_addtail(), blender::compositor::context, SpaceSpreadsheet::context_path, ED_spreadsheet_context_path_clear(), and blender::ed::spreadsheet::spreadsheet_context_object_new().
Referenced by ED_spreadsheet_context_path_guess().
void ED_spreadsheet_context_path_set_geometry_node | ( | struct SpaceSpreadsheet * | sspreadsheet, |
struct SpaceNode * | snode, | ||
struct bNode * | node | ||
) |
Definition at line 265 of file spreadsheet_context.cc.
References BKE_object_active_modifier(), BLI_addtail(), BLI_strdup(), blender::compositor::context, SpaceSpreadsheet::context_path, ED_spreadsheet_context_path_clear(), eModifierType_Nodes, SpaceNode::id, LISTBASE_FOREACH, LISTBASE_FOREACH_INDEX, Object::modifiers, node, NodesModifierData::node_group, SpaceNode::nodetree, SpaceSpreadsheet::object_eval_state, blender::ed::spreadsheet::spreadsheet_context_modifier_new(), blender::ed::spreadsheet::spreadsheet_context_node_new(), blender::ed::spreadsheet::spreadsheet_context_object_new(), SPREADSHEET_OBJECT_EVAL_STATE_VIEWER_NODE, and SpaceNode::treepath.
Referenced by ED_spreadsheet_context_path_guess(), and ED_spreadsheet_context_paths_set_geometry_node().
bool ED_spreadsheet_context_path_update_tag | ( | SpaceSpreadsheet * | sspreadsheet | ) |
Definition at line 250 of file spreadsheet_context.cc.
References blender::ed::spreadsheet::spreadsheet_context_update_tag().
Referenced by ED_spreadsheet_context_paths_set_geometry_node(), update_context_path_from_context(), and update_pinned_context_path_if_outdated().
void ED_spreadsheet_context_paths_set_geometry_node | ( | Main * | bmain, |
SpaceNode * | snode, | ||
bNode * | node | ||
) |
Definition at line 322 of file spreadsheet_context.cc.
References blender::compositor::area(), bScreen::areabase, BKE_workspace_active_screen_get(), ED_area_tag_redraw(), ED_spreadsheet_context_path_hash(), ED_spreadsheet_context_path_set_geometry_node(), ED_spreadsheet_context_path_update_tag(), ListBase::first, SpaceSpreadsheet::flag, if(), LISTBASE_FOREACH, node, SPACE_SPREADSHEET, SpaceLink::spacetype, SPREADSHEET_FLAG_PINNED, wmWindowManager::windows, and Main::wm.
Referenced by ED_node_set_active(), blender::ed::space_node::viewer_linking::link_socket_to_viewer(), blender::nodes::node_geo_viewer_cc::node_gather_link_searches(), and blender::ed::space_node::node_mouse_select().
|
static |
Definition at line 359 of file spreadsheet_context.cc.
References bScreen::areabase, BKE_workspace_active_screen_get(), ELEM, ListBase::first, ScrArea::full, SCREENFULL, SCREENMAXIMIZED, ScrArea::spacedata, bScreen::state, and wmWindow::workspace_hook.
Referenced by ED_spreadsheet_context_path_guess(), and ED_spreadsheet_context_path_is_active().