[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18954] branches/blender2.5/blender/source /blender/editors: Keying Sets: Insert/Delete Keyframe Operator Buttons

2009-02-13 Thread Joshua Leung
Revision: 18954
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18954
Author:   aligorith
Date: 2009-02-13 10:46:08 +0100 (Fri, 13 Feb 2009)

Log Message:
---
Keying Sets: Insert/Delete Keyframe Operator Buttons

* Insert/Delete keyframe buttons in the TimeLine work again. These now use two 
new operators which only insert keyframes for the active Keying Set. 
* Renamed the old insert/delete keyframe operators. These now have the *_old 
postfix on their names. What happens with these temp operators is yet to be 
seen.
* Added insert/delete keyframe buttons beside the operator buttons for Keying 
Sets in the Outliner-Datablocks view

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c
branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
branches/blender2.5/blender/source/blender/editors/include/ED_keyframing.h
branches/blender2.5/blender/source/blender/editors/object/object_ops.c

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

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c
===
--- branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c 
2009-02-13 06:33:07 UTC (rev 18953)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_ops.c 
2009-02-13 09:46:08 UTC (rev 18954)
@@ -380,6 +380,8 @@
// XXX this is used all over... maybe for screen instead?
WM_operatortype_append(ANIM_OT_insert_keyframe);
WM_operatortype_append(ANIM_OT_delete_keyframe);
+   WM_operatortype_append(ANIM_OT_insert_keyframe_old);
+   WM_operatortype_append(ANIM_OT_delete_keyframe_old);
 }
 
 void ED_keymap_anim(wmWindowManager *wm)

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
===
--- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   
2009-02-13 06:33:07 UTC (rev 18953)
+++ branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   
2009-02-13 09:46:08 UTC (rev 18954)
@@ -2006,7 +2006,7 @@
 static int commonkey_modifykey (ListBase *dsources, KeyingSet *ks, short mode, 
float cfra)
 {
KS_Path *ksp;
-   int kflag, success= 0;
+   int kflag=0, success= 0;
char *groupname= NULL;

/* get flags to use */
@@ -2087,6 +2087,121 @@
 
 /* Insert Key Operator  */
 
+/* NOTE:
+ * This is one of the 'simpler new-style' Insert Keyframe operators which 
relies on Keying Sets.
+ * For now, these are absolute Keying Sets only, so there is very little 
context info involved.
+ *
+ * -- Joshua Leung, Feb 2009
+ */
+
+static int insert_key_exec (bContext *C, wmOperator *op)
+{
+   ListBase dsources = {NULL, NULL};
+   Scene *scene= CTX_data_scene(C);
+   KeyingSet *ks= NULL;
+   float cfra= (float)CFRA; // XXX for now, don't bother about all the 
yucky offset crap
+   short success;
+   
+   /* try to get KeyingSet */
+   if (scene-active_keyingset  0)
+   ks= BLI_findlink(scene-keyingsets, scene-active_keyingset-1);
+   /* report failure */
+   if (ks == NULL) {
+   BKE_report(op-reports, RPT_ERROR, No active Keying Set);
+   return OPERATOR_CANCELLED;
+   }
+   
+   /* try to insert keyframes for the channels specified by KeyingSet */
+   success= commonkey_modifykey(dsources, ks, COMMONKEY_MODE_INSERT, 
cfra);
+   printf(KeyingSet '%s' - Successfully added %d Keyframes \n, ks-name, 
success);
+   
+   /* report failure? */
+   if (success == 0)
+   BKE_report(op-reports, RPT_WARNING, Keying Set failed to 
insert any keyframes);
+   
+   /* send updates */
+   ED_anim_dag_flush_update(C);
+   
+   /* for now, only send ND_KEYS for KeyingSets */
+   WM_event_add_notifier(C, ND_KEYS, NULL);
+   
+   return OPERATOR_FINISHED;
+}
+
+void ANIM_OT_insert_keyframe (wmOperatorType *ot)
+{
+   /* identifiers */
+   ot-name= Insert Keyframe;
+   ot-idname= ANIM_OT_insert_keyframe;
+   
+   /* callbacks */
+   ot-exec= insert_key_exec; 
+   ot-poll= ED_operator_areaactive;
+   
+   /* flags */
+   ot-flag= OPTYPE_REGISTER|OPTYPE_UNDO;
+}
+
+/* Delete Key Operator  */
+
+/* NOTE:
+ * This is one of the 'simpler new-style' Insert Keyframe operators which 
relies on Keying Sets.
+ * For now, these are absolute Keying Sets only, so there is very little 
context info involved.
+ *
+ * -- Joshua Leung, Feb 2009
+ */
+ 
+static int delete_key_exec (bContext *C, wmOperator *op)
+{
+   ListBase 

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

2009-02-13 Thread Ton Roosendaal
Revision: 18955
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18955
Author:   ton
Date: 2009-02-13 14:04:48 +0100 (Fri, 13 Feb 2009)

Log Message:
---
2.5

Feature restored: save file for the first time automatically names it
untitled.blend, prevents to accidentally save over last saved
file. 

Modified Paths:
--

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

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-13 09:46:08 UTC (rev 18954)
+++ 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c  
2009-02-13 13:04:48 UTC (rev 18955)
@@ -353,6 +353,19 @@
 
 /* * main file *** */
 
+static void untitled(char *name)
+{
+   if (G.save_over == 0  strlen(name)  FILE_MAX-16) {
+   char *c= BLI_last_slash(name);
+   
+   if (c)
+   strcpy(c[1], untitled.blend);
+   else
+   strcpy(name, untitled.blend);
+   }
+}
+
+
 static int wm_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *event)
 {
SpaceFile *sfile;
@@ -363,7 +376,7 @@
/* settings for filebrowser */
sfile= (SpaceFile*)CTX_wm_space_data(C);
sfile-op = op;
-   // XXX replace G.sce
+   
ED_fileselect_set_params(sfile, FILE_BLENDER, Load, G.sce, 0, 0, 0);
 
/* screen and area have been reset already in ED_screen_full_newspace */
@@ -403,14 +416,17 @@
 static int wm_save_as_mainfile_invoke(bContext *C, wmOperator *op, wmEvent 
*event)
 {
SpaceFile *sfile;
+   char name[FILE_MAX];

ED_screen_full_newspace(C, CTX_wm_area(C), SPACE_FILE);
 
/* settings for filebrowser */
sfile= (SpaceFile*)CTX_wm_space_data(C);
sfile-op = op;
-   // XXX replace G.sce
-   ED_fileselect_set_params(sfile, FILE_BLENDER, Save As, G.sce, 0, 0, 
0);
+   
+   BLI_strncpy(name, G.sce, FILE_MAX);
+   untitled(name);
+   ED_fileselect_set_params(sfile, FILE_BLENDER, Save As, name, 0, 0, 0);
 
/* screen and area have been reset already in ED_screen_full_newspace */
 
@@ -449,9 +465,12 @@
 
 static int wm_save_mainfile_invoke(bContext *C, wmOperator *op, wmEvent *event)
 {
+   char name[FILE_MAX];

-   RNA_string_set(op-ptr, filename, G.sce);
-   uiPupMenuSaveOver(C, op, G.sce);
+   BLI_strncpy(name, G.sce, FILE_MAX);
+   untitled(name);
+   RNA_string_set(op-ptr, filename, name);
+   uiPupMenuSaveOver(C, op, name);
 
return OPERATOR_RUNNING_MODAL;
 }


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

2009-02-13 Thread Ton Roosendaal
Revision: 18956
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18956
Author:   ton
Date: 2009-02-13 14:33:01 +0100 (Fri, 13 Feb 2009)

Log Message:
---
2.5

feature restored: window title shows file name, 
if saved/loaded.

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c
branches/blender2.5/blender/source/blender/windowmanager/wm_window.h

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c  
2009-02-13 13:04:48 UTC (rev 18955)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/blender.c  
2009-02-13 13:33:01 UTC (rev 18956)
@@ -318,8 +318,6 @@
/* free G.main Main database */
clear_global(); 

-   if(mode!='u') G.save_over = 1;
-   
G.main= bfd-main;
 
CTX_data_main_set(C, G.main);

Modified: 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c
===
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c  
2009-02-13 13:04:48 UTC (rev 18955)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_files.c  
2009-02-13 13:33:01 UTC (rev 18956)
@@ -93,6 +93,7 @@
 #include WM_api.h
 #include WM_types.h
 #include wm.h
+#include wm_window.h
 
 /***/
 
@@ -521,6 +522,7 @@
wm_window_match_init(C, wmbase); 

retval= BKE_read_file(C, name, NULL, reports);
+   G.save_over = 1;
 
/* match the read WM with current WM */
wm_window_match_do(C, wmbase); 
@@ -865,10 +867,9 @@
G.relbase_valid = 1;
strcpy(G.main-name, di);   /* is guaranteed current file */
 
-// XXX mainwindow_set_filename_to_title(G.main-name);
-
G.save_over = 1;
-
+   wm_window_titles(CTX_wm_manager(C));
+   
writeBlog();
}
 

Modified: 
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c
===
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 
2009-02-13 13:04:48 UTC (rev 18955)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_window.c 
2009-02-13 13:33:01 UTC (rev 18956)
@@ -28,6 +28,7 @@
 
 #include stdlib.h
 #include stdio.h
+#include string.h
 
 #include DNA_listBase.h  
 #include DNA_screen_types.h
@@ -180,6 +181,21 @@
WM_exit(C);
 }
 
+void wm_window_titles(wmWindowManager *wm)
+{
+   if(G.save_over) {
+   wmWindow *win;
+   char *str= MEM_mallocN(strlen(G.sce) + 16, title);
+   
+   sprintf(str, Blender [%s], G.sce);
+   
+   for(win= wm-windows.first; win; win= win-next)
+   GHOST_SetTitle(win-ghostwin, str);
+
+   MEM_freeN(str);
+   }
+}
+
 /* belongs to below */
 static void wm_window_add_ghostwindow(wmWindowManager *wm, char *title, 
wmWindow *win)
 {
@@ -267,15 +283,16 @@
if(win-eventstate==NULL)
   win-eventstate= MEM_callocN(sizeof(wmEvent), window event 
state);

-   
/* add keymap handlers (1 handler for all keys in map!) */
keymap= WM_keymap_listbase(wm, Window, 0, 0);
WM_event_add_keymap_handler(win-handlers, keymap);

keymap= WM_keymap_listbase(wm, Screen, 0, 0);
WM_event_add_keymap_handler(win-handlers, keymap);
-   
}
+   
+   wm_window_titles(wm);
+   
 }
 
 /* new window, no screen yet, but we open ghostwindow for it */
