Blender  V3.3
Functions
wm_toolsystem.c File Reference
#include <string.h>
#include "CLG_log.h"
#include "MEM_guardedalloc.h"
#include "BLI_listbase.h"
#include "BLI_string.h"
#include "BLI_utildefines.h"
#include "DNA_ID.h"
#include "DNA_object_types.h"
#include "DNA_scene_types.h"
#include "DNA_space_types.h"
#include "DNA_windowmanager_types.h"
#include "DNA_workspace_types.h"
#include "BKE_brush.h"
#include "BKE_context.h"
#include "BKE_idprop.h"
#include "BKE_lib_id.h"
#include "BKE_main.h"
#include "BKE_paint.h"
#include "BKE_workspace.h"
#include "RNA_access.h"
#include "RNA_enum_types.h"
#include "WM_api.h"
#include "WM_message.h"
#include "WM_toolsystem.h"
#include "WM_types.h"

Go to the source code of this file.

Functions

static void toolsystem_reinit_with_toolref (bContext *C, WorkSpace *UNUSED(workspace), bToolRef *tref)
 
static bToolReftoolsystem_reinit_ensure_toolref (bContext *C, WorkSpace *workspace, const bToolKey *tkey, const char *default_tool)
 
static void toolsystem_refresh_screen_from_active_tool (Main *bmain, WorkSpace *workspace, bToolRef *tref)
 
static void toolsystem_unlink_ref (bContext *C, WorkSpace *UNUSED(workspace), bToolRef *tref)
 
void WM_toolsystem_unlink (bContext *C, WorkSpace *workspace, const bToolKey *tkey)
 
static void toolsystem_ref_link (bContext *C, WorkSpace *workspace, bToolRef *tref)
 
static void toolsystem_refresh_ref (bContext *C, WorkSpace *workspace, bToolRef *tref)
 
void WM_toolsystem_refresh (bContext *C, WorkSpace *workspace, const bToolKey *tkey)
 
static void toolsystem_reinit_ref (bContext *C, WorkSpace *workspace, bToolRef *tref)
 
void WM_toolsystem_reinit (bContext *C, WorkSpace *workspace, const bToolKey *tkey)
 
void WM_toolsystem_unlink_all (struct bContext *C, struct WorkSpace *workspace)
 
void WM_toolsystem_refresh_all (struct bContext *C, struct WorkSpace *workspace)
 
void WM_toolsystem_reinit_all (struct bContext *C, wmWindow *win)
 
void WM_toolsystem_ref_set_from_runtime (struct bContext *C, struct WorkSpace *workspace, bToolRef *tref, const bToolRef_Runtime *tref_rt, const char *idname)
 
void WM_toolsystem_ref_sync_from_context (Main *bmain, WorkSpace *workspace, bToolRef *tref)
 
void WM_toolsystem_init (bContext *C)
 
static bool toolsystem_key_ensure_check (const bToolKey *tkey)
 
int WM_toolsystem_mode_from_spacetype (ViewLayer *view_layer, ScrArea *area, int space_type)
 
bool WM_toolsystem_key_from_context (ViewLayer *view_layer, ScrArea *area, bToolKey *tkey)
 
void WM_toolsystem_refresh_active (bContext *C)
 
void WM_toolsystem_refresh_screen_area (WorkSpace *workspace, ViewLayer *view_layer, ScrArea *area)
 
void WM_toolsystem_refresh_screen_window (wmWindow *win)
 
void WM_toolsystem_refresh_screen_all (Main *bmain)
 
bToolRefWM_toolsystem_ref_set_by_id_ex (bContext *C, WorkSpace *workspace, const bToolKey *tkey, const char *name, bool cycle)
 
bToolRefWM_toolsystem_ref_set_by_id (bContext *C, const char *name)
 
static void toolsystem_reinit_with_toolref (bContext *C, WorkSpace *workspace, bToolRef *tref)
 
static const char * toolsystem_default_tool (const bToolKey *tkey)
 
static void wm_toolsystem_update_from_context_view3d_impl (bContext *C, WorkSpace *workspace)
 
void WM_toolsystem_update_from_context_view3d (bContext *C)
 
void WM_toolsystem_update_from_context (bContext *C, WorkSpace *workspace, ViewLayer *view_layer, ScrArea *area)
 
bool WM_toolsystem_active_tool_is_brush (const bContext *C)
 
void WM_toolsystem_do_msg_notify_tag_refresh (bContext *C, wmMsgSubscribeKey *UNUSED(msg_key), wmMsgSubscribeValue *msg_val)
 
static IDPropertyidprops_ensure_named_group (IDProperty *group, const char *idname)
 
