Revision: 18928
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18928
Author:   ton
Date:     2009-02-11 17:54:55 +0100 (Wed, 11 Feb 2009)

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

Smaller jobs, all in one commit!

- Moved object_do_update out of view3d drawing, into
  the event system (currently after notifiers).
  Depsgraph calls for setting update flags will have to
  keep track of each Screen's needs, so a UI showing only
  a Sequencer doesn't do objects.

- Added button in "Properties region" in 3D window to set
  or disable 4-split, including the 3 options it has.
  (lock, box, clip)

- Restored legacy code for UI, to make things work like
  bone rename, autocomplete. 

- Node editor now shows Curves widgets again

- Bugfix: composite job increased Viewer user id count

- Bugfix: Node editor, not "Enable nodes" still called
  a Job, which didn't do anything

- Various code cleaning, unused vars and prototypes.

Modified Paths:
--------------
    branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
    branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
    branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
    branches/blender2.5/blender/source/blender/editors/interface/interface.c
    
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c
    
branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h
    
branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c
    branches/blender2.5/blender/source/blender/editors/object/object_edit.c
    branches/blender2.5/blender/source/blender/editors/physics/ed_fluidsim.c
    
branches/blender2.5/blender/source/blender/editors/space_action/action_header.c
    branches/blender2.5/blender/source/blender/editors/space_node/drawnode.c
    branches/blender2.5/blender/source/blender/editors/space_node/space_node.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_buttons.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_draw.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c
    
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_intern.h
    branches/blender2.5/blender/source/blender/makesdna/DNA_view3d_types.h
    
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/node.c
===================================================================
--- branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 
2009-02-11 16:17:34 UTC (rev 18927)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/node.c 
2009-02-11 16:54:55 UTC (rev 18928)
@@ -1012,8 +1012,7 @@
                oldsock->new_sock= sock;
        }
        
-       if(nnode->id)
-               nnode->id->us++;
+       /* don't increase node->id users, freenode doesn't decrement either */
        
        if(node->typeinfo->copystoragefunc)
                node->typeinfo->copystoragefunc(node, nnode);

Modified: 
branches/blender2.5/blender/source/blender/editors/armature/editarmature.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/armature/editarmature.c  
2009-02-11 16:17:34 UTC (rev 18927)
+++ branches/blender2.5/blender/source/blender/editors/armature/editarmature.c  
2009-02-11 16:54:55 UTC (rev 18928)
@@ -4386,7 +4386,6 @@
        Object *ob= CTX_data_active_object(C);
        bArmature *arm= ob->data;
        bPoseChannel *pchan;
-       EditBone *ebone;
        int     sel=1;
 
        /*      Determine if there are any selected bones
@@ -4425,7 +4424,6 @@
 static int pose_select_parent_exec(bContext *C, wmOperator *op)
 {
        Object *ob= CTX_data_active_object(C);
-       bArmature *arm= ob->data;
        bPoseChannel *pchan,*parent;
 
        /*      Determine if there is an active bone */
@@ -4439,7 +4437,7 @@
                }
        }
 
-       WM_event_add_notifier(C, NC_OBJECT|ND_BONE_SELECT, NULL);
+       WM_event_add_notifier(C, NC_OBJECT|ND_BONE_SELECT, ob);
        
        return OPERATOR_FINISHED;
 }

Modified: 
branches/blender2.5/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/UI_interface.h   
2009-02-11 16:17:34 UTC (rev 18927)
+++ branches/blender2.5/blender/source/blender/editors/include/UI_interface.h   
2009-02-11 16:54:55 UTC (rev 18928)
@@ -513,6 +513,28 @@
 void UI_add_area_handlers(struct ListBase *handlers);
 void UI_add_popup_handlers(struct ListBase *handlers, uiPopupBlockHandle 
*menu);
 
