Revision: 23289
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23289
Author:   blendix
Date:     2009-09-16 21:36:17 +0200 (Wed, 16 Sep 2009)

Log Message:
-----------
UI

* Removed some legacy code which is not needed anymore now.
* Move some test_*poin_but functions to logic space code,
  since that's the only place using it still.
* uiIconFromID now uses RNA info to lookup the icon, to avoid
  code duplication, and means it works for more ID types.

Modified Paths:
--------------
    trunk/blender/source/blender/editors/include/UI_interface.h
    trunk/blender/source/blender/editors/interface/interface_templates.c
    trunk/blender/source/blender/editors/interface/interface_utils.c
    trunk/blender/source/blender/editors/space_buttons/space_buttons.c
    trunk/blender/source/blender/editors/space_graph/graph_buttons.c
    trunk/blender/source/blender/editors/space_logic/logic_window.c

Modified: trunk/blender/source/blender/editors/include/UI_interface.h
===================================================================
--- trunk/blender/source/blender/editors/include/UI_interface.h 2009-09-16 
19:27:23 UTC (rev 23288)
+++ trunk/blender/source/blender/editors/include/UI_interface.h 2009-09-16 
19:36:17 UTC (rev 23289)
@@ -418,7 +418,6 @@
 
 uiBut *uiDefIDPoinBut(uiBlock *block, uiIDPoinFuncFP func, short blocktype, 
int retval, char *str,
                                                short x1, short y1, short x2, 
short y2, void *idpp, char *tip);
-int uiDefIDPoinButs(uiBlock *block, struct Main *main, struct ID *parid, 
struct ID *id, int id_code, short *pin_p, int x, int y, uiIDPoinFunc func, int 
events);
 
 int uiIconFromID(struct ID *id);
 
@@ -531,29 +530,6 @@
 void UI_add_area_handlers(struct ListBase *handlers);
 void UI_add_popup_handlers(struct bContext *C, 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, struct ID **idpp);
