Blender V5.0
abstract_view_item.cc File Reference
#include "BKE_context.hh"
#include "BLI_fnmatch.h"
#include "BLI_listbase.h"
#include "WM_api.hh"
#include "UI_interface_layout.hh"
#include "interface_intern.hh"
#include "UI_abstract_view.hh"
#include <stdexcept>

Go to the source code of this file.

Classes

class  blender::ui::ViewItemAPIWrapper

Namespaces

namespace  blender
namespace  blender::ui

Functions

Renaming
static AbstractViewItemblender::ui::find_item_from_rename_button (const uiBut &rename_but)
static void blender::ui::rename_button_fn (bContext *C, void *arg, char *)
C-API
bool UI_view_item_matches (const AbstractViewItem &a, const AbstractViewItem &b)
void ui_view_item_swap_button_pointers (AbstractViewItem &a, AbstractViewItem &b)
bool UI_view_item_can_rename (const AbstractViewItem &item)
void UI_view_item_begin_rename (AbstractViewItem &item)
bool UI_view_item_supports_drag (const AbstractViewItem &item)
bool UI_view_item_popup_keep_open (const AbstractViewItem &item)
bool UI_view_item_drag_start (bContext &C, AbstractViewItem &item)

Function Documentation

◆ UI_view_item_begin_rename()

void UI_view_item_begin_rename ( AbstractViewItem & item)

◆ UI_view_item_can_rename()

bool UI_view_item_can_rename ( const blender::ui::AbstractViewItem & item)

Can item be renamed right now? Note that this isn't just a mere wrapper around #AbstractViewItem::supports_renaming(). This also checks if there is another item being renamed, and returns false if so.

Definition at line 444 of file abstract_view_item.cc.

References blender::ui::AbstractViewItem::get_view(), blender::ui::AbstractViewItem::supports_renaming(), and view.

Referenced by ui_do_but_VIEW_ITEM(), and ui_view_item_rename_poll().

◆ UI_view_item_drag_start()

bool UI_view_item_drag_start ( bContext & C,
blender::ui::AbstractViewItem & item )

Attempt to start dragging item_. This will not work if the view item doesn't support dragging, i.e. if it won't create a drag-controller upon request.

Returns
True if dragging started successfully, otherwise false.

Definition at line 465 of file abstract_view_item.cc.

References C, blender::ui::AbstractViewItem::create_drag_controller(), blender::ui::AbstractViewItem::set_state_active(), WM_DRAG_FREE_DATA, and WM_event_start_drag().

Referenced by ui_but_drag_init().

◆ UI_view_item_matches()

bool UI_view_item_matches ( const AbstractViewItem & a,
const AbstractViewItem & b )

◆ UI_view_item_popup_keep_open()

bool UI_view_item_popup_keep_open ( const blender::ui::AbstractViewItem & item)

If this view is displayed in a popup, don't close it when clicking to activate items.

Definition at line 460 of file abstract_view_item.cc.

References blender::ui::AbstractView::get_popup_keep_open(), and blender::ui::AbstractViewItem::get_view().

Referenced by force_activate_view_item_but().

◆ UI_view_item_supports_drag()

bool UI_view_item_supports_drag ( const AbstractViewItem & item)

◆ ui_view_item_swap_button_pointers()

void ui_view_item_swap_button_pointers ( AbstractViewItem & a,
AbstractViewItem & b )