Browse Source

Cleanup

master
cancel 6 years ago
parent
commit
4631c7732d
  1. 32
      examples/_benchmark.orca
  2. 25
      term_util.c
  3. 12
      term_util.h
  4. 13
      tui_main.c

32
examples/_benchmark.orca

@ -1,46 +1,46 @@
#.......A.......B.......C.......D.......E.......F.......G.......H.......I.......J.......K.......L.......M......#
................................................................................................................
........A.......B.......C.......D...............F...............H.......I.......J.......K.......Lc......M.......
........0...............0.......................1.......................4...............................0.......
........0...............8.......*...............1.......................3...............................0.......
................................................................................................................
........A2......B1......C2.....0D...............F2.............0H.......I2.....................0Lc......M2......
........................0.......................0...............123.....6...............................0.......
........2.......*.......0.......*...............0...............123.....7...............................0.......
................................................................................................................
........A.2.....B0......Cc.....2D...............F.2............1H.......I.2....................1Lc......M.2.....
........................0.......................0...............123.....0...............................0.......
........2...............8.......*...............0...............123.....1...............................0.......
................................................................................................................
........A22.....Bw.....0C......3D0..............F22............2H.......I22....................2Lc......M22.....
........................0.......................1...............123.....2...............................0.......
........A22.....Bw.....0C......3D0..............F22............2H.......I22....................2L.c.....M22.....
........4.......*.......8.......................1...............123.....2...............................0.......
................................................................................................................
........A23.....Bs.....1C2.....4D1..............F23.....................I23....................3L.c.....M23.....
........................0.......................0.......................2...............................2.......
........5.......*.......0.......................0.......................2...............................2.......
................................................................................................................
........A2K.....Be.....2Cc.....4D2..............F2K.....................I2K.............................M9K.....
........................0.......................0.......................2...............................9.......
........m.......*.......4.......................0.......................b...............................9.......
................................................................................................................
........AK2.....Bw.....3C4.....gD8..............FKK.....................IK2.............................MK6.....
........................0.......................1.......................k...............................2.......
........m.......*.......2.......*...............1.......................k...............................2.......
................................................................................................................
#.......N.......O.......P.......Q.......R.......S.......T.......U.......V.......W.......X.......Y.......Z......#
................................................................................................................
................O......2P1......Q.......R...............Tc......U.......V...............X.......................
........................................0.......................................................................
................................0.......0...............c.......................................................
................................................................................................................
..............0.O2....1.P1.....1Q2......R2.............3Tc.............aV5............0.X2......................
................2.......................1.......................................................................
................2...............1.......0...............c...............................2.......................
................................................................................................................
...............0O2....2.P......2Q2......R.2...........4.Tc..............Va.............0X2......................
................2.......................0.......................................................................
................2...............1.......0...............c...............5...............2.......................
................................................................................................................
..............20O23............3Q22.....R22...........03Tc..............Vb............20X23.....................
................3.......................2.......................................................................
................................2.......2...............c.................................2.....................
................................................................................................................
..............10O23............4Q23.....R24...........13Tc.............cVc............10X23.....................
................2.......................2.......................................................................
................3...............2.......3................................................2......................
................................................................................................................
..............11O..............4Q9K.....R2K...........c3Tc..............Vc............11X.......................
................44......................3................................................4......................
.................4..............2.......j...............c...............c.......................................
................................................................................................................
...............................0Q.......RKK...........50T.......................................................
........................................k.......................................................................
................................................................................................................
................................0.......k.......................................................................
................................................................................................................

25
term_util.c

