call ncreel_redraw() from _add/_del/_next/_prev #963

pull/968/head
nick black 4 years ago committed by Nick Black
parent a48e840542
commit 1cda7758b5

@ -776,6 +776,7 @@ nctablet* ncreel_add(ncreel* nr, nctablet* after, nctablet *before,
++nr->tabletcount; ++nr->tabletcount;
t->p = NULL; t->p = NULL;
t->cbp = NULL; t->cbp = NULL;
ncreel_redraw(nr);
return t; return t;
} }
@ -800,6 +801,7 @@ int ncreel_del(ncreel* nr, struct nctablet* t){
} }
free(t); free(t);
--nr->tabletcount; --nr->tabletcount;
ncreel_redraw(nr);
return 0; return 0;
} }
@ -833,6 +835,7 @@ nctablet* ncreel_next(ncreel* nr){
nr->tablets = nr->tablets->next; nr->tablets = nr->tablets->next;
//fprintf(stderr, "---------------> moved to next, %p to %p <----------\n", nr->tablets->prev, nr->tablets); //fprintf(stderr, "---------------> moved to next, %p to %p <----------\n", nr->tablets->prev, nr->tablets);
nr->direction = LASTDIRECTION_DOWN; nr->direction = LASTDIRECTION_DOWN;
ncreel_redraw(nr);
} }
return nr->tablets; return nr->tablets;
} }
@ -842,6 +845,7 @@ nctablet* ncreel_prev(ncreel* nr){
nr->tablets = nr->tablets->prev; nr->tablets = nr->tablets->prev;
//fprintf(stderr, "----------------> moved to prev, %p to %p <----------\n", nr->tablets->next, nr->tablets); //fprintf(stderr, "----------------> moved to prev, %p to %p <----------\n", nr->tablets->next, nr->tablets);
nr->direction = LASTDIRECTION_UP; nr->direction = LASTDIRECTION_UP;
ncreel_redraw(nr);
} }
return nr->tablets; return nr->tablets;
} }

@ -118,11 +118,9 @@ TEST_CASE("Reels") {
struct ncreel* nr = ncreel_create(n_, &r); struct ncreel* nr = ncreel_create(n_, &r);
REQUIRE(nr); REQUIRE(nr);
CHECK(!ncreel_next(nr)); CHECK(!ncreel_next(nr));
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK(!ncreel_prev(nr)); CHECK(!ncreel_prev(nr));
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
REQUIRE(0 == ncreel_destroy(nr)); REQUIRE(0 == ncreel_destroy(nr));
@ -134,11 +132,9 @@ TEST_CASE("Reels") {
REQUIRE(nr); REQUIRE(nr);
struct nctablet* t = ncreel_add(nr, nullptr, nullptr, panelcb, nullptr); struct nctablet* t = ncreel_add(nr, nullptr, nullptr, panelcb, nullptr);
REQUIRE(t); REQUIRE(t);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK(0 == ncreel_del(nr, t)); CHECK(0 == ncreel_del(nr, t));
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
REQUIRE(0 == ncreel_destroy(nr)); REQUIRE(0 == ncreel_destroy(nr));
@ -150,19 +146,15 @@ TEST_CASE("Reels") {
REQUIRE(nr); REQUIRE(nr);
struct nctablet* t = ncreel_add(nr, nullptr, nullptr, panelcb, nullptr); struct nctablet* t = ncreel_add(nr, nullptr, nullptr, panelcb, nullptr);
REQUIRE(t); REQUIRE(t);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK(ncreel_next(nr)); CHECK(ncreel_next(nr));
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK(ncreel_prev(nr)); CHECK(ncreel_prev(nr));
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK(0 == ncreel_del(nr, t)); CHECK(0 == ncreel_del(nr, t));
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
REQUIRE(0 == ncreel_destroy(nr)); REQUIRE(0 == ncreel_destroy(nr));
@ -175,7 +167,6 @@ TEST_CASE("Reels") {
struct nctablet* t = ncreel_add(nr, nullptr, nullptr, panelcb, nullptr); struct nctablet* t = ncreel_add(nr, nullptr, nullptr, panelcb, nullptr);
REQUIRE(t); REQUIRE(t);
CHECK(0 == ncreel_del(nr, ncreel_focused(nr))); CHECK(0 == ncreel_del(nr, ncreel_focused(nr)));
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
REQUIRE(0 == ncreel_destroy(nr)); REQUIRE(0 == ncreel_destroy(nr));
@ -269,7 +260,6 @@ TEST_CASE("Reels") {
tabs[n] = ncreel_add(nr, nullptr, nullptr, cbfxn, &order[n]); tabs[n] = ncreel_add(nr, nullptr, nullptr, cbfxn, &order[n]);
REQUIRE(tabs[n]); REQUIRE(tabs[n]);
CHECK(tabs[0] == nr->tablets); CHECK(tabs[0] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
} }
@ -283,7 +273,6 @@ TEST_CASE("Reels") {
} }
ncreel_next(nr); ncreel_next(nr);
CHECK(tabs[1] == nr->tablets); CHECK(tabs[1] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;
@ -296,7 +285,6 @@ TEST_CASE("Reels") {
} }
ncreel_next(nr); ncreel_next(nr);
CHECK(tabs[2] == nr->tablets); CHECK(tabs[2] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;
@ -309,7 +297,6 @@ TEST_CASE("Reels") {
} }
ncreel_prev(nr); ncreel_prev(nr);
CHECK(tabs[1] == nr->tablets); CHECK(tabs[1] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;
@ -322,7 +309,6 @@ TEST_CASE("Reels") {
} }
ncreel_prev(nr); ncreel_prev(nr);
CHECK(tabs[0] == nr->tablets); CHECK(tabs[0] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;
@ -344,7 +330,6 @@ TEST_CASE("Reels") {
channels_set_bg_alpha(&r.bgchannel, 3); channels_set_bg_alpha(&r.bgchannel, 3);
struct ncreel* nr = ncreel_create(n_, &r); struct ncreel* nr = ncreel_create(n_, &r);
REQUIRE(nr); REQUIRE(nr);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
int order[3]; int order[3];
@ -354,7 +339,6 @@ TEST_CASE("Reels") {
tabs[n] = ncreel_add(nr, nullptr, nullptr, cbfxn, &order[n]); tabs[n] = ncreel_add(nr, nullptr, nullptr, cbfxn, &order[n]);
REQUIRE(tabs[n]); REQUIRE(tabs[n]);
CHECK(tabs[0] == nr->tablets); CHECK(tabs[0] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
} }
@ -368,7 +352,6 @@ TEST_CASE("Reels") {
} }
ncreel_next(nr); ncreel_next(nr);
CHECK(tabs[1] == nr->tablets); CHECK(tabs[1] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;
@ -381,7 +364,6 @@ TEST_CASE("Reels") {
} }
ncreel_next(nr); ncreel_next(nr);
CHECK(tabs[2] == nr->tablets); CHECK(tabs[2] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;
@ -394,7 +376,6 @@ TEST_CASE("Reels") {
} }
ncreel_prev(nr); ncreel_prev(nr);
CHECK(tabs[1] == nr->tablets); CHECK(tabs[1] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;
@ -407,7 +388,6 @@ TEST_CASE("Reels") {
} }
ncreel_prev(nr); ncreel_prev(nr);
CHECK(tabs[0] == nr->tablets); CHECK(tabs[0] == nr->tablets);
CHECK_EQ(0, ncreel_redraw(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
expectedy = 1; expectedy = 1;

@ -78,72 +78,59 @@ TEST_CASE("ReelGaps") {
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
auto t1 = ncreel_add(nr, NULL, NULL, t1_tablet_cb, NULL); auto t1 = ncreel_add(nr, NULL, NULL, t1_tablet_cb, NULL);
CHECK(nullptr != t1); CHECK(nullptr != t1);
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
auto t2 = ncreel_add(nr, NULL, NULL, t2_tablet_cb, NULL); auto t2 = ncreel_add(nr, NULL, NULL, t2_tablet_cb, NULL);
CHECK(nullptr != t2); CHECK(nullptr != t2);
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
auto t3 = ncreel_add(nr, NULL, NULL, t3_tablet_cb, NULL); auto t3 = ncreel_add(nr, NULL, NULL, t3_tablet_cb, NULL);
CHECK(nullptr != t3); CHECK(nullptr != t3);
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
auto t4 = ncreel_add(nr, NULL, NULL, t4_tablet_cb, NULL); auto t4 = ncreel_add(nr, NULL, NULL, t4_tablet_cb, NULL);
CHECK(nullptr != t4); CHECK(nullptr != t4);
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
auto t5 = ncreel_add(nr, NULL, NULL, t5_tablet_cb, NULL); auto t5 = ncreel_add(nr, NULL, NULL, t5_tablet_cb, NULL);
CHECK(nullptr != t5); CHECK(nullptr != t5);
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
auto t6 = ncreel_add(nr, NULL, NULL, t6_tablet_cb, NULL); auto t6 = ncreel_add(nr, NULL, NULL, t6_tablet_cb, NULL);
CHECK(nullptr != t6); CHECK(nullptr != t6);
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
ncreel_next(nr); // move to t2 ncreel_next(nr); // move to t2
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
ncreel_next(nr); // move to t3 ncreel_next(nr); // move to t3
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
ncreel_next(nr); // move to t4 ncreel_next(nr); // move to t4
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
ncreel_next(nr); // move to t5 ncreel_next(nr); // move to t5
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
ncreel_next(nr); // move to t6 ncreel_next(nr); // move to t6
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
ncreel_next(nr); // move to t7 ncreel_next(nr); // move to t7
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);
ncreel_next(nr); // move to t8 ncreel_next(nr); // move to t8
ncreel_redraw(nr);
CHECK(ncreel_validate(nr)); CHECK(ncreel_validate(nr));
CHECK_EQ(0, notcurses_render(nc_)); CHECK_EQ(0, notcurses_render(nc_));
sleep(1); sleep(1);

Loading…
Cancel
Save