Revision: 21523
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=21523
Author:   blendix
Date:     2009-07-11 15:32:20 +0200 (Sat, 11 Jul 2009)

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

* Code to start moving 3D view header and panels to python, at
  the moment the View menu and one empty panel is in python. The
  C header code is wrapped in one template, so parts of that can
  be moved over while still keeping things working.
* Fix for mistake in RNA enum commit yesterday, and some warning
  fixes.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
    branches/blender2.5/blender/source/blender/editors/object/object_edit.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
    branches/blender2.5/blender/source/blender/makesrna/intern/rna_ui_api.c

Added Paths:
-----------
    branches/blender2.5/blender/release/ui/space_view3d.py

Added: branches/blender2.5/blender/release/ui/space_view3d.py
===================================================================
--- branches/blender2.5/blender/release/ui/space_view3d.py                      
        (rev 0)
+++ branches/blender2.5/blender/release/ui/space_view3d.py      2009-07-11 
13:32:20 UTC (rev 21523)
@@ -0,0 +1,106 @@
+
+import bpy
+
+class VIEW3D_MT_view_navigation(bpy.types.Menu):
+       __space_type__ = "VIEW_3D"
+       __label__ = "Navigation"
+
+       def draw(self, context):
+               layout = self.layout
+
+               # layout.itemO("VIEW3D_OT_view_fly_mode")
+               # layout.itemS()
+               
+               layout.items_enumO("VIEW3D_OT_view_orbit", "type")
+               
+               layout.itemS()
+               
+               layout.items_enumO("VIEW3D_OT_view_pan", "type")
+               
+               layout.itemS()
+               
+               layout.item_floatO("VIEW3D_OT_zoom", "delta", 1.0, text="Zoom 
In")
+               layout.item_floatO("VIEW3D_OT_zoom", "delta", -1.0, text="Zoom 
Out")
+
+class VIEW3D_MT_view(bpy.types.Menu):
+       __space_type__ = "VIEW_3D"
+       __label__ = "View"
+
+       def draw(self, context):
+               layout = self.layout
+
+               layout.itemO("VIEW3D_OT_properties", icon="ICON_MENU_PANEL")
+               layout.itemO("VIEW3D_OT_toolbar", icon="ICON_MENU_PANEL")
+               
+               layout.itemS()
+               
+               layout.item_enumO("VIEW3D_OT_viewnumpad", "type", "CAMERA")
+               layout.item_enumO("VIEW3D_OT_viewnumpad", "type", "TOP")
+               layout.item_enumO("VIEW3D_OT_viewnumpad", "type", "FRONT")
+               layout.item_enumO("VIEW3D_OT_viewnumpad", "type", "RIGHT")
+               
+               # layout.itemM("VIEW3D_MT_view_cameras", text="Cameras")
+               
+               layout.itemS()
+
+               layout.itemO("VIEW3D_OT_view_persportho")
+               
+               layout.itemS()
+               
+               # layout.itemO("VIEW3D_OT_view_show_all_layers")
+               
+               # layout.itemS()
+               
+               # layout.itemO("VIEW3D_OT_view_local_view")
+               # layout.itemO("VIEW3D_OT_view_global_view")
+               
+               # layout.itemS()
+               
+               layout.itemM("VIEW3D_MT_view_navigation")
+               # layout.itemM("VIEW3D_MT_view_align", text="Align View")
+               
+               layout.itemS()
+
+               layout.operator_context = "INVOKE_REGION_WIN"
+
+               layout.itemO("VIEW3D_OT_clip_border")
+               layout.itemO("VIEW3D_OT_zoom_border")
+               
+               layout.itemS()
+               
+               layout.itemO("VIEW3D_OT_view_center")
+               layout.itemO("VIEW3D_OT_view_all")
+               
+               layout.itemS()
+               
+               layout.itemO("SCREEN_OT_screen_full_area")
+
+class VIEW3D_HT_header(bpy.types.Header):
+       __space_type__ = "VIEW_3D"
+
+       def draw(self, context):
+               layout = self.layout
+
+               layout.template_header()
+
+               # menus
+               if context.area.show_menus:
+                       row = layout.row()
+                       row.itemM("VIEW3D_MT_view")
+
+               layout.template_header_3D()
+
+class VIEW3D_PT_random_panel(bpy.types.Panel):
+       __space_type__ = "VIEW_3D"
+       __region_type__ = "UI"
+       __label__ = "Random Panel"
+
+       def draw(self, context):
+               layout = self.layout
+               layout.itemL(text="panel contents")
+
+bpy.types.register(VIEW3D_MT_view_navigation)
+bpy.types.register(VIEW3D_MT_view)
+bpy.types.register(VIEW3D_HT_header)
+bpy.types.register(VIEW3D_PT_random_panel)
+


Property changes on: branches/blender2.5/blender/release/ui/space_view3d.py
___________________________________________________________________
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native

Modified: 
branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h   
2009-07-11 12:54:17 UTC (rev 21522)
+++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h   
2009-07-11 13:32:20 UTC (rev 21523)
@@ -622,6 +622,7 @@
 ListBase uiTemplateList(uiLayout *layout, struct PointerRNA *ptr, char 
*propname, struct PointerRNA *activeptr, char *activeprop, int rows, int 
columns, int compact);
 void uiTemplateRunningJobs(uiLayout *layout, struct bContext *C);
 void uiTemplateOperatorSearch(uiLayout *layout);
+void uiTemplateHeader3D(uiLayout *layout, struct bContext *C);
 
 /* items */
 void uiItemO(uiLayout *layout, char *name, int icon, char *opname);

Modified: 
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/object/object_edit.c     
2009-07-11 12:54:17 UTC (rev 21522)
+++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c     
2009-07-11 13:32:20 UTC (rev 21523)
@@ -1757,9 +1757,9 @@
        short changed = 0;
        Base *base;
        Group *group, *ob_groups[GROUP_MENU_MAX];
-       char str[10 + (24*GROUP_MENU_MAX)];
-       char *p = str;
-       int group_count=0, menu, i;
+       //char str[10 + (24*GROUP_MENU_MAX)];
+       //char *p = str;
+       int group_count=0; //, menu, i;
 
        for (   group=G.main->group.first;
                        group && group_count < GROUP_MENU_MAX;

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
    2009-07-11 12:54:17 UTC (rev 21522)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
    2009-07-11 13:32:20 UTC (rev 21523)
@@ -490,30 +490,13 @@
        ListBase *keymap= WM_keymap_listbase(wm, "View3D Generic", 
SPACE_VIEW3D, 0);
        
        WM_event_add_keymap_handler(&ar->handlers, keymap);
-       
-       UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_HEADER, ar->winx, 
ar->winy);
+
+       ED_region_header_init(ar);
 }
 
 static void view3d_header_area_draw(const bContext *C, ARegion *ar)
 {
-       float col[3];
-       
-       /* clear */
-       if(ED_screen_area_active(C))
-               UI_GetThemeColor3fv(TH_HEADER, col);
-       else
-               UI_GetThemeColor3fv(TH_HEADERDESEL, col);
-       
-       glClearColor(col[0], col[1], col[2], 0.0);
-       glClear(GL_COLOR_BUFFER_BIT);
-       
-       /* set view2d view matrix for scrolling (without scrollers) */
-       UI_view2d_view_ortho(C, &ar->v2d);
-       
-       view3d_header_buttons(C, ar);
-       
-       /* restore view matrix? */
-       UI_view2d_view_restore(C);
+       ED_region_header(C, ar);
 }
 
 static void view3d_header_area_listener(ARegion *ar, wmNotifier *wmn)

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 
    2009-07-11 12:54:17 UTC (rev 21522)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c 
    2009-07-11 13:32:20 UTC (rev 21523)
@@ -636,86 +636,6 @@
 }
 #endif
 
