[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [17459] branches/blender2.5/blender/source :

Brecht Van Lommel brecht at blender.org
Fri Nov 14 18:05:25 CET 2008


Revision: 17459
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=17459
Author:   blendix
Date:     2008-11-14 18:05:25 +0100 (Fri, 14 Nov 2008)

Log Message:
-----------

RNA
* Added RNA list viewer. This is currently drawn in the outliner
  window, the UI is limited but it is just intended to test RNA
  at the moment.
* Added UI names for currently wrapped properties.
* Made iterating collections a bit more convenient.

Modified Paths:
--------------
    branches/blender2.5/blender/source/Makefile
    branches/blender2.5/blender/source/blender/editors/Makefile
    branches/blender2.5/blender/source/blender/editors/SConscript
    branches/blender2.5/blender/source/blender/editors/include/ED_area.h
    branches/blender2.5/blender/source/blender/editors/interface/interface.c
    branches/blender2.5/blender/source/blender/editors/screen/spacetypes.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
    branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
    branches/blender2.5/blender/source/blender/makesrna/RNA_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_main.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_rna.c

Added Paths:
-----------
    branches/blender2.5/blender/source/blender/editors/space_outliner/
    branches/blender2.5/blender/source/blender/editors/space_outliner/Makefile
    branches/blender2.5/blender/source/blender/editors/space_outliner/SConscript
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_intern.h
    branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_ops.c
    branches/blender2.5/blender/source/blender/editors/space_outliner/space_outliner.c

Modified: branches/blender2.5/blender/source/Makefile
===================================================================
--- branches/blender2.5/blender/source/Makefile	2008-11-14 16:09:23 UTC (rev 17458)
+++ branches/blender2.5/blender/source/Makefile	2008-11-14 17:05:25 UTC (rev 17459)
@@ -234,6 +234,7 @@
 PULIB += $(NAN_ELBEEM)/lib/$(DEBUG_DIR)libelbeem.a
 PULIB += $(OCGDIR)/blender/readblenfile/$(DEBUG_DIR)libreadblenfile.a
 PULIB += $(OCGDIR)/blender/ed_screen/libed_screen.a
+PULIB += $(OCGDIR)/blender/ed_outliner/libed_outliner.a
 PULIB += $(OCGDIR)/blender/ed_time/libed_time.a
 PULIB += $(OCGDIR)/blender/ed_view3d/libed_view3d.a
 PULIB += $(OCGDIR)/blender/ed_interface/libed_interface.a

Modified: branches/blender2.5/blender/source/blender/editors/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/Makefile	2008-11-14 16:09:23 UTC (rev 17458)
+++ branches/blender2.5/blender/source/blender/editors/Makefile	2008-11-14 17:05:25 UTC (rev 17459)
@@ -29,6 +29,6 @@
 # Bounces make to subdirectories.
 
 SOURCEDIR = source/blender/editors
-DIRS = datafiles screen space_time space_view3d interface
+DIRS = datafiles screen space_outliner space_time space_view3d interface
 
 include nan_subdirs.mk

Modified: branches/blender2.5/blender/source/blender/editors/SConscript
===================================================================
--- branches/blender2.5/blender/source/blender/editors/SConscript	2008-11-14 16:09:23 UTC (rev 17458)
+++ branches/blender2.5/blender/source/blender/editors/SConscript	2008-11-14 17:05:25 UTC (rev 17459)
@@ -6,6 +6,7 @@
 			'interface/SConscript',
 			'mesh/SConscript',
 			'object/SConscript',
+  			'space_outliner/SConscript',
 			'space_time/SConscript',
 			'space_view3d/SConscript',
 			'transform/SConscript',

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_area.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_area.h	2008-11-14 16:09:23 UTC (rev 17458)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_area.h	2008-11-14 17:05:25 UTC (rev 17459)
@@ -32,6 +32,7 @@
 /* the pluginnable API for export to editors */
 
 /* calls for registering default spaces */
+void ED_spacetype_outliner(void);
 void ED_spacetype_time(void);
 void ED_spacetype_view3d(void);
 

Modified: branches/blender2.5/blender/source/blender/editors/interface/interface.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface.c	2008-11-14 16:09:23 UTC (rev 17458)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface.c	2008-11-14 17:05:25 UTC (rev 17459)
@@ -2232,64 +2232,73 @@
 {
 	uiBut *but;
 
-	switch(prop->type) {
+	switch(RNA_property_type(prop, ptr)) {
 		case PROP_BOOLEAN: {
-			int value;
+			int value, length;
 
-			if(prop->arraylength)
+			length= RNA_property_array_length(prop, ptr);
+
+			if(length)
 				value= RNA_property_boolean_get_array(prop, ptr, index);
 			else
 				value= RNA_property_boolean_get(prop, ptr);
 
-			but= ui_def_but(block, TOG, 0, (value)? "True": "False", x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)prop->description);
+			but= ui_def_but(block, TOG, 0, (value)? "True": "False", x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(prop, ptr));
 			break;
 		}
 		case PROP_INT: {
-			IntPropertyRNA *iprop= (IntPropertyRNA*)prop;
-			but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, iprop->softmin, iprop->softmax, iprop->step, 0, (char*)prop->description);
+			int softmin, softmax, step;
+
+			RNA_property_int_ui_range(prop, ptr, &softmin, &softmax, &step);
+			but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, softmin, softmax, step, 0, (char*)RNA_property_ui_description(prop, ptr));
 			break;
 		}
 		case PROP_FLOAT: {
-			FloatPropertyRNA *fprop= (FloatPropertyRNA*)prop;
-			but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, fprop->softmin, fprop->softmax, fprop->step, fprop->precision, (char*)prop->description);
+			float softmin, softmax, step, precision;
+
+			RNA_property_float_ui_range(prop, ptr, &softmin, &softmax, &step, &precision);
+			but= ui_def_but(block, NUM, 0, "", x1, y1, x2, y2, NULL, softmin, softmax, step, precision, (char*)RNA_property_ui_description(prop, ptr));
 			break;
 		}
 		case PROP_ENUM: {
-			EnumPropertyRNA *eprop= (EnumPropertyRNA*)prop;
+			const PropertyEnumItem *item;
 			DynStr *dynstr;
 			char *menu;
-			int i;
+			int i, totitem;
 
+			RNA_property_enum_items(prop, ptr, &item, &totitem);
+
 			dynstr= BLI_dynstr_new();
-			BLI_dynstr_appendf(dynstr, "%s%%t", prop->name);
-			for(i=0; i<eprop->totitem; i++)
-				BLI_dynstr_appendf(dynstr, "|%s %%x%d", eprop->item[i].name, eprop->item[i].value);
+			BLI_dynstr_appendf(dynstr, "%s%%t", RNA_property_ui_name(prop, ptr));
+			for(i=0; i<totitem; i++)
+				BLI_dynstr_appendf(dynstr, "|%s %%x%d", item[i].name, item[i].value);
 			menu= BLI_dynstr_get_cstring(dynstr);
 			BLI_dynstr_free(dynstr);
 
-			but= ui_def_but(block, MENU, 0, menu, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)prop->description);
+			but= ui_def_but(block, MENU, 0, menu, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(prop, ptr));
 			MEM_freeN(menu);
 			break;
 		}
 		case PROP_STRING: {
-			StringPropertyRNA *sprop= (StringPropertyRNA*)prop;
-			but= ui_def_but(block, TEX, 0, "", x1, y1, x2, y2, NULL, 0, sprop->maxlength, 0, 0, (char*)prop->description);
+			but= ui_def_but(block, TEX, 0, "", x1, y1, x2, y2, NULL, 0, RNA_property_string_maxlength(prop, ptr), 0, 0, (char*)RNA_property_ui_description(prop, ptr));
 			break;
 		}
 		case PROP_POINTER: {
 			PointerRNA pptr;
+			PropertyRNA *nameprop;
 			char name[256]= "", *nameptr= name;
 
 			RNA_property_pointer_get(prop, ptr, &pptr);
 
 			if(pptr.data) {
-				if(pptr.type && pptr.type->nameproperty)
-					nameptr= RNA_property_string_get_alloc(pptr.type->nameproperty, &pptr, name, sizeof(name));
+				nameprop= RNA_struct_name_property(&pptr);
+				if(pptr.type && nameprop)
+					nameptr= RNA_property_string_get_alloc(nameprop, &pptr, name, sizeof(name));
 				else
-					strcpy(nameptr, "unknown");
+					strcpy(nameptr, "->");
 			}
 
-			but= ui_def_but(block, BUT, 0, nameptr, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)prop->description);
+			but= ui_def_but(block, BUT, 0, nameptr, x1, y1, x2, y2, NULL, 0, 0, 0, 0, (char*)RNA_property_ui_description(prop, ptr));
 			but->flag |= UI_TEXT_LEFT;
 
 			if(nameptr != name)