@@ -632,11 +649,6 @@
 
 /*  */
 
-void wm_window_set_title(wmWindow *win, char *title) 
-{
-   GHOST_SetTitle(win-ghostwin, title);
-}
-
 void wm_window_get_position(wmWindow *win, int *posx_r, int *posy_r) 
 {
*posx_r= win-posx;

Modified: branches/blender2.5/blender/source/blender/windowmanager/wm_window.h
===
--- branches/blender2.5/blender/source/blender/windowmanager/wm_window.h
2009-02-13 13:04:48 UTC (rev 18955)
+++ branches/blender2.5/blender/source/blender/windowmanager/wm_window.h
2009-02-13 13:33:01 UTC (rev 18956)
@@ -36,6 +36,8 @@
 
 wmWindow   *wm_window_new  (bContext *C);
 void   wm_window_free  (bContext *C, wmWindow *win);
+
+void   

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

2009-02-13 Thread Ton Roosendaal
Revision: 18957
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18957
Author:   ton
Date: 2009-02-13 14:55:57 +0100 (Fri, 13 Feb 2009)

Log Message:
---
2.5

Bugfix: menus in screen space could go wrong because the code
accidentally used window-winid instead of screen-mainwin id.
(the first is window id, the 2nd wm subwindow id. On start both
are one, which made it not appear immediately).

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

Modified: 
branches/blender2.5/blender/source/blender/editors/interface/interface.c
===
--- branches/blender2.5/blender/source/blender/editors/interface/interface.c
2009-02-13 13:33:01 UTC (rev 18956)
+++ branches/blender2.5/blender/source/blender/editors/interface/interface.c
2009-02-13 13:55:57 UTC (rev 18957)
@@ -1610,8 +1610,8 @@
/* no subwindow created yet, for menus for example, so we
 * use the main window instead, since buttons are created
 * there anyway */
-   wm_subwindow_getmatrix(window, window-winid, block-winmat);
-   wm_subwindow_getsize(window, window-winid, getsizex, 
getsizey);
+   wm_subwindow_getmatrix(window, window-screen-mainwin, 
block-winmat);
+   wm_subwindow_getsize(window, window-screen-mainwin, 
getsizex, getsizey);
 
block-aspect= 2.0/fabs(getsizex*block-winmat[0][0]);
block-auto_open= 2;


___
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 [18958] branches/blender2.5/blender/source /blender/editors/space_sequencer: select left/ right of active sequence strip

2009-02-13 Thread Campbell Barton
Revision: 18958
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18958
Author:   campbellbarton
Date: 2009-02-13 15:16:56 +0100 (Fri, 13 Feb 2009)

Log Message:
---
select left/right of active sequence strip

Modified Paths:
--

branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h

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

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

Modified: 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h
===
--- 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h
   2009-02-13 13:55:57 UTC (rev 18957)
+++ 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_intern.h
   2009-02-13 14:16:56 UTC (rev 18958)
@@ -96,6 +96,7 @@
 void SEQUENCER_OT_select_linked(struct wmOperatorType *ot);
 void SEQUENCER_OT_select_pick_linked(struct wmOperatorType *ot);
 void SEQUENCER_OT_select_handles(struct wmOperatorType *ot);
+void SEQUENCER_OT_select_active_side(struct wmOperatorType *ot);
 void SEQUENCER_OT_borderselect(struct wmOperatorType *ot);
 void SEQUENCER_OT_select_invert(struct wmOperatorType *ot);
 

Modified: 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c
  2009-02-13 13:55:57 UTC (rev 18957)
+++ 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_ops.c
  2009-02-13 14:16:56 UTC (rev 18958)
@@ -90,6 +90,7 @@
WM_operatortype_append(SEQUENCER_OT_select_pick_linked);
WM_operatortype_append(SEQUENCER_OT_select_linked);
WM_operatortype_append(SEQUENCER_OT_select_handles);
+   WM_operatortype_append(SEQUENCER_OT_select_active_side);
WM_operatortype_append(SEQUENCER_OT_borderselect);

/* sequencer_add.c */

Modified: 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_select.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_select.c
   2009-02-13 13:55:57 UTC (rev 18957)
+++ 
branches/blender2.5/blender/source/blender/editors/space_sequencer/sequencer_select.c
   2009-02-13 14:16:56 UTC (rev 18958)
@@ -81,44 +81,6 @@
 static void *find_nearest_marker() {return NULL;}
 static void deselect_markers() {}

-   
-
-/** TODO - bring back into operators *** */
-void select_channel_direction(Scene *scene, Sequence *test,int lr) {
-/* selects all strips in a channel to one direction of the passed strip */
-   Sequence *seq;
-   Editing *ed= seq_give_editing(scene, FALSE);
-
-   if(ed==NULL) return;
-
-   seq= ed-seqbasep-first;
-   while(seq) {
-   if(seq!=test) {
-   if (test-machine==seq-machine) {
-   if(test-depth==seq-depth) {
-   if (((lr==1)(test-startdisp  
(seq-startdisp)))||((lr==2)(test-startdisp  (seq-startdisp {
-   seq-flag |= SELECT;
-   recurs_sel_seq(seq);
-   }
-   }
-   }
-   }
-   seq= seq-next;
-   }
-   test-flag |= SELECT;
-   recurs_sel_seq(test);
-}
-
-void select_dir_from_last(Scene *scene, int lr)
-{
-   Sequence *seq=get_last_seq(scene);
-   if (seq==NULL)
-   return;
-   
-   select_channel_direction(scene, seq,lr);
-   
-}
-   
 void select_surrounding_handles(Scene *scene, Sequence *test) /* XXX BRING 
BACK */
 {
Sequence *neighbor;
@@ -384,7 +346,10 @@
First click selects adjacent handles on that side.
Second click selects all strips in that direction.
If there are no adjacent strips, it just selects all in 
that direction. */
-   } else if (0) { // XXX ((G.qual  LR_CTRLKEY) || 
(G.qual  LR_ALTKEY))  (seq-flag  SELECT)) {
+   
+   }
+#if 0 //XXX
+   else if (0) { // XXX ((G.qual  LR_CTRLKEY) || (G.qual 
 LR_ALTKEY))  (seq-flag  SELECT)) {

if (0); // G.qual  LR_CTRLKEY) seldir=1;
else seldir=2;
@@ -419,7 +384,7 @@
select_channel_direction(scene, 
seq,seldir);
}
}
-
+#endif

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18959] branches/blender2.5/blender/source /blender/editors: 2.5: Keyingsets now can construct rna paths including pointers