-static void view3d_view_viewnavmenu(bContext *C, uiLayout *layout, void 
*arg_unused)
-{
-//     uiItemO(layout, NULL, 0, "VIEW3D_OT_view_fly_mode");
-       
-//     uiItemS(layout);
-       
-       uiItemsEnumO(layout, "VIEW3D_OT_view_orbit", "type");
-       
-       uiItemS(layout);
-       
-       uiItemsEnumO(layout, "VIEW3D_OT_view_pan", "type");
-       
-       uiItemS(layout);
-       
-       uiItemFloatO(layout, "Zoom in", 0, "VIEW3D_OT_zoom", "delta", 1.0f);
-       uiItemFloatO(layout, "Zoom out", 0, "VIEW3D_OT_zoom", "delta", -1.0f);
-       
-}
-static void view3d_view_alignviewmenu(bContext *C, uiLayout *layout, void 
*arg_unused)
-{
-       
-}
-
-static void view3d_viewmenu(bContext *C, uiLayout *layout, void *arg_unused)
-{
-       ScrArea *sa= CTX_wm_area(C);
-
-       uiItemO(layout, NULL, ICON_MENU_PANEL, "VIEW3D_OT_properties");
-       uiItemO(layout, NULL, ICON_MENU_PANEL, "VIEW3D_OT_toolbar");
-       
-//     uiItemO(layout, ICON_MENU_PANEL, 
"VIEW3D_OT_toggle_transform_orientations_panel"); // Transform Orientations...
-//     uiItemO(layout, ICON_MENU_PANEL, 
"VIEW3D_OT_toggle_render_preview_panel"); // render preview...
-//     uiItemO(layout, ICON_MENU_PANEL, 
"VIEW3D_OT_toggle_view_properties_panel"); // View Properties....
-//     uiItemO(layout, ICON_MENU_PANEL, 
"VIEW3D_OT_toggle_background_image_panel"); // Background Image....
-//     uiItemO(layout, ICON_MENU_PANEL, 
"VIEW3D_OT_toggle_grease_pencil_panel"); // Grease Pencil....
-       
-       uiItemS(layout);
-       
-       uiItemEnumO(layout, NULL, 0, "VIEW3D_OT_viewnumpad", "type", 
V3D_VIEW_CAMERA);
-       uiItemEnumO(layout, NULL, 0, "VIEW3D_OT_viewnumpad", "type", 
V3D_VIEW_TOP);
-       uiItemEnumO(layout, NULL, 0, "VIEW3D_OT_viewnumpad", "type", 
V3D_VIEW_FRONT);
-       uiItemEnumO(layout, NULL, 0, "VIEW3D_OT_viewnumpad", "type", 
V3D_VIEW_RIGHT);
-       
-       //uiItemMenuF(layout, "Cameras", view3d_view_camerasmenu);
-       
-       uiItemS(layout);
-
-       uiItemO(layout, NULL, 0, "VIEW3D_OT_view_persportho");
-       
-       uiItemS(layout);
-       
-//     uiItemO(layout, NULL, 0, "VIEW3D_OT_view_show_all_layers");     
-       
-//     uiItemS(layout);
-       
-//     uiItemO(layout, NULL, 0, "VIEW3D_OT_view_local_view");
-//     uiItemO(layout, NULL, 0, "VIEW3D_OT_view_global_view");
-       
-//     uiItemS(layout);
-       
-       uiItemMenuF(layout, "View Navigation", 0, view3d_view_viewnavmenu);
-       uiItemMenuF(layout, "Align View", 0, view3d_view_alignviewmenu);
-       
-       uiItemS(layout);
-
-       uiLayoutSetOperatorContext(layout, WM_OP_INVOKE_REGION_WIN);    
-
-       uiItemO(layout, NULL, 0, "VIEW3D_OT_clip_border");
-       uiItemO(layout, NULL, 0, "VIEW3D_OT_zoom_border");
-       
-       uiItemS(layout);
-       
-       uiItemO(layout, NULL, 0, "VIEW3D_OT_view_center");
-       uiItemO(layout, NULL, 0, "VIEW3D_OT_view_all");
-       
-       uiItemS(layout);
-       
-       if(sa->full) uiItemO(layout, NULL, 0, "SCREEN_OT_screen_full_area"); // 
"Tile Window", Ctrl UpArrow
-       else uiItemO(layout, NULL, 0, "SCREEN_OT_screen_full_area"); // 
"Maximize Window", Ctr DownArrow
-}
 #if 0
 static uiBlock *view3d_viewmenu(bContext *C, ARegion *ar, void *arg_unused)
 {
@@ -4344,7 +4264,6 @@
        RegionView3D *rv3d= wm_region_view3d(C);
        short xmax, xco= *xcoord;
        
-       
        /* compensate for local mode when setting up the viewing menu/iconrow 
values */
        if(rv3d->view==7) rv3d->viewbut= 1;
        else if(rv3d->view==1) rv3d->viewbut= 2;
@@ -4355,11 +4274,6 @@
         * menu is drawn wider than it should be. The ypos of -2 is to make it 
properly fill the
         * height of the header */
        
-       xmax= GetButStringLength("View");
-       uiDefMenuBut(block, view3d_viewmenu, NULL, "View", xco, yco, xmax-3, 
20, "");
-       //uiDefPulldownBut(block, view3d_viewmenu, NULL, "View", xco, yco, 
xmax-3, 20, "");
-       xco+= xmax;
-       
        xmax= GetButStringLength("Select");
        if (obedit) {
                if (ob && ob->type == OB_MESH) {
@@ -4495,8 +4409,9 @@
        }
 }
 
-void view3d_header_buttons(const bContext *C, ARegion *ar)
+void uiTemplateHeader3D(uiLayout *layout, struct bContext *C)
 {
+       ARegion *ar= CTX_wm_region(C);
        ScrArea *sa= CTX_wm_area(C);
        View3D *v3d= sa->spacedata.first;
        Scene *scene= CTX_data_scene(C);
@@ -4506,11 +4421,9 @@
        uiBlock *block;
        int a, xco, maxco=0, yco= 3;
        
-       block= uiBeginBlock(C, ar, "header buttons", UI_EMBOSS);
+       block= uiLayoutFreeBlock(layout);
        uiBlockSetHandleFunc(block, do_view3d_header_buttons, NULL);
        

@@ Diff output truncated at 10240 characters. @@

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to