Blender V2.61 - r43446
Classes | Defines | Functions

outliner_draw.c File Reference

#include <string.h>
#include <stdlib.h>
#include "MEM_guardedalloc.h"
#include "DNA_anim_types.h"
#include "DNA_armature_types.h"
#include "DNA_camera_types.h"
#include "DNA_group_types.h"
#include "DNA_key_types.h"
#include "DNA_lamp_types.h"
#include "DNA_material_types.h"
#include "DNA_mesh_types.h"
#include "DNA_meta_types.h"
#include "DNA_particle_types.h"
#include "DNA_scene_types.h"
#include "DNA_world_types.h"
#include "DNA_sequence_types.h"
#include "DNA_object_types.h"
#include "BLI_blenlib.h"
#include "BLI_utildefines.h"
#include "BKE_animsys.h"
#include "BKE_context.h"
#include "BKE_deform.h"
#include "BKE_depsgraph.h"
#include "BKE_fcurve.h"
#include "BKE_global.h"
#include "BKE_group.h"
#include "BKE_library.h"
#include "BKE_main.h"
#include "BKE_modifier.h"
#include "BKE_report.h"
#include "BKE_scene.h"
#include "BKE_sequencer.h"
#include "BLI_ghash.h"
#include "ED_armature.h"
#include "ED_object.h"
#include "ED_screen.h"
#include "ED_util.h"
#include "WM_api.h"
#include "WM_types.h"
#include "BIF_gl.h"
#include "BIF_glutil.h"
#include "UI_interface.h"
#include "UI_interface_icons.h"
#include "UI_resources.h"
#include "UI_view2d.h"
#include "RNA_access.h"
#include "RNA_define.h"
#include "outliner_intern.h"

Go to the source code of this file.

Classes

struct  DrawIconArg

Defines

#define OL_KM_KEYBOARD   0
#define OL_KM_MOUSE   1
#define OL_KM_TWEAK   2
#define OL_KM_SPECIALS   3

Functions

