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;
+}

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to