2009-02-13 Thread Brecht Van Lommel
Revision: 18959
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18959
Author:   blendix
Date: 2009-02-13 15:48:38 +0100 (Fri, 13 Feb 2009)

Log Message:
---
2.5: Keyingsets now can construct rna paths including pointers
and collections, which means keying for example object game
settings or constraint properties should work.

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

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
===
--- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   
2009-02-13 14:16:56 UTC (rev 18958)
+++ branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   
2009-02-13 14:48:38 UTC (rev 18959)
@@ -718,8 +718,8 @@

/* validate pointer first - exit if failure*/
RNA_id_pointer_create(id, id_ptr);
-   if (RNA_path_resolve(id_ptr, rna_path, ptr, prop) == 0) {
-   printf(Insert Key: Could not insert keyframe, as RNA Path is 
invalid for the given ID \n);
+   if (RNA_path_resolve(id_ptr, rna_path, ptr, prop) == 0 || prop == 
NULL) {
+   printf(Insert Key: Could not insert keyframe, as RNA Path is 
invalid for the given ID (%s)\n, rna_path);
return 0;
}

@@ -2050,7 +2050,7 @@
PropertyRNA *prop;

RNA_id_pointer_create(ksp-id, id_ptr);
-   if (RNA_path_resolve(id_ptr, ksp-rna_path, 
ptr, prop))
+   if (RNA_path_resolve(id_ptr, ksp-rna_path, 
ptr, prop)  prop)
arraylen= 
RNA_property_array_length(ptr, prop);
}


