Blender
V3.3
|
#include <cstring>
#include "BLI_listbase.h"
#include "BKE_lib_remap.h"
#include "BKE_screen.h"
#include "ED_screen.h"
#include "ED_space_api.h"
#include "ED_spreadsheet.h"
#include "DNA_scene_types.h"
#include "DNA_screen_types.h"
#include "DNA_space_types.h"
#include "MEM_guardedalloc.h"
#include "UI_interface.h"
#include "UI_resources.h"
#include "UI_view2d.h"
#include "DEG_depsgraph_query.h"
#include "RNA_access.h"
#include "WM_api.h"
#include "WM_types.h"
#include "BLT_translation.h"
#include "BLF_api.h"
#include "spreadsheet_context.hh"
#include "spreadsheet_data_source_geometry.hh"
#include "spreadsheet_dataset_draw.hh"
#include "spreadsheet_intern.hh"
#include "spreadsheet_layout.hh"
#include "spreadsheet_row_filter.hh"
#include "spreadsheet_row_filter_ui.hh"
Go to the source code of this file.
Definition at line 616 of file space_spreadsheet.cc.
References BKE_spacetype_register(), BKE_ST_MAXNAME, BLI_addhead(), ARegionType::draw, ED_KEYMAP_FRAMES, ED_KEYMAP_HEADER, ED_KEYMAP_UI, ED_KEYMAP_VIEW2D, ED_region_panels_draw(), ED_region_panels_init(), ED_region_panels_layout(), ARegionType::free, HEADERY, ARegionType::init, ARegionType::keymapflag, ARegionType::layout, ARegionType::listener, ARegionType::prefsizex, ARegionType::prefsizey, ARegionType::regionid, register_row_filter_panels(), RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, SPACE_SPREADSHEET, spreadsheet_create(), blender::ed::spreadsheet::spreadsheet_data_set_region_panels_register(), spreadsheet_dataset_region_draw(), spreadsheet_dataset_region_listener(), spreadsheet_duplicate(), spreadsheet_footer_region_draw(), spreadsheet_footer_region_free(), spreadsheet_footer_region_init(), spreadsheet_footer_region_listener(), spreadsheet_free(), spreadsheet_header_region_draw(), spreadsheet_header_region_free(), spreadsheet_header_region_init(), spreadsheet_header_region_listener(), spreadsheet_id_remap(), spreadsheet_init(), spreadsheet_keymap(), spreadsheet_main_region_draw(), spreadsheet_main_region_init(), spreadsheet_main_region_listener(), spreadsheet_operatortypes(), spreadsheet_right_region_free(), spreadsheet_right_region_listener(), spreadsheet_sidebar_init(), usdtokens::st(), UI_SIDEBAR_PANEL_WIDTH, and V2D_SCROLL_WIDTH.
Referenced by ED_spacetypes_init().
ID* ED_spreadsheet_get_current_id | ( | const struct SpaceSpreadsheet * | sspreadsheet | ) |
Definition at line 200 of file space_spreadsheet.cc.
References BLI_listbase_is_empty(), SpaceSpreadsheet::context_path, ListBase::first, if(), SpreadsheetContextObject::object, SPREADSHEET_CONTEXT_OBJECT, and SpreadsheetContext::type.
Referenced by spreadsheet_get_object_eval().
|
static |
Definition at line 326 of file space_spreadsheet.cc.
References BLF_size(), BLF_width(), blender::StringRefBase::data(), get_default_column_width(), blender::ed::spreadsheet::ColumnValues::name(), blender::StringRefBase::size(), UI_DEFAULT_TEXT_POINTS, UI_style_get(), UI_UNIT_X, uiFontStyle::uifont_id, and uiStyle::widget.
Referenced by get_column_width_in_pixels().
|
static |
Definition at line 336 of file space_spreadsheet.cc.
References get_column_width(), and SPREADSHEET_WIDTH_UNIT.
Referenced by spreadsheet_main_region_draw().
|
static |
Definition at line 283 of file space_spreadsheet.cc.
References C, CTX_data_depsgraph_pointer(), CTX_wm_space_spreadsheet(), blender::ed::spreadsheet::data_source_from_geometry(), depsgraph, and spreadsheet_get_object_eval().
Referenced by spreadsheet_main_region_draw().
|
static |
Definition at line 295 of file space_spreadsheet.cc.
References blender::ed::spreadsheet::ColumnValues::default_width, SPREADSHEET_VALUE_TYPE_BOOL, SPREADSHEET_VALUE_TYPE_BYTE_COLOR, SPREADSHEET_VALUE_TYPE_COLOR, SPREADSHEET_VALUE_TYPE_FLOAT, SPREADSHEET_VALUE_TYPE_FLOAT2, SPREADSHEET_VALUE_TYPE_FLOAT3, SPREADSHEET_VALUE_TYPE_INSTANCES, SPREADSHEET_VALUE_TYPE_INT32, SPREADSHEET_VALUE_TYPE_INT8, SPREADSHEET_VALUE_TYPE_STRING, SPREADSHEET_VALUE_TYPE_UNKNOWN, and blender::ed::spreadsheet::ColumnValues::type().
Referenced by get_column_width().
|
static |
Definition at line 341 of file space_spreadsheet.cc.
References BLF_size(), BLF_width(), max, std::to_string(), UI_style_get(), UI_style_get_dpi(), UI_UNIT_X, uiFontStyle::uifont_id, and uiStyle::widget.
Referenced by spreadsheet_main_region_draw().
|
static |
Definition at line 46 of file space_spreadsheet.cc.
References ARegion::alignment, BLI_addtail(), SpaceSpreadsheet::filter_flag, ARegion::flag, SpaceSpreadsheet::regionbase, ARegion::regiontype, RGN_ALIGN_BOTTOM, RGN_ALIGN_LEFT, RGN_ALIGN_RIGHT, RGN_ALIGN_TOP, RGN_FLAG_HIDDEN, RGN_TYPE_FOOTER, RGN_TYPE_HEADER, RGN_TYPE_TOOLS, RGN_TYPE_UI, RGN_TYPE_WINDOW, SPACE_SPREADSHEET, SpaceSpreadsheet::spacetype, SPREADSHEET_FILTER_ENABLE, and USER_HEADER_BOTTOM.
Referenced by ED_spacetype_spreadsheet().
Definition at line 592 of file space_spreadsheet.cc.
References C, ED_region_panels(), and spreadsheet_update_context_path().
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 570 of file space_spreadsheet.cc.
References wmNotifier::category, wmNotifier::data, ED_region_tag_redraw(), NC_SCENE, NC_TEXTURE, ND_FRAME, params, and spreadsheet_header_region_listener().
Referenced by ED_spacetype_spreadsheet().
Definition at line 121 of file space_spreadsheet.cc.
References BLI_addtail(), BLI_listbase_clear(), SpaceSpreadsheet::columns, SpaceSpreadsheet::context_path, LISTBASE_FOREACH, LISTBASE_FOREACH_MUTABLE, MEM_dupallocN, SpaceSpreadsheet::row_filters, SpaceSpreadsheet::runtime, blender::ed::spreadsheet::spreadsheet_column_copy(), blender::ed::spreadsheet::spreadsheet_context_copy(), and blender::ed::spreadsheet::spreadsheet_row_filter_copy().
Referenced by ED_spacetype_spreadsheet().
Definition at line 524 of file space_spreadsheet.cc.
References BLI_str_format_int_grouped(), C, CTX_wm_space_spreadsheet(), SpaceSpreadsheet::runtime, TH_BACK, SpaceSpreadsheet_Runtime::tot_columns, SpaceSpreadsheet_Runtime::tot_rows, UI_block_align_end(), UI_block_begin(), UI_block_draw(), UI_block_end(), UI_block_layout(), UI_block_layout_resolve(), UI_EMBOSS, UI_HEADER_OFFSET, UI_LAYOUT_ALIGN_RIGHT, UI_LAYOUT_HEADER, UI_LAYOUT_HORIZONTAL, UI_style_get_dpi(), UI_ThemeClearColor(), UI_UNIT_Y, uiItemL(), uiItemSpacer(), uiLayoutSetAlignment(), SpaceSpreadsheet_Runtime::visible_rows, ARegion::winx, and ARegion::winy.
Referenced by ED_spacetype_spreadsheet().
Definition at line 562 of file space_spreadsheet.cc.
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 519 of file space_spreadsheet.cc.
References ED_region_header_init().
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 566 of file space_spreadsheet.cc.
Referenced by ED_spacetype_spreadsheet().
Definition at line 96 of file space_spreadsheet.cc.
References SpaceSpreadsheet::columns, blender::compositor::context, SpaceSpreadsheet::context_path, LISTBASE_FOREACH_MUTABLE, SpaceSpreadsheet::row_filters, SpaceSpreadsheet::runtime, blender::ed::spreadsheet::spreadsheet_column_free(), blender::ed::spreadsheet::spreadsheet_context_free(), and blender::ed::spreadsheet::spreadsheet_row_filter_free().
Referenced by ED_spacetype_spreadsheet().
Object* spreadsheet_get_object_eval | ( | const SpaceSpreadsheet * | sspreadsheet, |
const Depsgraph * | depsgraph | ||
) |
Definition at line 253 of file space_spreadsheet.cc.
References DEG_get_evaluated_object(), depsgraph, ED_spreadsheet_get_current_id(), ELEM, GS, ID_OB, ID::name, OB_CURVES, OB_CURVES_LEGACY, OB_FONT, OB_MESH, OB_POINTCLOUD, OB_VOLUME, and Object::type.
Referenced by get_data_source(), and blender::ed::spreadsheet::spreadsheet_data_set_panel_draw().
Definition at line 476 of file space_spreadsheet.cc.
References C, ED_region_header(), and spreadsheet_update_context_path().
Referenced by ED_spacetype_spreadsheet().
Definition at line 482 of file space_spreadsheet.cc.
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 471 of file space_spreadsheet.cc.
References ED_region_header_init().
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 486 of file space_spreadsheet.cc.
References wmNotifier::category, wmNotifier::data, ED_region_tag_redraw(), NC_GEOM, NC_OBJECT, NC_SCENE, NC_SPACE, ND_MODE, ND_OB_ACTIVE, ND_SPACE_SPREADSHEET, and params.
Referenced by ED_spacetype_spreadsheet(), and spreadsheet_dataset_region_listener().
|
static |
Definition at line 159 of file space_spreadsheet.cc.
References BKE_id_remapper_apply(), blender::compositor::context, SpaceSpreadsheet::context_path, GS, Object::id, ID_OB, ID_REMAP_APPLY_DEFAULT, LISTBASE_FOREACH, ID::name, SpreadsheetContextObject::object, and SPREADSHEET_CONTEXT_OBJECT.
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 113 of file space_spreadsheet.cc.
References blender::compositor::area(), if(), and SpaceSpreadsheet::runtime.
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 153 of file space_spreadsheet.cc.
References SPACE_SPREADSHEET, and WM_keymap_ensure().
Referenced by ED_spacetype_spreadsheet().
Definition at line 387 of file space_spreadsheet.cc.
References blender::ResourceScope::add(), BKE_area_find_region_type(), BLI_assert, C, SpaceSpreadsheet_Runtime::cache, blender::ed::spreadsheet::SpreadsheetLayout::columns, SpaceSpreadsheet::columns, CTX_wm_area(), CTX_wm_space_spreadsheet(), blender::ed::spreadsheet::draw_spreadsheet_in_region(), ED_region_tag_redraw(), get_column_width_in_pixels(), get_data_source(), get_index_column_width(), blender::ed::spreadsheet::SpreadsheetLayout::index_column_width, LISTBASE_FOREACH, blender::ed::spreadsheet::ColumnValues::name(), blender::ed::spreadsheet::SpreadsheetCache::remove_all_unused(), RGN_TYPE_FOOTER, RGN_TYPE_UI, blender::ed::spreadsheet::SpreadsheetLayout::row_indices, SpaceSpreadsheet::runtime, blender::ed::spreadsheet::SpreadsheetCache::set_all_unused(), blender::IndexMask::size(), blender::ed::spreadsheet::spreadsheet_column_assign_runtime_data(), blender::ed::spreadsheet::spreadsheet_drawer_from_layout(), blender::ed::spreadsheet::spreadsheet_filter_rows(), spreadsheet_update_context_path(), SpaceSpreadsheet_Runtime::tot_columns, SpaceSpreadsheet_Runtime::tot_rows, blender::ed::spreadsheet::ColumnValues::type(), update_visible_columns(), SpaceSpreadsheet_Runtime::visible_rows, and width.
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 179 of file space_spreadsheet.cc.
References View2D::align, wmWindowManager::defaultconf, ARegion::handlers, View2D::keeptot, View2D::keepzoom, View2D::maxzoom, View2D::minzoom, View2D::scroll, SPACE_SPREADSHEET, UI_view2d_region_reinit(), ARegion::v2d, V2D_ALIGN_NO_NEG_X, V2D_ALIGN_NO_POS_Y, V2D_COMMONVIEW_LIST, V2D_KEEPASPECT, V2D_KEEPTOT_STRICT, V2D_LIMITZOOM, V2D_LOCKZOOM_X, V2D_LOCKZOOM_Y, V2D_SCROLL_BOTTOM, V2D_SCROLL_RIGHT, ARegion::winx, ARegion::winy, WM_event_add_keymap_handler(), and WM_keymap_ensure().
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 436 of file space_spreadsheet.cc.
References wmNotifier::category, wmNotifier::data, ED_region_tag_redraw(), NC_GEOM, NC_OBJECT, NC_SCENE, NC_SPACE, NC_TEXTURE, ND_FRAME, ND_MODE, ND_OB_ACTIVE, ND_SPACE_SPREADSHEET, and params.
Referenced by ED_spacetype_spreadsheet().
Definition at line 608 of file space_spreadsheet.cc.
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 612 of file space_spreadsheet.cc.
Referenced by ED_spacetype_spreadsheet().
|
static |
Definition at line 598 of file space_spreadsheet.cc.
References wmWindowManager::defaultconf, ED_region_panels_init(), ARegion::handlers, SPACE_SPREADSHEET, UI_panel_category_active_set_default(), WM_event_add_keymap_handler(), and WM_keymap_ensure().
Referenced by ED_spacetype_spreadsheet().
Definition at line 242 of file space_spreadsheet.cc.
References C, CTX_wm_space_spreadsheet(), SpaceSpreadsheet::flag, SPREADSHEET_FLAG_PINNED, update_context_path_from_context(), and update_pinned_context_path_if_outdated().
Referenced by spreadsheet_dataset_region_draw(), spreadsheet_header_region_draw(), and spreadsheet_main_region_draw().
Definition at line 231 of file space_spreadsheet.cc.
References C, CTX_wm_area(), CTX_wm_space_spreadsheet(), ED_area_tag_redraw(), ED_spreadsheet_context_path_guess(), ED_spreadsheet_context_path_is_active(), and ED_spreadsheet_context_path_update_tag().
Referenced by spreadsheet_update_context_path().
Definition at line 214 of file space_spreadsheet.cc.
References BLI_listbase_is_empty(), C, SpaceSpreadsheet::context_path, CTX_data_main(), CTX_wm_area(), CTX_wm_space_spreadsheet(), ED_area_tag_redraw(), ED_spreadsheet_context_path_exists(), ED_spreadsheet_context_path_guess(), ED_spreadsheet_context_path_update_tag(), SpaceSpreadsheet::flag, and SPREADSHEET_FLAG_PINNED.
Referenced by spreadsheet_update_context_path().
|
static |
Definition at line 349 of file space_spreadsheet.cc.
References blender::Set< Key, InlineBufferCapacity, ProbingStrategy, Hash, IsEqual, Slot, Allocator >::add(), BLI_remlink(), blender::ed::spreadsheet::DataSource::foreach_default_column_ids(), blender::ed::spreadsheet::DataSource::get_column_values(), LISTBASE_FOREACH_MUTABLE, and blender::ed::spreadsheet::spreadsheet_column_free().
Referenced by spreadsheet_main_region_draw().