-void test_actionpoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_obpoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_meshobpoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_meshpoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_matpoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_scenepoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_grouppoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_texpoin_but(struct bContext *C, char *name, struct ID **idpp);
-void test_imapoin_but(struct bContext *C, char *name, struct 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 rctf;
-void curvemap_buttons(uiBlock *block, struct CurveMapping *cumap, char 
labeltype, short event, short redraw, struct rctf *rect);
-void curvemap_layout(uiLayout *layout, struct CurveMapping *cumap, char 
labeltype, short event, short redraw, struct rctf *rect);
-void colorband_buttons(uiBlock *block, struct ColorBand *coba, struct rctf 
*rect, int small);
-
-
 /* Module
  *
  * init and exit should be called before using this module. init_userdef must

Modified: trunk/blender/source/blender/editors/interface/interface_templates.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_templates.c        
2009-09-16 19:27:23 UTC (rev 23288)
+++ trunk/blender/source/blender/editors/interface/interface_templates.c        
2009-09-16 19:36:17 UTC (rev 23289)
@@ -762,6 +762,22 @@
        }
 }
 
+static void test_obpoin_but(bContext *C, char *name, ID **idpp)
+{
+       ID *id;
+       
+       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;
+}
+
 /* draw panel showing settings for a constraint */
 static uiLayout *draw_constraint(uiLayout *layout, Object *ob, bConstraint 
*con)
 {
@@ -956,11 +972,11 @@
                                                        /* subtarget */
                                                        if 
(is_armature_target(ct->tar)) {
                                                                but= 
uiDefBut(block, TEX, B_CONSTRAINT_CHANGETARGET, "BO:", xco+120, 
yco-(66+yoffset),150,18, &ct->subtarget, 0, 24, 0, 0, "Subtarget Bone");
-                                                               
uiButSetCompleteFunc(but, autocomplete_bone, (void *)ct->tar);
+                                                               
//uiButSetCompleteFunc(but, autocomplete_bone, (void *)ct->tar);
                                                        }
                                                        else if 
(is_geom_target(ct->tar)) {
                                                                but= 
uiDefBut(block, TEX, B_CONSTRAINT_CHANGETARGET, "VG:", xco+120, 
yco-(66+yoffset),150,18, &ct->subtarget, 0, 24, 0, 0, "Name of Vertex Group 
defining 'target' points");
-                                                               
uiButSetCompleteFunc(but, autocomplete_vgroup, (void *)ct->tar);
+                                                               
//uiButSetCompleteFunc(but, autocomplete_vgroup, (void *)ct->tar);
                                                        }
                                                        else {
                                                                
strcpy(ct->subtarget, "");
@@ -1762,9 +1778,6 @@
        int groups, cols, layers;
        int group, col, layer, row;
        
-       if (!ptr->data)
-               return;
-       
        prop= RNA_struct_find_property(ptr, propname);
        if (!prop) {
                printf("uiTemplateLayer: layers property not found: %s\n", 
propname);
@@ -2036,7 +2049,7 @@
 
 /************************* Operator Search Template **************************/
 
-static void operator_call_cb(struct bContext *C, void *arg1, void *arg2)
+static void operator_call_cb(bContext *C, void *arg1, void *arg2)
 {
        wmOperatorType *ot= arg2;
        
@@ -2044,7 +2057,7 @@
                WM_operator_name_call(C, ot->idname, WM_OP_INVOKE_DEFAULT, 
NULL);
 }
 
-static void operator_search_cb(const struct bContext *C, void *arg, char *str, 
uiSearchItems *items)
+static void operator_search_cb(const bContext *C, void *arg, char *str, 
uiSearchItems *items)
 {
        wmOperatorType *ot = WM_operatortype_first();
        

Modified: trunk/blender/source/blender/editors/interface/interface_utils.c
===================================================================
--- trunk/blender/source/blender/editors/interface/interface_utils.c    
2009-09-16 19:27:23 UTC (rev 23288)
+++ trunk/blender/source/blender/editors/interface/interface_utils.c    
2009-09-16 19:36:17 UTC (rev 23289)
@@ -23,31 +23,13 @@
  * ***** END GPL LICENSE BLOCK *****
  */
 
-#include <math.h>
+#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
-#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_lamp_types.h""
 #include "DNA_object_types.h"
-#include "DNA_screen_types.h"
-#include "DNA_texture_types.h"
-#include "DNA_windowmanager_types.h"
 
-#include "BLI_blenlib.h"
-
-#include "BKE_colortools.h"
 #include "BKE_context.h"
-#include "BKE_idprop.h"
-#include "BKE_icons.h"
-#include "BKE_library.h"
-#include "BKE_main.h"
-#include "BKE_texture.h"
 #include "BKE_utildefines.h"
 
 #include "RNA_access.h"
@@ -55,18 +37,6 @@
 #include "UI_interface.h"
 #include "UI_resources.h"
 
-#include "ED_screen.h"
-#include "ED_util.h"
-
-#include "WM_api.h"
-#include "WM_types.h"
-
-#include "interface_intern.h"
-
-#define DEF_BUT_WIDTH          150
-#define DEF_ICON_BUT_WIDTH     20
-#define DEF_BUT_HEIGHT         20
-
 /*************************** RNA Utilities ******************************/
 
 uiBut *uiDefAutoButR(uiBlock *block, PointerRNA *ptr, PropertyRNA *prop, int 
index, char *name, int icon, int x1, int y1, int x2, int y2)
@@ -177,1047 +147,38 @@
                else
                        col= NULL;
 
-               /* temp hack to show normal button for spin/screw */
-               if(strcmp(name, "Axis")==0) {
-                       uiDefButR(uiLayoutGetBlock(col), BUT_NORMAL, 0, name, 
0, 0, 100, 100, ptr, "axis", -1, 0, 0, -1, -1, NULL);
-               }
-               else uiItemFullR(col, "", 0, ptr, prop, -1, 0, 0);
+               uiItemFullR(col, "", 0, ptr, prop, -1, 0, 0);
        }
        RNA_STRUCT_END;
 }
 
 /***************************** ID Utilities *******************************/
-/* note, C code version, will be replaced with version in 
interface_templates.c */
 
-typedef struct uiIDPoinParams {
-       uiIDPoinFunc func;
-       ListBase *lb;
-       ID *id;
-       short id_code;
-       short browsenr;
-} uiIDPoinParams;
-
-static void idpoin_cb(bContext *C, void *arg_params, void *arg_event)
+int uiIconFromID(ID *id)
 {
-       uiIDPoinParams *params= (uiIDPoinParams*)arg_params;
-       ListBase *lb= params->lb;
-       uiIDPoinFunc func= params->func;
-       ID *id= params->id, *idtest;
-       int nr, event= GET_INT_FROM_POINTER(arg_event);
+       Object *ob;
+       PointerRNA ptr;
+       short idcode;
 
-       if(event == UI_ID_BROWSE && params->browsenr == 32767)
-               event= UI_ID_ADD_NEW;
-       else if(event == UI_ID_BROWSE && params->browsenr == 32766)
-               event= UI_ID_OPEN;
-
-       switch(event) {
-               case UI_ID_RENAME:
-                       if(id) test_idbutton(id->name+2);
-                       else return;
-                       break;
-               case UI_ID_BROWSE: {
-                       /* ID can be NULL, if nothing was assigned yet */
-                       if(lb->first==NULL) return;
-
-                       if(params->browsenr== -2) {
-                               /* XXX implement or find a replacement (ID can 
be NULL!)
-                                * activate_databrowse((ID *)G.buts->lockpoin, 
GS(id->name), 0, B_MESHBROWSE, &params->browsenr, do_global_buttons); */
-                               return;
-                       }
-                       if(params->browsenr < 0)
-                               return;
-
-                       for(idtest=lb->first, nr=1; idtest; 
idtest=idtest->next, nr++) {
-                               if(nr==params->browsenr) {
-                                       if(id == idtest)
-                                               return;
-
-                                       id= idtest;
-
-                                       break;
-                               }
-                       }
-                       break;
-               }
-               case UI_ID_DELETE:
-                       id= NULL;
-                       break;
-               case UI_ID_FAKE_USER:
-                       if(id) {
-                               if(id->flag & LIB_FAKEUSER) id->us++;
-                               else id->us--;
-                       }
-                       else return;
-                       break;
-               case UI_ID_PIN:
-                       break;
-               case UI_ID_ADD_NEW:
-                       break;
-               case UI_ID_OPEN:
-                       break;
-               case UI_ID_ALONE:
-                       if(!id || id->us < 1)
-                               return;
-                       break;
-               case UI_ID_LOCAL:
-                       if(!id || id->us < 1)
-                               return;
-                       break;
-               case UI_ID_AUTO_NAME:
-                       break;
-       }
-
-       if(func)
-               func(C, id, event);
-}
-
-/* ***************************** ID Search browse menu ********************** 
*/
-
-static void id_search_call_cb(struct bContext *C, void *arg_params, void *item)
-{
-       uiIDPoinParams *params= (uiIDPoinParams*)arg_params;
-
-       if(item && params->func)
-               params->func(C, item, UI_ID_BROWSE);
-
-}
-
-static void id_search_cb(const struct bContext *C, void *arg_params, char 
*str, uiSearchItems *items)
-{
-       uiIDPoinParams *params= (uiIDPoinParams*)arg_params;
-       ID *id;
+       if(id==NULL)
+               return 0;
        
-       for(id= params->lb->first; id; id= id->next) {
-               int iconid= 0;
-               
-               
-               /* icon */
-               switch(GS(id->name))
-               {
-                       case ID_MA: /* fall through */
-                       case ID_TE: /* fall through */
-                       case ID_IM: /* fall through */
-                       case ID_WO: /* fall through */
-                       case ID_LA: /* fall through */
-                               iconid= BKE_icon_getid(id);
-                               break;
-                       default:
-                               break;
-               }
-               
-               if(BLI_strcasestr(id->name+2, str)) {
-                       if(0==uiSearchItemAdd(items, id->name+2, id, iconid))
-                               break;
-               }
-       }
-}
+       idcode= GS(id->name);
 
-static uiBlock *id_search_menu(bContext *C, ARegion *ar, void *arg_params)
-{
-       static char search[256];
-       static uiIDPoinParams params;
-       wmEvent event;
-       wmWindow *win= CTX_wm_window(C);
-       uiBlock *block;
-       uiBut *but;
-       
-       /* clear initial search string, then all items show */
-       search[0]= 0;
-       /* params is malloced, can be freed by parent button */
-       params= *((uiIDPoinParams*)arg_params);
-       
-       block= uiBeginBlock(C, ar, "_popup", UI_EMBOSS);
-       uiBlockSetFlag(block, UI_BLOCK_LOOP|UI_BLOCK_REDRAW|UI_BLOCK_RET_1);
-       

@@ Diff output truncated at 10240 characters. @@

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

Reply via email to