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:
authorTon Roosendaal <ton@blender.org>2005-03-01 16:14:37 +0300
committerTon Roosendaal <ton@blender.org>2005-03-01 16:14:37 +0300
commitbc0ca65db8a9e2b1b62c355cf12ca4ffd9877eb9 (patch)
treeb2c93e85976b235164db01407238886e6b362684 /source/blender
parent52b84f0e6930ae80e05442d2a88810ae517b586a (diff)
Bug fix #2248
Pressing AKEY in channel buttons (names) of IpoWindow did not show all or hide all anymore. Was due to commit last july, which enabled unlimited amount of channels.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/makesdna/DNA_ipo_types.h2
-rw-r--r--source/blender/src/drawipo.c5
-rw-r--r--source/blender/src/editipo.c23
3 files changed, 12 insertions, 18 deletions
diff --git a/source/blender/makesdna/DNA_ipo_types.h b/source/blender/makesdna/DNA_ipo_types.h
index 206c531d77f..5dccadb00ab 100644
--- a/source/blender/makesdna/DNA_ipo_types.h
+++ b/source/blender/makesdna/DNA_ipo_types.h
@@ -364,7 +364,5 @@ typedef short IPO_Channel;
#define IPO_EDIT 4
#define IPO_LOCK 8
-#define IPO_IS_SELECTED 6 /* note, this is number of bit! */
-
#endif
diff --git a/source/blender/src/drawipo.c b/source/blender/src/drawipo.c
index 8c5b9291236..cadd6ed20b1 100644
--- a/source/blender/src/drawipo.c
+++ b/source/blender/src/drawipo.c
@@ -823,11 +823,12 @@ static void draw_ipobuts(SpaceIpo *sipo)
ei= sipo->editipo;
y= area->winy-30+sipo->butofs;
for(a=0; a<sipo->totipo; a++, ei++, y-=IPOBUTY) {
-
- but= uiDefButS(block, TOG|BIT|6, a+1, ei->name, v2d->mask.xmax+18, y, IPOBUTX-15, IPOBUTY-1, &(ei->flag), 0, 0, 0, 0, "");
+ // this button defines visiblity, bit zero of flag (IPO_VISIBLE)
+ but= uiDefButS(block, TOG|BIT|0, a+1, ei->name, v2d->mask.xmax+18, y, IPOBUTX-15, IPOBUTY-1, &(ei->flag), 0, 0, 0, 0, "");
// no hilite, its not visible, but most of all the winmatrix is not correct later on...
uiButSetFlag(but, UI_TEXT_LEFT|UI_NO_HILITE);
+ // this fake button defines selection of curves
if(ei->icu) {
cpack(ei->col);
diff --git a/source/blender/src/editipo.c b/source/blender/src/editipo.c
index 8bffeda1b0c..6aac31360f2 100644
--- a/source/blender/src/editipo.c
+++ b/source/blender/src/editipo.c
@@ -1164,7 +1164,7 @@ void make_editipo()
ei= G.sipo->editipo;
for(a=0; a<G.sipo->totipo; a++, ei++) {
- if(ei->flag & IPO_VISIBLE) ei->flag |= (1<<IPO_IS_SELECTED);
+ if(ei->flag & IPO_VISIBLE) ei->flag |= IPO_SELECT;
if(ei->icu) ei->icu->flag= ei->flag;
}
@@ -1311,24 +1311,16 @@ void get_status_editipo()
}
}
-
-
void update_editipo_flags()
{
EditIpo *ei;
IpoKey *ik;
- short flag;/*unsigned int flag;*/
int a;
ei= G.sipo->editipo;
if(ei) {
for(a=0; a<G.sipo->totipo; a++, ei++) {
- ei->flag &= ~IPO_VISIBLE;
- flag= (1<<IPO_IS_SELECTED);
- if( ei->flag & flag ) ei->flag |= IPO_VISIBLE;
-
if(ei->icu) ei->icu->flag= ei->flag;
-
}
}
if(G.sipo->showkey) {
@@ -1491,7 +1483,7 @@ void swap_visible_editipo()
if(totipo_vis==0) {
if(ei->icu) {
ei->flag |= IPO_VISIBLE;
- ei->flag |= (1<<IPO_IS_SELECTED);
+ ei->flag |= IPO_SELECT;
}
}
else ei->flag &= ~IPO_VISIBLE;
@@ -1685,16 +1677,19 @@ void move_to_frame()
/* *********************************** */
+/* handling of right-hand channel/curve buttons in ipo window */
void do_ipowin_buts(short event)
{
EditIpo *ei = 0;
int a;
+
+ /* without shift, all other channels are made invisible */
if((G.qual & LR_SHIFTKEY)==0) {
if(event>G.sipo->totipo) return;
ei = G.sipo->editipo;
for(a=0; a<G.sipo->totipo; a++) {
- if(a==event) ei->flag |= (1<<IPO_IS_SELECTED);
- else ei->flag &= ~(1<<IPO_IS_SELECTED);
+ if(a!=event) ei->flag &= ~IPO_VISIBLE;
+ else ei->flag |= IPO_VISIBLE;
ei++;
}
}
@@ -1709,6 +1704,7 @@ void do_ipowin_buts(short event)
}
+/* the fake buttons to the left of channel names, for select/deselect curves */
void do_ipo_selectbuttons()
{
EditIpo *ei, *ei1;
@@ -1733,8 +1729,7 @@ void do_ipo_selectbuttons()
if(ei->icu) {
if((ei->flag & IPO_VISIBLE)==0) {
- ei->flag |= IPO_VISIBLE;
- ei->flag |= (1<<IPO_IS_SELECTED);
+ ei->flag |= IPO_VISIBLE|IPO_SELECT;
}
if((G.qual & LR_SHIFTKEY)==0) {