IDPropertyWM_toolsystem_ref_properties_get_idprops (bToolRef *tref)
 
IDPropertyWM_toolsystem_ref_properties_ensure_idprops (bToolRef *tref)
 
bool WM_toolsystem_ref_properties_get_ex (bToolRef *tref, const char *idname, StructRNA *type, PointerRNA *r_ptr)
 
void WM_toolsystem_ref_properties_ensure_ex (bToolRef *tref, const char *idname, StructRNA *type, PointerRNA *r_ptr)
 
void WM_toolsystem_ref_properties_init_for_keymap (bToolRef *tref, PointerRNA *dst_ptr, PointerRNA *src_ptr, wmOperatorType *ot)
 
Tool Reference API
struct bToolRefWM_toolsystem_ref_from_context (struct bContext *C)
 
struct bToolRef_RuntimeWM_toolsystem_runtime_from_context (struct bContext *C)
 
bToolRefWM_toolsystem_ref_find (WorkSpace *workspace, const bToolKey *tkey)
 
bToolRef_RuntimeWM_toolsystem_runtime_find (WorkSpace *workspace, const bToolKey *tkey)
 
bool WM_toolsystem_ref_ensure (struct WorkSpace *workspace, const bToolKey *tkey, bToolRef **r_tref)
 

Detailed Description

Experimental tool-system>

Definition in file wm_toolsystem.c.

Function Documentation

◆ idprops_ensure_named_group()

static IDProperty* idprops_ensure_named_group ( IDProperty group,
const char *  idname 
)
static

◆ toolsystem_default_tool()

static const char* toolsystem_default_tool ( const bToolKey tkey)
static

◆ toolsystem_key_ensure_check()

static bool toolsystem_key_ensure_check ( const bToolKey tkey)
static

◆ toolsystem_ref_link()

static void toolsystem_ref_link ( bContext C,
WorkSpace workspace,
bToolRef tref 
)
static

◆ toolsystem_refresh_ref()

static void toolsystem_refresh_ref ( bContext C,
WorkSpace workspace,
bToolRef tref 
)
static

◆ toolsystem_refresh_screen_from_active_tool()

static void toolsystem_refresh_screen_from_active_tool ( Main bmain,
WorkSpace workspace,
bToolRef tref 
)
static

◆ toolsystem_reinit_ensure_toolref()

static bToolRef * toolsystem_reinit_ensure_toolref ( bContext C,
WorkSpace workspace,
const bToolKey tkey,
const char *  default_tool 
)
static

◆ toolsystem_reinit_ref()

static void toolsystem_reinit_ref ( bContext C,
WorkSpace workspace,
bToolRef tref 
)
static

Definition at line 233 of file wm_toolsystem.c.

References C, and toolsystem_reinit_with_toolref().

Referenced by WM_toolsystem_reinit(), and WM_toolsystem_reinit_all().

◆ toolsystem_reinit_with_toolref() [1/2]

static void toolsystem_reinit_with_toolref ( bContext C,
WorkSpace UNUSEDworkspace,
bToolRef tref 
)
static

◆ toolsystem_reinit_with_toolref() [2/2]

static void toolsystem_reinit_with_toolref ( bContext C,
WorkSpace workspace,
bToolRef tref 
)
static

◆ toolsystem_unlink_ref()

static void toolsystem_unlink_ref ( bContext C,
WorkSpace UNUSEDworkspace,
bToolRef tref 
)
static

◆ WM_toolsystem_active_tool_is_brush()

bool WM_toolsystem_active_tool_is_brush ( const bContext C)

◆ WM_toolsystem_do_msg_notify_tag_refresh()

void WM_toolsystem_do_msg_notify_tag_refresh ( bContext C,
wmMsgSubscribeKey UNUSEDmsg_key,
wmMsgSubscribeValue msg_val 
)

◆ WM_toolsystem_init()

void WM_toolsystem_init ( bContext C)

◆ WM_toolsystem_key_from_context()

bool WM_toolsystem_key_from_context ( ViewLayer view_layer,
ScrArea area,
bToolKey tkey 
)

◆ WM_toolsystem_mode_from_spacetype()

int WM_toolsystem_mode_from_spacetype ( ViewLayer view_layer,
ScrArea area,
int  space_type 
)

◆ WM_toolsystem_ref_ensure()

bool WM_toolsystem_ref_ensure ( struct WorkSpace workspace,
const bToolKey tkey,
bToolRef **  r_tref 
)

◆ WM_toolsystem_ref_find()

bToolRef* WM_toolsystem_ref_find ( WorkSpace workspace,
const bToolKey tkey 
)

◆ WM_toolsystem_ref_from_context()