Modified: 
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
2009-02-13 14:16:56 UTC (rev 18958)
+++ 
branches/blender2.5/blender/source/blender/editors/space_outliner/outliner.c
2009-02-13 14:48:38 UTC (rev 18959)
@@ -3144,10 +3144,10 @@
 {
ListBase hierarchy = {NULL, NULL};
LinkData *ld;
-   TreeElement *tem;
-   TreeStoreElem *tse;
-   PointerRNA *ptr;
-   PropertyRNA *prop;
+   TreeElement *tem, *temnext, *temsub;
+   TreeStoreElem *tse, *tsenext;
+   PointerRNA *ptr, *nextptr;
+   PropertyRNA *prop, *nameprop;
ID *id = NULL;
char *path=NULL, *newpath=NULL;
int array_index= 0;
@@ -3189,9 +3189,9 @@

/* check if we're looking for first ID, or appending to path */
if (id) {
-   if (tse-type == TSE_RNA_STRUCT)
+   if(tse-type == TSE_RNA_STRUCT)
printf(\t tem = RNA Struct '%s' \n, 
tem-name);
-   else if (tse-type == TSE_RNA_ARRAY_ELEM)
+   else if(tse-type == TSE_RNA_ARRAY_ELEM)
printf(\t tem = RNA Array Elem '%s' \n, 
tem-name);
else if (tse-type == TSE_RNA_PROPERTY)
printf(\t tem = RNA Property '%s' \n, 
tem-name);
@@ -3201,22 +3201,67 @@
/* just 'append' property to path 
 *  - to prevent memory leaks, we must write to 
newpath not path, then free old path + swap them
 */
-   // TODO: how should this be done?
-   //newpath= RNA_path_append(path, ptr, prop, tem-index, 
/*RNA_property_identifier(ptr, prop)*/0);

-   if (path) MEM_freeN(path);
-   path= newpath;
+   if(tse-type == TSE_RNA_PROPERTY) {
+   if(RNA_property_type(ptr, prop) == 
PROP_POINTER) {
+   /* for pointer we just append property 
name */
+   newpath= RNA_path_append(path, ptr, 
prop, 0, NULL);
+   }
+   else if(RNA_property_type(ptr, prop) == 
PROP_COLLECTION) {
+   temnext= (TreeElement*)(ld-next-data);
+   tsenext= TREESTORE(temnext);
+
+   nextptr= temnext-rnaptr;
+   nameprop= 
RNA_struct_name_property(nextptr);
+
+   if(nameprop) {
+   /* if possible, use name as a 
key in the 

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18960] branches/blender2.5/blender/source /blender/makesrna/intern/CMakeLists.txt: 2.5: update cmake for rna_animation.c.

2009-02-13 Thread Brecht Van Lommel
Revision: 18960
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18960
Author:   blendix
Date: 2009-02-13 17:05:42 +0100 (Fri, 13 Feb 2009)

Log Message:
---
2.5: update cmake for rna_animation.c.

Modified Paths:
--
branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt

Modified: 
branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt
===
--- branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt   
2009-02-13 14:48:38 UTC (rev 18959)
+++ branches/blender2.5/blender/source/blender/makesrna/intern/CMakeLists.txt   
2009-02-13 16:05:42 UTC (rev 18960)
@@ -27,6 +27,7 @@
 SET(DEFSRC
  rna_action.c
  rna_actuator.c
+ rna_animation.c
  rna_armature.c
  rna_brush.c
  rna_camera.c


___
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 [18961] branches/blender2.5/blender/source /blender/editors: 2.5: Curve edit mode add vertex and add menus now work.

2009-02-13 Thread Brecht Van Lommel
Revision: 18961
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18961
Author:   blendix
Date: 2009-02-13 18:37:01 +0100 (Fri, 13 Feb 2009)

Log Message:
---
2.5: Curve edit mode add vertex and add menus now work. Also
fixed an issue where sublevel menus did not get right operator
context.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h
branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c
branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
branches/blender2.5/blender/source/blender/editors/include/ED_view3d.h

branches/blender2.5/blender/source/blender/editors/interface/interface_regions.c
branches/blender2.5/blender/source/blender/editors/mesh/editmesh_add.c
branches/blender2.5/blender/source/blender/editors/object/object_edit.c
branches/blender2.5/blender/source/blender/editors/object/object_intern.h
branches/blender2.5/blender/source/blender/editors/object/object_ops.c

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

Modified: 
branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h
===
--- branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h 
2009-02-13 16:05:42 UTC (rev 18960)
+++ branches/blender2.5/blender/source/blender/editors/curve/curve_intern.h 
2009-02-13 17:37:01 UTC (rev 18961)
@@ -71,12 +71,8 @@
 void CURVE_OT_delete(struct wmOperatorType *ot);
 void CURVE_OT_set_smooth(struct wmOperatorType *ot);
 void CURVE_OT_clear_tilt(struct wmOperatorType *ot);
-void CURVE_OT_add_surface_primitive(struct wmOperatorType *ot);
-void CURVE_OT_add_curve_primitive(struct wmOperatorType *ot);
 
 void CURVE_OT_specials_menu(struct wmOperatorType *ot);
-void CURVE_OT_add_menu(struct wmOperatorType *ot);
 
-
 #endif /* ED_UTIL_INTERN_H */
 

Modified: branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c
===
--- branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c
2009-02-13 16:05:42 UTC (rev 18960)
+++ branches/blender2.5/blender/source/blender/editors/curve/curve_ops.c
2009-02-13 17:37:01 UTC (rev 18961)
@@ -91,32 +91,6 @@
ot-poll= ED_operator_editsurfcurve;
 }
 
-static int add_menu_invoke(bContext *C, wmOperator *op, wmEvent *event)
-{
-   Object *obedit= CTX_data_edit_object(C);
-   uiMenuItem *head;
-
-   head= uiPupMenuBegin(Add, 0);
-   if(obedit-type == OB_CURVE)
-   uiMenuItemsEnumO(head, CURVE_OT_add_curve_primitive, type);
-   else
-   uiMenuItemsEnumO(head, CURVE_OT_add_surface_primitive, 
type);
-   uiPupMenuEnd(C, head);
-
-   return OPERATOR_CANCELLED;
-}
-
-void CURVE_OT_add_menu(wmOperatorType *ot)
-{
-   /* identifiers */
-   ot-name= Add Menu;
-   ot-idname= CURVE_OT_add_menu;
-   
-   /* api clastbacks */
-   ot-invoke= add_menu_invoke;
-   ot-poll= ED_operator_editsurfcurve;
-}
-
 /* registration /
 
 void ED_operatortypes_curve(void)
@@ -161,11 +135,7 @@
WM_operatortype_append(CURVE_OT_extrude);
WM_operatortype_append(CURVE_OT_toggle_cyclic);
 
-   WM_operatortype_append(CURVE_OT_add_menu);
WM_operatortype_append(CURVE_OT_specials_menu);
-
-   WM_operatortype_append(CURVE_OT_add_surface_primitive);
-   WM_operatortype_append(CURVE_OT_add_curve_primitive);
 }
 
 void ED_keymap_curve(wmWindowManager *wm)

Modified: branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
===
--- branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
2009-02-13 16:05:42 UTC (rev 18960)
+++ branches/blender2.5/blender/source/blender/editors/curve/editcurve.c
2009-02-13 17:37:01 UTC (rev 18961)
@@ -3258,16 +3258,15 @@
 
 /* add vertex operator **/
 
-static int addvert_Nurb(bContext *C, short mode)
+static int addvert_Nurb(bContext *C, short mode, float location[3])
 {
Scene *scene= CTX_data_scene(C);
Object *obedit= CTX_data_edit_object(C);
ListBase *editnurb= curve_get_editcurve(obedit);
-   View3D *v3d= CTX_wm_view3d(C);
Nurb *nu;
BezTriple *bezt, *newbezt = NULL;
BPoint *bp, *newbp = NULL;
-   float *curs, mat[3][3],imat[3][3], temp[3];
+   float mat[3][3],imat[3][3], temp[3];
 
Mat3CpyMat4(mat, obedit-obmat);
Mat3Inv(imat,mat);
@@ -3315,16 +3314,7 @@
VECCOPY(newbezt-vec[2], bezt-vec[2]);
}
else {
-   if(v3d) {
-   curs= give_cursor(scene, 

[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18962] branches/blender2.5/blender/source /blender/editors/animation/keyframing.c: Bugfix: 'Legacy' Insert Keyframe operator works again...

2009-02-13 Thread Joshua Leung
Revision: 18962
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18962
Author:   aligorith
Date: 2009-02-13 22:40:07 +0100 (Fri, 13 Feb 2009)

Log Message:
---
Bugfix: 'Legacy' Insert Keyframe operator works again... It's future is still 
uncertain though.

Modified Paths:
--
branches/blender2.5/blender/source/blender/editors/animation/keyframing.c

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/keyframing.c
===
--- branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   
2009-02-13 17:37:01 UTC (rev 18961)
+++ branches/blender2.5/blender/source/blender/editors/animation/keyframing.c   
2009-02-13 21:40:07 UTC (rev 18962)
@@ -2235,21 +2235,21 @@
head= uiPupMenuBegin(Insert Keyframe, 0);

/* active keyingset */
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 0);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, type, 0);

/* selective inclusion */
if ((ob-pose)  (ob-flag  OB_POSEMODE)) {
/* bone types */
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 
5);
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 
6);
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 
7);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, 
type, 5);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, 
type, 6);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, 
type, 7);
}
else {
/* object types */
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 
1);
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 
2);
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 
3);
-   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe, type, 
4);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, 
type, 1);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, 
type, 2);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, 
type, 3);
+   uiMenuItemEnumO(head, , 0, ANIM_OT_insert_keyframe_old, 
type, 4);
}

