| version 1.5, 2005/11/29 18:46:31 |
version 1.6, 2005/12/01 18:52:28 |
| Line 121 void setcomboparams(WIN *win,PUNION *par |
|
| Line 121 void setcomboparams(WIN *win,PUNION *par |
|
| list->cactivetext=pcombo->lstcactivetext!=C_DEFAULT?pcombo->lstcactivetext:C_LBLACK; |
list->cactivetext=pcombo->lstcactivetext!=C_DEFAULT?pcombo->lstcactivetext:C_LBLACK; |
| list->lines=pcombo->lstlines; |
list->lines=pcombo->lstlines; |
| list->vscroll->cback=list->hscroll->cback=pcombo->lstscrcback!=C_DEFAULT?pcombo->lstscrcback:C_CYAN; |
list->vscroll->cback=list->hscroll->cback=pcombo->lstscrcback!=C_DEFAULT?pcombo->lstscrcback:C_CYAN; |
| |
setcomboactiveitem(combo,-1,combo->activeline); |
| setuplistparams(combo->list); |
setuplistparams(combo->list); |
| scroll1->cmark=scroll2->cmark=pcombo->lstscrcmark!=C_DEFAULT?pcombo->lstscrcmark:C_YELLOW; |
scroll1->cmark=scroll2->cmark=pcombo->lstscrcmark!=C_DEFAULT?pcombo->lstscrcmark:C_YELLOW; |
| scroll1->cbar=scroll2->cbar=pcombo->lstscrcbar!=C_DEFAULT?pcombo->lstscrcbar:C_WHITE; |
scroll1->cbar=scroll2->cbar=pcombo->lstscrcbar!=C_DEFAULT?pcombo->lstscrcbar:C_WHITE; |
| Line 457 void checkwincombo(WIN *win) |
|
| Line 458 void checkwincombo(WIN *win) |
|
| if(combo->maxvisitems) |
if(combo->maxvisitems) |
| { |
{ |
| LIST *list=&combo->list->extra->list; |
LIST *list=&combo->list->extra->list; |
| long len=g_list_length(list->lines); |
long len=list->numlines; |
| if(len<=combo->maxvisitems) |
if(len<=combo->maxvisitems) |
| combo->list->style|=ST_AUTOYSIZE; |
combo->list->style|=ST_AUTOYSIZE; |
| else |
else |
| Line 952 void drawwinlist(WIN *win,long wx) |
|
| Line 953 void drawwinlist(WIN *win,long wx) |
|
| setlistactiveitem(list,actline,list->activeline); |
setlistactiveitem(list,actline,list->activeline); |
| actline=list->activeline; |
actline=list->activeline; |
| scrpos=vscroll->pos; |
scrpos=vscroll->pos; |
| |
setlistscrollupitem(list,list->oldscrollpos,scrpos); |
| |
list->oldscrollpos=scrpos; |
| hpos=hscroll->pos; |
hpos=hscroll->pos; |
| poz=actline-vscroll->pos; |
poz=actline-vscroll->pos; |
| windowinitdraw(win,list->cborder,win->cback,true); |
windowinitdraw(win,list->cborder,win->cback,true); |
| Line 992 void drawwinlist(WIN *win,long wx) |
|
| Line 995 void drawwinlist(WIN *win,long wx) |
|
| sc=g_slist_next(sc); |
sc=g_slist_next(sc); |
| } |
} |
| } |
} |
| lines=g_list_nth(list->lines,scrpos); |
lines=list->scrollupitem; |
| for(i=scrpos;i<numlines;i++) |
for(i=scrpos;i<numlines;i++) |
| { |
{ |
| if(i-scrpos+1<=win->vy-2) |
if(i-scrpos+1<=win->vy-2) |
| Line 1034 void drawwinlist(WIN *win,long wx) |
|
| Line 1037 void drawwinlist(WIN *win,long wx) |
|
| } |
} |
| } |
} |
| } |
} |
| |
else break; |
| lines=g_list_next(lines); |
lines=g_list_next(lines); |
| } |
} |
| actline=list->activeline; |
actline=list->activeline; |
| Line 1048 void drawwincombo(WIN *win) |
|
| Line 1052 void drawwincombo(WIN *win) |
|
| { |
{ |
| char s[MAXLEN_NUMBER_STRING]; |
char s[MAXLEN_NUMBER_STRING]; |
| long i,numlines; |
long i,numlines; |
| char *data; |
char *data=NULL; |
| char cf,cb; |
char cf,cb; |
| COMBO *combo; |
COMBO *combo; |
| LIST *list; |
LIST *list; |
| Line 1057 void drawwincombo(WIN *win) |
|
| Line 1061 void drawwincombo(WIN *win) |
|
| bool whatcol; |
bool whatcol; |
| long pushed; |
long pushed; |
| numlines=list->numlines; |
numlines=list->numlines; |
| |
long actline=combo->activeline; |
| if(combo->activeline<0)combo->activeline=0; |
if(combo->activeline<0)combo->activeline=0; |
| if(combo->activeline>numlines-1)combo->activeline=numlines-1; |
if(combo->activeline>numlines-1)combo->activeline=numlines-1; |
| data=g_list_nth(list->lines,combo->activeline)->data; |
setcomboactiveitem(combo,actline,combo->activeline); |
| |
if(combo->activeitem!=NULL)data=combo->activeitem->data; |
| if(data!=NULL)pushed=strlen(data)-win->vx+1; |
if(data!=NULL)pushed=strlen(data)-win->vx+1; |
| if(pushed<0)pushed=0; |
if(pushed<0)pushed=0; |
| if(combo->scroll<0)combo->scroll=0; |
if(combo->scroll<0)combo->scroll=0; |
| Line 1308 void drawwindialog(WIN *win,long wx) |
|
| Line 1314 void drawwindialog(WIN *win,long wx) |
|
| |
|
| void drawwinfade(WIN *win,long x,long y) |
void drawwinfade(WIN *win,long x,long y) |
| { |
{ |
| long i,j,chr; |
long i,j; |
| char cb,cf; |
|
| short pair; |
|
| for(j=y;j<y+win->vy;j++) |
for(j=y;j<y+win->vy;j++) |
| for(i=x;i<x+win->vx;i++) |
for(i=x;i<x+win->vx;i++) |
| { |
maddch(&mainwin,j,i,fadecolor(minch(&mainwin,j,i))); |
| chr=minch(&mainwin,j,i); |
|
| cb=C_BLACK; |
|
| cf=C_WHITE; |
|
| pair=cb&0x7; |
|
| pair<<=3; |
|
| pair+=cf; |
|
| if(pair==7)pair=0;else if(pair==0)pair=7; |
|
| init_pair(pair,cf,cb); |
|
| chr=chr&~A_BOLD&~A_REVERSE&~A_COLOR|COLOR_PAIR(pair); |
|
| maddch(&mainwin,j,i,chr); |
|
| } |
|
| } |
} |