[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18745] branches/blender2.5/blender/source /blender: Animato:

2009-01-30 Thread Joshua Leung
Revision: 18745
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18745
Author:   aligorith
Date: 2009-01-30 09:10:31 +0100 (Fri, 30 Jan 2009)

Log Message:
---
Animato:

* Drivers view in Graph Editor now displays drivers only, instead of displaying 
normal Animation data.

* 'Materials' channel is now only shown under an Object when there are 
Materials with animation data...

* Hid more debug prints behind debug flag. These should be removed...

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c
branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c
branches/blender2.5/blender/source/blender/blenkernel/intern/key.c
branches/blender2.5/blender/source/blender/editors/animation/anim_channels.c
branches/blender2.5/blender/source/blender/editors/animation/anim_filter.c

branches/blender2.5/blender/source/blender/editors/animation/anim_ipo_utils.c
branches/blender2.5/blender/source/blender/editors/include/ED_anim_api.h
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_draw.c
branches/blender2.5/blender/source/blender/editors/space_ipo/space_ipo.c
branches/blender2.5/blender/source/blender/makesdna/DNA_anim_types.h

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c   
2009-01-30 03:35:05 UTC (rev 18744)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/constraint.c   
2009-01-30 08:10:31 UTC (rev 18745)
@@ -1886,6 +1886,7 @@
printf("do Action Constraint %s - Ob %s Pchan %s \n", 
con->name, cob->ob->id.name+2, (cob->pchan)?cob->pchan->name:NULL);

