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

Ton Roosendaal ton at blender.org
Tue Jun 16 15:09:36 CEST 2009


Revision: 20929
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20929
Author:   ton
Date:     2009-06-16 15:09:36 +0200 (Tue, 16 Jun 2009)

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

Added SpaceLogic, to restore the old logic buttons into.
In future it can be used for a more advanced logic editor, with
states, behaviour, whatever. We'll see!

This commit only adds the backend for new space. Committed this
now as reference for when we need another space type. It's still
not well plugin-able (dynamic space types), but my idea is to just
have a new SpacePlugIn for this, with a neat small API to define
all relevant callbacks.

Also note the icon for the spacetype is wrong still.

Modified Paths:
--------------
    branches/blender2.5/blender/source/Makefile
    branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
    branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c
    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_screen.h
    branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h
    branches/blender2.5/blender/source/blender/editors/interface/resources.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c
    branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
    branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
    branches/blender2.5/blender/source/blender/editors/screen/area.c
    branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
    branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c
    branches/blender2.5/blender/source/blender/makesdna/DNA_space_types.h
    branches/blender2.5/blender/source/blender/makesdna/DNA_userdef_types.h
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_space.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c

Added Paths:
-----------
    branches/blender2.5/blender/source/blender/editors/space_logic/
    branches/blender2.5/blender/source/blender/editors/space_logic/Makefile
    branches/blender2.5/blender/source/blender/editors/space_logic/SConscript
    branches/blender2.5/blender/source/blender/editors/space_logic/logic_buttons.c
    branches/blender2.5/blender/source/blender/editors/space_logic/logic_header.c
    branches/blender2.5/blender/source/blender/editors/space_logic/logic_intern.h
    branches/blender2.5/blender/source/blender/editors/space_logic/space_logic.c

Modified: branches/blender2.5/blender/source/Makefile
===================================================================
--- branches/blender2.5/blender/source/Makefile	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/Makefile	2009-06-16 13:09:36 UTC (rev 20929)
@@ -226,6 +226,7 @@
 PULIB += $(OCGDIR)/blender/ed_nla/$(DEBUG_DIR)libed_nla.a
 PULIB += $(OCGDIR)/blender/ed_script/$(DEBUG_DIR)libed_script.a
 PULIB += $(OCGDIR)/blender/ed_text/$(DEBUG_DIR)libed_text.a
+PULIB += $(OCGDIR)/blender/ed_logic/$(DEBUG_DIR)libed_logic.a
 PULIB += $(OCGDIR)/blender/ed_sequencer/$(DEBUG_DIR)libed_sequencer.a
 PULIB += $(OCGDIR)/blender/ed_file/$(DEBUG_DIR)libed_file.a
 PULIB += $(OCGDIR)/blender/ed_info/$(DEBUG_DIR)libed_info.a

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c	2009-06-16 13:09:36 UTC (rev 20929)
@@ -4733,6 +4733,14 @@
 				}
 				snode->nodetree= snode->edittree= NULL;
 			}
+			else if(sl->spacetype==SPACE_LOGIC) {
+				SpaceLogic *slogic= (SpaceLogic *)sl;
+				
+				if(slogic->gpd) {
+					slogic->gpd= newdataadr(fd, slogic->gpd);
+					direct_link_gpencil(fd, slogic->gpd);
+				}
+			}
 			else if(sl->spacetype==SPACE_SEQ) {
 				SpaceSeq *sseq= (SpaceSeq *)sl;
 				if(sseq->gpd) {

Modified: branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/writefile.c	2009-06-16 13:09:36 UTC (rev 20929)
@@ -1884,6 +1884,9 @@
 				else if(sl->spacetype==SPACE_NODE){
 					writestruct(wd, DATA, "SpaceNode", 1, sl);
 				}
+				else if(sl->spacetype==SPACE_LOGIC){
+					writestruct(wd, DATA, "SpaceLogic", 1, sl);
+				}
 				sl= sl->next;
 			}
 		}

Modified: branches/blender2.5/blender/source/blender/editors/Makefile
===================================================================
--- branches/blender2.5/blender/source/blender/editors/Makefile	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/Makefile	2009-06-16 13:09:36 UTC (rev 20929)
@@ -29,6 +29,6 @@
 # Bounces make to subdirectories.
 
 SOURCEDIR = source/blender/editors
-DIRS = armature mesh animation object sculpt_paint datafiles transform screen curve gpencil physics preview uvedit space_outliner space_time space_view3d interface util  space_api space_graph space_image space_node space_buttons space_info space_file space_sound space_action space_nla space_script space_text space_sequencer
+DIRS = armature mesh animation object sculpt_paint datafiles transform screen curve gpencil physics preview uvedit space_outliner space_time space_view3d interface util  space_api space_graph space_image space_node space_buttons space_info space_file space_sound space_action space_nla space_script space_text space_sequencer space_logic
 
 include nan_subdirs.mk

Modified: branches/blender2.5/blender/source/blender/editors/SConscript
===================================================================
--- branches/blender2.5/blender/source/blender/editors/SConscript	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/SConscript	2009-06-16 13:09:36 UTC (rev 20929)
@@ -29,6 +29,7 @@
 			'space_script/SConscript',
 			'space_text/SConscript',
 			'space_sequencer/SConscript',
