[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