/* Get the appropriate information from the action */
+   // XXX probably we might need some special filtering methods to 
make this more efficient
if (cob->type == CONSTRAINT_OBTYPE_BONE) {
Object workob;
bPose *pose;

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c   
2009-01-30 03:35:05 UTC (rev 18744)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c   
2009-01-30 08:10:31 UTC (rev 18745)
@@ -20,6 +20,7 @@
 
 #include "BKE_fcurve.h"
 #include "BKE_curve.h" 
+#include "BKE_global.h"
 #include "BKE_idprop.h"
 #include "BKE_utildefines.h"
 
@@ -489,6 +490,7 @@
/* error check for missing pointer... */
if (id == NULL) {
printf("Error: driver doesn't have any valid target to use \n");
+   if (G.f & G_DEBUG) printf("\tpath = %s [%d] \n", path, index);
driver->flag |= DRIVER_FLAG_INVALID;
return 0.0f;
}

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/key.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/key.c  
2009-01-30 03:35:05 UTC (rev 18744)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/key.c  
2009-01-30 08:10:31 UTC (rev 18745)
@@ -646,7 +646,7 @@

if(key->from==NULL) return;

-   printf("do_rel_key() \n");
+   if (G.f & G_DEBUG) printf("do_rel_key() \n");

if( GS(key->from->name)==ID_ME ) {
ofs[0]= sizeof(MVert);
@@ -683,14 +683,14 @@
if(kb!=key->refkey) {
float icuval= kb->curval;

-   printf("\tdo rel key %s : %s = %f \n", key->id.name+2, 
kb->name, icuval);
+   if (G.f & G_DEBUG) printf("\tdo rel key %s : %s = %f 
\n", key->id.name+2, kb->name, icuval);

/* only with value, and no difference allowed */
if(!(kb->flag & KEYBLOCK_MUTE) && icuval!=0.0f && 
kb->totelem==tot) {
KeyBlock *refb;
float weight, *weights= kb->weights;

-   printf("\t\tnot skipped \n");
+   if (G.f & G_DEBUG) printf("\t\tnot skipped \n");

poin= basispoin;
from= kb->data;
@@ -762,7 +762,7 @@
 
if(key->from==0) return;
 
-   printf("do_key() \n");
+   if (G.f & G_DEBUG) printf("do_key() \n");

if( GS(key->from->name)==ID_ME ) {
ofs[0]= sizeof(MVert);
@@ -1024,10 +1024,10 @@
/* prevent python from screwing this up? anyhoo, the from pointer coul

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18746] branches/blender2.5/blender/source /blender/editors/space_outliner: Outliner: Updated the tree-building code to work for Animato

2009-01-30 Thread Joshua Leung
Revision: 18746
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18746
Author:   aligorith
Date: 2009-01-30 11:08:58 +0100 (Fri, 30 Jan 2009)

Log Message:
---
Outliner: Updated the tree-building code to work for Animato

* Note to Icon Designers - we need a new icon for 'Animation data' I think. 
Currently I'm using the old IPO icon...
* Should F-Curves get shown in the Outliner?

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c

branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_intern.h

Modified: 
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
2009-01-30 08:10:31 UTC (rev 18745)
+++ 
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
2009-01-30 10:08:58 UTC (rev 18746)
@@ -33,6 +33,7 @@
 
 #include "MEM_guardedalloc.h"
 
+#include "DNA_anim_types.h"
 #include "DNA_action_types.h"
 #include "DNA_armature_types.h"
 #include "DNA_constraint_types.h"
@@ -590,6 +591,7 @@
te->index= index;   // for data arays
if(ELEM3(type, TSE_SEQUENCE, TSE_SEQ_STRIP, TSE_SEQUENCE_DUP));
else if(ELEM3(type, TSE_RNA_STRUCT, TSE_RNA_PROPERTY, 
TSE_RNA_ARRAY_ELEM));
+   else if(type==TSE_ANIM_DATA);
else {
te->name= id->name+2; // default, can be overridden by Library 
or non-ID data
te->idcode= GS(id->name);
@@ -612,6 +614,8 @@
{
Object *ob= (Object *)id;

+   outliner_add_element(soops, &te->subtree, 
ob->adt, te, TSE_ANIM_DATA, 0);
+   
if(ob->proxy && ob->id.lib==NULL)
outliner_add_element(soops, 
&te->subtree, ob->proxy, te, TSE_PROXY, 0);

@@ -696,9 +700,6 @@
}
}

-   outliner_add_element(soops, &te->subtree, 
ob->ipo, te, 0, 0);
-   outliner_add_element(soops, &te->subtree, 
ob->action, te, 0, 0);
-   
for(a=0; atotcol; a++) 
outliner_add_element(soops, 
&te->subtree, ob->mat[a], te, 0, a);

@@ -778,27 +779,16 @@
}

if(ob->dup_group)
-   outliner_add_element(soops, 
&te->subtree, ob->dup_group, te, 0, 0);
-
-   if(ob->nlastrips.first) {
-   bActionStrip *strip;
-   TreeElement *ten;
-   TreeElement *tenla= 
outliner_add_element(soops, &te->subtree, ob, te, TSE_NLA, 0);
-   int a= 0;
-   
-   tenla->name= "NLA strips";
-   for (strip=ob->nlastrips.first; strip; 
strip=strip->next, a++) {
-   ten= 
outliner_add_element(soops, &tenla->subtree, strip->act, tenla, TSE_NLA_ACTION, 
a);
-   if(ten) ten->directdata= strip;
-   }
-   }
+   outliner_add_element(soops, 
&te->subtree, ob->dup_group, te, 0, 0); 

}
break;
case ID_ME:
{
Mesh *me= (Mesh *)id;
-   outliner_add_element(soops, &te->subtree, 
me->ipo, te, 0, 0);
+   
+   //outliner_add_element(soops, &te->subtree, 
me->adt, te, TSE_ANIM_DATA, 0);
+   
outliner_add_element(soops, &te->subtree, 
me->key, te, 0, 0);
for(a=0; atotcol; a++) 
outliner_add_element(soops, 
&te->subtree, me->mat[a], te, 0, a);
@@ -809,6 +799,9 @@
case ID_CU:
{
Curve *cu= (Curve *)id;
+   
+   outliner_add_element(soops, &te->subtree, 
cu->adt, te, TSE_ANIM_DATA, 0);
+   
for(a=0; atotcol; a+

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18747] branches/blender2.5/blender/source /blender: 2.5: UI & Menus

2009-01-30 Thread Brecht Van Lommel
Revision: 18747
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18747
Author:   blendix
Date: 2009-01-30 13:18:08 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5: UI & Menus

* Cleaned up UI_interface.h a bit, and added some comments to
  organize things a bit and indicate what should be used when.

* uiMenu* functions can now be used to create menus for headers
  too, this is done with a uiDefMenuBut, which takes a pointer
  to a uiMenuCreateFunc, that will then call uiMenu* functions.

* Renamed uiMenuBegin/End to uiPupMenuBegin/End, as these are
  specific to making popup menus. Will convert the other
  conformation popup menu functions to use this too so we can
  remove some code.

* Extended uiMenu functions, now there is is also:
  BooleanO, FloatO, BooleanR, EnumR, LevelEnumR, Separator.

* Converted image window headers to use uiMenu functions, simplifies
  menu code further here. Did not remove the uiDefMenu functions as
  they are used in sequencer/view3d in some places now (will fix).

* Also tried to simplify and fix bounds computation a bit better
  for popup menus. It tried to find out in advance what the size
  of the menu was but this is difficult with keymap strings in
  there, now uiPopupBoundsBlock can figure this out afterwards and
  ensure the popup is within the window bounds. Will convert some
  other functions to use this too.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/include/ED_util.h
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_handlers.c

branches/blender2.5/blender/source/blender/editors/interface/interface_intern.h

branches/blender2.5/blender/source/blender/editors/interface/interface_panel.c

branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
branches/blender2.5/blender/source/blender/editors/screen/screen_ops.c

branches/blender2.5/blender/source/blender/editors/space_action/action_header.c

branches/blender2.5/blender/source/blender/editors/space_buttons/buttons_header.c
branches/blender2.5/blender/source/blender/editors/space_file/file_header.c

branches/blender2.5/blender/source/blender/editors/space_image/image_header.c
branches/blender2.5/blender/source/blender/editors/space_info/info_header.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_header.c
branches/blender2.5/blender/source/blender/editors/space_nla/nla_header.c
branches/blender2.5/blender/source/blender/editors/space_node/node_draw.c
branches/blender2.5/blender/source/blender/editors/space_node/node_header.c

branches/blender2.5/blender/source/blender/editors/space_outliner/outliner_header.c

branches/blender2.5/blender/source/blender/editors/space_script/script_header.c

branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_header.c

branches/blender2.5/blender/source/blender/editors/space_sound/sound_header.c
branches/blender2.5/blender/source/blender/editors/space_text/text_header.c
branches/blender2.5/blender/source/blender/editors/space_time/time_header.c

branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_header.c
branches/blender2.5/blender/source/blender/editors/transform/transform_ops.c
branches/blender2.5/blender/source/blender/editors/util/editmode_undo.c
branches/blender2.5/blender/source/blender/render/intern/source/occlusion.c

branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c

branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_util.h
===
--- branches/blender2.5/blender/source/blender/editors/include/ED_util.h
2009-01-30 10:08:58 UTC (rev 18746)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_util.h
2009-01-30 12:18:08 UTC (rev 18747)
@@ -30,7 +30,7 @@
 
 struct Object;
 struct bContext;
-struct uiMenuBlockHandle;
+struct ARegion;
 struct uiBlock;
 struct wmOperatorType;
 
@@ -55,7 +55,7 @@
 

 void   *undo_editmode_get_prev (struct Object *ob);
-struct uiBlock *editmode_undohistorymenu(struct bContext *C, struct 
uiMenuBlockHandle *handle, void *arg_unused);
+struct uiBlock *editmode_undohistorymenu(struct bContext *C, struct ARegion 
*ar, void *arg_unused);
 void   undo_editmode_menu  (

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18748] branches/blender2.5/blender/source /blender/editors/interface/interface_handlers.c: 2.5: fix mistake in last commit, was crashing menus.

2009-01-30 Thread Brecht Van Lommel
Revision: 18748
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18748
Author:   blendix
Date: 2009-01-30 13:49:01 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5: fix mistake in last commit, was crashing menus.

Modified Paths:
--

branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
===
--- 
branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
   2009-01-30 12:18:08 UTC (rev 18747)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
   2009-01-30 12:49:01 UTC (rev 18748)
@@ -1431,6 +1431,7 @@
 static void ui_blockopen_begin(bContext *C, uiBut *but, uiHandleButtonData 
*data)
 {
uiBlockCreateFunc func= NULL;
+   uiBlockHandleCreateFunc handlefunc= NULL;
uiMenuCreateFunc menufunc= NULL;
void *arg= NULL;
 
@@ -1449,15 +1450,15 @@
data->value= data->origvalue;
but->editval= &data->value;
 
-   func= ui_block_func_MENU;
+   handlefunc= ui_block_func_MENU;
arg= but;
break;
case ICONROW:
-   func= ui_block_func_ICONROW;
+   handlefunc= ui_block_func_ICONROW;
arg= but;
break;
case ICONTEXTROW:
-   func= ui_block_func_ICONTEXTROW;
+   handlefunc= ui_block_func_ICONTEXTROW;
arg= but;
break;
case COL:
@@ -1465,13 +1466,13 @@
VECCOPY(data->vec, data->origvec);
but->editvec= data->vec;
 
-   func= ui_block_func_COL;
+   handlefunc= ui_block_func_COL;
arg= but;
break;
}
 
-   if(func) {
-   data->menu= ui_popup_block_create(C, data->region, but, func, 
NULL, arg);
+   if(func || handlefunc) {
+   data->menu= ui_popup_block_create(C, data->region, but, func, 
handlefunc, arg);
if(but->block->handle)
data->menu->popup= but->block->handle->popup;
}


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


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18749] branches/blender2.5/blender/source /blender/editors/space_image: 2.5: Added simple toolbox menu in image window as a test,

2009-01-30 Thread Brecht Van Lommel
Revision: 18749
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18749
Author:   blendix
Date: 2009-01-30 13:58:00 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5: Added simple toolbox menu in image window as a test,
can uses same menus as header now since code doesn't depend
on being in the header anymore.

Modified Paths:
--

branches/blender2.5/blender/source/blender/editors/space_image/image_header.c

branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h
branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c
branches/blender2.5/blender/source/blender/editors/space_image/space_image.c

Modified: 
branches/blender2.5/blender/source/blender/editors/space_image/image_header.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_image/image_header.c   
2009-01-30 12:49:01 UTC (rev 18748)
+++ 
branches/blender2.5/blender/source/blender/editors/space_image/image_header.c   
2009-01-30 12:58:00 UTC (rev 18749)
@@ -1117,3 +1117,38 @@
uiDrawBlock(C, block);
 }
 
+/** toolbox operator */
+
+static int toolbox_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+   SpaceImage *sima= (SpaceImage*)CTX_wm_space_data(C);
+   Object *obedit= CTX_data_edit_object(C);
+   uiMenuItem *head;
+   int show_uvedit;
+
+   show_uvedit= get_space_image_show_uvedit(sima, obedit);
+
+   head= uiPupMenuBegin("Toolbox");
+
+   uiMenuLevel(head, "View", image_viewmenu);
+   if(show_uvedit) uiMenuLevel(head, "Select", image_selectmenu);
+   uiMenuLevel(head, "Image", image_imagemenu);
+   if(show_uvedit) uiMenuLevel(head, "UVs", image_uvsmenu);
+
+   uiPupMenuEnd(C, head);
+
+   return OPERATOR_CANCELLED;
+}
+
+void IMAGE_OT_toolbox(wmOperatorType *ot)
+{
+   /* identifiers */
+   ot->name= "Toolbox";
+   ot->idname= "IMAGE_OT_toolbox";
+   
+   /* api callbacks */
+   ot->invoke= toolbox_invoke;
+   ot->poll= space_image_main_area_poll;
+}
+
+

Modified: 
branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h
===
--- 
branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h   
2009-01-30 12:49:01 UTC (rev 18748)
+++ 
branches/blender2.5/blender/source/blender/editors/space_image/image_intern.h   
2009-01-30 12:58:00 UTC (rev 18749)
@@ -57,10 +57,14 @@
 /* image_header.c */
 void image_header_buttons(const struct bContext *C, struct ARegion *ar);
 
+void IMAGE_OT_toolbox(struct wmOperatorType *ot);
+
 /* image_draw.c */
 void draw_image_main(struct SpaceImage *sima, struct ARegion *ar, struct Scene 
*scene);
 
 /* image_ops.c */
+int space_image_main_area_poll(struct bContext *C);
+
 void IMAGE_OT_view_all(struct wmOperatorType *ot);
 void IMAGE_OT_view_pan(struct wmOperatorType *ot);
 void IMAGE_OT_view_selected(struct wmOperatorType *ot);

Modified: 
branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c
===
--- branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c  
2009-01-30 12:49:01 UTC (rev 18748)
+++ branches/blender2.5/blender/source/blender/editors/space_image/image_ops.c  
2009-01-30 12:58:00 UTC (rev 18749)
@@ -144,7 +144,7 @@
sima_zoom_set(sima, ar, sima->zoom*zoomfac);
 }
 
-static int space_image_main_area_poll(bContext *C)
+int space_image_main_area_poll(bContext *C)
 {
SpaceLink *slink= CTX_wm_space_data(C);
ARegion *ar= CTX_wm_region(C);

Modified: 
branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
2009-01-30 12:49:01 UTC (rev 18748)
+++ 
branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
2009-01-30 12:58:00 UTC (rev 18749)
@@ -146,6 +146,8 @@
WM_operatortype_append(IMAGE_OT_view_zoom_in);
WM_operatortype_append(IMAGE_OT_view_zoom_out);
WM_operatortype_append(IMAGE_OT_view_zoom_ratio);
+
+   WM_operatortype_append(IMAGE_OT_toolbox);
 }
 
 void image_keymap(struct wmWindowManager *wm)
@@ -169,6 +171,8 @@
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", 
PAD2, KM_PRESS, 0, 0)->ptr, "ratio", 0.5f);
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", 
PAD4, KM_PRESS, 0, 0)->ptr, "ratio", 0.25f);
RNA_float_set(WM_keymap_add_item(keymap, "IMAGE_OT_view_zoom_ratio", 
PAD8, KM_PRESS, 0, 0)->ptr, "ratio", 0.125f);
+
+   WM_keymap_add_item(keymap, "IMAGE_OT_toolbox", SPACEKEY, KM_PRESS, 0, 
0);
 }
 
 static void image_refresh(const bContext 

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18750] branches/blender2.5/blender/source /blender/blenkernel/intern/library.c: 2.5

2009-01-30 Thread Ton Roosendaal
Revision: 18750
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18750
Author:   ton
Date: 2009-01-30 15:23:31 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5

Animsys: added integrated copy of animdata in copy_libblock().
-> by default animdata-copy should relink ID data like Action,
   and put a facility to really duplicate it in other code.
   (single_user_animdata or so)

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/intern/library.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/library.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/library.c  
2009-01-30 12:58:00 UTC (rev 18749)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/library.c  
2009-01-30 14:23:31 UTC (rev 18750)
@@ -83,8 +83,9 @@
 #include "BLI_blenlib.h"
 #include "BLI_dynstr.h"
 
+#include "BKE_animsys.h"
+#include "BKE_context.h"
 #include "BKE_library.h"
-#include "BKE_context.h"
 #include "BKE_main.h"
 #include "BKE_global.h"
 #include "BKE_sound.h"
@@ -401,6 +402,45 @@
 /* from blendef: */
 #define GS(a)  (*((short *)(a)))
 
+/* by spec, animdata is first item after ID */
+/* we still read ->adt itself, to ensure compiler warns when it doesnt exist */
+static void id_copy_animdata(ID *id)
+{
+   switch(GS(id->name)) {
+   case ID_OB:
+   ((Object *)id)->adt= BKE_copy_animdata(((Object 
*)id)->adt);
+   break;
+   case ID_CU:
+   ((Curve *)id)->adt= BKE_copy_animdata(((Curve 
*)id)->adt);
+   break;
+   case ID_CA:
+   ((Camera *)id)->adt= BKE_copy_animdata(((Camera 
*)id)->adt);
+   break;
+   case ID_KE:
+   ((Key *)id)->adt= BKE_copy_animdata(((Key *)id)->adt);
+   break;
+   case ID_LA:
+   ((Lamp *)id)->adt= BKE_copy_animdata(((Lamp *)id)->adt);
+   break;
+   case ID_MA:
+   ((Material *)id)->adt= BKE_copy_animdata(((Material 
*)id)->adt);
+   break;
+   case ID_NT:
+   ((bNodeTree *)id)->adt= BKE_copy_animdata(((bNodeTree 
*)id)->adt);
+   break;
+   case ID_SCE:
+   ((Scene *)id)->adt= BKE_copy_animdata(((Scene 
*)id)->adt);
+   break;
+   case ID_TE:
+   ((Tex *)id)->adt= BKE_copy_animdata(((Tex *)id)->adt);
+   break;
+   case ID_WO:
+   ((World *)id)->adt= BKE_copy_animdata(((World 
*)id)->adt);
+   break;
+   }
+   
+}
+
 /* used everywhere in blenkernel and text.c */
 void *copy_libblock(void *rt)
 {
@@ -429,6 +469,8 @@
idn->flag |= LIB_NEW;
if (id->properties) idn->properties = IDP_CopyProperty(id->properties);
 
+   id_copy_animdata(id);
+   
return idn;
 }
 


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


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18751] branches/blender2.5/blender/source /blender/editors: 2.5

2009-01-30 Thread Ton Roosendaal
Revision: 18751
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18751
Author:   ton
Date: 2009-01-30 16:01:14 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5

Edit mesh: Separate options back. Use SHIFT+P for it, PKEY has been
stolen! :)

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/include/ED_object.h
branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c
branches/blender2.5/blender/source/blender/editors/object/object_edit.c

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_object.h
===
--- branches/blender2.5/blender/source/blender/editors/include/ED_object.h  
2009-01-30 14:23:31 UTC (rev 18750)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_object.h  
2009-01-30 15:01:14 UTC (rev 18751)
@@ -40,6 +40,7 @@
 struct Mesh;
 struct Curve;
 
+/* object_edit.c */
 void ED_operatortypes_object(void);
 void ED_keymap_object(struct wmWindowManager *wm);
 
@@ -51,6 +52,8 @@
 void ED_base_object_free_and_unlink(struct Scene *scene, struct Base *base);
 
 void ED_object_apply_obmat(struct Object *ob);
+   /* single object duplicate, if dupflag==0, fully linked, else it uses 
U.dupflag */
+Base *ED_object_add_duplicate(struct Scene *scene, struct Base *base, int 
usedupflag);
 
 
 /* bitflags for enter/exit editmode */

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c  
2009-01-30 14:23:31 UTC (rev 18750)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh.c  
2009-01-30 15:01:14 UTC (rev 18751)
@@ -79,8 +79,15 @@
 #include "ED_mesh.h"
 #include "ED_object.h"
 #include "ED_util.h"
+#include "ED_screen.h"
 #include "ED_view3d.h"
 
+#include "RNA_access.h"
+#include "RNA_define.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
 /* own include */
 #include "mesh_intern.h"
 
@@ -94,7 +101,6 @@
 /* XXX */
 static void BIF_undo_push() {}
 static void error() {}
-static int pupmenu() {return 0;}
 
 
 /* * HASH * */
@@ -581,6 +587,7 @@
 {
EditEdge *eed;
 
+   if(em->hashedgetab) MEM_freeN(em->hashedgetab);
em->hashedgetab= NULL;

for(eed=em->edges.first; eed; eed= eed->next)  {
@@ -1424,353 +1431,199 @@
BIF_undo_push("Undo all changes");
 }
 
-/* *** (partial exit editmode) */
+/* *** Operator: separate parts */
 
+static EnumPropertyItem prop_separate_types[] = {
+   {0, "SELECTED", "Selection", ""},
+   {1, "MATERIAL", "By Material", ""},
+   {2, "LOOSE", "By loose parts", ""},
+   {0, NULL, NULL, NULL}
+};
 
-
-
-void separate_mesh(Scene *scene, Object *obedit)
+/* return 1: success */
+static int mesh_separate_selected(Scene *scene, Base *editbase)
 {
-   EditMesh *em, emcopy;
+   EditMesh *em, *emnew;
EditVert *eve, *v1;
EditEdge *eed, *e1;
-   EditFace *efa, *vl1;
-   Object *oldob;
-   Mesh *me, *men;
-   Base *base, *oldbase;
-   ListBase edve, eded, edvl;
+   EditFace *efa, *f1;
+   Object *obedit;
+   Mesh *me, *menew;
+   Base *basenew;

-   if(obedit==NULL) return;
-
+   if(editbase==NULL) return 0;
+   
+   obedit= editbase->object;
me= obedit->data;
em= me->edit_mesh;
if(me->key) {
error("Can't separate with vertex keys");
-   return;
+   return 0;
}

-   if(em->selected.first) BLI_freelistN(&(em->selected)); /* clear the 
selection order */
+   if(em->selected.first) 
+   BLI_freelistN(&(em->selected)); /* clear the selection order */

EM_selectmode_set(em);  // enforce full consistant selection flags 

-   /* we are going to abuse the system as follows:
-* 1. add a duplicate object: this will be the new one, we remember old 
pointer
-* 2: then do a split if needed.
-* 3. put apart: all NOT selected verts, edges, faces
-* 4. call load_editMesh(): this will be the new object
-* 5. freelist and get back old verts, edges, facs
+   EM_stats_update(em);
+   
+   if(em->totvertsel==0) return 0;
+   
+   /* we are going to work as follows:
+* 1. add a linked duplicate object: this will be the new one, we 
remember old pointer
+* 2. give new object empty mesh and put in editmode
+* 3: do a split if needed on current editmesh.
+* 4. copy over: all NOT selected verts, edges, faces
+* 5. call

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18752] branches/bmesh/blender: merge with 2.5 at r18751

2009-01-30 Thread Joseph Eagar
Revision: 18752
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18752
Author:   joeedh
Date: 2009-01-30 16:48:38 +0100 (Fri, 30 Jan 2009)

Log Message:
---
merge with 2.5 at r18751

Modified Paths:
--
branches/bmesh/blender/projectfiles_vc9/blender/editors/ED_editors.vcproj

branches/bmesh/blender/projectfiles_vc9/blender/windowmanager/windowmanager.vcproj
branches/bmesh/blender/source/Makefile
branches/bmesh/blender/source/blender/CMakeLists.txt
branches/bmesh/blender/source/blender/Makefile
branches/bmesh/blender/source/blender/SConscript
branches/bmesh/blender/source/blender/blenkernel/BKE_action.h
branches/bmesh/blender/source/blender/blenkernel/BKE_fcurve.h
branches/bmesh/blender/source/blender/blenkernel/BKE_idprop.h
branches/bmesh/blender/source/blender/blenkernel/BKE_image.h
branches/bmesh/blender/source/blender/blenkernel/BKE_node.h
branches/bmesh/blender/source/blender/blenkernel/BKE_sculpt.h
branches/bmesh/blender/source/blender/blenkernel/BKE_sequence.h
branches/bmesh/blender/source/blender/blenkernel/intern/action.c
branches/bmesh/blender/source/blender/blenkernel/intern/anim_sys.c
branches/bmesh/blender/source/blender/blenkernel/intern/armature.c
branches/bmesh/blender/source/blender/blenkernel/intern/blender.c
branches/bmesh/blender/source/blender/blenkernel/intern/brush.c
branches/bmesh/blender/source/blender/blenkernel/intern/constraint.c
branches/bmesh/blender/source/blender/blenkernel/intern/depsgraph.c
branches/bmesh/blender/source/blender/blenkernel/intern/fcurve.c
branches/bmesh/blender/source/blender/blenkernel/intern/idprop.c
branches/bmesh/blender/source/blender/blenkernel/intern/image.c
branches/bmesh/blender/source/blender/blenkernel/intern/ipo.c
branches/bmesh/blender/source/blender/blenkernel/intern/key.c
branches/bmesh/blender/source/blender/blenkernel/intern/library.c
branches/bmesh/blender/source/blender/blenkernel/intern/node.c
branches/bmesh/blender/source/blender/blenkernel/intern/object.c
branches/bmesh/blender/source/blender/blenkernel/intern/scene.c
branches/bmesh/blender/source/blender/blenkernel/intern/sequence.c
branches/bmesh/blender/source/blender/blenlib/intern/bpath.c
branches/bmesh/blender/source/blender/blenloader/intern/readfile.c
branches/bmesh/blender/source/blender/editors/CMakeLists.txt
branches/bmesh/blender/source/blender/editors/animation/anim_channels.c
branches/bmesh/blender/source/blender/editors/animation/anim_deps.c
branches/bmesh/blender/source/blender/editors/animation/anim_filter.c
branches/bmesh/blender/source/blender/editors/animation/anim_ipo_utils.c
branches/bmesh/blender/source/blender/editors/animation/anim_markers.c
branches/bmesh/blender/source/blender/editors/animation/keyframes_edit.c
branches/bmesh/blender/source/blender/editors/animation/keyframes_general.c
branches/bmesh/blender/source/blender/editors/animation/keyframing.c
branches/bmesh/blender/source/blender/editors/curve/curve_ops.c
branches/bmesh/blender/source/blender/editors/curve/editcurve.c
branches/bmesh/blender/source/blender/editors/include/ED_anim_api.h
branches/bmesh/blender/source/blender/editors/include/ED_curve.h
branches/bmesh/blender/source/blender/editors/include/ED_keyframes_edit.h
branches/bmesh/blender/source/blender/editors/include/ED_object.h
branches/bmesh/blender/source/blender/editors/include/ED_util.h
branches/bmesh/blender/source/blender/editors/include/ED_uvedit.h
branches/bmesh/blender/source/blender/editors/include/UI_interface.h
branches/bmesh/blender/source/blender/editors/include/UI_text.h
branches/bmesh/blender/source/blender/editors/interface/Makefile
branches/bmesh/blender/source/blender/editors/interface/SConscript
branches/bmesh/blender/source/blender/editors/interface/interface.c
branches/bmesh/blender/source/blender/editors/interface/interface_draw.c
branches/bmesh/blender/source/blender/editors/interface/interface_handlers.c
branches/bmesh/blender/source/blender/editors/interface/interface_intern.h
branches/bmesh/blender/source/blender/editors/interface/interface_panel.c
branches/bmesh/blender/source/blender/editors/interface/interface_regions.c
branches/bmesh/blender/source/blender/editors/interface/text.c
branches/bmesh/blender/source/blender/editors/interface/view2d.c
branches/bmesh/blender/source/blender/editors/mesh/editmesh.c
branches/bmesh/blender/source/blender/editors/mesh/editmesh_add.c
branches/bmesh/blender/source/blender/editors/mesh/editmesh_mods.c
branches/bmesh/blender/source/blender/editors/mesh/editmesh_tools.c
branches/bmesh/blender/source/blender/editors/mesh/mesh_intern.h
branches/bmesh/blender/source/blender/editors/mesh/mesh_ops.c
branches/bmesh/blender/source/blender/editor

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18753] branches/blender2.5/blender/source /blender: 2.5: Fix for windows editmode tab crashes.

2009-01-30 Thread Brecht Van Lommel
Revision: 18753
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18753
Author:   blendix
Date: 2009-01-30 17:45:25 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5: Fix for windows editmode tab crashes. This was due to
use of function pointers in the context callbacks. Apparently
MSVC decides that some of these functions are the same and
makes them into a single function with the same address. I
couldn't figure out if this was a compiler bug or according
to the C spec. Regardless, that means this method can't be
used, so now it uses separate CTX_DATA_DEFINES.

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h
branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
branches/blender2.5/blender/source/blender/editors/screen/screen_context.c
branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h
branches/blender2.5/blender/source/blender/editors/space_image/space_image.c
branches/blender2.5/blender/source/blender/editors/space_node/space_node.c

branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
===
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 
2009-01-30 15:48:38 UTC (rev 18752)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 
2009-01-30 16:45:25 UTC (rev 18753)
@@ -59,13 +59,35 @@
 struct bContext;
 typedef struct bContext bContext;
 
-typedef void bContextDataMember;
-
 struct bContextDataResult;
 typedef struct bContextDataResult bContextDataResult;
 
+enum {
+   CTX_DATA_MAIN,
+   CTX_DATA_SCENE,
+   CTX_DATA_TOOL_SETTINGS,
+
+   CTX_DATA_SELECTED_OBJECTS,
+   CTX_DATA_SELECTED_BASES,
+   CTX_DATA_SELECTED_EDITABLE_OBJECTS,
+   CTX_DATA_SELECTED_EDITABLE_BASES,
+   CTX_DATA_VISIBLE_OBJECTS,
+   CTX_DATA_VISIBLE_BASES,
+
+   CTX_DATA_ACTIVE_OBJECT,
+   CTX_DATA_ACTIVE_BASE,
+   CTX_DATA_EDIT_OBJECT,
+
+   CTX_DATA_EDIT_IMAGE,
+   CTX_DATA_EDIT_IMAGE_BUFFER,
+
+   CTX_DATA_SELECTED_NODES
+};
+
+typedef int bContextDataMember;
+
 typedef int (*bContextDataCallback)(const bContext *C,
-   const bContextDataMember *member, bContextDataResult *result);
+   bContextDataMember member, bContextDataResult *result);
 
 /* Context */
 

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h
===
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h  
2009-01-30 15:48:38 UTC (rev 18752)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_screen.h  
2009-01-30 16:45:25 UTC (rev 18753)
@@ -77,7 +77,7 @@
void(*keymap)(struct wmWindowManager *);
 
/* return context data */
-   int (*context)(const struct bContext *, const void 
*, struct bContextDataResult *);
+   int (*context)(const struct bContext *, int, struct 
bContextDataResult *);
 
/* region type definitions */
ListBaseregiontypes;
@@ -117,7 +117,7 @@
void(*cursor)(struct wmWindow *, struct ScrArea *, struct 
ARegion *ar);
 
/* return context data */
-   int (*context)(const struct bContext *, const void 
*, struct bContextDataResult *);
+   int (*context)(const struct bContext *, int, struct 
bContextDataResult *);
 
/* custom drawing callbacks */
ListBasedrawcalls;

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/context.c  
2009-01-30 15:48:38 UTC (rev 18752)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/context.c  
2009-01-30 16:45:25 UTC (rev 18753)
@@ -239,18 +239,12 @@
 
 /* data context utility functions */
 
-struct bContextDataMember {
-   StructRNA *rna;
-   const char *name;
-   int collection;
-};
-
 struct bContextDataResult {
void *pointer;
ListBase list;
 };
 
-static int ctx_data_get(bContext *C, const bContextDataMember *member, 
bContextDataResult *result)
+static int ctx_data_get(bContext *C, bContextDataMember member, 
bContextDataResult *result)
 {
int done= 0, recursion= C->data.recursion;
 
@@ -284,7 +278,7 @@
return done;
 }
 
-static void *ctx_data_pointer_get(const bContext *C, const bContextDataMember 
*member)
+static void *ctx_data_pointer_get(const bContext *C, bContextDataMember member)
 {
 

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18754] branches/blender2.5/blender/source /blender: 2.5

2009-01-30 Thread Ton Roosendaal
Revision: 18754
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18754
Author:   ton
Date: 2009-01-30 19:18:41 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5

- Edit mesh: Add ctrl+click add vertex or extrude.
  I've made it not move the 3d cursor in that case.

Also found out tweak events conflicted with existing
keymap definitions; on tweak failure (= no mousemove) 
it now passes on the mouse event as 'mouse down' for 
the remaining keymaps to check.
These then actually respond to mouse-up instead of down...

The location in the keymaps where tweaks get generated
remains important. Examples:

1 - 'select' mouse-handler, operator return pass-through
2 - tweak handler checks, and makes tweak event
3 - grabber responds to tweak event

1 - ctrl+mouse tweak handler checks, makes tweak event,
or passes event on
2 - if tweak event, it runs lasso
3 - else when passed on, ctrl+click extrude happens

In the first case, select works on mouse-down, immediate.
In the second case, extrude happens on mouse-release, even
though the keymap defined mouse-press.

This will make designing nice balanced keymaps still not
simple; especially because you can't tell operators to
pass on the key... although we can add the convention that
select-mouse operators always pass on to enable tweaks.

Still a good reason to wait with custom keymaps
when this is fully settled!

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c
branches/blender2.5/blender/source/blender/editors/space_action/action_ops.c
branches/blender2.5/blender/source/blender/editors/space_ipo/ipo_ops.c
branches/blender2.5/blender/source/blender/editors/space_node/node_ops.c

branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c

branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_select.c
branches/blender2.5/blender/source/blender/editors/uvedit/uvedit_ops.c

branches/blender2.5/blender/source/blender/makesdna/DNA_windowmanager_types.h
branches/blender2.5/blender/source/blender/windowmanager/WM_api.h
branches/blender2.5/blender/source/blender/windowmanager/WM_types.h

branches/blender2.5/blender/source/blender/windowmanager/intern/wm_event_system.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_keymap.c

branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c
===
--- branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c 
2009-01-30 16:45:25 UTC (rev 18753)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c 
2009-01-30 18:18:41 UTC (rev 18754)
@@ -857,10 +857,10 @@
ListBase *keymap= WM_keymap_listbase(wm, "Markers", 0, 0);

WM_keymap_verify_item(keymap, "MARKER_OT_add", MKEY, KM_PRESS, 0, 0);
-   WM_keymap_verify_item(keymap, "MARKER_OT_move", EVT_TWEAK_R, KM_ANY, 0, 
0);
+   WM_keymap_verify_item(keymap, "MARKER_OT_move", EVT_TWEAK_S, KM_ANY, 0, 
0);
WM_keymap_verify_item(keymap, "MARKER_OT_duplicate", DKEY, KM_PRESS, 
KM_SHIFT, 0);
-   WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect", RIGHTMOUSE, 
KM_PRESS, 0, 0);
-   WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect_extend", 
RIGHTMOUSE, KM_PRESS, KM_SHIFT, 0);
+   WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect", SELECTMOUSE, 
KM_PRESS, 0, 0);
+   WM_keymap_verify_item(keymap, "MARKER_OT_mouseselect_extend", 
SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
WM_keymap_verify_item(keymap, "MARKER_OT_border_select", BKEY, 
KM_PRESS, 0, 0);
WM_keymap_verify_item(keymap, "MARKER_OT_select_all", AKEY, KM_PRESS, 
0, 0);
WM_keymap_verify_item(keymap, "MARKER_OT_delete", XKEY, KM_PRESS, 0, 0);
@@ -868,6 +868,6 @@
WM_keymap_add_item(keymap, "MARKER_OT_move", GKEY, KM_PRESS, 0, 0);

/* generates event, needs to be after select to work */
-   WM_keymap_verify_item(keymap, "WM_OT_tweak_gesture", RIGHTMOUSE, 
KM_PRESS, 0, 0);
+   WM_keymap_tweak(keymap, SELECTMOUSE, KM_PRESS, 0, 0);

 }

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c  
2009-01-30 16:45:25 UTC (rev 18753)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c  
2009-01-30 18:18:41 UTC (re

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18755] branches/blender2.5/blender/source /blender/editors: Update the view3d depth buffer cache after rotating, moving, or scaling the view (for scu

2009-01-30 Thread Nicholas Bishop
Revision: 18755
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18755
Author:   nicholasbishop
Date: 2009-01-30 19:27:25 +0100 (Fri, 30 Jan 2009)

Log Message:
---
Update the view3d depth buffer cache after rotating, moving, or scaling the 
view (for sculptmode)

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h
branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c

branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c

branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c

Modified: branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h
===
--- branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h  
2009-01-30 18:18:41 UTC (rev 18754)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h  
2009-01-30 18:27:25 UTC (rev 18755)
@@ -72,7 +72,7 @@
 
 /* Depth buffer */
 float read_cached_depth(struct ViewContext *vc, int x, int y);
-void request_depth_update(struct ViewContext *vc);
+void request_depth_update(struct RegionView3D *rv3d);
 
 /* Projection */
 #define IS_CLIPPED12000

Modified: branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c
===
--- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c  
2009-01-30 18:18:41 UTC (rev 18754)
+++ branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c  
2009-01-30 18:27:25 UTC (rev 18755)
@@ -1522,8 +1522,6 @@
 {
PointerRNA itemptr;
Sculpt *sd = CTX_data_tool_settings(C)->sculpt;
-   Object *ob= CTX_data_active_object(C);
-   ARegion *ar = CTX_wm_region(C);
float center[3];
int mouse[2] = {event->x, event->y};
 
@@ -1547,7 +1545,7 @@
 
/* Finished */
if(event->type == LEFTMOUSE && event->val == 0) {
-   request_depth_update(&sd->session->cache->vc);
+   request_depth_update(sd->session->cache->vc.rv3d);
 
sculpt_cache_free(sd->session->cache);
 

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c   
2009-01-30 18:18:41 UTC (rev 18754)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c   
2009-01-30 18:27:25 UTC (rev 18755)
@@ -503,6 +503,7 @@
 
default:
if(event->type==vod->origkey && event->val==0) {
+   request_depth_update(CTX_wm_region_view3d(C));
 
MEM_freeN(vod);
op->customdata= NULL;
@@ -598,6 +599,7 @@
 
default:
if(event->type==vod->origkey && event->val==0) {
+   request_depth_update(CTX_wm_region_view3d(C));
 
MEM_freeN(vod);
op->customdata= NULL;
@@ -753,6 +755,7 @@
 
default:
if(event->type==vod->origkey && event->val==0) {
+   request_depth_update(CTX_wm_region_view3d(C));
 
MEM_freeN(vod);
op->customdata= NULL;
@@ -789,6 +792,7 @@
if(rv3d->viewlock)
view3d_boxview_sync(CTX_wm_area(C), CTX_wm_region(C));

+   request_depth_update(CTX_wm_region_view3d(C));
ED_region_tag_redraw(CTX_wm_region(C));
 
return OPERATOR_FINISHED;

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c   
2009-01-30 18:18:41 UTC (rev 18754)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_view.c   
2009-01-30 18:27:25 UTC (rev 18755)
@@ -525,10 +525,10 @@
return 1;
 }
 
-void request_depth_update(ViewContext *vc)
+void request_depth_update(RegionView3D *rv3d)
 {
-   if(vc->rv3d->depths)
-   vc->rv3d->depths->damaged= 1;
+   if(rv3d->depths)
+   rv3d->depths->damaged= 1;
 }
 
 void view3d_get_object_project_mat(RegionView3D *rv3d, Object *ob, float 
pmat[4][4], float vmat[4][4])


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


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18756] branches/blender2.5/blender/source /blender/editors/mesh: 2.5

2009-01-30 Thread Ton Roosendaal
Revision: 18756
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18756
Author:   ton
Date: 2009-01-30 19:53:54 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5

Edit Mesh Loop select back; 
the versions with ALT+Select (edgeloop) or with
ALT+CTRL+Select ('ring'). Hold shift for extend.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c

Modified: 
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 
2009-01-30 18:27:25 UTC (rev 18755)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 
2009-01-30 18:53:54 UTC (rev 18756)
@@ -1921,37 +1921,53 @@

 /* * MAIN MOUSE SELECTION ** */
 
-/* just to have the functions nice together */
 
-static void mouse_mesh_loop(ViewContext *vc)
+/* * loop select (non modal) ** */
+
+static EnumPropertyItem prop_select_types[] = {
+   {0, "LOOP_EXCLUSIVE", "Loop Exclusive", ""},
+   {1, "LOOP_EXTEND", "Loop Extend", ""},
+   {2, "RING_EXCLUSIVE", "Ring Exclusive", ""},
+   {3, "RING_EXTEND", "Ring Extend", ""},
+   {0, NULL, NULL, NULL}
+};
+
+
+static void mouse_mesh_loop(bContext *C, short mval[2], short extend, short 
ring)
 {
-   EditMesh *em= vc->em;
+   ViewContext vc;
+   EditMesh *em;
EditEdge *eed;
int select= 1;
int dist= 50;
-   int shift= 0, alt= 0, ctrl= 0; // XXX

-   eed= findnearestedge(vc, &dist);
+   em_setup_viewcontext(C, &vc);
+   vc.mval[0]= mval[0];
+   vc.mval[1]= mval[1];
+   em= vc.em;
+   
+   eed= findnearestedge(&vc, &dist);
if(eed) {
-   if (vc->scene->toolsettings->edge_mode == EDGE_MODE_SELECT) {
-   if(shift==0) EM_clear_flag_all(em, SELECT);
+   /* XXX: should toolsettings do this? */
+   if (vc.scene->toolsettings->edge_mode == EDGE_MODE_SELECT) {
+   if(extend==0) EM_clear_flag_all(em, SELECT);

if((eed->f & SELECT)==0) select=1;
-   else if(shift) select=0;
+   else if(extend) select=0;
 
if(em->selectmode & SCE_SELECT_FACE) {
faceloop_select(em, eed, select);
}
else if(em->selectmode & SCE_SELECT_EDGE) {
-   if((alt && ctrl))
+   if(ring)
edgering_select(em, eed, select);
-   else if(alt)
+   else
edgeloop_select(em, eed, select);
}
else if(em->selectmode & SCE_SELECT_VERTEX) {
-   if((alt && ctrl))
+   if(ring)
edgering_select(em, eed, select);
-   else if(alt)
+   else 
edgeloop_select(em, eed, select);
}
 
@@ -1960,18 +1976,18 @@

} 
else {
-   int act = (edgetag_context_check(vc->scene, eed)==0);
+   int act = (edgetag_context_check(vc.scene, eed)==0);
int path = 0;

-   if (alt && ctrl && em->selected.last) {
+   if (ring && em->selected.last) {
EditSelection *ese = em->selected.last;

if(ese && ese->type == EDITEDGE) {
EditEdge *eed_act;
eed_act = (EditEdge*)ese->data;
if (eed_act != eed) {
-   /* If shift is pressed we need 
to use the last active edge, (if it exists) */
-   if 
(edgetag_shortest_path(vc->scene, em, eed_act, eed)) {
+   /* If extend, we need to use 
the last active edge, (if it exists) */
+   if 
(edgetag_shortest_path(vc.scene, em, eed_act, eed)) {
EM_remove_selection(em, 
eed_act, EDITEDGE);
EM_select_edge(eed_act, 
0);
path = 1;
@@ -1980,7 +1996,7 @

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18757] branches/blender2.5/blender/source /blender/editors/mesh: 2.5

2009-01-30 Thread Ton Roosendaal
Revision: 18757
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18757
Author:   ton
Date: 2009-01-30 20:14:50 +0100 (Fri, 30 Jan 2009)

Log Message:
---
2.5

Edit Mesh: Fkey back, add edge-face or fill 'edge net'
Make fgon will be different operator.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c

Modified: branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c  
2009-01-30 18:53:54 UTC (rev 18756)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c  
2009-01-30 19:14:50 UTC (rev 18757)
@@ -77,7 +77,6 @@
 /* XXX */
 static void BIF_undo_push() {}
 static void error() {}
-static int pupmenu() {return 0;}
 #define add_numbut(a, b, c, d, e, f, g) {}
 /* XXX */
 
@@ -265,7 +264,7 @@
 /* ** */
 
 /* selected faces get hidden edges */
-static void make_fgon(EditMesh *em, int make)
+void make_fgon(EditMesh *em, int make)
 {
EditFace *efa;
EditEdge *eed;
@@ -631,7 +630,7 @@
 // XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA);
 }
 
-void addedgeface_mesh(EditMesh *em)
+static void addedgeface_mesh(EditMesh *em)
 {
EditVert *eve, *neweve[4];
EditEdge *eed;
@@ -662,19 +661,7 @@
return;
}
else if(amount > 4) {
-   
-   /* Python Menu removed XXX */
-   int ret;
-   
-   /* facemenu, will add python items */
-   char facemenu[4096]= "Make Faces%t|Auto%x1|Make FGon%x2|Clear 
FGon%x3";
-   
-   ret= pupmenu(facemenu);
-   
-   if(ret==1) addfaces_from_edgenet(em);
-   else if(ret==2) make_fgon(em, 1);
-   else if(ret==3) make_fgon(em, 0);
-   
+   addfaces_from_edgenet(em);
return;
}
else if(amount<2) {
@@ -757,13 +744,39 @@
fix_new_face(em, efa);

recalc_editnormals(em);
-   BIF_undo_push("Add face");
}
+   }
+
+static int addedgeface_mesh_exec(bContext *C, wmOperator *op)
+{
+   Object *obedit= CTX_data_edit_object(C);
+   EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;

-// XXX DAG_object_flush_update(scene, obedit, OB_RECALC_DATA); 
+   addedgeface_mesh(em);
+   
+   ED_undo_push(C, "Make Edge/Face");  // Note this will become 
depricated 
+   WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+   
+   DAG_object_flush_update(CTX_data_scene(C), obedit, OB_RECALC_DATA); 
+   
+   return OPERATOR_FINISHED;
 }
 
+void MESH_OT_add_edge_face(wmOperatorType *ot)
+{
+   /* identifiers */
+   ot->name= "Make Edge/Face";
+   ot->idname= "MESH_OT_add_edge_face";
+   
+   /* api callbacks */
+   ot->exec= addedgeface_mesh_exec;
+   ot->poll= ED_operator_editmesh;
+}
 
+
+
+/*  primitives *** */
+
 // HACK: these can also be found in cmoview.tga.c, but are here so that they 
can be found by linker
 // this hack is only used so that scons+mingw + split-sources hack works
// --- start copied code

Modified: 
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
2009-01-30 18:53:54 UTC (rev 18756)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
2009-01-30 19:14:50 UTC (rev 18757)
@@ -110,7 +110,6 @@
 /* local prototypes ---*/
 static void free_tagged_edges_faces(EditMesh *em, EditEdge *eed, EditFace 
*efa);
 int EdgeLoopDelete(EditMesh *em);
-void addedgeface_mesh(EditMesh *em);
 
 /* qsort routines */
 
@@ -6648,30 +6647,6 @@
ot->poll= ED_operator_editmesh;
 }
 
-static int addedgeface_mesh_exec(bContext *C, wmOperator *op)
-{
-   Object *obedit= CTX_data_edit_object(C);
-   EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
-   
-   addedgeface_mesh(em);
-   
-   ED_undo_push(C, "Make Edge/Face");  // Note this will become 
depricated 
-   WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
-   
-   return OPERATOR_FINISHED;
-}
-
-void MESH_OT_addedgeface_mesh(wmOperatorType *ot)
-{
-   /* identifiers */
-   ot->name= "Make Edge/Face";
-   ot->idname= "MESH_OT_addedgeface_mesh";
-   

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18758] branches/blender2.5/blender/source /blender: Sculpt:

2009-01-30 Thread Nicholas Bishop
Revision: 18758
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18758
Author:   nicholasbishop
Date: 2009-01-30 21:35:37 +0100 (Fri, 30 Jan 2009)

Log Message:
---
Sculpt:
* Brought back axis locking
* Fixed flipping stroke add/sub with shift key at start of stroke
* Fixed a crash in stroke exec

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h

Modified: branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c
===
--- branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c  
2009-01-30 19:14:50 UTC (rev 18757)
+++ branches/blender2.5/blender/source/blender/editors/sculpt/sculpt.c  
2009-01-30 20:35:37 UTC (rev 18758)
@@ -275,11 +275,12 @@
 
 static void sculpt_axislock(Sculpt *sd, float *co)
 {
-   if (sd->flags & (SCULPT_LOCK_X|SCULPT_LOCK_Y|SCULPT_LOCK_Z)) return;
-   /* XXX: if(G.vd->twmode == V3D_MANIP_LOCAL) { */
-   if(0) {
+   if(sd->flags == (SCULPT_LOCK_X|SCULPT_LOCK_Y|SCULPT_LOCK_Z))
+   return;
+
+   if(sd->session->cache->vc.v3d->twmode == V3D_MANIP_LOCAL) {
float mat[3][3], imat[3][3];
-   /* XXX: Mat3CpyMat4(mat, OBACT->obmat); */
+   Mat3CpyMat4(mat, sd->session->cache->vc.obact->obmat);
Mat3Inv(imat, mat);
Mat3MulVecfl(mat, co);
if (sd->flags & SCULPT_LOCK_X) co[0] = 0.0;
@@ -1576,10 +1577,9 @@
}
RNA_END;
 
+   sculpt_flush_update(C);
sculpt_cache_free(sd->session->cache);
 
-   sculpt_flush_update(C);
-
sculpt_undo_push(C, sd);
 
return OPERATOR_FINISHED;

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
2009-01-30 19:14:50 UTC (rev 18757)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_ops.c
2009-01-30 20:35:37 UTC (rev 18758)
@@ -99,7 +99,8 @@
WM_keymap_verify_item(keymap, "VIEW3D_OT_vpaint", LEFTMOUSE, KM_PRESS, 
0, 0);
WM_keymap_verify_item(keymap, "VIEW3D_OT_wpaint", LEFTMOUSE, KM_PRESS, 
0, 0);
 
-   WM_keymap_verify_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, 
KM_PRESS, 0, 0);
+   WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, 
KM_PRESS, 0, 0);
+   WM_keymap_add_item(keymap, "SCULPT_OT_brush_stroke", LEFTMOUSE, 
KM_PRESS, KM_SHIFT, 0);

WM_keymap_verify_item(keymap, "VIEW3D_OT_cursor3d", ACTIONMOUSE, 
KM_PRESS, 0, 0);


Modified: branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h
===
--- branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h   
2009-01-30 19:14:50 UTC (rev 18757)
+++ branches/blender2.5/blender/source/blender/makesdna/DNA_scene_types.h   
2009-01-30 20:35:37 UTC (rev 18758)
@@ -812,16 +812,18 @@
 #define FFMPEG_MULTIPLEX_AUDIO  1
 #define FFMPEG_AUTOSPLIT_OUTPUT 2
 
-/* SculptData.flags */
-#define SCULPT_SYMM_X1
-#define SCULPT_SYMM_Y2
-#define SCULPT_SYMM_Z4
-#define SCULPT_INPUT_SMOOTH  8
-#define SCULPT_DRAW_FAST16
-#define SCULPT_DRAW_BRUSH   32
-#define SCULPT_LOCK_X   64
-#define SCULPT_LOCK_Y  128
-#define SCULPT_LOCK_Z  256
+/* Sculpt.flags */
+typedef enum SculptFlags {
+   SCULPT_SYMM_X = 1,
+   SCULPT_SYMM_Y = 2,
+   SCULPT_SYMM_Z = 4,
+   SCULPT_INPUT_SMOOTH = 8,
+   SCULPT_DRAW_FAST = 16,
+   SCULPT_DRAW_BRUSH = 32,
+   SCULPT_LOCK_X = 64,
+   SCULPT_LOCK_Y = 128,
+   SCULPT_LOCK_Z = 256
+} SculptFlags;
 
 /* toolsettings->imagepaint_flag */
 #define IMAGEPAINT_DRAWING 1


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


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18759] trunk/blender/intern/ghost/intern/ GHOST_SystemX11.cpp: Fix revision: 18690, bug #17850

2009-01-30 Thread Diego Borghetti
Revision: 18759
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18759
Author:   bdiego
Date: 2009-01-30 22:01:18 +0100 (Fri, 30 Jan 2009)

Log Message:
---
Fix revision: 18690, bug #17850

The problem was that Qt convert the text to the type
STRING or UTF8, that is why Blender can't get the text,
now should be work fine.

Modified Paths:
--
trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
===
--- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp   2009-01-30 
20:35:37 UTC (rev 18758)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp   2009-01-30 
21:01:18 UTC (rev 18759)
@@ -981,11 +981,11 @@
 ) const {
//Flag 
//0 = Regular clipboard 1 = selection
-   static Atom Primary_atom, clip_String, compound_text;
+   static Atom Primary_atom, clip_String, compound_text, a_text, a_string;
Atom rtype;
Window m_window, owner;
unsigned char *data, *tmp_data;
-   int bits;
+   int bits, count;
unsigned long len, bytes;
XEvent xevent;

@@ -996,6 +996,8 @@
 
clip_String = XInternAtom(m_display, "_BLENDER_STRING", False);
compound_text = XInternAtom(m_display, "COMPOUND_TEXT", False);
+   a_text= XInternAtom(m_display, "TEXT", False);
+   a_string= XInternAtom(m_display, "STRING", False);
 
//lets check the owner and if it is us then return the static buffer
if(flag == 0) {
@@ -1029,23 +1031,46 @@
XFlush(m_display);
 
//This needs to change so we do not wait for ever or check owner first
+   count= 1;
while(1) {
XNextEvent(m_display, &xevent);
-   if(xevent.type == SelectionNotify) { 
-   if (xevent.xselection.property ) { /* eric4 on linux 
gives zero Atom xevent.xselection.property value, closes blender instantly */
+   if(xevent.type == SelectionNotify) {
+   if (xevent.xselection.property == None) {
+   /* Ok, the client can't convert the property
+* to some that we can handle, try other types..
+*/
+   if (count == 1) {
+   XConvertSelection(m_display, 
Primary_atom, a_text, clip_String, m_window, CurrentTime);
+   count++;
+   }
+   else if (count == 2) {
+   XConvertSelection(m_display, 
Primary_atom, a_string, clip_String, m_window, CurrentTime);
+   count++;
+   }
+   else {
+   /* Ok, the owner of the selection can't 
+* convert the data to something that 
we can
+* handle.
+*/
+   return(NULL);
+   }
+   }
+   else {
if(XGetWindowProperty(m_display, m_window, 
xevent.xselection.property , 0L, 4096L, False, AnyPropertyType, &rtype, &bits, 
&len, &bytes, &data) == Success) {
if (data) {
-   tmp_data = (unsigned char*) 
malloc(strlen((char*)data)+1);
-   strcpy((char*)tmp_data, 
(char*)data);
+   if (bits == 8 && (rtype == 
compound_text || rtype == a_text || rtype == a_string)) {
+   tmp_data = (unsigned 
char*) malloc(strlen((char*)data)+1);
+   strcpy((char*)tmp_data, 
(char*)data);
+   }
+   else
+   tmp_data= NULL;
+
XFree(data);
return (GHOST_TUns8*)tmp_data;
}
}
+   return(NULL);
}
-   else {
-   fprintf(stderr, "error: cut buffer had a zero 
xevent.xselection.property, FIXME\n"); // XXX fix this problem!
-   }
-   return NULL;
}
}
 }


___
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
http://lists.blender.org/mai

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18760] branches/blender2.5/blender/source /blender/editors/mesh: delete menu is back DKEY.

2009-01-30 Thread Shaul Kedem
Revision: 18760
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18760
Author:   shul
Date: 2009-01-31 03:31:58 +0100 (Sat, 31 Jan 2009)

Log Message:
---
delete menu is back DKEY. seperating may be needed to delete_mesh

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c

Modified: 
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
2009-01-30 21:01:18 UTC (rev 18759)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_tools.c
2009-01-31 02:31:58 UTC (rev 18760)
@@ -965,16 +965,15 @@
}
 }
 
-void delete_mesh(Object *obedit, EditMesh *em)
+void delete_mesh(Object *obedit, EditMesh *em, int event)
 {
EditFace *efa, *nextvl;
EditVert *eve,*nextve;
EditEdge *eed,*nexted;
-   short event;
int count;
char *str="Erase";
 
-   event= pupmenu("Erase %t|Vertices%x10|Edges%x1|Faces%x2|All%x3|Edges & 
Faces%x4|Only Faces%x5|Edge Loop%x6");
+   
if(event<1) return;
 
if(event==10 ) {
@@ -1106,7 +1105,61 @@
BIF_undo_push(str);
 }
 
+static int delete_mesh_exec(bContext *C, wmOperator *op)
+{
+   Object *obedit= CTX_data_edit_object(C);
+   EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
+   
+   delete_mesh(obedit,em,RNA_int_get(op->ptr, "event"));
+   
+   ED_undo_push(C, "Delete Mesh"); // Note this will become depricated 
+   WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+   
+   return OPERATOR_FINISHED;
+}
 
+static int delete_mesh_invoke(bContext *C, wmOperator *op, wmEvent *event)
+{
+   int items;
+   char *menu, *p;
+   
+   items = 6;
+   
+   menu= MEM_callocN(items * OP_MAX_TYPENAME, "string");
+   
+   p= menu + sprintf(menu, "%s %%t", "Erase");
+   p+= sprintf(p, "|%s %%x%d", "Vertices", 10);
+   p+= sprintf(p, "|%s %%x%d", "Edges", 1);
+   p+= sprintf(p, "|%s %%x%d", "Faces", 2);
+   p+= sprintf(p, "|%s %%x%d", "All", 3);
+   p+= sprintf(p, "|%s %%x%d", "Edges & Faces", 4);
+   p+= sprintf(p, "|%s %%x%d", "Only Faces", 5);
+   p+= sprintf(p, "|%s %%x%d", "Edge Loop", 6);
+   
+   
+   uiPupMenuOperator(C, 20, op, "event", menu);
+   MEM_freeN(menu);
+   
+   return OPERATOR_RUNNING_MODAL;
+}
+
+
+void MESH_OT_delete_mesh(wmOperatorType *ot)
+{
+   /* identifiers */
+   ot->name= "delete mesh";
+   ot->idname= "MESH_OT_delete_mesh";
+   
+   /* api callbacks */
+   ot->invoke= delete_mesh_invoke;
+   ot->exec= delete_mesh_exec;
+   
+   ot->poll= ED_operator_editmesh;
+   
+   /*props */
+   RNA_def_int(ot->srna, "event", 0, 0, INT_MAX, "event", "", 0, 1000);
+}
+
 /* Got this from scanfill.c. You will need to juggle around the
  * callbacks for the scanfill.c code a bit for this to work. */
 void fill_mesh(EditMesh *em)

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
===
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h   
2009-01-30 21:01:18 UTC (rev 18759)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h   
2009-01-31 02:31:58 UTC (rev 18760)
@@ -232,5 +232,7 @@
 void MESH_OT_mesh_set_smooth_faces(struct wmOperatorType *ot);
 void MESH_OT_mesh_set_solid_faces(struct wmOperatorType *ot);
 
+void MESH_OT_delete_mesh(struct wmOperatorType *ot);
+
 #endif // MESH_INTERN_H
 

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c  
2009-01-30 21:01:18 UTC (rev 18759)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c  
2009-01-31 02:31:58 UTC (rev 18760)
@@ -137,6 +137,9 @@
WM_operatortype_append(MESH_OT_removedoublesflag);
WM_operatortype_append(MESH_OT_extrude_mesh);
WM_operatortype_append(MESH_OT_edit_faces);
+
+   WM_operatortype_append(MESH_OT_delete_mesh);
+
WM_operatortype_append(MESH_OT_separate);
WM_operatortype_append(MESH_OT_dupli_extrude_cursor);
WM_operatortype_append(MESH_OT_loop_select);
@@ -186,6 +189,14 @@
WM_keymap_add_item(keymap, "MESH_OT_extrude_mesh", EKEY, KM_PRESS, 0, 
0);
WM_keymap_add_item(keymap, "MESH_OT_edit_faces", PKEY, KM_PRESS, 
KM_CTRL, 0);

+
+   WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", DKEY, KM_PRESS, 0, 0);
+   
+   
+   
+   
+

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18761] branches/blender2.5/blender/source /blender/editors/mesh/mesh_ops.c: delete menu is back with XKEY.

2009-01-30 Thread Shaul Kedem
Revision: 18761
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18761
Author:   shul
Date: 2009-01-31 03:37:50 +0100 (Sat, 31 Jan 2009)

Log Message:
---
delete menu is back with XKEY.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c  
2009-01-31 02:31:58 UTC (rev 18760)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c  
2009-01-31 02:37:50 UTC (rev 18761)
@@ -190,7 +190,7 @@
WM_keymap_add_item(keymap, "MESH_OT_edit_faces", PKEY, KM_PRESS, 
KM_CTRL, 0);

 
-   WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", DKEY, KM_PRESS, 0, 0);
+   WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", XKEY, KM_PRESS, 0, 0);





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


[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18762] branches/blender2.5/blender/source /blender/editors/mesh: make and clear fgon MKEY and shift+MKEY.

2009-01-30 Thread Shaul Kedem
Revision: 18762
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18762
Author:   shul
Date: 2009-01-31 04:23:41 +0100 (Sat, 31 Jan 2009)

Log Message:
---
make and clear fgon MKEY and shift+MKEY. ton: please check, it doesn't do what 
it should right now

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
===
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h   
2009-01-31 02:37:50 UTC (rev 18761)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h   
2009-01-31 03:23:41 UTC (rev 18762)
@@ -109,6 +109,9 @@
 void MESH_OT_dupli_extrude_cursor(struct wmOperatorType *ot);
 void MESH_OT_add_edge_face(struct wmOperatorType *ot);
 
+void MESH_OT_make_fgon(struct wmOperatorType *ot);
+void MESH_OT_clear_fgon(struct wmOperatorType *ot);
+
 /* *** editmesh_lib.c */
 void EM_stats_update(EditMesh *em);
 

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c
===
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c  
2009-01-31 02:37:50 UTC (rev 18761)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_ops.c  
2009-01-31 03:23:41 UTC (rev 18762)
@@ -133,6 +133,8 @@
WM_operatortype_append(MESH_OT_add_primitive_monkey);
WM_operatortype_append(MESH_OT_add_primitive_uv_sphere);
WM_operatortype_append(MESH_OT_add_primitive_ico_sphere);
+   WM_operatortype_append(MESH_OT_clear_fgon);
+   WM_operatortype_append(MESH_OT_make_fgon);
WM_operatortype_append(MESH_OT_add_duplicate);
WM_operatortype_append(MESH_OT_removedoublesflag);
WM_operatortype_append(MESH_OT_extrude_mesh);
@@ -191,12 +193,7 @@

 
WM_keymap_add_item(keymap, "MESH_OT_delete_mesh", XKEY, KM_PRESS, 0, 0);
-   
-   
-   
-   
 
-
/* add */
WM_keymap_add_item(keymap, "MESH_OT_add_edge_face", FKEY, KM_PRESS, 0, 
0);
WM_keymap_add_item(keymap, "MESH_OT_add_duplicate", DKEY, KM_PRESS, 
KM_SHIFT, 0);
@@ -204,6 +201,9 @@
WM_keymap_add_item(keymap, "MESH_OT_separate", PKEY, KM_PRESS, 
KM_SHIFT, 0);
WM_keymap_add_item(keymap, "MESH_OT_dupli_extrude_cursor", LEFTMOUSE, 
KM_PRESS, KM_CTRL, 0);

+   WM_keymap_add_item(keymap, "MESH_OT_make_fgon",MKEY, KM_PRESS, 0, 0);
+   WM_keymap_add_item(keymap, "MESH_OT_clear_fgon",MKEY, KM_PRESS, 
KM_SHIFT, 0);

+   
 }
 


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