struct bToolRef* WM_toolsystem_ref_from_context ( struct bContext C)

◆ WM_toolsystem_ref_properties_ensure_ex()

void WM_toolsystem_ref_properties_ensure_ex ( bToolRef tref,
const char *  idname,
StructRNA type,
PointerRNA r_ptr 
)

◆ WM_toolsystem_ref_properties_ensure_idprops()

IDProperty* WM_toolsystem_ref_properties_ensure_idprops ( bToolRef tref)

◆ WM_toolsystem_ref_properties_get_ex()

bool WM_toolsystem_ref_properties_get_ex ( bToolRef tref,
const char *  idname,
StructRNA type,
PointerRNA r_ptr 
)

◆ WM_toolsystem_ref_properties_get_idprops()

IDProperty* WM_toolsystem_ref_properties_get_idprops ( bToolRef tref)

◆ WM_toolsystem_ref_properties_init_for_keymap()

void WM_toolsystem_ref_properties_init_for_keymap ( bToolRef tref,
PointerRNA dst_ptr,
PointerRNA src_ptr,
wmOperatorType ot 
)

◆ WM_toolsystem_ref_set_by_id()

bToolRef* WM_toolsystem_ref_set_by_id ( bContext C,
const char *  name 
)

◆ WM_toolsystem_ref_set_by_id_ex()

bToolRef* WM_toolsystem_ref_set_by_id_ex ( bContext C,
WorkSpace workspace,
const bToolKey tkey,
const char *  name,
bool  cycle 
)

◆ WM_toolsystem_ref_set_from_runtime()

void WM_toolsystem_ref_set_from_runtime ( struct bContext C,
struct WorkSpace workspace,
bToolRef tref,
const bToolRef_Runtime tref_rt,
const char *  idname 
)

◆ WM_toolsystem_ref_sync_from_context()

void WM_toolsystem_ref_sync_from_context ( struct Main bmain,
struct WorkSpace workspace,
struct bToolRef tref 
)

◆ WM_toolsystem_refresh()

void WM_toolsystem_refresh ( bContext C,
WorkSpace workspace,
const bToolKey tkey 
)

◆ WM_toolsystem_refresh_active()

void WM_toolsystem_refresh_active ( struct bContext C)

◆ WM_toolsystem_refresh_all()

void WM_toolsystem_refresh_all ( struct bContext C,
struct WorkSpace workspace 
)

◆ WM_toolsystem_refresh_screen_all()

void WM_toolsystem_refresh_screen_all ( Main bmain)

◆ WM_toolsystem_refresh_screen_area()

void WM_toolsystem_refresh_screen_area ( WorkSpace workspace,
ViewLayer view_layer,
ScrArea area 
)

◆ WM_toolsystem_refresh_screen_window()

void WM_toolsystem_refresh_screen_window ( wmWindow win)

◆ WM_toolsystem_reinit()

void WM_toolsystem_reinit ( bContext C,
WorkSpace workspace,
const bToolKey tkey 
)

Definition at line 237 of file wm_toolsystem.c.

References C, toolsystem_reinit_ref(), and WM_toolsystem_ref_find().

◆ WM_toolsystem_reinit_all()

void WM_toolsystem_reinit_all ( struct bContext C,
wmWindow win 
)

◆ WM_toolsystem_runtime_find()

bToolRef_Runtime* WM_toolsystem_runtime_find ( WorkSpace workspace,
const bToolKey tkey 
)

Definition at line 94 of file wm_toolsystem.c.

References NULL, bToolRef::runtime, and WM_toolsystem_ref_find().

◆ WM_toolsystem_runtime_from_context()

struct bToolRef_Runtime* WM_toolsystem_runtime_from_context ( struct bContext C)

◆ WM_toolsystem_unlink()

void WM_toolsystem_unlink ( bContext C,
WorkSpace workspace,
const bToolKey tkey 
)

◆ WM_toolsystem_unlink_all()

void WM_toolsystem_unlink_all ( struct bContext C,
struct WorkSpace workspace 
)

Operate on all active tools.

Definition at line 245 of file wm_toolsystem.c.

References C, LISTBASE_FOREACH, WorkSpace::tools, and toolsystem_unlink_ref().

◆ WM_toolsystem_update_from_context()

void WM_toolsystem_update_from_context ( bContext C,
WorkSpace workspace,
ViewLayer view_layer,
ScrArea area 
)

◆ WM_toolsystem_update_from_context_view3d()

void WM_toolsystem_update_from_context_view3d ( bContext C)

◆ wm_toolsystem_update_from_context_view3d_impl()

static void wm_toolsystem_update_from_context_view3d_impl ( bContext C,
WorkSpace workspace 
)
static