Blender V4.3
blender::ui::greasepencil::LayerViewItem Class Reference

Inherits blender::ui::AbstractTreeViewItem.

Public Member Functions

 LayerViewItem (GreasePencil &grease_pencil, Layer &layer)
 
void build_row (uiLayout &row) override
 
bool supports_collapsing () const override
 
std::optional< bool > should_be_active () const override
 
void on_activate (bContext &C) override
 
bool supports_renaming () const override
 
bool rename (const bContext &C, StringRefNull new_name) override
 
StringRef get_rename_string () const override
 
std::unique_ptr< AbstractViewItemDragControllercreate_drag_controller () const override
 
std::unique_ptr< TreeViewItemDropTargetcreate_drop_target () override
 
- Public Member Functions inherited from blender::ui::AbstractTreeViewItem
 ~AbstractTreeViewItem () override=default
 
std::optional< std::string > debug_name () const override
 
std::unique_ptr< DropTargetInterfacecreate_item_drop_target () final
 
AbstractTreeViewget_tree_view () const
 
std::optional< rctfget_win_rect (const ARegion &region) const
 
void begin_renaming ()
 
bool toggle_collapsed ()
 
virtual bool set_collapsed (bool collapsed)
 
void uncollapse_by_default ()
 
bool is_collapsed () const
 
bool is_collapsible () const
 
int count_parents () const
 
virtual void on_collapse_change (bContext &C, bool is_collapsed)
 
virtual std::optional< bool > should_be_collapsed () const
 
- Public Member Functions inherited from blender::ui::AbstractViewItem
virtual ~AbstractViewItem ()=default
 
virtual void build_context_menu (bContext &C, uiLayout &column) const
 
AbstractViewget_view () const
 
uiButViewItemview_item_button () const
 
void disable_interaction ()
 
bool is_interactive () const
 
void disable_activatable ()
 
bool is_active () const
 
bool is_search_highlight () const
 
void activate (bContext &C)
 
void deactivate ()
 
bool is_renaming () const
 
void begin_renaming ()
 
void end_renaming ()
 
void rename_apply (const bContext &C)
 
bool is_filtered_visible () const
 
- Public Member Functions inherited from blender::ui::TreeViewItemContainer
template<class ItemT , typename... Args>
ItemT & add_tree_item (Args &&...args)
 
AbstractTreeViewItemadd_tree_item (std::unique_ptr< AbstractTreeViewItem > item)
 

Additional Inherited Members

- Public Types inherited from blender::ui::TreeViewItemContainer
enum class  IterOptions { None = 0 , SkipCollapsed = 1 << 0 , SkipFiltered = 1 << 1 }
 
using ItemIterFn = FunctionRef<void(AbstractTreeViewItem &)>
 
- Protected Member Functions inherited from blender::ui::AbstractTreeViewItem
void toggle_collapsed_from_view (bContext &C)
 
void change_state_delayed () override
 
bool matches (const AbstractViewItem &other) const override
 
void update_from_old (const AbstractViewItem &old) override
 
virtual bool matches_single (const AbstractTreeViewItem &other) const
 
bool is_hovered () const
 
void ensure_parents_uncollapsed ()
 
- Protected Member Functions inherited from blender::ui::AbstractViewItem
 AbstractViewItem ()=default
 
void add_rename_button (uiBlock &block)
 
virtual bool should_be_filtered_visible (StringRefNull filter_string) const
 
- Protected Member Functions inherited from blender::ui::TreeViewItemContainer
void foreach_item_recursive (ItemIterFn iter_fn, IterOptions options=IterOptions::None) const
 
void foreach_parent (ItemIterFn iter_fn) const
 
- Protected Attributes inherited from blender::ui::AbstractTreeViewItem
std::string label_
 
- Protected Attributes inherited from blender::ui::AbstractViewItem
AbstractViewview_ = nullptr
 
uiButViewItemview_item_but_ = nullptr
 
