Blender  V3.3
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
blender::ui::AbstractGridView Class Referenceabstract

#include <UI_grid_view.hh>

Inheritance diagram for blender::ui::AbstractGridView:
blender::ui::AbstractView

Public Types

using ItemIterFn = FunctionRef< void(AbstractGridViewItem &)>
 

Public Member Functions

 AbstractGridView ()
 
virtual ~AbstractGridView ()=default
 
void foreach_item (ItemIterFn iter_fn) const
 
template<class ItemT , typename... Args>
ItemT & add_item (Args &&...args)
 
const GridViewStyleget_style () const
 
int get_item_count () const
 
- Public Member Functions inherited from blender::ui::AbstractView
virtual ~AbstractView ()=default
 
void register_item (AbstractViewItem &item)
 
virtual bool listen (const wmNotifier &) const
 
bool is_renaming () const
 
bool begin_renaming ()
 
void end_renaming ()
 
Span< char > get_rename_buffer () const
 
MutableSpan< char > get_rename_buffer ()
 

Protected Member Functions

virtual void build_items ()=0
 
- Protected Member Functions inherited from blender::ui::AbstractView
 AbstractView ()=default
 
void update_from_old (uiBlock &new_block)
 
bool is_reconstructed () const
 

Protected Attributes

Vector< std::unique_ptr< AbstractGridViewItem > > items_
 
Map< StringRef, AbstractGridViewItem * > item_map_
 
GridViewStyle style_
 

Friends

class AbstractGridViewItem
 
class GridViewBuilder
 
class GridViewLayoutBuilder
 

Detailed Description

Definition at line 94 of file UI_grid_view.hh.

Member Typedef Documentation

◆ ItemIterFn

Definition at line 110 of file UI_grid_view.hh.

Constructor & Destructor Documentation

◆ AbstractGridView()

blender::ui::AbstractGridView::AbstractGridView ( )

Definition at line 23 of file grid_view.cc.

◆ ~AbstractGridView()

virtual blender::ui::AbstractGridView::~AbstractGridView ( )
virtualdefault

Member Function Documentation

◆ add_item()

template<class ItemT , typename... Args>
ItemT & blender::ui::AbstractGridView::add_item ( Args &&...  args)
inline

Convenience wrapper constructing the item by forwarding given arguments to the constructor of the type (ItemT).

E.g. if your grid-item type has the following constructor:

MyGridItem(std::string str, int i);
#define str(s)

You can add an item like this:

add_item<MyGridItem>("blabla", 42);

Definition at line 221 of file UI_grid_view.hh.

◆ build_items()

virtual void blender::ui::AbstractGridView::build_items ( )
protectedpure virtual

◆ foreach_item()

void blender::ui::AbstractGridView::foreach_item ( ItemIterFn  iter_fn) const

◆ get_item_count()

int blender::ui::AbstractGridView::get_item_count ( ) const

◆ get_style()

const GridViewStyle & blender::ui::AbstractGridView::get_style ( ) const

Friends And Related Function Documentation

◆ AbstractGridViewItem

friend class AbstractGridViewItem
friend

Definition at line 95 of file UI_grid_view.hh.

◆ GridViewBuilder

friend class GridViewBuilder
friend

Definition at line 96 of file UI_grid_view.hh.

◆ GridViewLayoutBuilder

friend class GridViewLayoutBuilder
friend

Definition at line 97 of file UI_grid_view.hh.

Member Data Documentation

◆ item_map_

Map<StringRef, AbstractGridViewItem *> blender::ui::AbstractGridView::item_map_
protected

<identifier, item> map to lookup items by identifier, used for efficient lookups in update_from_old().

Definition at line 103 of file UI_grid_view.hh.

◆ items_

Vector<std::unique_ptr<AbstractGridViewItem> > blender::ui::AbstractGridView::items_
protected

Definition at line 100 of file UI_grid_view.hh.

Referenced by foreach_item(), and get_item_count().

◆ style_

GridViewStyle blender::ui::AbstractGridView::style_
protected

Definition at line 104 of file UI_grid_view.hh.

Referenced by get_style().


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