~ubuntu-branches/ubuntu/trusty/blender/trusty

« back to all changes in this revision

Viewing changes to source/blender/editors/space_nla/nla_ops.c

  • Committer: Package Import Robot
  • Author(s): Jeremy Bicha
  • Date: 2013-03-06 12:08:47 UTC
  • mfrom: (1.5.1) (14.1.8 experimental)
  • Revision ID: package-import@ubuntu.com-20130306120847-frjfaryb2zrotwcg
Tags: 2.66a-1ubuntu1
* Resynchronize with Debian (LP: #1076930, #1089256, #1052743, #999024,
  #1122888, #1147084)
* debian/control:
  - Lower build-depends on libavcodec-dev since we're not
    doing the libav9 transition in Ubuntu yet

Show diffs side-by-side

added added

removed removed

Lines of Context:
53
53
#include "RNA_access.h"
54
54
 
55
55
 
56
 
#include "nla_intern.h" // own include
 
56
#include "nla_intern.h" /* own include */
57
57
 
58
58
/* ************************** poll callbacks for operators **********************************/
59
59
 
60
60
/* tweakmode is NOT enabled */
61
 
int nlaop_poll_tweakmode_off (bContext *C)
 
61
int nlaop_poll_tweakmode_off(bContext *C)
62
62
{
63
63
        Scene *scene;
64
64
        
65
65
        /* for now, we check 2 things: 
66
 
         *      1) active editor must be NLA
 
66
         *  1) active editor must be NLA
67
67
         *      2) tweakmode is currently set as a 'per-scene' flag 
68
68
         *         so that it will affect entire NLA data-sets,
69
69
         *         but not all AnimData blocks will be in tweakmode for 
72
72
        if (ED_operator_nla_active(C) == 0)
73
73
                return 0;
74
74
        
75
 
        scene= CTX_data_scene(C);
 
75
        scene = CTX_data_scene(C);
76
76
        if ((scene == NULL) || (scene->flag & SCE_NLA_EDIT_ON))
77
77
                return 0;
78
78
        
80
80
}
81
81
 
82
82
/* tweakmode IS enabled */
83
 
int nlaop_poll_tweakmode_on (bContext *C)
 
83
int nlaop_poll_tweakmode_on(bContext *C)
84
84
{
85
85
        Scene *scene;
86
86
        
87
87
        /* for now, we check 2 things: 
88
 
         *      1) active editor must be NLA
 
88
         *  1) active editor must be NLA
89
89
         *      2) tweakmode is currently set as a 'per-scene' flag 
90
90
         *         so that it will affect entire NLA data-sets,
91
91
         *         but not all AnimData blocks will be in tweakmode for 
94
94
        if (ED_operator_nla_active(C) == 0)
95
95
                return 0;
96
96
        
97
 
        scene= CTX_data_scene(C);
 
97
        scene = CTX_data_scene(C);
98
98
        if ((scene == NULL) || !(scene->flag & SCE_NLA_EDIT_ON))
99
99
                return 0;
100
100
        
102
102
}
103
103
 
104
104
/* is tweakmode enabled - for use in NLA operator code */
105
 
short nlaedit_is_tweakmode_on (bAnimContext *ac)
 
105
short nlaedit_is_tweakmode_on(bAnimContext *ac)
106
106
{
107
107
        if (ac && ac->scene)
108
108
                return (ac->scene->flag & SCE_NLA_EDIT_ON);
173
173
 
174
174
        /* NLA-specific (different to standard channels keymap) -------------------------- */
175
175
        /* selection */
176
 
                /* click-select */
177
 
                // XXX for now, only leftmouse.... 
 
176
        /* click-select */
 
177
        // XXX for now, only leftmouse....
178
178
        kmi = WM_keymap_add_item(keymap, "NLA_OT_channels_click", LEFTMOUSE, KM_PRESS, 0, 0);
179
179
        RNA_boolean_set(kmi->ptr, "extend", FALSE);
180
180
        kmi = WM_keymap_add_item(keymap, "NLA_OT_channels_click", LEFTMOUSE, KM_PRESS, KM_SHIFT, 0);
181
181
        RNA_boolean_set(kmi->ptr, "extend", TRUE);
182
182
        
183
183
        /* channel operations */
184
 
                /* add tracks */
 
184
        /* add tracks */
185
185
        kmi = WM_keymap_add_item(keymap, "NLA_OT_tracks_add", AKEY, KM_PRESS, KM_SHIFT, 0);
186
186
        RNA_boolean_set(kmi->ptr, "above_selected", FALSE);
187
 
        kmi = WM_keymap_add_item(keymap, "NLA_OT_tracks_add", AKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
 
187
        kmi = WM_keymap_add_item(keymap, "NLA_OT_tracks_add", AKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0);
188
188
        RNA_boolean_set(kmi->ptr, "above_selected", TRUE);
189
189
        
190
 
                /* delete tracks */
 
190
        /* delete tracks */
191
191
        WM_keymap_add_item(keymap, "NLA_OT_delete_tracks", XKEY, KM_PRESS, 0, 0);
192
192
        WM_keymap_add_item(keymap, "NLA_OT_delete_tracks", DELKEY, KM_PRESS, 0, 0);
193
193
}
194
194
 
195
 
static void nla_keymap_main (wmKeyConfig *keyconf, wmKeyMap *keymap)
 
195
static void nla_keymap_main(wmKeyConfig *keyconf, wmKeyMap *keymap)
196
196
{
197
197
        wmKeyMapItem *kmi;
198
198
        
199
199
        /* selection */
200
 
                /* click select */
 
200
        /* click select */
201
201
        kmi = WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, 0, 0);
202
 
                RNA_boolean_set(kmi->ptr, "extend", FALSE);
 
202
        RNA_boolean_set(kmi->ptr, "extend", FALSE);
203
203
        kmi = WM_keymap_add_item(keymap, "NLA_OT_click_select", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0);
204
 
                RNA_boolean_set(kmi->ptr, "extend", TRUE);
 
204
        RNA_boolean_set(kmi->ptr, "extend", TRUE);
205
205
                
206
 
                /* select left/right */
 
206
        /* select left/right */
207
207
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL, 0);
208
 
                RNA_boolean_set(kmi->ptr, "extend", FALSE);
209
 
                RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
210
 
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
211
 
                RNA_boolean_set(kmi->ptr, "extend", TRUE);
212
 
                RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
 
208
        RNA_boolean_set(kmi->ptr, "extend", FALSE);
 
209
        RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
 
210
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", SELECTMOUSE, KM_PRESS, KM_CTRL | KM_SHIFT, 0);
 
211
        RNA_boolean_set(kmi->ptr, "extend", TRUE);
 
212
        RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_TEST);
213
213
        
214
214
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", LEFTBRACKETKEY, KM_PRESS, 0, 0);
215
 
                RNA_boolean_set(kmi->ptr, "extend", FALSE);
216
 
                RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_LEFT);
 
215
        RNA_boolean_set(kmi->ptr, "extend", FALSE);
 
216
        RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_LEFT);
