== Action Editor - Show Hidden Channels ==

This option (found in the View menu) shows all Action Channels, regardless of whether the data they represent is visible or not. 
It's better than having to have multiple pinned Action Editors open to be able to move all keyframes of all bones at once (when blocking for example).


Also, fixed some compile errors caused by previous commit...
This commit is contained in:
Joshua Leung
2007-12-19 23:29:42 +00:00
parent 2a43932a74
commit 0a682cb50f
4 changed files with 17 additions and 6 deletions

View File

@@ -154,7 +154,9 @@ typedef enum SACTION_FLAG {
/* show sliders (if relevant) */
SACTION_SLIDERS = (1<<1),
/* draw time in seconds instead of time in frames */
SACTION_DRAWTIME = (1<<2)
SACTION_DRAWTIME = (1<<2),
/* don't filter action channels according to visibility */
SACTION_NOHIDE = (1<<3)
} SACTION_FLAG;
/* SpaceAction AutoSnap Settings (also used by SpaceNLA) */

View File

@@ -617,12 +617,12 @@ void check_action_context(SpaceAction *saction)
{
bActionChannel *achan;
if(saction->action==NULL) return;
if (saction->action==NULL) return;
for (achan=saction->action->chanbase.first; achan; achan=achan->next)
achan->flag &= ~ACHAN_HIDDEN;
if (G.saction->pin==0 && OBACT) {
if ((saction->pin==0) && ((saction->flag & SACTION_NOHIDE)==0) && (OBACT)) {
Object *ob= OBACT;
bPoseChannel *pchan;
bArmature *arm= ob->data;

View File

@@ -1158,8 +1158,8 @@ void free_actcopybuf ()
bActionChannel *achan, *anext;
bConstraintChannel *conchan, *cnext;
for (achan= actcopybuf.first; achan; achan= next) {
next= achan->next;
for (achan= actcopybuf.first; achan; achan= anext) {
anext= achan->next;
if (achan->ipo) {
free_ipo(achan->ipo);
@@ -1174,7 +1174,7 @@ void free_actcopybuf ()
MEM_freeN(conchan->ipo);
}
BLI_freelistN(&achan->constraintChannels, conchan);
BLI_freelinkN(&achan->constraintChannels, conchan);
}
BLI_freelinkN(&actcopybuf, achan);

View File

@@ -93,6 +93,7 @@ enum {
ACTMENU_VIEW_NEXTMARKER,
ACTMENU_VIEW_PREVMARKER,
ACTMENU_VIEW_TIME,
ACTMENU_VIEW_NOHIDE
};
enum {
@@ -299,6 +300,9 @@ static void do_action_viewmenu(void *arg, int event)
case ACTMENU_VIEW_TIME: /* switch between frames and seconds display */
G.saction->flag ^= SACTION_DRAWTIME;
break;
case ACTMENU_VIEW_NOHIDE: /* Show hidden channels */
G.saction->flag ^= SACTION_NOHIDE;
break;
}
allqueue(REDRAWVIEW3D, 0);
}
@@ -340,6 +344,11 @@ static uiBlock *action_viewmenu(void *arg_unused)
menuwidth, 19, NULL, 0.0, 0.0, 1,
ACTMENU_VIEW_SLIDERS, "");
uiDefIconTextBut(block, BUTM, 1, (G.saction->flag & SACTION_NOHIDE)?ICON_CHECKBOX_HLT:ICON_CHECKBOX_DEHLT,
"Show Hidden Channels|", 0, yco-=20,
menuwidth, 19, NULL, 0.0, 0.0, 1,
ACTMENU_VIEW_NOHIDE, "");
uiDefIconTextBut(block, BUTM, 1, (G.v2d->flag & V2D_VIEWLOCK)?ICON_CHECKBOX_HLT:ICON_CHECKBOX_DEHLT,
"Lock Time to Other Windows|", 0, yco-=20,
menuwidth, 19, NULL, 0.0, 0.0, 1,