@ -89,15 +89,17 @@ void qnav_draw_title(Qnav_block* qb, char const* title) {
wprintw(qb->outer_window, title);
}
Qnav_block* qnav_push_message(int height, int width) {
Qnav_block* qb = malloc(sizeof(Qnav_block));
qnav_stack_push(Qnav_type_message, height, width, qb);
qnav_draw_box(qb);
return qb;
WINDOW* qmsg_window(Qmsg* qm) { return qm->nav_block.content_window; }
Qmsg* qmsg_push(int height, int width) {
Qmsg* qm = malloc(sizeof(Qmsg));
qnav_stack_push(Qnav_type_msg, height, width, &qm->nav_block);
qnav_draw_box(&qm->nav_block);
return qm;
}
bool qnav_drive_message(Qnav_block* qb, int key) {
(void)qb;
bool qmsg_drive(Qmsg* qm, int key) {
(void)qm;
switch (key) {
case ' ':
case 27:
@ -108,6 +110,8 @@ bool qnav_drive_message(Qnav_block* qb, int key) {
return false;
}
Qmsg* qmsg_of(Qnav_block* qb) { return ORCA_CONTAINER_OF(qb, Qmsg, nav_block); }
void qmenu_start(Qmenu* qm) { memset(qm, 0, sizeof(Qmenu)); }
void qmenu_add_text_item(Qmenu* qm, char const* text, int id) {
ITEM* item = new_item(text, NULL);
@ -144,11 +148,12 @@ void qmenu_free(Qmenu* qm) {
void qnav_free_block(Qnav_block* qb) {
switch (qb->tag) {
case Qnav_type_message: {
free(qb);
case Qnav_type_msg: {
Qmsg* qm = qmsg_of(qb);
free(qm);
} break;
case Qnav_type_qmenu: {
Qmenu* qm = ORCA_CONTAINER_OF(qb, Qmenu, nav_block);
Qmenu* qm = qmenu_of(qb);
qmenu_free(qm);
} break;
}

12
term_util.h

@ -40,7 +40,7 @@ int fg_bg(Color_name fg, Color_name bg) {
void term_util_init_colors();
typedef enum {
Qnav_type_message,
Qnav_type_msg,
Qnav_type_qmenu,
} Qnav_type_tag;
@ -56,6 +56,10 @@ typedef struct {
bool stack_changed;
} Qnav_stack;
typedef struct {
Qnav_block nav_block;
} Qmsg;
typedef struct {
Qnav_block nav_block;
MENU* ncurses_menu;
@ -89,8 +93,10 @@ void qnav_draw_title(Qnav_block* qb, char const* title);
Qnav_block* qnav_top_block();
void qnav_stack_pop();
Qnav_block* qnav_push_message(int height, int width);
bool qnav_drive_message(Qnav_block* qb, int key);
Qmsg* qmsg_push(int height, int width);
WINDOW* qmsg_window(Qmsg* qm);
bool qmsg_drive(Qmsg* qm, int key);
Qmsg* qmsg_of(Qnav_block* qb);
void qmenu_start(Qmenu* qm);
void qmenu_add_text_item(Qmenu* qm, char const* text, int id);

13
tui_main.c

@ -1464,8 +1464,8 @@ void try_save_with_msg(Ged* ged) {
if (!ged->filename)
return;
bool ok = hacky_try_save(&ged->field, ged->filename);
Qnav_block* msg = qnav_push_message(3, 50);
WINDOW* msgw = msg->content_window;
Qmsg* msg = qmsg_push(3, 50);
WINDOW* msgw = qmsg_window(msg);
wmove(msgw, 0, 1);
if (ok) {
wprintw(msgw, "Saved to: %s", ged->filename);
@ -1758,8 +1758,9 @@ int main(int argc, char** argv) {
Qnav_block* qb = qnav_top_block();
if (qb) {
switch (qb->tag) {
case Qnav_type_message: {
if (qnav_drive_message(qb, key))
case Qnav_type_msg: {
Qmsg* qm = qmsg_of(qb);
if (qmsg_drive(qm, key))
qnav_stack_pop();
} break;
case Qnav_type_qmenu: {
@ -1779,8 +1780,8 @@ int main(int argc, char** argv) {
try_save_with_msg(&ged_state);
} break;
case Menu_id_save_as: {
Qnav_block* msg = qnav_push_message(3, 30);
WINDOW* msgw = msg->content_window;
Qmsg* msg = qmsg_push(3, 30);
WINDOW* msgw = qmsg_window(msg);
wmove(msgw, 0, 1);
wprintw(msgw, "Not yet implemented");
} break;

Loading…
Cancel
Save