diff -urN cui75/cui_test.c cui76/cui_test.c --- cui75/cui_test.c Sun Feb 23 23:00:00 2014 +++ cui76/cui_test.c Mon Mar 24 22:00:00 2014 @@ -261,26 +261,43 @@ } int -bs_hoge_hdr(cui obj, int evt, int val, void *prm) +in_hoge_hdr(cui obj, int evt, int val, void *prm) { /* CUI_EVT_DRAW */ - struct cui_rect ar, br; - cui_rect a = &ar, b = &br, r; - cui_rects rs, ri; - int i; - char buf[4]; - - cui_rect_init(a, 2, 2, 10, 5); - cui_rect_init(b, 5, 5, 10, 5); - - rs = cui_rect_or(a, b); - for(ri=rs, i=0; ri; ri=ri->next, i++){ - sprintf(buf, "%d", i); - r = (cui_rect)ri; - cui_fill_rect(obj, r->x, r->y, r->w, r->h, buf, CUI_ATTR_NORMAL); + FILE *fp = fopen("cui_test.c", "r"); + int y, n, w, h, si, di, i; + char buf[1024], buf2[1024]; + int *ret = (int *)prm; + + if(fp == NULL) return TRUE; + + y = 0; + w = 0; + while(fgets(buf, 1024, fp)){ + si = di = 0; + while(buf[si] && di<1024-1){ + if(buf[si] == '\n') break; + if(buf[si] == '\t'){ + n = 1024-1-di; + n = n > 8 ? 8 : n; + for(i=0; iy, 1, 16, 4, 2); - cui bs_hoge = cui_base_new(bs, 1, 2, 50, 25); + cui sc_hoge = cui_scpanel_new(bs, 1, 2, 30, 15, NULL); + cui in_hoge = cui_scpanel_sheet_get(sc_hoge); cui base = cui_base_new(bs, 1, 2, 40, 20); cui mn_btn = cui_menu_btn_new(base, 1, 1, "File"); cui etx = cui_etext_new(base, mn_btn->x, cui_y2(mn_btn), 8, "foo"); @@ -305,7 +323,7 @@ cui small = cui_scpanel_new(base, 2, 3, base->w - (2 * 2), base->h - (3 + 1), "title"); cui small2 = cui_scpanel_sheet_get(small); - cui tab_sheets[] = { base, bs_bar, bs_hoge }; + cui tab_sheets[] = { base, bs_bar, sc_hoge }; big_new(small2, 0, 0, &p); cui_wh_fit(small2); @@ -322,8 +340,13 @@ cui_bind(sc2, CUI_EVT_BUTTON, sc_hdr, lb_bar); cui_bind(sc3, CUI_EVT_BUTTON, sc_hdr, lb_bar); - cui_bind(bs_hoge, CUI_EVT_DRAW, bs_hoge_hdr, NULL); - cui_hide(bs_hoge); + { + int wh[2]; + in_hoge_hdr(in_hoge, CUI_EVT_DRAW, 0, wh); + cui_wh_set(in_hoge, wh[0], wh[1]); + } + cui_bind(in_hoge, CUI_EVT_DRAW, in_hoge_hdr, NULL); + cui_hide(sc_hoge); cui_tab_new(bs, 1, 1, -1, (char *[]){"foo", "bar", "hoge", NULL}, tab_sheets, 0);