[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36755] branches/cycles: Cycles: 3d view tool properties entry in view menu.

Brecht Van Lommel brechtvanlommel at pandora.be
Wed May 18 21:30:28 CEST 2011


Revision: 36755
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36755
Author:   blendix
Date:     2011-05-18 19:30:28 +0000 (Wed, 18 May 2011)
Log Message:
-----------
Cycles: 3d view tool properties entry in view menu.

Modified Paths:
--------------
    branches/cycles/release/scripts/startup/bl_ui/space_view3d.py
    branches/cycles/source/blender/editors/space_view3d/space_view3d.c
    branches/cycles/source/blender/editors/space_view3d/view3d_intern.h
    branches/cycles/source/blender/editors/space_view3d/view3d_ops.c
    branches/cycles/source/blender/editors/space_view3d/view3d_toolbar.c

Modified: branches/cycles/release/scripts/startup/bl_ui/space_view3d.py
===================================================================
--- branches/cycles/release/scripts/startup/bl_ui/space_view3d.py	2011-05-18 18:14:59 UTC (rev 36754)
+++ branches/cycles/release/scripts/startup/bl_ui/space_view3d.py	2011-05-18 19:30:28 UTC (rev 36755)
@@ -279,6 +279,7 @@
 
         layout.operator("view3d.properties", icon='MENU_PANEL')
         layout.operator("view3d.toolshelf", icon='MENU_PANEL')
+        layout.operator("view3d.tool_properties", icon='MENU_PANEL')
 
         layout.separator()
 

Modified: branches/cycles/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- branches/cycles/source/blender/editors/space_view3d/space_view3d.c	2011-05-18 18:14:59 UTC (rev 36754)
+++ branches/cycles/source/blender/editors/space_view3d/space_view3d.c	2011-05-18 19:30:28 UTC (rev 36755)
@@ -95,7 +95,7 @@
 	return arnew;
 }
 
-ARegion *view3d_has_tools_region(ScrArea *sa)
+void view3d_has_tools_region(ScrArea *sa, ARegion **r_artool, ARegion **r_arprops)
 {
 	ARegion *ar, *artool=NULL, *arprops=NULL, *arhead;
 	
@@ -107,7 +107,11 @@
 	}
 	
 	/* tool region hide/unhide also hides props */
-	if(arprops && artool) return artool;
+	if(arprops && artool) {
+		*r_artool= artool;
+		*r_arprops= arprops;
+		return;
+	}
 	
 	if(artool==NULL) {
 		/* add subdiv level; after header */
@@ -116,7 +120,11 @@
 				break;
 		
 		/* is error! */
-		if(arhead==NULL) return NULL;
+		if(arhead==NULL) {
+			*r_artool= NULL;
+			*r_arprops= NULL;
+			return;
+		}
 		
 		artool= MEM_callocN(sizeof(ARegion), "tools for view3d");
 		
@@ -134,8 +142,9 @@
 		arprops->regiontype= RGN_TYPE_TOOL_PROPS;
 		arprops->alignment= RGN_ALIGN_BOTTOM|RGN_SPLIT_PREV;
 	}
-	
-	return artool;
+
+	*r_artool= artool;
+	*r_arprops= arprops;
 }
 
 /* ****************************************************** */

Modified: branches/cycles/source/blender/editors/space_view3d/view3d_intern.h
===================================================================
--- branches/cycles/source/blender/editors/space_view3d/view3d_intern.h	2011-05-18 18:14:59 UTC (rev 36754)
+++ branches/cycles/source/blender/editors/space_view3d/view3d_intern.h	2011-05-18 19:30:28 UTC (rev 36755)
@@ -174,6 +174,7 @@
 
 /* view3d_toolbar.c */
 void VIEW3D_OT_toolshelf(struct wmOperatorType *ot);
+void VIEW3D_OT_tool_properties(struct wmOperatorType *ot);
 void view3d_toolshelf_register(struct ARegionType *art);
 void view3d_tool_props_register(struct ARegionType *art);
 
@@ -189,7 +190,7 @@
 
 /* space_view3d.c */
 ARegion *view3d_has_buttons_region(ScrArea *sa);
-ARegion *view3d_has_tools_region(ScrArea *sa);
+void view3d_has_tools_region(ScrArea *sa, ARegion **artool, ARegion **arprops);
 
 extern const char *view3d_context_dir[]; /* doc access */
 

Modified: branches/cycles/source/blender/editors/space_view3d/view3d_ops.c
===================================================================
--- branches/cycles/source/blender/editors/space_view3d/view3d_ops.c	2011-05-18 18:14:59 UTC (rev 36754)
+++ branches/cycles/source/blender/editors/space_view3d/view3d_ops.c	2011-05-18 19:30:28 UTC (rev 36755)
@@ -94,6 +94,7 @@
 	
 	WM_operatortype_append(VIEW3D_OT_properties);
 	WM_operatortype_append(VIEW3D_OT_toolshelf);
+	WM_operatortype_append(VIEW3D_OT_tool_properties);
 	
 	WM_operatortype_append(VIEW3D_OT_snap_selected_to_grid);
 	WM_operatortype_append(VIEW3D_OT_snap_selected_to_cursor);

Modified: branches/cycles/source/blender/editors/space_view3d/view3d_toolbar.c
===================================================================
--- branches/cycles/source/blender/editors/space_view3d/view3d_toolbar.c	2011-05-18 18:14:59 UTC (rev 36754)
+++ branches/cycles/source/blender/editors/space_view3d/view3d_toolbar.c	2011-05-18 19:30:28 UTC (rev 36755)
@@ -257,10 +257,12 @@
 static int view3d_toolshelf(bContext *C, wmOperator *UNUSED(op))
 {
 	ScrArea *sa= CTX_wm_area(C);
-	ARegion *ar= view3d_has_tools_region(sa);
+	ARegion *artool, *arprops;
 	
-	if(ar)
-		ED_region_toggle_hidden(C, ar);
+	view3d_has_tools_region(sa, &artool, &arprops);
+	
+	if(artool)
+		ED_region_toggle_hidden(C, artool);
 
 	return OPERATOR_FINISHED;
 }
@@ -277,3 +279,37 @@
 	/* flags */
 	ot->flag= 0;
 }
+
+/* ********** operator to open/close toolshelf region */
+
+static int view3d_tool_properties(bContext *C, wmOperator *UNUSED(op))
+{
+	ScrArea *sa= CTX_wm_area(C);
+	ARegion *artool, *arprops;
+	
+	view3d_has_tools_region(sa, &artool, &arprops);
+	
+	if(artool && (artool->flag & RGN_FLAG_HIDDEN)) {
+		ED_region_toggle_hidden(C, artool);
+
+		if(arprops && (arprops->flag & RGN_FLAG_HIDDEN))
+			ED_region_toggle_hidden(C, arprops);
+	}
+	else if(arprops)
+		ED_region_toggle_hidden(C, arprops);
+
+	return OPERATOR_FINISHED;
+}
+
+void VIEW3D_OT_tool_properties(wmOperatorType *ot)
+{
+	ot->name= "Tool Properties";
+	ot->description= "Toggles tool properties display";
+	ot->idname= "VIEW3D_OT_tool_properties";
+	
+	ot->exec= view3d_tool_properties;
+	ot->poll= ED_operator_view3d_active;
+	
+	/* flags */
+	ot->flag= 0;
+}




More information about the Bf-blender-cvs mailing list