+			'space_logic/SConscript',
 			'transform/SConscript',
 			'screen/SConscript',
 			'sculpt_paint/SConscript',

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h	2009-06-16 13:09:36 UTC (rev 20929)
@@ -118,6 +118,7 @@
 int		ED_operator_ipo_active(struct bContext *C);
 int		ED_operator_sequencer_active(struct bContext *C);
 int		ED_operator_image_active(struct bContext *C);
+int		ED_operator_logic_active(struct bContext *C);
 
 int		ED_operator_object_active(struct bContext *C);
 int		ED_operator_editmesh(struct bContext *C);

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_space_api.h	2009-06-16 13:09:36 UTC (rev 20929)
@@ -50,6 +50,7 @@
 void ED_spacetype_script(void);
 void ED_spacetype_text(void);
 void ED_spacetype_sequencer(void);
+void ED_spacetype_logic(void);
 
 /* calls for instancing and freeing spacetype static data 
    called in WM_init_exit */

Modified: branches/blender2.5/blender/source/blender/editors/interface/resources.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/resources.c	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/interface/resources.c	2009-06-16 13:09:36 UTC (rev 20929)
@@ -156,6 +156,9 @@
 			case SPACE_NODE:
 				ts= &btheme->tnode;
 				break;
+			case SPACE_LOGIC:
+				ts= &btheme->tlogic;
+				break;
 			default:
 				ts= &btheme->tv3d;
 				break;
@@ -398,6 +401,7 @@
 	ui_theme_init_new_do(&btheme->toops);
 	ui_theme_init_new_do(&btheme->ttime);
 	ui_theme_init_new_do(&btheme->tnode);
+	ui_theme_init_new_do(&btheme->tlogic);
 	
 }
 
@@ -608,6 +612,9 @@
 	SETCOL(btheme->tnode.syntaxv, 142, 138, 145, 255);	/* generator */
 	SETCOL(btheme->tnode.syntaxc, 120, 145, 120, 255);	/* group */
 
+	/* space logic */
+	btheme->tlogic= btheme->tv3d;
+	
 }
 
 
@@ -1233,6 +1240,12 @@
 
 			if(btheme->tui.wcol_num.outline[3]==0)
 				ui_widget_color_init(&btheme->tui);
+			
+			/* Logic editor theme, check for alpha==0 is safe, then color was never set */
+			if(btheme->tlogic.syntaxn[3]==0) {
+				/* re-uses syntax color storage */
+				btheme->tlogic= btheme->tv3d;
+			}
 		}
 	}
 	

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_lib.c	2009-06-16 13:09:36 UTC (rev 20929)
@@ -51,11 +51,13 @@
 #include "BLI_editVert.h"
 
 #include "BKE_customdata.h"
+#include "BKE_context.h"
 #include "BKE_global.h"
 #include "BKE_mesh.h"
 #include "BKE_utildefines.h"
 
 #include "ED_mesh.h"
+#include "ED_screen.h"
 #include "ED_view3d.h"
 
 #include "mesh_intern.h"
@@ -2278,3 +2280,10 @@
 	}
 }
 
+/* poll call for mesh operators requiring a view3d context */
+int EM_view3d_poll(bContext *C)
+{
+	if(ED_operator_editmesh(C) && ED_operator_view3d_active(C))
+		return 1;
+	return 0;
+}

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c	2009-06-16 13:09:36 UTC (rev 20929)
@@ -966,7 +966,7 @@
 	/* api callbacks */
 	ot->invoke= spin_mesh_invoke;
 	ot->exec= spin_mesh_exec;
-	ot->poll= ED_operator_editmesh;
+	ot->poll= EM_view3d_poll;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -1073,7 +1073,7 @@
 	/* api callbacks */
 	ot->invoke= screw_mesh_invoke;
 	ot->exec= screw_mesh_exec;
-	ot->poll= ED_operator_editmesh;
+	ot->poll= EM_view3d_poll;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
@@ -4995,7 +4995,7 @@
 	
 	/* api callbacks */
 	ot->invoke= mesh_rip_invoke;
-	ot->poll= ED_operator_editmesh; // XXX + v3d!
+	ot->poll= EM_view3d_poll;
 	
 	/* flags */
 	ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h	2009-06-16 13:09:36 UTC (rev 20929)
@@ -135,6 +135,7 @@
 extern struct EditFace *EM_face_from_faces(EditMesh *em, struct EditFace *efa1,
 										   struct EditFace *efa2, int i1, int i2, int i3, int i4);
 
+extern int EM_view3d_poll(struct bContext *C);
 
 /* ******************* editmesh_loop.c */
 

Modified: branches/blender2.5/blender/source/blender/editors/screen/area.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/area.c	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/screen/area.c	2009-06-16 13:09:36 UTC (rev 20929)
@@ -1048,6 +1048,7 @@
 		   "|Outliner %x3" //232
 		   "|Buttons Window %x4" //251
 		   "|Node Editor %x16"
+		   "|Logic Editor %x17"
 		   "|%l" //254
 		   
 		   "|File Browser %x5" //290

Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2009-06-16 12:54:34 UTC (rev 20928)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c	2009-06-16 13:09:36 UTC (rev 20929)
@@ -179,6 +179,11 @@
 	return ed_spacetype_test(C, SPACE_IMAGE);
 }
 
+int ED_operator_logic_active(bContext *C)
+{
+	return ed_spacetype_test(C, SPACE_LOGIC);
+}
+
 int ED_operator_object_active(bContext *C)
 {
 	return NULL != CTX_data_active_object(C);

Modified: branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_api/spacetypes.c	2009-06-16 12:54:34 UTC (rev 20928)

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list