[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [14861] branches/apricot/source/blender: added a menu for selecting which types to draw for outliner library members

Campbell Barton ideasman42 at gmail.com
Fri May 16 11:30:11 CEST 2008


Revision: 14861
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=14861
Author:   campbellbarton
Date:     2008-05-16 11:30:07 +0200 (Fri, 16 May 2008)

Log Message:
-----------
added a menu for selecting which types to draw for outliner library members

Modified Paths:
--------------
    branches/apricot/source/blender/makesdna/DNA_space_types.h
    branches/apricot/source/blender/src/header_oops.c
    branches/apricot/source/blender/src/outliner.c

Modified: branches/apricot/source/blender/makesdna/DNA_space_types.h
===================================================================
--- branches/apricot/source/blender/makesdna/DNA_space_types.h	2008-05-15 23:49:43 UTC (rev 14860)
+++ branches/apricot/source/blender/makesdna/DNA_space_types.h	2008-05-16 09:30:07 UTC (rev 14861)
@@ -198,7 +198,7 @@
 	View2D v2d;
 	
 	ListBase oops;
-	short pin, visiflag, flag, rt;
+	short pin, pad1, flag, rt;
 	void *lockpoin;
 	
 	ListBase tree;
@@ -211,6 +211,7 @@
 	
 	short type, outlinevis, storeflag;
 	short deps_flags;
+	int visiflag, pad2;
 	
 } SpaceOops;
 
@@ -544,22 +545,28 @@
 #define SO_HIDE_RESTRICTCOLS		4
 
 /* SpaceOops->visiflag */
-#define OOPS_SCE	1
-#define OOPS_OB		2
-#define OOPS_ME		4
-#define OOPS_CU		8
-#define OOPS_MB		16
-#define OOPS_LT		32
-#define OOPS_LA		64
-#define OOPS_MA		128
-#define OOPS_TE		256
-#define OOPS_IP		512
-#define OOPS_LAY	1024
-#define OOPS_LI		2048
-#define OOPS_IM		4096
-#define OOPS_AR		8192
-#define OOPS_GR		16384
+#define OOPS_SCE	1<<0
+#define OOPS_OB		1<<1
+#define OOPS_ME		1<<2
+#define OOPS_CU		1<<3
+#define OOPS_MB		1<<4
+#define OOPS_LT		1<<5
+#define OOPS_LA		1<<6
+#define OOPS_MA		1<<7
+#define OOPS_TE		1<<8
+#define OOPS_IP		1<<9
+#define OOPS_LAY	1<<10
+#define OOPS_LI		1<<11
+#define OOPS_IM		1<<12
+#define OOPS_AR		1<<13
+#define OOPS_GR		1<<14
 
+#define OOPS_WO		1<<15
+#define OOPS_AC		1<<16
+#define OOPS_CA		1<<17
+#define OOPS_TXT	1<<18
+
+
 /* SpaceOops->outlinevis */
 #define SO_ALL_SCENES	0
 #define SO_CUR_SCENE	1

Modified: branches/apricot/source/blender/src/header_oops.c
===================================================================
--- branches/apricot/source/blender/src/header_oops.c	2008-05-15 23:49:43 UTC (rev 14860)
+++ branches/apricot/source/blender/src/header_oops.c	2008-05-16 09:30:07 UTC (rev 14861)
@@ -60,6 +60,7 @@
 #include "BSE_headerbuttons.h"
 
 #include "blendef.h"
+#include "mydevice.h"
 
 #include "BKE_depsgraph.h"
 
@@ -196,8 +197,48 @@
 		else soops->flag |= SO_HIDE_RESTRICTCOLS;
 		break;
 	}
-}			
+}
 