+/* Legacy code
+ * Callbacks and utils to get 2.48 work */
+
+void test_idbutton_cb(struct bContext *C, void *namev, void *arg2);
+void test_scriptpoin_but(struct bContext *C, char *name, ID **idpp);
+void test_actionpoin_but(struct bContext *C, char *name, ID **idpp);
+void test_obpoin_but(struct bContext *C, char *name, ID **idpp);
+void test_meshobpoin_but(struct bContext *C, char *name, ID **idpp);
+void test_meshpoin_but(struct bContext *C, char *name, ID **idpp);
+void test_matpoin_but(struct bContext *C, char *name, ID **idpp);
+void test_scenepoin_but(struct bContext *C, char *name, ID **idpp);
+void test_grouppoin_but(struct bContext *C, char *name, ID **idpp);
+void test_texpoin_but(struct bContext *C, char *name, ID **idpp);
+void test_imapoin_but(struct bContext *C, char *name, ID **idpp);
+void autocomplete_bone(struct bContext *C, char *str, void *arg_v);
+void autocomplete_vgroup(struct bContext *C, char *str, void *arg_v);
+
+struct CurveMapping;
+struct rctf;
+void curvemap_buttons(uiBlock *block, struct CurveMapping *cumap, char 
labeltype, short event, short redraw, struct rctf *rect);
+
+
 /* Module
  *
  * init and exit should be called before using this module. init_userdef must

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/interface/interface.c    
2009-02-11 16:17:34 UTC (rev 18927)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface.c    
2009-02-11 16:54:55 UTC (rev 18928)
@@ -624,6 +624,7 @@
 
 void uiDrawBlock(const bContext *C, uiBlock *block)
 {
+       ARegion *ar= CTX_wm_region(C);
        uiBut *but;
 
        if(!block->endblock)
@@ -640,7 +641,7 @@
        if(block->drawextra) block->drawextra(C, block);
 
        for (but= block->buttons.first; but; but= but->next)
-               ui_draw_but(but);
+               ui_draw_but(ar, but);
 
        ui_draw_links(block);
 }
@@ -863,11 +864,11 @@
                        bt= ui_get_valid_link_button(block, but, mval);
                        if(bt) {
                                bt->flag |= UI_ACTIVE;
-                               ui_draw_but(bt);
+                               ui_draw_but(ar, bt);
                        }
                        if(bto && bto!=bt) {
                                bto->flag &= ~UI_ACTIVE;
-                               ui_draw_but(bto);
+                               ui_draw_but(ar, bto);
                        }
                        bto= bt;
 
@@ -965,7 +966,7 @@
                        but->x2 += dx;
                        but->y2 += dy;
                        
-                       ui_draw_but(but);
+                       ui_draw_but(ar, but);
                        ui_block_flush_back(but->block);
                        didit= 1;
 

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c   
    2009-02-11 16:17:34 UTC (rev 18927)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_draw.c   
    2009-02-11 16:54:55 UTC (rev 18928)
@@ -2975,7 +2975,7 @@
        
 }
 
-static void ui_draw_but_CURVE(uiBut *but)
+static void ui_draw_but_CURVE(ARegion *ar, uiBut *but)
 {
        CurveMapping *cumap;
        CurveMap *cuma;
@@ -2990,10 +2990,10 @@
        /* need scissor test, curve can draw outside of boundary */
        glGetIntegerv(GL_VIEWPORT, scissor);
        fx= but->x1; fy= but->y1;
-       /* XXX 2.50 need context: ui_graphics_to_window(but->win, &fx, &fy); */
+       ui_block_to_window_fl(ar, but->block, &fx, &fy); 
        dx= but->x2; dy= but->y2;
-       /* XXX 2.50 need context: ui_graphics_to_window(but->win, &dx, &dy); */
-       //glScissor((int)floor(fx), (int)floor(fy), (int)ceil(dx-fx), 
(int)ceil(dy-fy));
+       ui_block_to_window_fl(ar, but->block, &dx, &dy); 
+       glScissor((int)floor(fx), (int)floor(fy), (int)ceil(dx-fx), 
(int)ceil(dy-fy));
        
        /* calculate offset and zoom */
        zoomx= (but->x2-but->x1-2.0*but->aspect)/(cumap->curr.xmax - 
cumap->curr.xmin);
@@ -3254,7 +3254,7 @@
        // note: if you want aligning, adapt the call uiBlockEndAlign in 
interface.c 
 }
 