static void outliner_height (SpaceOops *soops, ListBase *lb, int *h)
static void outliner_rna_width (SpaceOops *soops, ListBase *lb, int *w, int startx)
static void restrictbutton_view_cb (bContext *C, void *poin, void *poin2)
static void restrictbutton_sel_cb (bContext *C, void *poin, void *poin2)
static void restrictbutton_rend_cb (bContext *C, void *poin, void *UNUSED(poin2))
static void restrictbutton_r_lay_cb (bContext *C, void *poin, void *UNUSED(poin2))
static void restrictbutton_modifier_cb (bContext *C, void *UNUSED(poin), void *poin2)
static void restrictbutton_bone_cb (bContext *C, void *UNUSED(poin), void *poin2)
static void restrictbutton_ebone_cb (bContext *C, void *UNUSED(poin), void *poin2)
static int group_restrict_flag (Group *gr, int flag)
static int group_select_flag (Group *gr)
void restrictbutton_gr_restrict_flag (void *poin, void *poin2, int flag)
static void restrictbutton_gr_restrict_view (bContext *C, void *poin, void *poin2)
static void restrictbutton_gr_restrict_select (bContext *C, void *poin, void *poin2)
static void restrictbutton_gr_restrict_render (bContext *C, void *poin, void *poin2)
static void namebutton_cb (bContext *C, void *tsep, char *oldname)
static void outliner_draw_restrictbuts (uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, ListBase *lb)
static void outliner_draw_rnacols (ARegion *ar, int sizex)
static void outliner_draw_rnabuts (uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, int sizex, ListBase *lb)
static void operator_call_cb (struct bContext *UNUSED(C), void *arg_kmi, void *arg2)
static void operator_search_cb (const struct bContext *UNUSED(C), void *UNUSED(arg_kmi), const char *str, uiSearchItems *items)
static uiBlockoperator_search_menu (bContext *C, ARegion *ar, void *arg_kmi)
static short keymap_menu_type (short type)
static const char * keymap_type_menu (void)
static const char * keymap_mouse_menu (void)
static const char * keymap_tweak_menu (void)
static const char * keymap_tweak_dir_menu (void)
static void keymap_type_cb (bContext *C, void *kmi_v, void *UNUSED(arg_v))
static void outliner_draw_keymapbuts (uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
static void outliner_buttons (const bContext *C, uiBlock *block, ARegion *ar, SpaceOops *soops, ListBase *lb)
static void tselem_draw_icon_uibut (struct DrawIconArg *arg, int icon)
static void tselem_draw_icon (uiBlock *block, int xmax, float x, float y, TreeStoreElem *tselem, TreeElement *te, float alpha)
static void outliner_draw_iconrow (bContext *C, uiBlock *block, Scene *scene, SpaceOops *soops, ListBase *lb, int level, int xmax, int *offsx, int ys)
static void outliner_set_coord_tree_element (SpaceOops *soops, TreeElement *te, int startx, int *starty)
static void outliner_draw_tree_element (bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops, TreeElement *te, int startx, int *starty)
static void outliner_draw_hierarchy (SpaceOops *soops, ListBase *lb, int startx, int *starty)
static void outliner_draw_struct_marks (ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
static void outliner_draw_selection (ARegion *ar, SpaceOops *soops, ListBase *lb, int *starty)
static void outliner_draw_tree (bContext *C, uiBlock *block, Scene *scene, ARegion *ar, SpaceOops *soops)
static void outliner_back (ARegion *ar)
static void outliner_draw_restrictcols (ARegion *ar)
void draw_outliner (const bContext *C)

Detailed Description

Definition in file outliner_draw.c.


Define Documentation

#define OL_KM_KEYBOARD   0
#define OL_KM_MOUSE   1
#define OL_KM_SPECIALS   3

Definition at line 651 of file outliner_draw.c.

Referenced by keymap_type_cb().

#define OL_KM_TWEAK   2

Function Documentation

void draw_outliner ( const bContext C)
static int group_restrict_flag ( Group gr,
int  flag 
) [static]
static int group_select_flag ( Group gr) [static]
static short keymap_menu_type ( short  type) [static]

Definition at line 653 of file outliner_draw.c.

References ISKEYBOARD, ISMOUSE, ISTWEAK, OL_KM_KEYBOARD, OL_KM_MOUSE, and OL_KM_TWEAK.

Referenced by keymap_type_cb(), and outliner_draw_keymapbuts().

static const char* keymap_mouse_menu ( void  ) [static]
static const char* keymap_tweak_dir_menu ( void  ) [static]
static const char* keymap_tweak_menu ( void  ) [static]

Definition at line 701 of file outliner_draw.c.

References EVT_TWEAK_A, EVT_TWEAK_L, EVT_TWEAK_M, EVT_TWEAK_R, EVT_TWEAK_S, and STRINGIFY.

Referenced by outliner_draw_keymapbuts().

static void keymap_type_cb ( bContext C,
void *  kmi_v,
void *  UNUSEDarg_v 
) [static]
static const char* keymap_type_menu ( void  ) [static]

Definition at line 662 of file outliner_draw.c.

References OL_KM_KEYBOARD, OL_KM_MOUSE, OL_KM_TWEAK, and STRINGIFY.

Referenced by outliner_draw_keymapbuts().

static void namebutton_cb ( bContext C,
void *  tsep,
char *  oldname 
) [static]
static void operator_call_cb ( struct bContext UNUSEDC,
void *  arg_kmi,
void *  arg2 
) [static]
static void operator_search_cb ( const struct bContext UNUSEDC,
void *  UNUSEDarg_kmi,
const char *  str,
uiSearchItems items 
) [static]
static uiBlock* operator_search_menu ( bContext C,
ARegion ar,
void *  arg_kmi 
) [static]
static void outliner_back ( ARegion ar) [static]
static void outliner_buttons ( const bContext C,
uiBlock block,
ARegion ar,
SpaceOops soops,
ListBase lb 
) [static]
static void outliner_draw_hierarchy ( SpaceOops soops,
ListBase lb,
int  startx,
int *  starty 
) [static]
static void outliner_draw_iconrow ( bContext C,
uiBlock block,
Scene scene,
SpaceOops soops,
ListBase lb,
int  level,
int  xmax,
int *  offsx,
int  ys 
) [static]
static void outliner_draw_keymapbuts ( uiBlock block,
ARegion ar,
SpaceOops soops,
ListBase lb 
) [static]
static void outliner_draw_restrictbuts ( uiBlock block,
Scene scene,
ARegion ar,
SpaceOops soops,
ListBase lb 
) [static]
static void outliner_draw_restrictcols ( ARegion ar) [static]
static void outliner_draw_rnabuts ( uiBlock block,
Scene scene,
ARegion ar,
SpaceOops soops,
int  sizex,
ListBase lb 
) [static]
static void outliner_draw_rnacols ( ARegion ar,
int  sizex 
) [static]
static void outliner_draw_selection ( ARegion ar,
SpaceOops soops,
ListBase lb,
int *  starty 
) [static]
static void outliner_draw_struct_marks ( ARegion ar,
SpaceOops soops,
ListBase lb,
int *  starty 
) [static]
static void outliner_draw_tree ( bContext C,
uiBlock block,
Scene scene,
ARegion ar,
SpaceOops soops 
) [static]
static void outliner_draw_tree_element ( bContext C,
uiBlock block,
Scene scene,
ARegion ar,
SpaceOops soops,
TreeElement te,
int  startx,
int *  starty 
) [static]
static void outliner_height ( SpaceOops soops,
ListBase lb,
int *  h 
) [static]
static void outliner_rna_width ( SpaceOops soops,
ListBase lb,
int *  w,
int  startx 
) [static]
static void outliner_set_coord_tree_element ( SpaceOops soops,
TreeElement te,
int  startx,
int *  starty 
) [static]
static void restrictbutton_bone_cb ( bContext C,
void *  UNUSEDpoin,
void *  poin2 
) [static]
static void restrictbutton_ebone_cb ( bContext C,
void *  UNUSEDpoin,
void *  poin2 
) [static]
void restrictbutton_gr_restrict_flag ( void *  poin,
void *  poin2,
int  flag 
)
static void restrictbutton_gr_restrict_render ( bContext C,
void *  poin,
void *  poin2 
) [static]
static void restrictbutton_gr_restrict_select ( bContext C,
void *  poin,
void *  poin2 
) [static]
static void restrictbutton_gr_restrict_view ( bContext C,
void *  poin,
void *  poin2 
) [static]
static void restrictbutton_modifier_cb ( bContext C,
void *  UNUSEDpoin,
void *  poin2 
) [static]
static void restrictbutton_r_lay_cb ( bContext C,
void *  poin,
void *  UNUSEDpoin2 
) [static]

Definition at line 185 of file outliner_draw.c.

References NC_SCENE, ND_RENDER_OPTIONS, and WM_event_add_notifier().

Referenced by outliner_draw_restrictbuts().

static void restrictbutton_rend_cb ( bContext C,
void *  poin,
void *  UNUSEDpoin2 
) [static]

Definition at line 180 of file outliner_draw.c.

References NC_SCENE, ND_OB_RENDER, and WM_event_add_notifier().

Referenced by outliner_draw_restrictbuts().

static void restrictbutton_sel_cb ( bContext C,
void *  poin,
void *  poin2 
) [static]
static void restrictbutton_view_cb ( bContext C,
void *  poin,
void *  poin2 
) [static]
static void tselem_draw_icon ( uiBlock block,
int  xmax,
float  x,
float  y,
TreeStoreElem tselem,
TreeElement te,
float  alpha 
) [static]

Definition at line 911 of file outliner_draw.c.

References DrawIconArg::alpha, BLI_findlink(), DrawIconArg::block, PointerRNA::data, eModifierType_Armature, eModifierType_Array, eModifierType_Bevel, eModifierType_Boolean, eModifierType_Build, eModifierType_Cast, eModifierType_Cloth, eModifierType_Collision, eModifierType_Curve, eModifierType_Decimate, eModifierType_Displace, eModifierType_DynamicPaint, eModifierType_EdgeSplit, eModifierType_Explode, eModifierType_Fluidsim, eModifierType_Hook, eModifierType_Lattice, eModifierType_Mask, eModifierType_MeshDeform, eModifierType_Mirror, eModifierType_Multires, eModifierType_ParticleInstance, eModifierType_ParticleSystem, eModifierType_Remesh, eModifierType_Screw, eModifierType_Shrinkwrap, eModifierType_SimpleDeform, eModifierType_Smoke, eModifierType_Smooth, eModifierType_Softbody, eModifierType_Solidify, eModifierType_Subsurf, eModifierType_UVProject, eModifierType_Wave, eModifierType_WeightVGEdit, eModifierType_WeightVGMix, eModifierType_WeightVGProximity, GS, TreeStoreElem::id, DrawIconArg::id, ID_AC, ID_AR, ID_CA, ID_CU, ID_GR, ID_IM, ID_KE, ID_LA, ID_LI, ID_LT, ID_MA, ID_MB, ID_ME, ID_NLA, ID_OB, ID_SCE, ID_SO, ID_SPK, ID_TE, ID_TXT, ID_WO, TreeElement::idcode, LA_AREA, LA_HEMI, LA_LOCAL, LA_SPOT, LA_SUN, Object::modifiers, ID::name, TreeStoreElem::nr, OB_ARMATURE, OB_CAMERA, OB_CURVE, OB_EMPTY, OB_FONT, OB_LAMP, OB_LATTICE, OB_MBALL, OB_MESH, OB_SPEAKER, OB_SURF, RNA_struct_is_ID(), RNA_struct_ui_icon(), TreeElement::rnaptr, SEQ_IMAGE, SEQ_META, SEQ_MOVIE, SEQ_SCENE, SEQ_SOUND, TSE_ANIM_DATA, TSE_BONE, TSE_CONSTRAINT_BASE, TSE_DEFGROUP_BASE, TSE_DRIVER_BASE, TSE_EBONE, TSE_LINKED_LAMP, TSE_LINKED_MAT, TSE_LINKED_OB, TSE_LINKED_PSYS, TSE_MODIFIER, TSE_MODIFIER_BASE, TSE_NLA, TSE_NLA_ACTION, TSE_NLA_TRACK, TSE_POSE_BASE, TSE_POSE_CHANNEL, TSE_POSEGRP_BASE, TSE_PROXY, TSE_R_LAYER, TSE_R_LAYER_BASE, TSE_RNA_STRUCT, TSE_SCRIPT_BASE, TSE_SEQ_STRIP, TSE_SEQUENCE, TSE_SEQUENCE_DUP, tselem_draw_icon_uibut(), Lamp::type, Object::type, PointerRNA::type, TreeStoreElem::type, UI_icon_draw(), DrawIconArg::x, DrawIconArg::xmax, and DrawIconArg::y.

Referenced by outliner_draw_iconrow(), and outliner_draw_tree_element().

static void tselem_draw_icon_uibut ( struct DrawIconArg arg,
int  icon 
) [static]