Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Leung <aligorith@gmail.com>2009-10-17 08:22:52 +0400
committerJoshua Leung <aligorith@gmail.com>2009-10-17 08:22:52 +0400
commit53624a53d9054a91688a1a988c6f3515ab601923 (patch)
treed2318d340c03cccd9cadf835a50e19a5455bf230 /source/blender/editors/space_action
parent474e97e6d22973cf95262d5262e880c15683b828 (diff)
Assorted tweaks for animation editors:
* Changing to the ShapeKey editor now automatically enables the value sliders * Filtering code for ShapeKey editor can now do AnimData block filtering too (internal details...) * Silenced console warnings when inserting keyframes on F-Curves with no keyframes already (for Animation Editor sliders) * Made the update code for keyframe transforms send more general depsgraph updates. Unfortuately, this still doesn't resolve the update problems with shapekeys
Diffstat (limited to 'source/blender/editors/space_action')
-rw-r--r--source/blender/editors/space_action/action_draw.c13
-rw-r--r--source/blender/editors/space_action/action_header.c12
2 files changed, 12 insertions, 13 deletions
diff --git a/source/blender/editors/space_action/action_draw.c b/source/blender/editors/space_action/action_draw.c
index 7181a6b5aa1..7f2e1bd09e4 100644
--- a/source/blender/editors/space_action/action_draw.c
+++ b/source/blender/editors/space_action/action_draw.c
@@ -258,7 +258,7 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
if (acf->has_setting(ac, ale, ACHANNEL_SETTING_SELECT))
sel= ANIM_channel_setting_get(ac, ale, ACHANNEL_SETTING_SELECT);
- if (ELEM(ac->datatype, ANIMCONT_ACTION, ANIMCONT_DOPESHEET)) {
+ if (ELEM3(ac->datatype, ANIMCONT_ACTION, ANIMCONT_DOPESHEET, ANIMCONT_SHAPEKEY)) {
switch (ale->type) {
case ANIMTYPE_SUMMARY:
{
@@ -307,17 +307,6 @@ void draw_channel_strips(bAnimContext *ac, SpaceAction *saction, ARegion *ar)
if (ac->datatype == ANIMCONT_ACTION)
glRectf(act_start, (float)y-ACHANNEL_HEIGHT_HALF, act_end, (float)y+ACHANNEL_HEIGHT_HALF);
}
- else if (ac->datatype == ANIMCONT_SHAPEKEY) {
- /* all frames that have a frame number less than one
- * get a desaturated orange background
- */
- glColor4ub(col2[0], col2[1], col2[2], 0x22);
- glRectf(0.0f, (float)y-ACHANNEL_HEIGHT_HALF, 1.0f, (float)y+ACHANNEL_HEIGHT_HALF);
-
- /* frames one and higher get a saturated orange background */
- glColor4ub(col2[0], col2[1], col2[2], 0x44);
- glRectf(1.0f, (float)y-ACHANNEL_HEIGHT_HALF, v2d->cur.xmax+EXTRA_SCROLL_PAD, (float)y+ACHANNEL_HEIGHT_HALF);
- }
else if (ac->datatype == ANIMCONT_GPENCIL) {
/* frames less than one get less saturated background */
if (sel) glColor4ub(col1[0], col1[1], col1[2], 0x22);
diff --git a/source/blender/editors/space_action/action_header.c b/source/blender/editors/space_action/action_header.c
index ba5fc0893ec..aaf4b51c75e 100644
--- a/source/blender/editors/space_action/action_header.c
+++ b/source/blender/editors/space_action/action_header.c
@@ -69,6 +69,7 @@
enum {
B_REDR= 1,
+ B_MODECHANGE,
} eActHeader_Events;
/* ********************************************************* */
@@ -254,6 +255,15 @@ static void act_editmenu(bContext *C, uiLayout *layout, void *arg_unused)
static void do_action_buttons(bContext *C, void *arg, int event)
{
+ /* special exception for mode changing - enable custom settings? */
+ if (event == B_MODECHANGE) {
+ SpaceAction *saction= CTX_wm_space_action(C);
+
+ /* if the new mode is ShapeKeys editor, enable sliders */
+ if (saction->mode == SACTCONT_SHAPEKEY)
+ saction->flag |= SACTION_SLIDERS;
+ }
+
ED_area_tag_refresh(CTX_wm_area(C));
ED_area_tag_redraw(CTX_wm_area(C));
}
@@ -318,7 +328,7 @@ void action_header_buttons(const bContext *C, ARegion *ar)
uiBlockSetEmboss(block, UI_EMBOSS);
/* MODE SELECTOR */
- uiDefButC(block, MENU, B_REDR,
+ uiDefButC(block, MENU, B_MODECHANGE,
"Editor Mode %t|DopeSheet %x3|Action Editor %x0|ShapeKey Editor %x1|Grease Pencil %x2",
xco,yco,90,YIC, &saction->mode, 0, 1, 0, 0,
"Editing modes for this editor");