-void ui_draw_but(uiBut *but)
+void ui_draw_but(ARegion *ar, uiBut *but)
 {
        double value;
        float x1, x2, y1, y2, fac;
@@ -3322,7 +3322,7 @@
                ui_draw_but_NORMAL(but);
                break;
        case BUT_CURVE:
-               ui_draw_but_CURVE(but);
+               ui_draw_but_CURVE(ar, but);
                break;
                
        default:

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h 
    2009-02-11 16:17:34 UTC (rev 18927)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h 
    2009-02-11 16:54:55 UTC (rev 18928)
@@ -313,13 +313,18 @@
 
 void ui_set_name_menu(uiBut *but, int value);
 
+struct AutoComplete;
+struct AutoComplete *autocomplete_begin(char *startname, int maxlen);
+void autocomplete_do_name(struct AutoComplete *autocpl, const char *name);
+void autocomplete_end(struct AutoComplete *autocpl, char *autoname);
+
 /* interface_panel.c */
 extern int ui_handler_panel_region(struct bContext *C, struct wmEvent *event);
 extern void ui_draw_panel(struct ARegion *ar, uiBlock *block);
 
 /* interface_draw.c */
 extern void ui_set_embossfunc(uiBut *but, int drawtype);
-extern void ui_draw_but(uiBut *but);
+extern void ui_draw_but(ARegion *ar, uiBut *but);
 extern void ui_rasterpos_safe(float x, float y, float aspect);
 extern void ui_draw_tria_icon(float x, float y, float aspect, char dir);
 extern void ui_draw_anti_x(float x1, float y1, float x2, float y2);

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c
===================================================================
--- 
branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c  
    2009-02-11 16:17:34 UTC (rev 18927)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_utils.c  
    2009-02-11 16:54:55 UTC (rev 18928)
@@ -29,11 +29,15 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_action_types.h"
+#include "DNA_color_types.h"
 #include "DNA_listBase.h"
 #include "DNA_material_types.h"
+#include "DNA_object_types.h"
 #include "DNA_screen_types.h"
 #include "DNA_windowmanager_types.h"
 
+#include "BKE_colortools.h"
 #include "BKE_context.h"
 #include "BKE_idprop.h"
 #include "BKE_library.h"
@@ -45,6 +49,7 @@
 #include "UI_interface.h"
 #include "UI_resources.h"
 
+#include "ED_screen.h"
 #include "ED_util.h"
 
 #include "WM_api.h"
@@ -672,3 +677,458 @@
        return x;
 }
 
+/* ****************************** default button callbacks ******************* 
*/
+/* ************ LEGACY WARNING, only to get things work with 2.48 code! ****** 
*/
+
+void test_idbutton_cb(struct bContext *C, void *namev, void *arg2)
+{
+       char *name= namev;
+       
+       test_idbutton(name+2);
+}
+
+
+void test_scriptpoin_but(struct bContext *C, char *name, ID **idpp)
+{
+       ID *id;
+       
+       id= CTX_data_main(C)->text.first;
+       while(id) {
+               if( strcmp(name, id->name+2)==0 ) {
+                       *idpp= id;
+                       return;
+               }
+               id= id->next;
+       }
+       *idpp= NULL;
+}
+
+void test_actionpoin_but(struct bContext *C, char *name, ID **idpp)
+{
+       ID *id;
+       
+       id= CTX_data_main(C)->action.first;
+       while(id) {
+               if( strcmp(name, id->name+2)==0 ) {
+                       id_us_plus(id);
+                       *idpp= id;
+                       return;
+               }
+               id= id->next;
+       }
+       *idpp= NULL;
+}
+
+
+void test_obpoin_but(struct bContext *C, char *name, ID **idpp)
+{
+       ID *id;
+       
+// XXX if(idpp == (ID **)&(emptytex.object)) {
+//             error("You must add a texture first");
+//             *idpp= 0;
+//             return;
+//     }
+       
+       id= CTX_data_main(C)->object.first;
+       while(id) {
+               if( strcmp(name, id->name+2)==0 ) {
+                       *idpp= id;
+                       id_lib_extern(id);      /* checks lib data, sets 
correct flag for saving then */
+                       return;
+               }
+               id= id->next;
+       }
+       *idpp= NULL;
+}
+
+/* tests for an object of type OB_MESH */
+void test_meshobpoin_but(struct bContext *C, char *name, ID **idpp)
+{
+       ID *id;
+
+       id = CTX_data_main(C)->object.first;
+       while(id) {
+               Object *ob = (Object *)id;
+               if(ob->type == OB_MESH && strcmp(name, id->name + 2) == 0) {
+                       *idpp = id;
+                       /* checks lib data, sets correct flag for saving then */
+                       id_lib_extern(id);
+                       return;
+               }
+               id = id->next;
+       }
+       *idpp = NULL;
+}
+
+void test_meshpoin_but(struct bContext *C, char *name, ID **idpp)
+{
+       ID *id;
+
+       if( *idpp ) (*idpp)->us--;
+       
+       id= CTX_data_main(C)->mesh.first;
+       while(id) {
+               if( strcmp(name, id->name+2)==0 ) {
+                       *idpp= id;
+                       id_us_plus(id);
+                       return;
+               }
+               id= id->next;
+       }
+       *idpp= NULL;
+}
+
+void test_matpoin_but(struct bContext *C, char *name, ID **idpp)
+{
+       ID *id;
+
+       if( *idpp ) (*idpp)->us--;

@@ 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