217
217
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_leftright", RIGHTBRACKETKEY, KM_PRESS, 0, 0);
218
 
                RNA_boolean_set(kmi->ptr, "extend", FALSE);
219
 
                RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_RIGHT);
 
218
        RNA_boolean_set(kmi->ptr, "extend", FALSE);
 
219
        RNA_enum_set(kmi->ptr, "mode", NLAEDIT_LRSEL_RIGHT);
220
220
                
221
221
        
222
 
                /* deselect all */
223
 
                /* TODO: uniformize with other select_all ops? */
 
222
        /* deselect all */
 
223
        /* TODO: uniformize with other select_all ops? */
224
224
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", AKEY, KM_PRESS, 0, 0);
225
 
                RNA_boolean_set(kmi->ptr, "invert", FALSE);
 
225
        RNA_boolean_set(kmi->ptr, "invert", FALSE);
226
226
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_all_toggle", IKEY, KM_PRESS, KM_CTRL, 0);
227
 
                RNA_boolean_set(kmi->ptr, "invert", TRUE);
 
227
        RNA_boolean_set(kmi->ptr, "invert", TRUE);
228
228
        
229
 
                /* borderselect */
 
229
        /* borderselect */
230
230
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, 0, 0);
231
 
                RNA_boolean_set(kmi->ptr, "axis_range", FALSE);
 
231
        RNA_boolean_set(kmi->ptr, "axis_range", FALSE);
232
232
        kmi = WM_keymap_add_item(keymap, "NLA_OT_select_border", BKEY, KM_PRESS, KM_ALT, 0);
233
 
                RNA_boolean_set(kmi->ptr, "axis_range", TRUE);
 
233
        RNA_boolean_set(kmi->ptr, "axis_range", TRUE);
234
234
        
235
235
        /* view*/
236
 
                /* auto-set range */
 
236
        /* auto-set range */
237
237
        //WM_keymap_add_item(keymap, "NLA_OT_previewrange_set", PKEY, KM_PRESS, KM_CTRL|KM_ALT, 0);
238
238
        WM_keymap_add_item(keymap, "NLA_OT_view_all", HOMEKEY, KM_PRESS, 0, 0);