uiPupMenuEnd(C, head);


___
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 [18963] branches/blender2.5/blender/source /blender: 2.5 - Adding context iterators for visible/editable ( selection is irrelevant) for bones and pose

2009-02-13 Thread Joshua Leung
Revision: 18963
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18963
Author:   aligorith
Date: 2009-02-14 08:27:12 +0100 (Sat, 14 Feb 2009)

Log Message:
---
2.5 - Adding context iterators for visible/editable (selection is irrelevant) 
for bones and pose-channels. 

I'm not totally sure that these are needed, though it does make some tools 
simpler.

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
branches/blender2.5/blender/source/blender/blenkernel/intern/context.c

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

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
===
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 
2009-02-13 21:40:07 UTC (rev 18962)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 
2009-02-14 07:27:12 UTC (rev 18963)
@@ -91,6 +91,11 @@

CTX_DATA_ACTIVE_BONE,
CTX_DATA_ACTIVE_PCHAN,
+   
+   CTX_DATA_VISIBLE_BONES,
+   CTX_DATA_EDITABLE_BONES,
+   CTX_DATA_VISIBLE_PCHANS,
+   CTX_DATA_EDITABLE_PCHANS,
 };
 
 typedef int bContextDataMember;
@@ -197,9 +202,12 @@
 struct EditBone *CTX_data_active_bone(const bContext *C);
 int CTX_data_selected_bones(const bContext *C, ListBase *list);
 int CTX_data_selected_editable_bones(const bContext *C, ListBase *list);
