void box(int x,int y,int width,int len,int frame,int back,char *msg) { int i,j; int ex=x+width-1; int ey=y+len-1; set_att(back); for(j=y+1;j<ey;j++) { gotoxy(x+1,j); for(i=x+1;i<ex;i++) xprintf(" "); } set_att(frame); for(i=x;i<=ex;i++) { gotoxy(i,y); xprintf(" "); gotoxy(i,ey); xprintf(" "); } for(j=y+1;j<ey;j++) { gotoxy(x,j); xprintf(" "); gotoxy(ex,j); xprintf(" "); } i=x+(width-strlen(msg))/2; gotoxy(i,y); xprintf(msg); bx=x; by=y; bwidth=width; blen=len; bframe=frame; bback=back; boxtitle=msg; }
static void mxputch(char ch) { u_char ttt; if ((inmark || inlmark) && cur_att!=3) { ttt=cur_att; set_att(3); xputch(ch); set_att(ttt); } else xputch(ch); }
void refresh_filebrowser() { extern int cursor_x,cursor_y; if(input_handler==4) { cursor_x=cur_x+win_x; cursor_y=cur_y+win_y; inactive_cursor(); cury=fy+1; gotoxy(fx+8,fy+1); set_att(14); dispcad("Files",0); gotoxy(fx+27,fy+1); dispcad("Directories",0); gotoxy(fx+20,fy+1); dispcad("/\\",0); gotoxy(fx+41,fy+1); dispcad("/\\",0); cury=ly-2; gotoxy(fx+20,ly-2); dispcad("\\/",0); gotoxy(fx+41,ly-2); dispcad("\\/",0); Showfiles(); Showdir(); Drawitem(1); } }
void Drawitem(int clr) { void dispcad(char *,int); if(!clr) set_att(6); else set_att(1); if(!postab) { gotoxy(fx+2,fy+2+positem); dispcad(files[positem+fromf],WIDTH_FILE); } else { gotoxy(fx+23,fy+2+positem); dispcad(dir[positem+fromd],WIDTH_FILE); } draw_line(positem+fy+2); }
void xystr(XYstr *xx,int nn) { int i; set_att(8); for(i=0;i<nn;i++) { gotoxy(xx[i].x,xx[i].y); xprintf("%s",xx[i].str); } xystrn=nn; lxystr=xx; }
void edit_typeset_rep::set_data (new_data data) { set_style (data->style); set_init (data->init); set_fin (data->fin); set_att (data->att); notify_page_change (); add_init (data->init); notify_change (THE_DECORATIONS); typeset_invalidate_env (); }
void Showdir() { int i; curx=fx+23; cury=fy+2; set_att(6); for(i=fromd;i<fromd+ly-4 && dir[i][0]!='\0';i++) { gotoxy(curx,cury); dispcad(dir[i],WIDTH_FILE); cury++; } }
void Showfiles() { int i; curx=fx+2; cury=fy+2; set_att(6); for(i=fromf;i<fromf+ly-4 && files[i][0]!='\0';i++) { gotoxy(curx,cury); dispcad(files[i],WIDTH_FILE); cury++; } }
void disp_page() { int row; if (batch) return; clrscr_w(); if (c_comment) { /* if there are more than 300 lines in a comment, this will fail */ scan_comment(cursor_row-300,cursor_row+page_len); } for(row=page_row;row<page_row+page_len && row < Lines; row++) { if (LangType>=0) disp_row(row); else disp_row_raw(row); } if (row-page_row < page_len) { set_att(0); disp_eof(row-page_row); } flush_buffer(); draw_scr(); set_att(0); }
void Draw_file_browser() { int i; cnt_busca=0; busca_cad[0]='\0'; if(direct[0]=='\0') strcpy(direct,cur_dir); postab=0; positem=0; fromf=0; fromd=0; cntd=0; cntf=0; fx=(page_width-45)/2; if(fx<2) fx=13; fy=0; lx=45; if(XW_ROW-1<6) ly=5; else ly=XW_ROW-2; box(fx,fy,lx,ly,7,8,"File browser"); cury=fy+1; gotoxy(fx+8,fy+1); set_att(14); dispcad("Files",0); gotoxy(fx+27,fy+1); dispcad("Directories",0); gotoxy(fx+20,fy+1); dispcad("/\\",0); gotoxy(fx+41,fy+1); dispcad("/\\",0); cury=ly-2; gotoxy(fx+20,ly-2); dispcad("\\/",0); gotoxy(fx+41,ly-2); dispcad("\\/",0); leer_dir(); Showfiles(); Showdir(); if(!cntf) postab=1; Drawitem(1); return; }
void disp_row(int row) { int wc,len,i,j,dd,inquote,basl,incmt,match; char *lin; int tatt, cmt_line; #if 0 printf("row:%d %d %d %d %d\n", row, mblk_row0, mblk_col0, mblk_row1, mblk_col1 ); #endif incmt=inquote=basl=0; gotoxy_w(0,row-page_row); cmt_line=inlmark=inmark=0; if (in_mlines(row)) { set_att(tatt=3); inlmark=1; } else set_att(tatt=0); len=edbf[row].len; lin=edbf[row].cstr; if (c_comment) cmt_line=edbf[row].flag; if (cmt_line) { incmt=1; set_att(kwp[2].coloridx); } else if (len && lin[0]==DirectCommentChar) tatt=kwp[0].coloridx; wc=0; #if 1 if (in_mblock(row,wc)) { set_att(3); inmark=1; } else #endif if (inquote) set_att(kwp[1].coloridx); else if (!incmt) set_att(tatt); if (inlmark) set_att(3); for(wc=i=0;wc-page_col<page_width && i<len;) { if (in_mblock(row,i)) { inmark=1; set_att(3); } else if (inmark) { set_att(tatt); inmark=0; } switch (lin[i]) { case 9: dd=tab_width-(wc%tab_width); if (inlmark||inmark) set_att(3); if (DispTab) { if (wc++>=page_col) xputch_w(TabChar); for(j=1;j<dd;j++) if (wc++>=page_col) xputch_w(' '); } else for(j=0;j<dd;j++) if (wc++>=page_col) xputch_w(' '); i++; continue; default: if (!inquote && c_comment && i<len-1 && (lin[i]=='/' && (lin[i+1]=='*' || lin[i+1]=='/') || lin[i]=='*' && lin[i+1]=='/') ) { set_att(kwp[2].coloridx); if (wc++>=page_col) mxputch(lin[i]); if (lin[i]=='/' && lin[i+1]=='/') { incmt=2; } else if (incmt!=2) incmt=1; } else if (!inquote && c_comment && incmt==1 && i && lin[i-1]=='*' && lin[i]=='/') { if (wc++>=page_col) mxputch(lin[i]); incmt=0; set_att(0); } else if (incmt) { if (wc++>=page_col) mxputch(lin[i]); } else /* for the # char in perl and shell */ if (!c_comment && lin[0]==DirectCommentChar && !inquote) { set_att(kwp[0].coloridx); if (wc++>=page_col) mxputch(lin[i]); incmt=2; } else if (lin[i]=='"' || lin[i]=='\'') { if (!inquote) { inquote=lin[i]; set_att(kwp[1].coloridx); if (wc++>=page_col) mxputch(lin[i]); } else { if (!basl) { if (wc++>=page_col) mxputch(lin[i]); if (lin[i]==inquote) { inquote=0; set_att(0); } } else { if (wc++>=page_col) mxputch(lin[i]); basl=0; } } } else { if (inquote && lin[i]=='\\') basl^=1; else basl=0; if (!inquote) { if ((!i || !isvarchr(lin[i-1])) && isvarchr(lin[i]) && lin[0]!= DirectCommentChar) { int k,vl=0; char tstr[4096],*p; j=i; while (j<len && (isvarchr(lin[j])|| (j && isdigit(lin[j])))) tstr[vl++]=lin[j++]; tstr[vl]=0; match=0; if (vl<=MaxKeywordLen) { int rr; for(k=3;k<KwN;k++) { rr=strcmp(kwp[k].keyword,tstr); if (rr > 0) break; else if (rr==0) { set_att(tatt=kwp[k].coloridx); match=1; goto lll6; } } } if (!match) goto lll1; lll6: for(p=tstr; *p && wc-page_col<page_width;p++) { if (in_mblock(row,i)) { inmark=1; set_att(3); } else { inmark=0; set_att(tatt); } if (wc++>=page_col) mxputch(*p); /* wc++; */ i++; } set_att(0); if (*p) goto lll4; goto lll5; } else if (!isvarchr(lin[i]) && lin[0]!=DirectCommentChar) set_att(0); } lll1: if (wc++>=page_col) mxputch(lin[i]); } } i++; lll5: 0; } lll4: if (inlmark) { set_att(3); for(;wc-page_col<page_width;wc++) xputch(' '); } else if (row>=mblk_row0 && row<=mblk_row1 && cur_file==mark_holder) { set_att(3); for(;wc-page_col<page_width;wc++) if (wc>=mblk_col0 && wc<=mblk_col1) { gotoxy_w(wc-page_col,row-page_row); xputch(' '); } } }
void disp_row_raw(int row) { int wc,len,i,j,dd; char *lin; int inmark,inlmark; gotoxy_w(0,row-page_row); inlmark=inmark=0; if (in_mlines(row)) { set_att(3); inlmark=1; } else set_att(0); len=edbf[row].len; lin=edbf[row].cstr; for(wc=i=0;i<len;) { if (wc >= page_col) break; if (lin[i]==9) wc+=tab_width-(wc%tab_width); else wc++; i++; } for(j=0;j<wc-page_col;j++) xputch(' '); for(;wc-page_col<page_width && i<len;i++) { if (in_mblock(row,i)) { if (!inmark) { set_att(3); inmark=1; } } else if (inmark) { set_att(0); inmark=0; } switch (lin[i]) { case 9: dd=tab_width-(wc%tab_width); wc+=dd; if (DispTab) { xputch_w(TabChar); for(j=1;j<dd;j++)xputch_w(' '); } else for(j=0;j<dd;j++)xputch_w(' '); break; default: xputch(lin[i]); wc++; } } if (inlmark) for(;wc-page_col<page_width;wc++) xputch(' '); else if (row>=mblk_row0 && row<=mblk_row1 && cur_file==mark_holder) { set_att(3); for(;wc-page_col<page_width;wc++) if (wc>=mblk_col0 && wc<=mblk_col1) { gotoxy_w(wc-page_col,row-page_row); xputch(' '); } } }