+static void do_oops_viewmenu_showtypes(void *arg, int event)
+{
+	SpaceOops *soops= curarea->spacedata.first;
+	if (G.qual==LR_CTRLKEY) soops->visiflag = 0;
+	soops->visiflag ^= event;
+	allqueue(REDRAWOOPS, 0);
+}
+
+static uiBlock *oops_viewmenu_showtypes(void *arg_unused)
+{
+	SpaceOops *soops= curarea->spacedata.first;
+	uiBlock *block;
+	short yco = 20, menuwidth = 120;
+
+	block= uiNewBlock(&curarea->uiblocks, "oops_viewmenu_showtypes", UI_EMBOSSP, UI_HELV, G.curscreen->mainwin);
+	uiBlockSetButmFunc(block, do_oops_viewmenu_showtypes, NULL);
+	
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_SCE) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Scene", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_SCE, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_OB) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Object", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_OB, "");	
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_ME) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Mesh", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_ME, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_CU) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Curve", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_CU, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_MB) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Metaball", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_MB, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_LT) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Lattice", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_LT, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_LA) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Lamp", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_LA, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_MA) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Material", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_MA, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_TE) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Texture", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_TE, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_IP) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Ipo", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_IP, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_IM) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Image", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_IM, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_AR) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Armature", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_AR, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_GR) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Group", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_GR, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_WO) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "World", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_WO, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_AC) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Action", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_AC, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_CA) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Camera", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_CA, "");
+	uiDefIconTextBut(block, BUTM, 1, (soops->visiflag & OOPS_TXT) ? ICON_CHECKBOX_HLT : ICON_CHECKBOX_DEHLT, "Text", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, OOPS_TXT, "");
+	
+	uiBlockSetDirection(block, UI_RIGHT);
+	uiTextBoundsBlock(block, 60);
+	return block;
+}
+
 static uiBlock *oops_viewmenu(void *arg_unused)
 {
 	SpaceOops *soops= curarea->spacedata.first;
@@ -237,7 +278,11 @@
 			uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_DEHLT, "Show Restriction Columns", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
 		else
 			uiDefIconTextBut(block, BUTM, 1, ICON_CHECKBOX_HLT, "Show Restriction Columns", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 12, "");
-
+		
+		if(soops->outlinevis == SO_LIBRARIES) {
+			uiDefIconTextBlockBut(block, oops_viewmenu_showtypes, NULL, ICON_RIGHTARROW_THIN, "Show Library Types", 0, yco-=20, 120, 19, "");
+		}
+		
 		uiDefBut(block, SEPR, 0, "",        0, yco-=6, menuwidth, 6, NULL, 0.0, 0.0, 0, 0, "");
 
 		uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Expand One Level|NumPad +", 0, yco-=20, menuwidth, 19, NULL, 0.0, 0.0, 1, 9, "");
@@ -494,21 +539,21 @@
 		
 		/* VISIBLE */
 		uiBlockBeginAlign(block);
-		uiDefButBitS(block, TOG, OOPS_LAY, B_NEWOOPS, "Layer",		(short)(xco+=XIC),0,XIC+20,YIC, &soops->visiflag, 0, 0, 0, 0, "Only show object datablocks on visible layers");
+		uiDefButBitI(block, TOG, OOPS_LAY, B_NEWOOPS, "Layer",		(short)(xco+=XIC),0,XIC+20,YIC, &soops->visiflag, 0, 0, 0, 0, "Only show object datablocks on visible layers");
 		xco+= 20;
-		uiDefIconButBitS(block, TOG, OOPS_SCE, B_NEWOOPS, ICON_SCENE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Scene datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_OB, B_NEWOOPS, ICON_OBJECT_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Object datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_ME, B_NEWOOPS, ICON_MESH_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Mesh datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_CU, B_NEWOOPS, ICON_CURVE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Curve/Surface/Font datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_MB, B_NEWOOPS, ICON_MBALL_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Metaball datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_LT, B_NEWOOPS, ICON_LATTICE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Lattice datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_LA, B_NEWOOPS, ICON_LAMP_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Lamp datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_MA, B_NEWOOPS, ICON_MATERIAL_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Material datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_TE, B_NEWOOPS, ICON_TEXTURE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Texture datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_IP, B_NEWOOPS, ICON_IPO_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Ipo datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_IM, B_NEWOOPS, ICON_IMAGE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Image datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_GR, B_NEWOOPS, ICON_CIRCLE_DEHLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Group datablocks");
-		uiDefIconButBitS(block, TOG, OOPS_LI, B_NEWOOPS, ICON_LIBRARY_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Library datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_SCE, B_NEWOOPS, ICON_SCENE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Scene datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_OB, B_NEWOOPS, ICON_OBJECT_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Object datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_ME, B_NEWOOPS, ICON_MESH_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Mesh datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_CU, B_NEWOOPS, ICON_CURVE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Curve/Surface/Font datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_MB, B_NEWOOPS, ICON_MBALL_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Metaball datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_LT, B_NEWOOPS, ICON_LATTICE_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Lattice datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_LA, B_NEWOOPS, ICON_LAMP_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Lamp datablocks");
+		uiDefIconButBitI(block, TOG, OOPS_MA, B_NEWOOPS, ICON_MATERIAL_HLT,	(short)(xco+=XIC),0,XIC,YIC, &soops->visiflag, 0, 0, 0, 0, "Displays Material datablocks");

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list