+int CTX_data_visible_bones(const bContext *C, ListBase *list);
+int CTX_data_editable_bones(const bContext *C, ListBase *list);
 
 struct bPoseChannel *CTX_data_active_pchan(const bContext *C);
 int CTX_data_selected_pchans(const bContext *C, ListBase *list);
+int CTX_data_visible_pchans(const bContext *C, ListBase *list);
 
 /* Data Evaluation Context */
 

Modified: branches/blender2.5/blender/source/blender/blenkernel/intern/context.c
===
--- branches/blender2.5/blender/source/blender/blenkernel/intern/context.c  
2009-02-13 21:40:07 UTC (rev 18962)
+++ branches/blender2.5/blender/source/blender/blenkernel/intern/context.c  
2009-02-14 07:27:12 UTC (rev 18963)
@@ -459,6 +459,16 @@
return ctx_data_collection_get(C, CTX_DATA_SELECTED_EDITABLE_BONES, 
list);
 }
 
+int CTX_data_visible_bones(const bContext *C, ListBase *list)
+{
+   return ctx_data_collection_get(C, CTX_DATA_VISIBLE_BONES, list);
+}
+
+int CTX_data_editable_bones(const bContext *C, ListBase *list)
+{
+   return ctx_data_collection_get(C, CTX_DATA_EDITABLE_BONES, list);
+}
+
 struct bPoseChannel *CTX_data_active_pchan(const bContext *C)
 {
return ctx_data_pointer_get(C, CTX_DATA_ACTIVE_PCHAN);
@@ -469,6 +479,12 @@
return ctx_data_collection_get(C, CTX_DATA_SELECTED_PCHANS, list);
 }
 