Modified: branches/blender2.5/blender/source/blender/editors/screen/spacetypes.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/spacetypes.c	2008-11-14 16:09:23 UTC (rev 17458)
+++ branches/blender2.5/blender/source/blender/editors/screen/spacetypes.c	2008-11-14 17:05:25 UTC (rev 17459)
@@ -50,6 +50,7 @@
 	SpaceType *type;
 
 	/* create space types */
+	ED_spacetype_outliner();
 	ED_spacetype_time();
 	ED_spacetype_view3d();
 //	ED_spacetype_ipo();

Added: branches/blender2.5/blender/source/blender/editors/space_outliner/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/Makefile	                        (rev 0)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/Makefile	2008-11-14 17:05:25 UTC (rev 17459)
@@ -0,0 +1,54 @@
+#
+# $Id: Makefile 14 2002-10-13 15:57:19Z hans $
+#
+# ***** BEGIN GPL LICENSE BLOCK *****
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version. 
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+#
+# The Original Code is Copyright (C) 2007 Blender Foundation
+# All rights reserved.
+#
+# The Original Code is: all of this file.
+#
+# Contributor(s): none yet.
+#
+# ***** END GPL LICENSE BLOCK *****
+#
+# Makes module object directory and bounces make to subdirectories.
+
+LIBNAME = ed_outliner
+DIR = $(OCGDIR)/blender/$(LIBNAME)
+
+include nan_compile.mk
+
+CFLAGS += $(LEVEL_1_C_WARNINGS)
+
+CPPFLAGS += -I$(NAN_GLEW)/include
+CPPFLAGS += -I$(OPENGL_HEADERS)
+
+# not very neat....
+CPPFLAGS += -I../../windowmanager
+CPPFLAGS += -I../../blenloader
+CPPFLAGS += -I../../blenkernel
+CPPFLAGS += -I../../blenlib
+CPPFLAGS += -I../../makesdna
+CPPFLAGS += -I../../makesrna
+CPPFLAGS += -I../../imbuf
+CPPFLAGS += -I../../python
+CPPFLAGS += -I$(NAN_GUARDEDALLOC)/include
+
+# own include 
+
+CPPFLAGS += -I../include 

Added: branches/blender2.5/blender/source/blender/editors/space_outliner/SConscript
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/SConscript	                        (rev 0)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/SConscript	2008-11-14 17:05:25 UTC (rev 17459)
@@ -0,0 +1,10 @@
+#!/usr/bin/python
+Import ('env')
+
+sources = env.Glob('*.c')
+
+incs = '../include ../../blenlib ../../blenkernel ../../makesdna ../../imbuf'
+incs += ' ../../windowmanager #/intern/guardedalloc ../../makesrna'
+incs += ' #/extern/glew/include'
+
+env.BlenderLib ( 'bf_editors_space_outliner', sources, Split(incs), [], libtype=['core', 'intern'], priority=[35, 40] )

Added: branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_intern.h	                        (rev 0)
+++ branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_intern.h	2008-11-14 17:05:25 UTC (rev 17459)
@@ -0,0 +1,41 @@
+/**
+ * $Id:
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list