Files
test/source/blender/editors/interface/CMakeLists.txt
Julian Eisel 7d80fde033 UI: Popup version of the asset shelf
Developed as part of the brush assets project, see #106303. No user visible
changes at this point.

Makes it possible to display asset shelves as popups. These popup asset shelves
use static storage for their settings, mainly to remember the active catalog
and filter string, while keeping them separate from the permanent asset shelf
region. Further, the popup can be displayed in any editor, making asset
selectors possible to add anywhere in the UI. When an asset is chosen, an
operator passed to the asset shelf as bl_activate_operator is called, with an
asset weak-reference to refer to the activated asset stored in the operator
properties.

Adds UILayout.template_asset_shelf_popover() to insert asset shelf popup
buttons, taking an asset shelf idname and some normal UI parameters.
2024-05-16 00:11:47 +02:00

153 lines
3.4 KiB
CMake

# SPDX-FileCopyrightText: 2023 Blender Authors
#
# SPDX-License-Identifier: GPL-2.0-or-later
set(INC
.
../include
../asset
../../asset_system
../../blenkernel
../../blenloader
../../blentranslation
../../draw
../../functions
../../gpu
../../imbuf
../../makesrna
../../nodes
../../python
../../render
../../windowmanager
../../../../intern/ghost
../../bmesh
# RNA_prototypes.h
${CMAKE_BINARY_DIR}/source/blender/makesrna
)
set(INC_SYS
)
set(SRC
eyedroppers/eyedropper_color.cc
eyedroppers/eyedropper_colorband.cc
eyedroppers/eyedropper_datablock.cc
eyedroppers/eyedropper_depth.cc
eyedroppers/eyedropper_driver.cc
eyedroppers/eyedropper_gpencil_color.cc
eyedroppers/interface_eyedropper.cc
interface.cc
interface_align.cc
interface_anim.cc
interface_button_group.cc
interface_button_sections.cc
interface_context_menu.cc
interface_context_path.cc
interface_drag.cc
interface_draw.cc
interface_drop.cc
interface_dropboxes.cc
interface_handlers.cc
interface_icons.cc
interface_icons_event.cc
interface_layout.cc
interface_ops.cc
interface_panel.cc
interface_query.cc
regions/interface_region_color_picker.cc
regions/interface_region_hud.cc
regions/interface_region_menu_pie.cc
regions/interface_region_menu_popup.cc
regions/interface_region_popover.cc
regions/interface_region_popup.cc
regions/interface_region_search.cc
regions/interface_region_tooltip.cc
regions/interface_regions.cc
interface_string_search.cc
interface_style.cc
templates/interface_template_asset_shelf_popover.cc
templates/interface_template_asset_view.cc
templates/interface_template_attribute_search.cc
templates/interface_template_bone_collection_tree.cc
templates/interface_template_light_linking.cc
templates/interface_template_list.cc
templates/interface_template_node_inputs.cc
templates/interface_template_node_tree_interface.cc
templates/interface_template_search_menu.cc
templates/interface_template_search_operator.cc
templates/interface_templates.cc
interface_undo.cc
interface_utils.cc
interface_widgets.cc
resources.cc
view2d.cc
view2d_draw.cc
view2d_edge_pan.cc
view2d_gizmo_navigate.cc
view2d_ops.cc
views/abstract_view.cc
views/abstract_view_item.cc
views/grid_view.cc
views/interface_view.cc
views/tree_view.cc
eyedroppers/eyedropper_intern.hh
interface_intern.hh
regions/interface_regions_intern.hh
view2d_intern.hh
)
set(LIB
PRIVATE bf::blenfont
bf_blenkernel
PRIVATE bf::blenlib
PRIVATE bf::depsgraph
PRIVATE bf::dna
bf_editor_datafiles
PRIVATE bf::extern::fmtlib
PRIVATE bf::intern::guardedalloc
PRIVATE bf::animrig
)
if(WITH_INTERNATIONAL)
add_definitions(-DWITH_INTERNATIONAL)
endif()
if(WITH_HEADLESS)
add_definitions(-DWITH_HEADLESS)
endif()
if(WITH_PYTHON)
add_definitions(-DWITH_PYTHON)
endif()
if(WITH_INPUT_IME)
add_definitions(-DWITH_INPUT_IME)
endif()
if(WITH_EXPERIMENTAL_FEATURES)
add_definitions(-DWITH_GREASE_PENCIL_V3)
list(APPEND SRC
templates/interface_template_grease_pencil_layer_tree.cc
)
endif()
blender_add_lib(bf_editor_interface "${SRC}" "${INC}" "${INC_SYS}" "${LIB}")
# RNA_prototypes.h
add_dependencies(bf_editor_interface bf_rna)
if(WITH_GTESTS)
set(TEST_INC
)
set(TEST_SRC
interface_ops_test.cc
)
set(TEST_LIB
PRIVATE bf::intern::clog
)
blender_add_test_suite_lib(interface "${TEST_SRC}" "${INC};${TEST_INC}" "${INC_SYS}" "${LIB};${TEST_LIB}")
endif()