[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