[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18954] branches/blender2.5/blender/source /blender/editors: Keying Sets: Insert/Delete Keyframe Operator Buttons
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
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
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
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
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
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.
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.
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...
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
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:
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