bool is_activatable_ = true
 
bool is_interactive_ = true
 
bool is_active_ = false
 
bool is_renaming_ = false
 
bool is_highlighted_search_ = false
 
bool is_filtered_visible_ = true
 
- Protected Attributes inherited from blender::ui::TreeViewItemContainer
Vector< std::unique_ptr< AbstractTreeViewItem > > children_
 
TreeViewItemContainerroot_ = nullptr
 
AbstractTreeViewItemparent_ = nullptr
 

Detailed Description

Constructor & Destructor Documentation

◆ LayerViewItem()

blender::ui::greasepencil::LayerViewItem::LayerViewItem ( GreasePencil & grease_pencil,
Layer & layer )
inline

Member Function Documentation

◆ build_row()

void blender::ui::greasepencil::LayerViewItem::build_row ( uiLayout & row)
inlineoverridevirtual

◆ create_drag_controller()

std::unique_ptr< AbstractViewItemDragController > blender::ui::greasepencil::LayerViewItem::create_drag_controller ( ) const
inlineoverridevirtual

If an item wants to support being dragged, it has to return a drag controller here. That is an object implementing #AbstractViewItemDragController.

Reimplemented from blender::ui::AbstractViewItem.

Definition at line 277 of file interface_template_grease_pencil_layer_tree.cc.

References GreasePencilLayer::base, and blender::ui::AbstractTreeViewItem::get_tree_view().

◆ create_drop_target()

std::unique_ptr< TreeViewItemDropTarget > blender::ui::greasepencil::LayerViewItem::create_drop_target ( )
inlineoverridevirtual

◆ get_rename_string()

StringRef blender::ui::greasepencil::LayerViewItem::get_rename_string ( ) const
inlineoverridevirtual

◆ on_activate()

void blender::ui::greasepencil::LayerViewItem::on_activate ( bContext & C)
inlineoverridevirtual

Called when the view changes an item's state from inactive to active. Will only be called if the state change is triggered through the view, not through external changes. E.g. a click on an item calls it, a change in the value returned by should_be_active() to reflect an external state change does not.

Reimplemented from blender::ui::AbstractViewItem.

Definition at line 233 of file interface_template_grease_pencil_layer_tree.cc.

References CTX_wm_message_bus(), ED_undo_push(), GreasePencil::id, RNA_pointer_create(), RNA_property_pointer_set(), RNA_property_update(), RNA_struct_find_property(), and WM_msg_publish_rna_prop.

◆ rename()

bool blender::ui::greasepencil::LayerViewItem::rename ( const bContext & C,
StringRefNull new_name )
inlineoverridevirtual

◆ should_be_active()

std::optional< bool > blender::ui::greasepencil::LayerViewItem::should_be_active ( ) const
inlineoverridevirtual

If the result is not empty, it controls whether the item should be active or not, usually depending on the data that the view represents. Note that since this is meant to reflect externally managed state changes, on_activate() will never be called if this returns true.

Reimplemented from blender::ui::AbstractViewItem.

Definition at line 224 of file interface_template_grease_pencil_layer_tree.cc.

◆ supports_collapsing()

bool blender::ui::greasepencil::LayerViewItem::supports_collapsing ( ) const
inlineoverridevirtual

Return whether the item can be collapsed. Used to disable collapsing for items with children. The default implementation returns true.

Reimplemented from blender::ui::AbstractTreeViewItem.

Definition at line 217 of file interface_template_grease_pencil_layer_tree.cc.

◆ supports_renaming()

bool blender::ui::greasepencil::LayerViewItem::supports_renaming ( ) const
inlineoverridevirtual

Queries if the view item supports renaming in principle. Renaming may still fail, e.g. if another item is already being renamed.

Reimplemented from blender::ui::AbstractViewItem.

Definition at line 255 of file interface_template_grease_pencil_layer_tree.cc.


The documentation for this class was generated from the following file: