[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18794] branches/blender2.5/blender/source /blender: RNA: C API

2009-02-02 Thread Brecht Van Lommel
Revision: 18794
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18794
Author:   blendix
Date: 2009-02-02 20:57:57 +0100 (Mon, 02 Feb 2009)

Log Message:
---
RNA: C API

* RNA_blender.h is now generated along with the other files. It is not
  used anywhere yet, and still located quite hidden next to the other
  rna_*_gen.c files. Read only access for now.
* Inherited properties are not copied from the base anymore but
  iterated over. Patch by Vekoon, thanks!
* Array get/set callbacks now do the whole array instead of getting an
  index. This is needed for some layers for example so python can set
  the array as a whole, otherwise the check that one layer has to be
  enabled at all times gets in the way. Also nicer for the C API.
* Also some changes to returning pointers to make the API cleaner, got
  rid of the type() callback and instead let get() return PointerRNA
  with the type included.

The C API looks like this currently:
http://users.pandora.be/blendix/RNA_blender.h

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c
branches/blender2.5/blender/source/blender/blenkernel/intern/fcurve.c
branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
branches/blender2.5/blender/source/blender/editors/interface/interface.c
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
branches/blender2.5/blender/source/blender/makesrna/RNA_define.h
branches/blender2.5/blender/source/blender/makesrna/RNA_types.h
branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_access.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_armature.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_brush.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_cloth.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_color.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_curve.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_define.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_group.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h

branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal_types.h
branches/blender2.5/blender/source/blender/makesrna/intern/rna_key.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_lamp.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_lattice.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_main.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_material.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_modifier.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_nodetree.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_rna.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_scene.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_screen.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_sequence.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_sound.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_space.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_text.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_wm.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_world.c
branches/blender2.5/blender/source/blender/python/intern/bpy_rna.c

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 
2009-02-02 19:31:43 UTC (rev 18793)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 
2009-02-02 19:57:57 UTC (rev 18794)
@@ -200,19 +200,19 @@
{
case PROP_BOOLEAN:
if (RNA_property_array_length(&new_ptr, 
prop))
-   
RNA_property_boolean_set_array(&new_ptr, prop, array_index, (int)value);
+   
RNA_property_boolean_set_index(&new_ptr, prop, array_index, (int)value);
else

RNA_property_boolean_set(&new_ptr, prop, (int)value);

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18795] branches/blender2.5/blender/source /blender/editors/mesh/mesh_intern.h: Fix for select multi loop commit, probably missed this file.

2009-02-02 Thread Brecht Van Lommel
Revision: 18795
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18795
Author:   blendix
Date: 2009-02-02 20:59:22 +0100 (Mon, 02 Feb 2009)

Log Message:
---
Fix for select multi loop commit, probably missed this file.

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

Modified: branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h
===
--- branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h   
2009-02-02 19:57:57 UTC (rev 18794)
+++ branches/blender2.5/blender/source/blender/editors/mesh/mesh_intern.h   
2009-02-02 19:59:22 UTC (rev 18795)
@@ -192,6 +192,7 @@
 void MESH_OT_select_random(struct wmOperatorType *ot);
 void MESH_OT_vertices_to_sphere(struct wmOperatorType *ot);
 void MESH_OT_selection_type(struct wmOperatorType *ot);
+void MESH_OT_select_multi_loop(struct wmOperatorType *ot);
 
 extern EditEdge *findnearestedge(ViewContext *vc, int *dist);
 extern void EM_automerge(int update);


___
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 [18793] branches/blender2.5/blender/source /blender/editors/mesh: 2.5

2009-02-02 Thread Ton Roosendaal
Revision: 18793
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18793
Author:   ton
Date: 2009-02-02 20:31:43 +0100 (Mon, 02 Feb 2009)

Log Message:
---
2.5

Editmesh ops:

- MESH_OT_select_multi_loop
  (based on selection it makes loops)

- MESH_OT_select_linked
  added boolean 'limit' for linked limited by seams
- MESH_OT_select_linked_pick
  same as above

The 'limit' option used to work only for facemode,
with a toolsettings option.
So it had no own hotkey... i made it work for
edges & vertices too, need to find hotkey later.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
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-02-02 16:30:03 UTC (rev 18792)
+++ branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c 
2009-02-02 19:31:43 UTC (rev 18793)
@@ -1912,11 +1912,14 @@
}
 }
 
-void loop_multiselect(EditMesh *em, int looptype)
+static int loop_multiselect(bContext *C, wmOperator *op)
 {
+   Object *obedit= CTX_data_edit_object(C);
+   EditMesh *em= ((Mesh *)obedit->data)->edit_mesh;
EditEdge *eed;
EditEdge **edarray;
int edindex, edfirstcount;
+   int looptype= RNA_boolean_get(op->ptr, "ring");

/* sets em->totedgesel */
EM_nedges_selected(em);
@@ -1948,7 +1951,28 @@
}
MEM_freeN(edarray);
 // if (EM_texFaceCheck())
+   
+   WM_event_add_notifier(C, NC_OBJECT|ND_GEOM_SELECT, obedit);
+   return OPERATOR_FINISHED;   
 }
+
+void MESH_OT_select_multi_loop(wmOperatorType *ot)
+{
+   /* identifiers */
+   ot->name= "Multi Select Loops";
+   ot->idname= "MESH_OT_select_multi_loop";
+   
+   /* api callbacks */
+   ot->exec= loop_multiselect;
+   ot->poll= ED_operator_editmesh;
+   
+   /* flags */
+   ot->flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+   
+   /* properties */
+   RNA_def_boolean(ot->srna, "ring", 0, "Ring", "");
+}
+

 /* * MAIN MOUSE SELECTION ** */
 
@@ -2207,79 +2231,121 @@

 }
 
-// XXX should we use CTX_scene(C)->selectmode & SCE_SELECT_FACE like it was in 
the past ? calls selectconnected_delimit_mesh_all if true
-void selectconnected_mesh_all(EditMesh *em)
+/* *** select linked * */
+
+/* for use with selectconnected_delimit_mesh only! */
+#define is_edge_delimit_ok(eed) ((eed->tmp.l == 1) && (eed->seam==0))
+#define is_face_tag(efa) is_edge_delimit_ok(efa->e1) || 
is_edge_delimit_ok(efa->e2) || is_edge_delimit_ok(efa->e3) || (efa->v4 && 
is_edge_delimit_ok(efa->e4))
+
+#define face_tag(efa)\
+if(efa->v4)efa->tmp.l= efa->e1->tmp.l= efa->e2->tmp.l= 
efa->e3->tmp.l= efa->e4->tmp.l= 1;\
+else   efa->tmp.l= efa->e1->tmp.l= efa->e2->tmp.l= 
efa->e3->tmp.l= 1;
+
+/* all - 1) use all faces for extending the selection  2) only use the mouse 
face
+* sel - 1) select  0) deselect 
+* */
+
+/* legacy warning, this function combines too much :) */
+static int select_linked_limited_invoke(ViewContext *vc, short all, short sel)
 {
-   EditVert *v1,*v2;
+   EditMesh *em= vc->em;
+   EditFace *efa;
EditEdge *eed;
-   short done=1, toggle=0;
-
-   if(em->edges.first==0) return;
+   EditVert *eve;
+   short done=1, change=0;

+   if(em->faces.first==0) return OPERATOR_CANCELLED;
+   
+   /* flag all edges+faces as off*/
+   for(eed= em->edges.first; eed; eed= eed->next)
+   eed->tmp.l=0;
+   
+   for(efa= em->faces.first; efa; efa= efa->next) {
+   efa->tmp.l = 0;
+   }
+   
+   if (all) {
+   // XXX verts?
+   for(eed= em->edges.first; eed; eed= eed->next) {
+   if(eed->f & SELECT)
+   eed->tmp.l= 1;
+   }
+   for(efa= em->faces.first; efa; efa= efa->next) {
+   
+   if (efa->f & SELECT) {
+   face_tag(efa);
+   } else {
+   efa->tmp.l = 0;
+   }
+   }
+   } 
+   else {
+   if( unified_findnearest(vc, &eve, &eed, &efa) ) {
+   
+   if(efa) {
+   efa->tmp.l = 1;
+   face_tag(efa);
+   }
+   else if(eed)
+   eed->tmp.l= 1;
+   else {
+   for(eed= em->edges.first; eed; eed= eed->next)
+  

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

2009-02-02 Thread Joshua Leung
Revision: 18789
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18789
Author:   aligorith
Date: 2009-02-02 12:51:10 +0100 (Mon, 02 Feb 2009)

Log Message:
---
Animato RNA wrapping:

It's about time that the RNA wrapping for various parts of the animation system 
were cleaned up for my recent changes. I've moved some code around (and/or 
deleted a file or two) in the process.

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

branches/blender2.5/blender/source/blender/editors/animation/anim_ipo_utils.c
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
branches/blender2.5/blender/source/blender/makesdna/DNA_anim_types.h
branches/blender2.5/blender/source/blender/makesdna/DNA_curve_types.h
branches/blender2.5/blender/source/blender/makesrna/RNA_access.h
branches/blender2.5/blender/source/blender/makesrna/intern/makesrna.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_ID.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_action.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_camera.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_curve.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_fluidsim.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_internal.h
branches/blender2.5/blender/source/blender/makesrna/intern/rna_key.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_lattice.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_main.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_material.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_mesh.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_meta.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_object.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_pose.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_sequence.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_sound.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_space.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_texture.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_userdef.c
branches/blender2.5/blender/source/blender/makesrna/intern/rna_world.c

Removed Paths:
-
branches/blender2.5/blender/source/blender/makesrna/intern/rna_ipo.c

Modified: 
branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 
2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/anim_sys.c 
2009-02-02 11:51:10 UTC (rev 18789)
@@ -448,7 +448,7 @@


/* allocate new eval-strip for this strip + add to stack */
-   nes= MEM_callocN(sizeof(NlaEvalStrip), "bNlaEvalStrip");
+   nes= MEM_callocN(sizeof(NlaEvalStrip), "NlaEvalStrip");

nes->track= nlt;
nes->strip= astrip;
@@ -473,7 +473,7 @@
 /* write the accumulated settings to */
 static void nladata_flush_channels (PointerRNA *ptr, ListBase *channels)
 {
-
+   
 }
 
 /* -- */

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c  
2009-02-02 03:25:23 UTC (rev 18788)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/ipo.c  
2009-02-02 11:51:10 UTC (rev 18789)
@@ -287,14 +287,13 @@
case AC_QUAT_Z:
*array_index= 3; return "rotation";

-#if 0 // XXX these were not 'official' channels (i.e. not in bf-releases)... 
these will need separate wrapping to work...
case AC_EUL_X:
-   *array_index= 0; return "rotation";
+   *array_index= 0; return "euler_rotation";
case AC_EUL_Y:
-   *array_index= 1; return "rotation";
+   *array_index= 1; return "euler_rotation";
case AC_EUL_Z:
-   *array_index= 2; return "rotation";
-#endif 
+   *array_index= 2; return "euler_rotation";
+   
case -1: // XXX special case for rotation drivers... until 
eulers are added...
*array_index= 0; return "rotation";

@@ -937,7 +936,7 @@
fcurve= fcu;

/* set 

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

2009-02-02 Thread Ton Roosendaal
Revision: 18792
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18792
Author:   ton
Date: 2009-02-02 17:30:03 +0100 (Mon, 02 Feb 2009)

Log Message:
---
2.5

Bugfix: mouse key checks should use KM_PRESS checks now.
Interface toggle button didnt work for that reason. :)

Modified Paths:
--

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

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

branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.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-02-02 15:39:37 UTC (rev 18791)
+++ 
branches/blender2.5/blender/source/blender/editors/interface/interface_handlers.c
   2009-02-02 16:30:03 UTC (rev 18792)
@@ -1239,7 +1239,7 @@
retval= WM_UI_HANDLER_BREAK;
break;
case LEFTMOUSE: {
-   if(event->val) {
+   if(event->val==KM_PRESS) {
mx= event->x;
my= event->y;
ui_window_to_block(data->region, block, &mx, 
&my);
@@ -1261,7 +1261,7 @@
}
}
 
-   if(event->val) {
+   if(event->val==KM_PRESS) {
switch (event->type) {
case VKEY:
case XKEY:
@@ -1506,7 +1506,7 @@
 static int ui_do_but_BUT(bContext *C, uiBut *but, uiHandleButtonData *data, 
wmEvent *event)
 {
if(data->state == BUTTON_STATE_HIGHLIGHT) {
-   if(event->type == LEFTMOUSE && event->val) {
+   if(event->type == LEFTMOUSE && event->val==KM_PRESS) {
button_activate_state(C, but, 
BUTTON_STATE_WAIT_RELEASE);
return WM_UI_HANDLER_BREAK;
}
@@ -1514,13 +1514,13 @@
button_activate_state(C, but, BUTTON_STATE_EXIT);
return WM_UI_HANDLER_BREAK;
}
-   else if(ELEM(event->type, PADENTER, RETKEY) && event->val) {
+   else if(ELEM(event->type, PADENTER, RETKEY) && 
event->val==KM_PRESS) {
button_activate_state(C, but, BUTTON_STATE_WAIT_FLASH);
return WM_UI_HANDLER_BREAK;
}
}
else if(data->state == BUTTON_STATE_WAIT_RELEASE) {
-   if(event->type == LEFTMOUSE && event->val==0) {
+   if(event->type == LEFTMOUSE && event->val!=KM_PRESS) {
if(!(but->flag & UI_SELECT))
data->cancel= 1;
button_activate_state(C, but, BUTTON_STATE_EXIT);
@@ -1534,7 +1534,7 @@
 static int ui_do_but_KEYEVT(bContext *C, uiBut *but, uiHandleButtonData *data, 
wmEvent *event)
 {
if(data->state == BUTTON_STATE_HIGHLIGHT) {
-   if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && 
event->val) {
+   if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && 
event->val==KM_PRESS) {
button_activate_state(C, but, 
BUTTON_STATE_WAIT_KEY_EVENT);
return WM_UI_HANDLER_BREAK;
}
@@ -1543,7 +1543,7 @@
if(event->type == MOUSEMOVE)
return WM_UI_HANDLER_CONTINUE;
 
-   if(event->val) {
+   if(event->val==KM_PRESS) {
if(WM_key_event_string(event->type)[0])
ui_set_but_val(but, event->type);
else
@@ -1559,7 +1559,7 @@
 static int ui_do_but_TEX(bContext *C, uiBlock *block, uiBut *but, 
uiHandleButtonData *data, wmEvent *event)
 {
if(data->state == BUTTON_STATE_HIGHLIGHT) {
-   if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && 
event->val) {
+   if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && 
event->val==KM_PRESS) {
button_activate_state(C, but, 
BUTTON_STATE_TEXT_EDITING);
return WM_UI_HANDLER_BREAK;
}
@@ -1579,7 +1579,7 @@
 static int ui_do_but_TOG(bContext *C, uiBut *but, uiHandleButtonData *data, 
wmEvent *event)
 {
if(data->state == BUTTON_STATE_HIGHLIGHT) {
-   if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && 
event->val) {
+   if(ELEM3(event->type, LEFTMOUSE, PADENTER, RETKEY) && 
event->val==KM_PRESS) {
data->togdual= event->ctrl;
data->togonly= !event->shift;
button_activate_state(C, but, BUTTON_STATE_EXIT);
@@ -1592,7 +1592,7 @@
 static int ui_do_but_EXIT(bContext *C, uiBut *but, uiHandleButtonData *da

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

2009-02-02 Thread Ton Roosendaal
Revision: 18791
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18791
Author:   ton
Date: 2009-02-02 16:39:37 +0100 (Mon, 02 Feb 2009)

Log Message:
---
2.5

Small bugfix, key-release event should be only set after a tweak
fails. Such keymap items better not respond to any key-release!

Modified Paths:
--
branches/blender2.5/blender/source/blender/windowmanager/WM_types.h

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

Modified: branches/blender2.5/blender/source/blender/windowmanager/WM_types.h
===
--- branches/blender2.5/blender/source/blender/windowmanager/WM_types.h 
2009-02-02 14:13:14 UTC (rev 18790)
+++ branches/blender2.5/blender/source/blender/windowmanager/WM_types.h 
2009-02-02 15:39:37 UTC (rev 18791)
@@ -103,8 +103,9 @@
 
 /* val */
 #define KM_ANY -1
-#define KM_RELEASE 0
+#define KM_NOTHING 0
 #define KM_PRESS   1
+#define KM_RELEASE 2
 
 
 /* ** UI Handler * */

Modified: 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===
--- 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c  
2009-02-02 14:13:14 UTC (rev 18790)
+++ 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c  
2009-02-02 15:39:37 UTC (rev 18791)
@@ -774,6 +774,7 @@
/* when tweak fails we should give the other 
keymap entries a chance
 * those then won't react to km_press, but 
km_release
 * it sets hidden event value where tweak maps 
fail on, to prevent loops */
+   event->val= KM_RELEASE;
//event->val= 1;
//event->no_tweak= 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 [18790] branches/blender2.5/blender/source /blender: 2.5

2009-02-02 Thread Ton Roosendaal
Revision: 18790
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18790
Author:   ton
Date: 2009-02-02 15:13:14 +0100 (Mon, 02 Feb 2009)

Log Message:
---
2.5

Sanitized the 'tweak' event.

Original idea was to have WM event system generating it 
automatically. However, I first tested it via a handler
and operator, to check what kind of configurations would
be useful. It appeared to not work nice, also because
that inserting a tweak operator in a keymap is confusing.

Now 'tweaks' are generated automatically, and can be
catched by keymaps as any event. The current definition
of tweak is:

- if Left/Middle/Rightmouse pressed
if event wasn't handled by window queue (modal handlers)
   start checking mousepositions

- while mousepositions are checked
   - escape on any event other than mouse
   - on mouse events:
 - add tweak event if mousemove > 10 pixels
 - stop checking for tweak if mousebutton released

- Tweak events have a define indicating mousebutton used
  EVT_TWEAK_L, EVT_TWEAK_M, EVT_TWEAK_R  

- In keymap definitions you can use _S or _A to map to
  action or select mouse userdef.

- Event value in keymap should be KM_ANY for all tweaks,
  or use one of the eight directions:
  EVT_GESTURE_E, _SE, _S, _SW, _W, _NW, _N, _NE 

- And of course you can add modifier checks in keymaps for it.

- Because tweaks are a result of mouse events, the handlers get
  both to evaluate. That means that RMB-select + tweak will work
  correctly.
  In case you don't want both to be handled, for example the 
  CTRL+LMB 'extrude' and CTRL+LMB-tweak 'lasso select', you will
  need to set the first acting on a EVT_RELEASE, this event only
  gets passed on when tweak fails.

The current system allows all options, configurable, we had in 2.48,
and many more! A diagram of what's possible is on the todo. :)

Also in this commit: lasso select editmesh failed with 'zbuffer 
occluded select'. Also circle-select failed.

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_mods.c
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_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
branches/blender2.5/blender/source/blender/windowmanager/wm.h

Modified: 
branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c
===
--- branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 
2009-02-02 11:51:10 UTC (rev 18789)
+++ branches/blender2.5/blender/source/blender/blenloader/intern/readfile.c 
2009-02-02 14:13:14 UTC (rev 18790)
@@ -3945,11 +3945,13 @@
win->ghostwin= NULL;
win->eventstate= NULL;
win->curswin= NULL;
-   
+   win->tweak= NULL;
+
win->timers.first= win->timers.last= NULL;
win->queue.first= win->queue.last= NULL;
win->handlers.first= win->handlers.last= NULL;
win->subwindows.first= win->subwindows.last= NULL;
+   win->gesture.first= win->gesture.last= NULL;
 
win->drawdata= NULL;
win->drawmethod= -1;

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c
===
--- branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c 
2009-02-02 11:51:10 UTC (rev 18789)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_markers.c 
2009-02-02 14:13:14 UTC (rev 18790)
@@ -889,7 +889,4 @@

WM_keymap_add_item(keymap, "MARKER_OT_move", GKEY, KM_PRESS, 0, 0);

-   /* generates event, needs to be after select to work */
-   WM_keymap_tweak(keymap, SELECTMOUSE, KM_PRESS, 0, 0);
-   
 }

Modified: 
branches/b

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

2009-02-02 Thread Michael Fox
Revision: 18796
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18796
Author:   mfoxdogg
Date: 2009-02-03 04:54:03 +0100 (Tue, 03 Feb 2009)

Log Message:
---
  2.5
***
- rebuilt most of the view menu with a couple empty sub menus
- seperators go all screwy when there is an unknown operator in the menu
- using this method, the operators invoke function is skipped, this is 
evident with clipping border and border zoom
- original menus are still in the code just if'd out for furture 
reference and such

- to cater for this menu, view numpad op has been made into much smaller atomic 
operators, pan and orbit and the ortho/persp toggle has been put into 
individual operators

- fixed the mem leak in the make parent menu

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/object/object_edit.c

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

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

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

Modified: 
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
===
--- branches/blender2.5/blender/source/blender/editors/object/object_edit.c 
2009-02-02 19:59:22 UTC (rev 18795)
+++ branches/blender2.5/blender/source/blender/editors/object/object_edit.c 
2009-02-03 03:54:03 UTC (rev 18796)
@@ -2473,7 +2473,7 @@

uiPupMenuEnd(C, head);

-   return OPERATOR_RUNNING_MODAL;
+   return OPERATOR_CANCELLED;
 }
 
 

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-02-02 19:59:22 UTC (rev 18795)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/view3d_edit.c   
2009-02-03 03:54:03 UTC (rev 18796)
@@ -1315,16 +1315,7 @@
{V3D_VIEW_RIGHT, "RIGHT", "Right", "View From the Right"},
{V3D_VIEW_TOP, "TOP", "Top", "View From the Top"},
{V3D_VIEW_BOTTOM, "BOTTOM", "Bottom", "View From the Bottom"},
-   {V3D_VIEW_PERSPORTHO, "PERSPORTHO", "Persp-Ortho", "Switch between 
Perspecive and Orthographic View"},
{V3D_VIEW_CAMERA, "CAMERA", "Camera", "View From the active amera"},
-   {V3D_VIEW_STEPLEFT, "STEPLEFT", "Step Left", "Step the view around to 
the Left"},
-   {V3D_VIEW_STEPRIGHT, "STEPRIGHT", "Step Right", "Step the view around 
to the Right"},
-   {V3D_VIEW_STEPUP, "STEPUP", "Step Up", "Step the view Up"},
-   {V3D_VIEW_STEPDOWN, "STEPDOWN", "Step Down", "Step the view Down"},
-   {V3D_VIEW_PANLEFT, "PANLEFT", "Pan Left", "Pan the view to the Left"},
-   {V3D_VIEW_PANRIGHT, "PANRIGHT", "Pan Right", "Pan the view to the 
Right"},
-   {V3D_VIEW_PANUP, "PANUP", "Pan Up", "Pan the view Up"},
-   {V3D_VIEW_PANDOWN, "PANDOWN", "Pan Down", "Pan the view Down"},
{0, NULL, NULL, NULL}};
 
 static void axis_set_view(bContext *C, float q1, float q2, float q3, float q4, 
short view, int perspo)
@@ -1371,14 +1362,11 @@
 
 }
 
-
 static int viewnumpad_exec(bContext *C, wmOperator *op)
 {
-   ARegion *ar= CTX_wm_region(C);
View3D *v3d = CTX_wm_view3d(C);
RegionView3D *rv3d= CTX_wm_region_view3d(C);
Scene *scene= CTX_data_scene(C);
-   float phi, si, q1[4], vec[3];
static int perspo=V3D_PERSP;
int viewnum;
 
@@ -1411,16 +1399,6 @@
axis_set_view(C, 0.5, -0.5, -0.5, -0.5, viewnum, 
perspo);
break;
 
-   case V3D_VIEW_PERSPORTHO:
-   if(rv3d->viewlock==0) {
-   if(rv3d->persp!=V3D_ORTHO) 
-   rv3d->persp=V3D_ORTHO;
-   else rv3d->persp=V3D_PERSP;
-
-   ED_region_tag_redraw(ar);
-   }
-   break;
-
case V3D_VIEW_CAMERA:
if(rv3d->viewlock==0) {
/* lastview -  */
@@ -1464,91 +1442,177 @@
}
break;
 
-   case V3D_VIEW_STEPLEFT:
-   case V3D_VIEW_STEPRIGHT:
-   case V3D_VIEW_STEPUP:
-   case V3D_VIEW_STEPDOWN:
-   if(rv3d->viewlock==0) {
+   default :
+   break;
+   }
 
-   if(rv3d->persp != V3D_CAMOB) {
-   if(viewnum == V3D_VIEW_STEPLEFT || 
viewnum == V3D_VIEW_STEPRIGHT) {
-   /* z

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18797] branches/bmesh/blender: merge with 2.5 at r18796.

2009-02-02 Thread Joseph Eagar
Revision: 18797
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18797
Author:   joeedh
Date: 2009-02-03 07:22:30 +0100 (Tue, 03 Feb 2009)

Log Message:
---
merge with 2.5 at r18796.  note I've customized the
vc9 project files a bit, they won't compile blender by
themselves anymore (I use scons for that).

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/blender/blenkernel/BKE_context.h
branches/bmesh/blender/source/blender/blenkernel/BKE_global.h
branches/bmesh/blender/source/blender/blenkernel/BKE_screen.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/blender.c
branches/bmesh/blender/source/blender/blenkernel/intern/context.c
branches/bmesh/blender/source/blender/blenkernel/intern/fcurve.c
branches/bmesh/blender/source/blender/blenkernel/intern/ipo.c
branches/bmesh/blender/source/blender/blenkernel/intern/mesh.c
branches/bmesh/blender/source/blender/blenloader/intern/readfile.c
branches/bmesh/blender/source/blender/bmesh/bmesh_operators.h
branches/bmesh/blender/source/blender/bmesh/intern/bmesh_mods.c
branches/bmesh/blender/source/blender/bmesh/intern/editmesh_to_bmesh.c
branches/bmesh/blender/source/blender/bmesh/operators/subdivideop.c
branches/bmesh/blender/source/blender/editors/animation/anim_channels.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/anim_ops.c
branches/bmesh/blender/source/blender/editors/animation/keyframing.c
branches/bmesh/blender/source/blender/editors/armature/armature_intern.h
branches/bmesh/blender/source/blender/editors/armature/editarmature.c
branches/bmesh/blender/source/blender/editors/armature/poseobject.c
branches/bmesh/blender/source/blender/editors/curve/editfont.c
branches/bmesh/blender/source/blender/editors/include/ED_armature.h
branches/bmesh/blender/source/blender/editors/include/ED_screen.h
branches/bmesh/blender/source/blender/editors/include/ED_util.h
branches/bmesh/blender/source/blender/editors/include/ED_view3d.h
branches/bmesh/blender/source/blender/editors/interface/interface.c
branches/bmesh/blender/source/blender/editors/interface/interface_handlers.c
branches/bmesh/blender/source/blender/editors/interface/interface_panel.c
branches/bmesh/blender/source/blender/editors/mesh/editface.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_lib.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/object/editgroup.c
branches/bmesh/blender/source/blender/editors/object/object_edit.c
branches/bmesh/blender/source/blender/editors/screen/screen_context.c
branches/bmesh/blender/source/blender/editors/screen/screen_intern.h
branches/bmesh/blender/source/blender/editors/screen/screen_ops.c
branches/bmesh/blender/source/blender/editors/sculpt/sculpt.c
branches/bmesh/blender/source/blender/editors/space_action/action_edit.c
branches/bmesh/blender/source/blender/editors/space_action/action_ops.c
branches/bmesh/blender/source/blender/editors/space_action/action_select.c
branches/bmesh/blender/source/blender/editors/space_api/spacetypes.c
branches/bmesh/blender/source/blender/editors/space_file/file_draw.c
branches/bmesh/blender/source/blender/editors/space_file/file_ops.c
branches/bmesh/blender/source/blender/editors/space_file/fsmenu.c
branches/bmesh/blender/source/blender/editors/space_image/image_ops.c
branches/bmesh/blender/source/blender/editors/space_image/space_image.c
branches/bmesh/blender/source/blender/editors/space_ipo/ipo_edit.c
branches/bmesh/blender/source/blender/editors/space_ipo/ipo_ops.c
branches/bmesh/blender/source/blender/editors/space_node/node_edit.c
branches/bmesh/blender/source/blender/editors/space_node/node_header.c
branches/bmesh/blender/source/blender/editors/space_node/node_ops.c
branches/bmesh/blender/source/blender/editors/space_node/node_select.c
branches/bmesh/blender/source/blender/editors/space_node/node_state.c
branches/bmesh/blender/source/blender/editors/space_node/space_node.c
branches/bmesh/blender/source/blender/editors/space_outliner