Use automatic widget placement

master
Peter Nelson 2013-02-04 08:21:10 +00:00
parent d559b129fe
commit 43ef44aa97
1 changed files with 20 additions and 60 deletions

View File

@ -75,52 +75,35 @@ void PTapUI::InitWidgets()
this->widget->Pack(t);
int slide_w = 25;
int slide_h = c_h - 25;
// int slide_h = c_h - 25;
for (int i = 0; i < TAPS + 2; i++) {
Container *c = new Container();
Container *c = new VBox();
if (i < TAPS) c->frame = Colour(0, 0, 0, .15f);
c->x = (i & 1) * (c_w + padding) + padding;
c->y = (i >> 1) * (c_h + padding) + padding + 25;
c->w = c_w;
c->h = c_h;
/*
Container *c3 = new Container();
if (i >= TAPS) c3->colour = Colour(1, 1, 1, 0.2f);
// c3->colour = Colour(0, 0, 0, 0.2f);
// c3->x = c2->x + c2->w + padding;
c3->x = c->x;
c3->y = c->y + 25;
c3->w = slide_w * 2;
c3->h = slide_h;
c->Pack(c3);
*/
Container *c2 = new Container();
c->padding = padding;
Container *c1 = new Container();
c1->h = 16;
c->Pack(c1);
Container *c11 = new HBox();
c11->h = -1;
c11->padding = padding;
c->Pack(c11);
Container *c2 = new HBox();
if (i >= TAPS) c2->colour = Colour(1, 1, 1, 0.15f);
c2->x = c->x;
// c2->x = c3->x + c3->w + padding;
c2->y = c->y + 25;
c2->w = slide_w * TAPS;
c2->h = slide_h;
c->Pack(c2);
c11->Pack(c2);
Container *c3 = new Container();
Container *c3 = new HBox();
if (i >= TAPS) c3->colour = Colour(1, 1, 1, 0.15f);
// c3->colour = Colour(0, 0, 0, 0.2f);
c3->x = c2->x + c2->w + padding;
c3->y = c->y + 25;
c3->w = slide_w * 2;
c3->h = slide_h;
c->Pack(c3);
Container *c4 = new Container();
if (i >= TAPS) c4->colour = Colour(1, 1, 1, 0.15f);
c4->x = c3->x + c3->w + padding;
// c4->x = c2->x + c2->w + padding;
c4->y = c->y + 25;
c4->w = slide_w;
c4->h = slide_h;
c->Pack(c4);
c11->Pack(c3);
if (i < TAPS) {
snprintf(tmp, sizeof tmp, "Tap %d", i + 1);
@ -138,14 +121,10 @@ void PTapUI::InitWidgets()
} else {
slider->colour = Colour(.6f, .6f, .6f, 1);
}
slider->x = c2->x + j * slide_w;//(j & 1) * slide_w;
slider->y = c2->y;// + (j >> 1) * slide_h;
slider->w = slide_w;
slider->h = c2->h;
slider->min = -1.f;
slider->max = 1.f;
slider->port = (i * 10) + 4 + j;
// slider->Pad(padding, padding);
c2->Pack(slider);
}
@ -154,14 +133,10 @@ void PTapUI::InitWidgets()
strncpy(slider->group, tmp, sizeof slider->group);
strncpy(slider->label, j == 0 ? "Left" : "Right", sizeof slider->label);
slider->big = false;
slider->x = c3->x + j * slide_w;//(j & 1) * slide_w;
slider->y = c3->y;// + (j >> 1) * slide_h;
slider->w = slide_w;
slider->h = c3->h;
slider->min = -1.f;
slider->max = 1.f;
slider->port = (i * 10) + 4 + TAPS + j;
// slider->Pad(padding, padding);
c3->Pack(slider);
}
@ -171,37 +146,22 @@ void PTapUI::InitWidgets()
strncpy(slider->label, "Gain", sizeof slider->label);
slider->big = i >= TAPS;
slider->colour = Colour(1, .2f, .2f, 1);
slider->x = c4->x + j * slide_w;//(j & 1) * slide_w;
slider->y = c4->y;// + (j >> 1) * slide_h;
slider->w = slide_w;
slider->h = c4->h;
slider->min = -1.f;
slider->max = 1.f;
slider->port = (i * 10) + 4 + TAPS + 2 + j;
// slider->Pad(padding, padding);
c4->Pack(slider);
c11->Pack(slider);
}
if (i < TAPS) {
Container *c5 = new Container();
c5->x = c4->x + c4->w + padding;
c5->y = c->y + 25;
c5->w = c->w - (c5->x - c->x);
c5->h = slide_h;
c->Pack(c5);
Knob *k = new Knob();
strncpy(k->group, tmp, sizeof k->group);
strncpy(k->label, "Delay", sizeof k->label);
k->x = c5->x;
k->y = c5->y;
k->w = c5->w;
k->h = c5->h;
k->w = -1;
k->min = 0.f;
k->max = 10.f;
k->port = (i * 10) + 4 + 9;
// k->Pad(padding, padding);
c5->Pack(k);
c11->Pack(k);
}
this->widget->Pack(c);