239
239
        WM_keymap_add_item(keymap, "NLA_OT_view_selected", PADPERIOD, KM_PRESS, 0, 0);
240
240
        
241
241
        /* editing */
242
 
                /* tweakmode 
243
 
                 *      - enter and exit are separate operators with the same hotkey... 
244
 
                 *        This works as they use different poll()'s
245
 
                 */
 
242
        /* tweakmode
 
243
         *      - enter and exit are separate operators with the same hotkey...
 
244
         *        This works as they use different poll()'s
 
245
         */
246
246
        WM_keymap_add_item(keymap, "NLA_OT_tweakmode_enter", TABKEY, KM_PRESS, 0, 0);
247
247
        WM_keymap_add_item(keymap, "NLA_OT_tweakmode_exit", TABKEY, KM_PRESS, 0, 0);
248
248
                
249
 
                /* add strips */
 
249
        /* add strips */
250
250
        WM_keymap_add_item(keymap, "NLA_OT_actionclip_add", AKEY, KM_PRESS, KM_SHIFT, 0);
251
251
        WM_keymap_add_item(keymap, "NLA_OT_transition_add", TKEY, KM_PRESS, KM_SHIFT, 0);
252
252
        WM_keymap_add_item(keymap, "NLA_OT_soundclip_add", KKEY, KM_PRESS, KM_SHIFT, 0);
253
253
        
254
 
                /* meta-strips */
 
254
        /* meta-strips */
255
255
        WM_keymap_add_item(keymap, "NLA_OT_meta_add", GKEY, KM_PRESS, KM_SHIFT, 0);
256
256
        WM_keymap_add_item(keymap, "NLA_OT_meta_remove", GKEY, KM_PRESS, KM_ALT, 0);
257
257
                
258
 
                /* duplicate */
259
 
        WM_keymap_add_item(keymap, "NLA_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0);    
 
258
        /* duplicate */
 
259
        WM_keymap_add_item(keymap, "NLA_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0);
260
260
                
261
 
                /* delete */
 
261
        /* delete */
262
262
        WM_keymap_add_item(keymap, "NLA_OT_delete", XKEY, KM_PRESS, 0, 0);
263
263
        WM_keymap_add_item(keymap, "NLA_OT_delete", DELKEY, KM_PRESS, 0, 0);
264
264
 
265
 
                /* split */
 
265
        /* split */
266
266
        WM_keymap_add_item(keymap, "NLA_OT_split", YKEY, KM_PRESS, 0, 0);
267
267
        
268
 
                /* toggles */
 
268
        /* toggles */
269
269
        WM_keymap_add_item(keymap, "NLA_OT_mute_toggle", HKEY, KM_PRESS, 0, 0);
270
270
        
271
 
                /* swap */
 
271
        /* swap */
272
272
        WM_keymap_add_item(keymap, "NLA_OT_swap", FKEY, KM_PRESS, KM_ALT, 0);
273
273
                
274
 
                /* move up */
 
274
        /* move up */
275
275
        WM_keymap_add_item(keymap, "NLA_OT_move_up", PAGEUPKEY, KM_PRESS, 0, 0);
276
 
                /* move down */
 
276
        /* move down */
277
277
        WM_keymap_add_item(keymap, "NLA_OT_move_down", PAGEDOWNKEY, KM_PRESS, 0, 0);
278
278
        
279
 
                /* apply scale */
 
279
        /* apply scale */
280
280
        WM_keymap_add_item(keymap, "NLA_OT_apply_scale", AKEY, KM_PRESS, KM_CTRL, 0);
281
 
                /* clear scale */
 
281
        /* clear scale */
282
282
        WM_keymap_add_item(keymap, "NLA_OT_clear_scale", SKEY, KM_PRESS, KM_ALT, 0);
283
283
        
284
 
                /* snap */
 
284
        /* snap */
285
285
        WM_keymap_add_item(keymap, "NLA_OT_snap", SKEY, KM_PRESS, KM_SHIFT, 0);
286
286
        
287
 
                /* add f-modifier */
288
 
        WM_keymap_add_item(keymap, "NLA_OT_fmodifier_add", MKEY, KM_PRESS, KM_CTRL|KM_SHIFT, 0);
 
287
        /* add f-modifier */
 
288
        WM_keymap_add_item(keymap, "NLA_OT_fmodifier_add", MKEY, KM_PRESS, KM_CTRL | KM_SHIFT, 0);
289
289
        
290
290
        /* transform system */
291
291
        transform_keymap_for_space(keyconf, keymap, SPACE_NLA);
318
318
        keymap = WM_keymap_find(keyconf, "NLA Editor", SPACE_NLA, 0);
319
319
        nla_keymap_main(keyconf, keymap);
320
320
}
321