+int CTX_data_visible_pchans(const bContext *C, ListBase *list)
+{
+   return ctx_data_collection_get(C, CTX_DATA_VISIBLE_PCHANS, list);
+}
+
+
 /* data evaluation */
 
 float CTX_eval_frame(const bContext *C)

Modified: 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c
===
--- 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
2009-02-13 21:40:07 UTC (rev 18962)
+++ 
branches/blender2.5/blender/source/blender/editors/space_view3d/space_view3d.c  
2009-02-14 07:27:12 UTC (rev 18963)
@@ -557,16 +557,58 @@
if(scene-basact  (scene-basact-lay  v3d-lay))
if((scene-basact-object-restrictflag  
OB_RESTRICT_VIEW)==0)
CTX_data_pointer_set(result, scene-basact);
-
+   
return 1;
}
else if(member == CTX_DATA_ACTIVE_OBJECT) {
if(scene-basact  (scene-basact-lay  v3d-lay))
if((scene-basact-object-restrictflag  
OB_RESTRICT_VIEW)==0)
CTX_data_pointer_set(result, 
scene-basact-object);
-
+   
return 1;
}
+   else if(ELEM(member, CTX_DATA_VISIBLE_BONES, CTX_DATA_EDITABLE_BONES)) {
+   Object *obedit= scene-obedit; // XXX get from context?
+   bArmature *arm= (obedit) ? obedit-data : NULL;
+   EditBone *ebone, *flipbone=NULL;
+   
+   if (arm  arm-edbo) {
+   /* Attention: X-Axis Mirroring is also handled here... 
*/
+   for (ebone= arm-edbo-first; ebone; ebone= 
ebone-next) {
+   /* first and foremost, bone must be visible and 
selected */
+   if (EBONE_VISIBLE(arm, ebone)) {
+   /* Get 'x-axis mirror equivalent' bone 
if the X-Axis Mirroring option is enabled
+* so that most users of 

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

2009-02-13 Thread Joshua Leung
Revision: 18964
  
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=revroot=bf-blenderrevision=18964
Author:   aligorith
Date: 2009-02-14 08:52:25 +0100 (Sat, 14 Feb 2009)

Log Message:
---
2.5 Bugfixes:

* Removed unnecessary define for context loop (editable posechannels)

* Fixed crash in animation-channel filtering - missing check for no world 
animation.

Modified Paths:
--
branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
branches/blender2.5/blender/source/blender/editors/animation/anim_filter.c

Modified: branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h
===
--- branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 
2009-02-14 07:27:12 UTC (rev 18963)
+++ branches/blender2.5/blender/source/blender/blenkernel/BKE_context.h 
2009-02-14 07:52:25 UTC (rev 18964)
@@ -95,7 +95,6 @@
CTX_DATA_VISIBLE_BONES,
CTX_DATA_EDITABLE_BONES,
CTX_DATA_VISIBLE_PCHANS,
-   CTX_DATA_EDITABLE_PCHANS,
 };
 
 typedef int bContextDataMember;

Modified: 
branches/blender2.5/blender/source/blender/editors/animation/anim_filter.c
===
--- branches/blender2.5/blender/source/blender/editors/animation/anim_filter.c  
2009-02-14 07:27:12 UTC (rev 18963)
+++ branches/blender2.5/blender/source/blender/editors/animation/anim_filter.c  
2009-02-14 07:52:25 UTC (rev 18964)
@@ -1094,7 +1094,7 @@
}

/* world */
-   if ((wo)  !(ads-filterflag  ADS_FILTER_NOWOR)) {
+   if ((wo  wo-adt)  !(ads-filterflag  ADS_FILTER_NOWOR)) {
/* Animation or Drivers */
if ((ads-filterflag  ADS_FILTER_ONLYDRIVERS) == 0) {
AnimData *adt= wo-adt;


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