* Added different icon types to the outliner 'datablocks' view

Brecht, please let me know if I haven't done the right thing with the RNA stuff - I thought it was easier to ask for forgiveness than approval in this case :)

* Added a cute 'RNA' icon
This commit is contained in:
Matt Ebb 2008-12-31 03:05:08 +00:00
parent c6f15859ae
commit de52934331
4 changed files with 3992 additions and 4235 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 122 KiB

After

Width:  |  Height:  |  Size: 122 KiB

File diff suppressed because it is too large Load Diff

@ -216,12 +216,12 @@ typedef enum {
ICON_CAMERA_DEHLT,
ICON_BLANK078,
ICON_LIBRARY_DEHLT,
ICON_CIRCLE_DEHLT,
ICON_GROUP,
ICON_ARMATURE,
ICON_POSE_DEHLT,
ICON_BONE_DEHLT,
ICON_CONSTRAINT,
ICON_EDIT_DEHLT,
ICON_SHAPEKEY,
ICON_VGROUP,
ICON_BLANK079,
ICON_PACKAGE,
@ -252,7 +252,7 @@ typedef enum {
ICON_BLANK088,
ICON_BLANK089,
ICON_BLANK090,
ICON_BLANK091,
ICON_RNA,
/* available */
ICON_BLANK092,
@ -703,338 +703,6 @@ typedef enum {
} BIFIconID;
#if 0
typedef enum {
#define BIFICONID_FIRST (ICON_VIEW3D)
ICON_VIEW3D,
ICON_IPO,
ICON_OOPS,
ICON_BUTS,
ICON_FILESEL,
ICON_IMAGE_COL,
ICON_INFO,
ICON_SEQUENCE,
ICON_TEXT,
ICON_IMASEL,
ICON_SOUND,
ICON_ACTION,
ICON_NLA,
ICON_SCRIPTWIN,
ICON_TIME,
ICON_NODE,
ICON_SPACE2,
ICON_SPACE3,
ICON_SPACE4,
ICON_TRIA_LEFT,
ICON_TRIA_UP,
ICON_FONTPREVIEW,
ICON_BLANK4,
ICON_BLANK5,
ICON_BLANK6,
ICON_ORTHO,
ICON_PERSP,
ICON_CAMERA,
ICON_PARTICLES,
ICON_BBOX,
ICON_WIRE,
ICON_SOLID,
ICON_SMOOTH,
ICON_POTATO,
ICON_MARKER_HLT,
ICON_PMARKER_ACT,
ICON_PMARKER_SEL,
ICON_PMARKER,
ICON_VIEWZOOM,
ICON_SORTALPHA,
ICON_SORTTIME,
ICON_SORTSIZE,
ICON_LONGDISPLAY,
ICON_SHORTDISPLAY,
ICON_TRIA_DOWN,
ICON_TRIA_RIGHT,
ICON_NDOF_TURN,
ICON_NDOF_FLY,
ICON_NDOF_TRANS,
ICON_NDOF_DOM,
ICON_VIEW_AXIS_ALL,
ICON_VIEW_AXIS_NONE,
ICON_VIEW_AXIS_NONE2,
ICON_VIEW_AXIS_TOP,
ICON_VIEW_AXIS_FRONT,
ICON_VIEW_AXIS_SIDE,
ICON_POSE_DEHLT,
ICON_POSE_HLT,
ICON_BORDERMOVE,
ICON_MAYBE_ITS_A_LASSO,
ICON_BLANK1, /* ATTENTION, someone decided to use this throughout blender
and didn't care to neither rename it nor update the PNG */
ICON_VERSE,
ICON_MOD_BOOLEAN,
ICON_ARMATURE,
ICON_PAUSE,
ICON_ALIGN,
ICON_REC,
ICON_PLAY,
ICON_FF,
ICON_REW,
ICON_PYTHON,
ICON_BLANK11,
ICON_BLANK12,
ICON_BLANK13,
ICON_BLANK14,
ICON_DOTSUP,
ICON_DOTSDOWN,
ICON_MENU_PANEL,
ICON_AXIS_SIDE,
ICON_AXIS_FRONT,
ICON_AXIS_TOP,
ICON_STICKY_UVS_LOC,
ICON_STICKY_UVS_DISABLE,
ICON_STICKY_UVS_VERT,
ICON_PREV_KEYFRAME,
ICON_NEXT_KEYFRAME,
ICON_ENVMAP,
ICON_TRANSP_HLT,
ICON_TRANSP_DEHLT,
ICON_CIRCLE_DEHLT,
ICON_CIRCLE_HLT,
ICON_TPAINT_DEHLT,
ICON_TPAINT_HLT,
ICON_WPAINT_DEHLT,
ICON_WPAINT_HLT,
ICON_MARKER,
ICON_BLANK15,
ICON_BLANK16,
ICON_BLANK17,
ICON_BLANK18,
ICON_X,
ICON_GO_LEFT,
ICON_NO_GO_LEFT,
ICON_UNLOCKED,
ICON_LOCKED,
ICON_PARLIB,
ICON_DATALIB,
ICON_AUTO,
ICON_MATERIAL_DEHLT2,
ICON_RING,
ICON_GRID,
ICON_PROPEDIT,
ICON_KEEPRECT,
ICON_DESEL_CUBE_VERTS,
ICON_EDITMODE_DEHLT,
ICON_EDITMODE_HLT,
ICON_VPAINT_DEHLT,
ICON_VPAINT_HLT,
ICON_FACESEL_DEHLT,
ICON_FACESEL_HLT,
ICON_EDIT_DEHLT,
ICON_BOOKMARKS,
ICON_BLANK20,
ICON_BLANK21,
ICON_BLANK22,
ICON_HELP,
ICON_ERROR,
ICON_FOLDER_DEHLT,
ICON_FOLDER_HLT,
ICON_BLUEIMAGE_DEHLT,
ICON_BLUEIMAGE_HLT,
ICON_BPIBFOLDER_DEHLT,
ICON_BPIBFOLDER_HLT,
ICON_BPIBFOLDER_ERR,
ICON_UGLY_GREEN_RING,
ICON_GHOST,
ICON_SORTBYEXT,
ICON_SCULPTMODE_HLT,
ICON_VERTEXSEL,
ICON_EDGESEL,
ICON_FACESEL,
ICON_PLUS,
ICON_BPIBFOLDER_X,
ICON_BPIBFOLDERGREY,
ICON_MAGNIFY,
ICON_INFO2,
ICON_BLANK23,
ICON_BLANK24,
ICON_BLANK25,
ICON_BLANK26,
ICON_RIGHTARROW,
ICON_DOWNARROW_HLT,
ICON_ROUNDBEVELTHING,
ICON_FULLTEXTURE,
ICON_HOOK,
ICON_DOT,
ICON_WORLD_DEHLT,
ICON_CHECKBOX_DEHLT,
ICON_CHECKBOX_HLT,
ICON_LINK,
ICON_INLINK,
ICON_ZOOMIN,
ICON_ZOOMOUT,
ICON_PASTEDOWN,
ICON_COPYDOWN,
ICON_CONSTANT,
ICON_LINEAR,
ICON_CYCLIC,
ICON_KEY_DEHLT,
ICON_KEY_HLT,
ICON_GRID2,
ICON_BLANK27,
ICON_BLANK28,
ICON_BLANK29,
ICON_BLANK30,
ICON_EYE,
ICON_LAMP,
ICON_MATERIAL,
ICON_TEXTURE,
ICON_ANIM,
ICON_WORLD,
ICON_SCENE,
ICON_EDIT,
ICON_GAME,
ICON_PAINT,
ICON_RADIO,
ICON_SCRIPT,
ICON_SPEAKER,
ICON_PASTEUP,
ICON_COPYUP,
ICON_PASTEFLIPUP,
ICON_PASTEFLIPDOWN,
ICON_CYCLICLINEAR,
ICON_PIN_DEHLT,
ICON_PIN_HLT,
ICON_LITTLEGRID,
ICON_BLANK31,
ICON_BLANK32,
ICON_BLANK33,
ICON_BLANK34,
ICON_FULLSCREEN,
ICON_SPLITSCREEN,
ICON_RIGHTARROW_THIN,
ICON_DISCLOSURE_TRI_RIGHT,
ICON_DISCLOSURE_TRI_DOWN,
ICON_SCENE_SEPIA,
ICON_SCENE_DEHLT,
ICON_OBJECT,
ICON_MESH,
ICON_CURVE,
ICON_MBALL,
ICON_LATTICE,
ICON_LAMP_DEHLT,
ICON_MATERIAL_DEHLT,
ICON_TEXTURE_DEHLT,
ICON_IPO_DEHLT,
ICON_LIBRARY_DEHLT,
ICON_IMAGE_DEHLT,
ICON_EYEDROPPER,
ICON_WINDOW_WINDOW,
ICON_PANEL_CLOSE,
ICON_PHYSICS,
ICON_LAYER_USED,
ICON_LAYER_ACTIVE,
ICON_BLANK38,
ICON_BLENDER,
ICON_PACKAGE,
ICON_UGLYPACKAGE,
ICON_MATPLANE,
ICON_MATSPHERE,
ICON_MATCUBE,
ICON_SCENE_HLT,
ICON_OBJECT_HLT,
ICON_MESH_HLT,
ICON_CURVE_HLT,
ICON_MBALL_HLT,
ICON_LATTICE_HLT,
ICON_LAMP_HLT,
ICON_MATERIAL_HLT,
ICON_TEXTURE_HLT,
ICON_IPO_HLT,
ICON_LIBRARY_HLT,
ICON_IMAGE_HLT,
ICON_CONSTRAINT,
ICON_CAMERA_DEHLT,
ICON_ARMATURE_DEHLT,
ICON_SNAP_GEAR,
ICON_SNAP_GEO,
ICON_SNAP_NORMAL,
ICON_BLANK42,
ICON_SMOOTHCURVE,
ICON_SPHERECURVE,
ICON_ROOTCURVE,
ICON_SHARPCURVE,
ICON_LINCURVE,
ICON_NOCURVE,
ICON_RNDCURVE,
ICON_PROP_OFF,
ICON_PROP_ON,
ICON_PROP_CON,
ICON_SYNTAX,
ICON_SYNTAX_OFF,
ICON_MONKEY,
ICON_HAIR,
ICON_VIEWMOVE,
ICON_HOME,
ICON_CLIPUV_DEHLT,
ICON_CLIPUV_HLT,
ICON_BLANK2,
ICON_BLANK3,
ICON_VPAINT_COL,
ICON_RESTRICT_SELECT_OFF,
ICON_RESTRICT_SELECT_ON,
ICON_MUTE_IPO_OFF,
ICON_MUTE_IPO_ON,
ICON_MAN_TRANS,
ICON_MAN_ROT,
ICON_MAN_SCALE,
ICON_MANIPUL,
ICON_BLANK_47,
ICON_MODIFIER,
ICON_MOD_WAVE,
ICON_MOD_BUILD,
ICON_MOD_DECIM,
ICON_MOD_MIRROR,
ICON_MOD_SOFT,
ICON_MOD_SUBSURF,
ICON_SEQ_SEQUENCER,
ICON_SEQ_PREVIEW,
ICON_SEQ_LUMA_WAVEFORM,
ICON_SEQ_CHROMA_SCOPE,
ICON_ROTATE,
ICON_CURSOR,
ICON_ROTATECOLLECTION,
ICON_ROTATECENTER,
ICON_ROTACTIVE,
ICON_RESTRICT_VIEW_OFF,
ICON_RESTRICT_VIEW_ON,
ICON_RESTRICT_RENDER_OFF,
ICON_RESTRICT_RENDER_ON,
VICON_VIEW3D,
VICON_EDIT,
VICON_EDITMODE_DEHLT,
VICON_EDITMODE_HLT,
VICON_DISCLOSURE_TRI_RIGHT,
VICON_DISCLOSURE_TRI_DOWN,
VICON_MOVE_UP,
VICON_MOVE_DOWN,
VICON_X
#define BIFICONID_LAST (VICON_X)
#define BIFNICONIDS (BIFICONID_LAST-BIFICONID_FIRST + 1)
} BIFIconID;
#endif
typedef enum {
#define BIFCOLORSHADE_FIRST (COLORSHADE_DARK)
COLORSHADE_DARK,

@ -1188,7 +1188,7 @@ static void outliner_build_tree(Main *mainvar, Scene *scene, SpaceOops *soops)
{
Base *base;
Object *ob;
TreeElement *te, *ten;
TreeElement *te=NULL, *ten;
TreeStoreElem *tselem;
int show_opened= soops->treestore==NULL; /* on first view, we open scenes */
@ -3239,7 +3239,80 @@ static void tselem_draw_icon(float x, float y, TreeStoreElem *tselem, TreeElemen
break;
case TSE_SEQUENCE_DUP:
UI_icon_draw(x, y, ICON_OBJECT);
break;
break;
case TSE_RNA_STRUCT:
{
PointerRNA *ptr= &te->rnaptr;
const char *ident = RNA_struct_identifier(ptr);
if (strcmp(ident, "Scene") == 0)
UI_icon_draw(x, y, ICON_SCENE_DEHLT);
else if (strcmp(ident, "World") == 0)
UI_icon_draw(x, y, ICON_WORLD);
else if (strcmp(ident, "Object") == 0)
UI_icon_draw(x, y, ICON_OBJECT);
else if (strcmp(ident, "Mesh") == 0)
UI_icon_draw(x, y, ICON_MESH);
else if (strcmp(ident, "MVert") == 0)
UI_icon_draw(x, y, ICON_VERTEXSEL);
else if (strcmp(ident, "MEdge") == 0)
UI_icon_draw(x, y, ICON_EDGESEL);
else if (strcmp(ident, "MFace") == 0)
UI_icon_draw(x, y, ICON_FACESEL);
else if (strcmp(ident, "MTFace") == 0)
UI_icon_draw(x, y, ICON_FACESEL_HLT);
else if (strcmp(ident, "MVertGroup") == 0)
UI_icon_draw(x, y, ICON_VGROUP);
else if (strcmp(ident, "Curve") == 0)
UI_icon_draw(x, y, ICON_CURVE);
else if (strcmp(ident, "MetaBall") == 0)
UI_icon_draw(x, y, ICON_MBALL);
else if (strcmp(ident, "MetaElement") == 0)
UI_icon_draw(x, y, ICON_OUTLINER_DATA_META);
else if (strcmp(ident, "Lattice") == 0)
UI_icon_draw(x, y, ICON_LATTICE);
else if (strcmp(ident, "Armature") == 0)
UI_icon_draw(x, y, ICON_ARMATURE);
else if (strcmp(ident, "Bone") == 0)
UI_icon_draw(x, y, ICON_BONE_DEHLT);
else if (strcmp(ident, "Camera") == 0)
UI_icon_draw(x, y, ICON_CAMERA);
else if (strcmp(ident, "Lamp") == 0)
UI_icon_draw(x, y, ICON_LAMP);
else if (strcmp(ident, "Group") == 0)
UI_icon_draw(x, y, ICON_GROUP);
else if (strcmp(ident, "Particle") == 0)
UI_icon_draw(x, y, ICON_PARTICLES);
else if (strcmp(ident, "Material") == 0)
UI_icon_draw(x, y, ICON_MATERIAL);
else if (strcmp(ident, "Texture") == 0)
UI_icon_draw(x, y, ICON_TEXTURE);
else if (strcmp(ident, "Image") == 0)
UI_icon_draw(x, y, ICON_TEXTURE);
else if (strcmp(ident, "Screen") == 0)
UI_icon_draw(x, y, ICON_SPLITSCREEN);
else if (strcmp(ident, "NodeTree") == 0)
UI_icon_draw(x, y, ICON_NODE);
else if (strcmp(ident, "Text") == 0)
UI_icon_draw(x, y, ICON_TEXT);
else if (strcmp(ident, "Sound") == 0)
UI_icon_draw(x, y, ICON_SOUND);
else if (strcmp(ident, "Brush") == 0)
UI_icon_draw(x, y, ICON_TPAINT_HLT);
else if (strcmp(ident, "Library") == 0)
UI_icon_draw(x, y, ICON_LIBRARY_DEHLT);
else if (strcmp(ident, "Action") == 0)
UI_icon_draw(x, y, ICON_ACTION);
else if (strcmp(ident, "Ipo") == 0)
UI_icon_draw(x, y, ICON_IPO_DEHLT);
else if (strcmp(ident, "Key") == 0)
UI_icon_draw(x, y, ICON_SHAPEKEY);
else if (strcmp(ident, "Main") == 0)
UI_icon_draw(x, y, ICON_BLENDER);
else
UI_icon_draw(x, y, ICON_RNA);
}
break;
default:
UI_icon_draw(x, y, ICON_DOT); break;
}
@ -3270,16 +3343,14 @@ static void tselem_draw_icon(float x, float y, TreeStoreElem *tselem, TreeElemen
switch( GS(tselem->id->name)) {
case ID_SCE:
UI_icon_draw(x, y, ICON_SCENE_DEHLT); break;
//case ID_OB:
// UI_icon_draw(x, y, ICON_OBJECT); break;
case ID_ME:
UI_icon_draw(x, y, ICON_OUTLINER_DATA_MESH); break;
case ID_CU:
UI_icon_draw(x, y, ICON_OUTLINER_DATA_CURVE); break;
case ID_MB:
UI_icon_draw(x, y, ICON_MBALL); break;
UI_icon_draw(x, y, ICON_OUTLINER_DATA_META); break;
case ID_LT:
UI_icon_draw(x, y, ICON_LATTICE); break;
UI_icon_draw(x, y, ICON_OUTLINER_DATA_LATTICE); break;
case ID_LA:
UI_icon_draw(x, y, ICON_OUTLINER_DATA_LAMP); break;
case ID_MA:
@ -3297,7 +3368,7 @@ static void tselem_draw_icon(float x, float y, TreeStoreElem *tselem, TreeElemen
case ID_CA:
UI_icon_draw(x, y, ICON_OUTLINER_DATA_CAMERA); break;
case ID_KE:
UI_icon_draw(x, y, ICON_EDIT_DEHLT); break;
UI_icon_draw(x, y, ICON_SHAPEKEY); break;
case ID_WO:
UI_icon_draw(x, y, ICON_WORLD_DEHLT); break;
case ID_AC:
@ -3307,7 +3378,7 @@ static void tselem_draw_icon(float x, float y, TreeStoreElem *tselem, TreeElemen
case ID_TXT:
UI_icon_draw(x, y, ICON_SCRIPT); break;
case ID_GR:
UI_icon_draw(x, y, ICON_CIRCLE_DEHLT); break;
UI_icon_draw(x, y, ICON_GROUP); break;
case ID_LI:
UI_icon_draw(x, y, ICON_LIBRARY_DEHLT); break;
}
@ -3973,7 +4044,7 @@ static void outliner_draw_rnacols(ARegion *ar, SpaceOops *soops, int sizex)
static uiBut *outliner_draw_rnabut(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int index, int x1, int y1, int x2, int y2)
{
uiBut *but;
uiBut *but=NULL;
const char *propname= RNA_property_identifier(ptr, prop);
int arraylen= RNA_property_array_length(ptr, prop);