| version 1.3, 2005/11/26 19:44:12 |
version 1.4, 2005/11/27 20:14:50 |
|
|
| // Copyright (c) 2005 Michal Sudolsky |
/* |
| // modified by Juraj Kolesár <koli@koli.sk> |
Name: lc_extra.c |
| #include "cuchar.h" |
Author: Michal Sudolsky |
| |
Date: 22.09.2005 14:26 |
| |
*/ |
| |
// modified by Juraj Kolesar <koli@koli.sk> |
| |
|
| |
#include "cc.h" |
| |
|
| void settextparams(WIN *win,PUNION *params) |
void settextparams(WIN *win,PUNION *params) |
| { |
{ |
| Line 18 void seteditparams(WIN *win,PUNION *para |
|
| Line 23 void seteditparams(WIN *win,PUNION *para |
|
| EDIT *edit=&win->extra->edit; |
EDIT *edit=&win->extra->edit; |
| PEDIT *pedit=¶ms->edit; |
PEDIT *pedit=¶ms->edit; |
| win->cback=pedit->cback!=C_DEFAULT?pedit->cback:C_BLACK; |
win->cback=pedit->cback!=C_DEFAULT?pedit->cback:C_BLACK; |
| |
edit->style=pedit->style; |
| |
edit->cbmask=pedit->cbmask!=C_DEFAULT?pedit->cbmask:C_CYAN; |
| |
edit->cfmask=pedit->cfmask!=C_DEFAULT?pedit->cfmask:C_BLACK; |
| edit->ctext=pedit->ctext!=C_DEFAULT?pedit->ctext:C_WHITE; |
edit->ctext=pedit->ctext!=C_DEFAULT?pedit->ctext:C_WHITE; |
| edit->change=pedit->change; |
edit->change=pedit->change; |
| } |
} |
| Line 26 void setbuttonparams(WIN *win,PUNION *pa |
|
| Line 34 void setbuttonparams(WIN *win,PUNION *pa |
|
| { |
{ |
| BUTTON *button=&win->extra->button; |
BUTTON *button=&win->extra->button; |
| PBUTTON *pbutton=¶ms->button; |
PBUTTON *pbutton=¶ms->button; |
| win->cback=pbutton->cback[0]!=C_DEFAULT?pbutton->cback[0]:C_GREEN; |
if(pbutton->style==BT_NORMAL) |
| |
{ |
| |
win->cback=pbutton->cback[0]!=C_DEFAULT?pbutton->cback[0]:C_GREEN; |
| |
} |
| |
else |
| |
{ |
| |
win->cback=pbutton->cback[0]!=C_DEFAULT?pbutton->cback[0]:C_BLUE; |
| |
} |
| button->text=pbutton->text; |
button->text=pbutton->text; |
| button->cback[0]=pbutton->cback[1]!=C_DEFAULT?pbutton->cback[1]:C_BLACK; |
button->style=pbutton->style; |
| button->cback[1]=pbutton->cback[2]!=C_DEFAULT?pbutton->cback[2]:C_GREEN; |
button->checked=pbutton->checked; |
| button->ctext[0]=pbutton->ctext[0]!=C_DEFAULT?pbutton->ctext[0]:C_LWHITE; |
if(pbutton->style==BT_NORMAL) |
| button->ctext[1]=pbutton->ctext[1]!=C_DEFAULT?pbutton->ctext[1]:C_YELLOW; |
{ |
| button->ctext[2]=pbutton->ctext[2]!=C_DEFAULT?pbutton->ctext[2]:C_LYELLOW; |
button->cback[0]=pbutton->cback[1]!=C_DEFAULT?pbutton->cback[1]:C_BLACK; |
| button->cutext[0]=pbutton->cutext[0]!=C_DEFAULT?pbutton->cutext[0]:C_LCYAN; |
button->cback[1]=pbutton->cback[2]!=C_DEFAULT?pbutton->cback[2]:C_GREEN; |
| button->cutext[1]=pbutton->cutext[1]!=C_DEFAULT?pbutton->cutext[1]:C_CYAN; |
button->ctext[0]=pbutton->ctext[0]!=C_DEFAULT?pbutton->ctext[0]:C_LWHITE; |
| button->cutext[2]=pbutton->cutext[2]!=C_DEFAULT?pbutton->cutext[2]:C_LCYAN; |
button->ctext[1]=pbutton->ctext[1]!=C_DEFAULT?pbutton->ctext[1]:C_YELLOW; |
| button->cfocus[0]=pbutton->cfocus[0]!=C_DEFAULT?pbutton->cfocus[0]:C_LRED; |
button->ctext[2]=pbutton->ctext[2]!=C_DEFAULT?pbutton->ctext[2]:C_LYELLOW; |
| button->cfocus[1]=pbutton->cfocus[1]!=C_DEFAULT?pbutton->cfocus[1]:C_RED; |
button->cutext[0]=pbutton->cutext[0]!=C_DEFAULT?pbutton->cutext[0]:C_LCYAN; |
| button->cfocus[2]=pbutton->cfocus[2]!=C_DEFAULT?pbutton->cfocus[2]:C_LRED; |
button->cutext[1]=pbutton->cutext[1]!=C_DEFAULT?pbutton->cutext[1]:C_CYAN; |
| |
button->cutext[2]=pbutton->cutext[2]!=C_DEFAULT?pbutton->cutext[2]:C_LCYAN; |
| |
button->cfocus[0]=pbutton->cfocus[0]!=C_DEFAULT?pbutton->cfocus[0]:C_LRED; |
| |
button->cfocus[1]=pbutton->cfocus[1]!=C_DEFAULT?pbutton->cfocus[1]:C_RED; |
| |
button->cfocus[2]=pbutton->cfocus[2]!=C_DEFAULT?pbutton->cfocus[2]:C_LRED; |
| |
} |
| |
else |
| |
{ |
| |
button->cback[0]=pbutton->cback[1]!=C_DEFAULT?pbutton->cback[1]:C_BLUE; |
| |
button->cback[1]=pbutton->cback[2]!=C_DEFAULT?pbutton->cback[2]:C_BLUE; |
| |
button->ctext[0]=pbutton->ctext[0]!=C_DEFAULT?pbutton->ctext[0]:C_LWHITE; |
| |
button->ctext[1]=pbutton->ctext[1]!=C_DEFAULT?pbutton->ctext[1]:C_LWHITE; |
| |
button->ctext[2]=pbutton->ctext[2]!=C_DEFAULT?pbutton->ctext[2]:C_LWHITE; |
| |
button->cutext[0]=pbutton->cutext[0]!=C_DEFAULT?pbutton->cutext[0]:C_LCYAN; |
| |
button->cutext[1]=pbutton->cutext[1]!=C_DEFAULT?pbutton->cutext[1]:C_LCYAN; |
| |
button->cutext[2]=pbutton->cutext[2]!=C_DEFAULT?pbutton->cutext[2]:C_LCYAN; |
| |
button->cfocus[0]=pbutton->cfocus[0]!=C_DEFAULT?pbutton->cfocus[0]:C_LGREEN; |
| |
button->cfocus[1]=pbutton->cfocus[1]!=C_DEFAULT?pbutton->cfocus[1]:C_LGREEN; |
| |
button->cfocus[2]=pbutton->cfocus[2]!=C_DEFAULT?pbutton->cfocus[2]:C_LGREEN; |
| |
} |
| button->hasfocus=pbutton->hasfocus; |
button->hasfocus=pbutton->hasfocus; |
| button->push=pbutton->push; |
button->push=pbutton->push; |
| } |
} |
| Line 76 void setcomboparams(WIN *win,PUNION *par |
|
| Line 110 void setcomboparams(WIN *win,PUNION *par |
|
| combo->cbutfront[0]=pcombo->cbutfront[0]!=C_DEFAULT?pcombo->cbutfront[0]:C_LWHITE; |
combo->cbutfront[0]=pcombo->cbutfront[0]!=C_DEFAULT?pcombo->cbutfront[0]:C_LWHITE; |
| combo->cbutfront[1]=pcombo->cbutfront[1]!=C_DEFAULT?pcombo->cbutfront[1]:C_LGREEN; |
combo->cbutfront[1]=pcombo->cbutfront[1]!=C_DEFAULT?pcombo->cbutfront[1]:C_LGREEN; |
| combo->change=pcombo->change; |
combo->change=pcombo->change; |
| |
combo->maxvisitems=pcombo->maxvisitems; |
| combo->lstvy=pcombo->lstvy;move_win(combo->list,NOCHANGE,NOCHANGE,NOCHANGE,pcombo->lstvy,NOCHANGE); |
combo->lstvy=pcombo->lstvy;move_win(combo->list,NOCHANGE,NOCHANGE,NOCHANGE,pcombo->lstvy,NOCHANGE); |
| combo->list->cback=pcombo->lstcback!=C_DEFAULT?pcombo->lstcback:C_MAGENTA; |
combo->list->cback=pcombo->lstcback!=C_DEFAULT?pcombo->lstcback:C_GREEN; |
| list->cborder=pcombo->lstcborder!=C_DEFAULT?pcombo->lstcborder:C_LWHITE; |
list->cborder=pcombo->lstcborder!=C_DEFAULT?pcombo->lstcborder:C_LWHITE; |
| list->ctext=pcombo->lstctext!=C_DEFAULT?pcombo->lstctext:C_WHITE; |
list->ctext=pcombo->lstctext!=C_DEFAULT?pcombo->lstctext:C_LWHITE; |
| list->cselected=pcombo->lstcselected!=C_DEFAULT?pcombo->lstcselected:C_WHITE; |
list->cselected=pcombo->lstcselected!=C_DEFAULT?pcombo->lstcselected:C_WHITE; |
| list->cseltext=pcombo->lstcseltext!=C_DEFAULT?pcombo->lstcseltext:C_LMAGENTA; |
list->cseltext=pcombo->lstcseltext!=C_DEFAULT?pcombo->lstcseltext:C_LBLACK; |
| list->cactive=pcombo->lstcactive!=C_DEFAULT?pcombo->lstcactive:C_YELLOW; |
list->cactive=pcombo->lstcactive!=C_DEFAULT?pcombo->lstcactive:C_YELLOW; |
| list->cactivetext=pcombo->lstcactivetext!=C_DEFAULT?pcombo->lstcactivetext:C_LMAGENTA; |
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; |
| 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; |
| scroll1->carrowup=scroll2->carrowup=pcombo->lstscrcarrowup!=C_DEFAULT?pcombo->lstscrcarrowup:C_LBLACK; |
scroll1->carrowup=scroll2->carrowup=pcombo->lstscrcarrowup!=C_DEFAULT?pcombo->lstscrcarrowup:C_LBLACK; |
| scroll1->carrowdown=scroll2->carrowdown=pcombo->lstscrcarrowdown!=C_DEFAULT?pcombo->lstscrcarrowdown:C_LGREEN; |
scroll1->carrowdown=scroll2->carrowdown=pcombo->lstscrcarrowdown!=C_DEFAULT?pcombo->lstscrcarrowdown:C_LGREEN; |
| |
if(combo->edit!=NULL) |
| |
{ |
| |
EDIT *edit=&combo->edit->extra->edit; |
| |
edit->style=pcombo->edistyle; |
| |
combo->edit->cback=win->cback; |
| |
edit->cbmask=pcombo->edicbmask!=C_DEFAULT?pcombo->edicbmask:C_CYAN; |
| |
edit->cfmask=pcombo->edicfmask!=C_DEFAULT?pcombo->edicfmask:C_BLACK; |
| |
edit->ctext=list->ctext; |
| |
edit->change=pcombo->change; |
| |
} |
| } |
} |
| |
|
| void setlistparams(WIN *win,PUNION *params) |
void setlistparams(WIN *win,PUNION *params) |
| Line 101 void setlistparams(WIN *win,PUNION *para |
|
| Line 146 void setlistparams(WIN *win,PUNION *para |
|
| win->cback=plist->cback!=C_DEFAULT?plist->cback:C_BLACK; |
win->cback=plist->cback!=C_DEFAULT?plist->cback:C_BLACK; |
| list->activeline=plist->activeline; |
list->activeline=plist->activeline; |
| list->cborder=plist->cborder!=C_DEFAULT?plist->cborder:C_LWHITE; |
list->cborder=plist->cborder!=C_DEFAULT?plist->cborder:C_LWHITE; |
| |
list->ccells=plist->ccells!=C_DEFAULT?plist->ccells:C_WHITE; |
| list->ctext=plist->ctext!=C_DEFAULT?plist->ctext:C_WHITE; |
list->ctext=plist->ctext!=C_DEFAULT?plist->ctext:C_WHITE; |
| list->cselected=plist->cselected!=C_DEFAULT?plist->cselected:C_WHITE; |
list->cselected=plist->cselected!=C_DEFAULT?plist->cselected:C_WHITE; |
| list->cseltext=plist->cseltext!=C_DEFAULT?plist->cseltext:C_LBLACK; |
list->cseltext=plist->cseltext!=C_DEFAULT?plist->cseltext:C_LBLACK; |
| Line 115 void setlistparams(WIN *win,PUNION *para |
|
| Line 161 void setlistparams(WIN *win,PUNION *para |
|
| scroll1->cbar=scroll2->cbar=plist->scrcbar!=C_DEFAULT?plist->scrcbar:C_WHITE; |
scroll1->cbar=scroll2->cbar=plist->scrcbar!=C_DEFAULT?plist->scrcbar:C_WHITE; |
| scroll1->carrowup=scroll2->carrowup=plist->scrcarrowup!=C_DEFAULT?plist->scrcarrowup:C_LBLACK; |
scroll1->carrowup=scroll2->carrowup=plist->scrcarrowup!=C_DEFAULT?plist->scrcarrowup:C_LBLACK; |
| scroll1->carrowdown=scroll2->carrowdown=plist->scrcarrowup!=C_DEFAULT?plist->scrcarrowup:C_LGREEN; |
scroll1->carrowdown=scroll2->carrowdown=plist->scrcarrowup!=C_DEFAULT?plist->scrcarrowup:C_LGREEN; |
| |
if((list->combotyp==CT_TABLE)&&(list->lines!=NULL)) |
| |
{ |
| |
long i; |
| |
if(list->lencells!=NULL)g_slist_free(list->lencells); |
| |
for(i=0;i<g_slist_length((GSList*)list->lines->data);i++) |
| |
list->lencells=g_slist_append(list->lencells,NULL); |
| |
} |
| } |
} |
| |
|
| void setstatusparams(WIN *win,PUNION *params) |
void setstatusparams(WIN *win,PUNION *params) |
| Line 132 void setstatusparams(WIN *win,PUNION *pa |
|
| Line 185 void setstatusparams(WIN *win,PUNION *pa |
|
| status->text=pstatus->text; |
status->text=pstatus->text; |
| } |
} |
| |
|
| void settableparams(WIN *win,PUNION *params) |
|
| { |
|
| TABLE *table=&win->extra->table; |
|
| PTABLE *ptable=¶ms->table; |
|
| win->cback=ptable->cback!=C_DEFAULT?ptable->cback:C_BLACK; |
|
| |
|
| |
|
| |
|
| } |
|
| |
|
| void setpaintparams(WIN *win,PUNION *params) |
void setpaintparams(WIN *win,PUNION *params) |
| { |
{ |
| PAINT *paint=&win->extra->paint; |
PAINT *paint=&win->extra->paint; |
| Line 204 void setdialogparams(WIN *win,PUNION *pa |
|
| Line 247 void setdialogparams(WIN *win,PUNION *pa |
|
| if(button1!=NULL)button1->ctext[0]=color; |
if(button1!=NULL)button1->ctext[0]=color; |
| if(button2!=NULL)button2->ctext[0]=color; |
if(button2!=NULL)button2->ctext[0]=color; |
| if(button3!=NULL)button3->ctext[0]=color; |
if(button3!=NULL)button3->ctext[0]=color; |
| color=pdialog->cbuttext[1]!=C_DEFAULT?pdialog->cbuttext[1]:C_BLACK; |
color=pdialog->cbuttext[1]!=C_DEFAULT?pdialog->cbuttext[1]:C_LCYAN; |
| if(button1!=NULL)button1->ctext[1]=color; |
if(button1!=NULL)button1->ctext[1]=color; |
| if(button2!=NULL)button2->ctext[1]=color; |
if(button2!=NULL)button2->ctext[1]=color; |
| if(button3!=NULL)button3->ctext[1]=color; |
if(button3!=NULL)button3->ctext[1]=color; |
| Line 233 void geteditparams(WIN *win,PUNION *para |
|
| Line 276 void geteditparams(WIN *win,PUNION *para |
|
| EDIT *edit=&win->extra->edit; |
EDIT *edit=&win->extra->edit; |
| PEDIT *pedit=¶ms->edit; |
PEDIT *pedit=¶ms->edit; |
| pedit->cback=win->cback; |
pedit->cback=win->cback; |
| |
pedit->style=edit->style; |
| |
pedit->cbmask=edit->cbmask; |
| |
pedit->cfmask=edit->cfmask; |
| pedit->ctext=edit->ctext; |
pedit->ctext=edit->ctext; |
| pedit->change=edit->change; |
pedit->change=edit->change; |
| } |
} |
| Line 243 void getbuttonparams(WIN *win,PUNION *pa |
|
| Line 289 void getbuttonparams(WIN *win,PUNION *pa |
|
| PBUTTON *pbutton=¶ms->button; |
PBUTTON *pbutton=¶ms->button; |
| pbutton->cback[0]=win->cback; |
pbutton->cback[0]=win->cback; |
| pbutton->text=button->text; |
pbutton->text=button->text; |
| |
pbutton->style=button->style; |
| |
pbutton->checked=button->checked; |
| pbutton->cback[1]=button->cback[0]; |
pbutton->cback[1]=button->cback[0]; |
| pbutton->cback[2]=button->cback[1]; |
pbutton->cback[2]=button->cback[1]; |
| pbutton->ctext[0]=button->ctext[0]; |
pbutton->ctext[0]=button->ctext[0]; |
| Line 291 void getcomboparams(WIN *win,PUNION *par |
|
| Line 339 void getcomboparams(WIN *win,PUNION *par |
|
| pcombo->cbutfront[0]=combo->cbutfront[0]; |
pcombo->cbutfront[0]=combo->cbutfront[0]; |
| pcombo->cbutfront[1]=combo->cbutfront[1]; |
pcombo->cbutfront[1]=combo->cbutfront[1]; |
| pcombo->change=combo->change; |
pcombo->change=combo->change; |
| |
pcombo->maxvisitems=combo->maxvisitems; |
| pcombo->lstvy=combo->lstvy; |
pcombo->lstvy=combo->lstvy; |
| pcombo->lstcback=combo->list->cback; |
pcombo->lstcback=combo->list->cback; |
| pcombo->lstcborder=list->cborder; |
pcombo->lstcborder=list->cborder; |
| Line 305 void getcomboparams(WIN *win,PUNION *par |
|
| Line 354 void getcomboparams(WIN *win,PUNION *par |
|
| pcombo->lstscrcbar=scroll1->cbar; |
pcombo->lstscrcbar=scroll1->cbar; |
| pcombo->lstscrcarrowup=scroll1->carrowup; |
pcombo->lstscrcarrowup=scroll1->carrowup; |
| pcombo->lstscrcarrowdown=scroll1->carrowdown; |
pcombo->lstscrcarrowdown=scroll1->carrowdown; |
| |
if(combo->edit!=NULL) |
| |
{ |
| |
EDIT *edit=&combo->edit->extra->edit; |
| |
pcombo->edistyle=edit->style; |
| |
pcombo->edicbmask=edit->cbmask; |
| |
pcombo->edicfmask=edit->cfmask; |
| |
} |
| } |
} |
| |
|
| void getlistparams(WIN *win,PUNION *params) |
void getlistparams(WIN *win,PUNION *params) |
| Line 316 void getlistparams(WIN *win,PUNION *para |
|
| Line 372 void getlistparams(WIN *win,PUNION *para |
|
| plist->cback=win->cback; |
plist->cback=win->cback; |
| plist->activeline=list->activeline; |
plist->activeline=list->activeline; |
| plist->cborder=list->cborder; |
plist->cborder=list->cborder; |
| |
plist->ccells=list->ccells; |
| plist->ctext=list->ctext; |
plist->ctext=list->ctext; |
| plist->cselected=list->cselected; |
plist->cselected=list->cselected; |
| plist->cseltext=list->cseltext; |
plist->cseltext=list->cseltext; |
| Line 347 void getstatusparams(WIN *win,PUNION *pa |
|
| Line 404 void getstatusparams(WIN *win,PUNION *pa |
|
| pstatus->text=status->text; |
pstatus->text=status->text; |
| } |
} |
| |
|
| void gettableparams(WIN *win,PUNION *params) |
|
| { |
|
| TABLE *table=&win->extra->table; |
|
| PTABLE *ptable=¶ms->table; |
|
| ptable->cback=win->cback; |
|
| |
|
| |
|
| |
|
| } |
|
| |
|
| void getpaintparams(WIN *win,PUNION *params) |
void getpaintparams(WIN *win,PUNION *params) |
| { |
{ |
| PAINT *paint=&win->extra->paint; |
PAINT *paint=&win->extra->paint; |
| Line 407 void getdialogparams(WIN *win,PUNION *pa |
|
| Line 454 void getdialogparams(WIN *win,PUNION *pa |
|
| pdialog->close=dialog->close; |
pdialog->close=dialog->close; |
| } |
} |
| |
|
| |
void checkwincombo(WIN *win) |
| |
{ |
| |
COMBO *combo=&win->extra->combo; |
| |
if(combo->maxvisitems) |
| |
{ |
| |
LIST *list=&combo->list->extra->list; |
| |
long len=g_list_length(list->lines); |
| |
if(len<=combo->maxvisitems) |
| |
combo->list->style|=ST_AUTOYSIZE; |
| |
else |
| |
{ |
| |
combo->list->style&=~ST_AUTOYSIZE; |
| |
combo->lstvy=combo->maxvisitems+2; |
| |
} |
| |
} |
| |
if(combo->edit!=NULL) |
| |
{ |
| |
combo->edit->vx=win->vx-1; |
| |
if(focuswin==win)focuswin=combo->edit; |
| |
} |
| |
} |
| |
|
| void checkwinlist(WIN *win) |
void checkwinlist(WIN *win) |
| { |
{ |
| LIST *list; |
LIST *list; |
| Line 416 void checkwinlist(WIN *win) |
|
| Line 485 void checkwinlist(WIN *win) |
|
| long poz,maxlen,i,len; |
long poz,maxlen,i,len; |
| maxlen=0; |
maxlen=0; |
| lines=list->lines; |
lines=list->lines; |
| while(lines!=NULL) |
|
| |
|
| |
// this may be in list setup function |
| |
if(list->combotyp!=CT_TABLE) |
| { |
{ |
| if(lines->data==NULL)continue; |
while(lines!=NULL) |
| poz=strlen(lines->data); |
{ |
| if(poz>maxlen)maxlen=poz; |
if(lines->data==NULL)continue; |
| lines=g_list_next(lines); |
poz=strlen(lines->data); |
| |
if(poz>maxlen)maxlen=poz; |
| |
lines=g_list_next(lines); |
| |
} |
| |
} |
| |
else |
| |
{ |
| |
GSList *sc; |
| |
sc=list->lencells; |
| |
maxlen=-1; |
| |
while(sc!=NULL) |
| |
{ |
| |
maxlen+=(long)sc->data+1; |
| |
sc=g_slist_next(sc); |
| |
i++; |
| |
} |
| |
if(maxlen<0)maxlen=0; |
| } |
} |
| |
// ----------------------------------- |
| |
|
| |
|
| if(list->hfade!=NULL) |
if(list->hfade!=NULL) |
| { |
{ |
| list->hfade->x=2; |
list->hfade->x=2; |
| Line 447 void checkwinlist(WIN *win) |
|
| Line 538 void checkwinlist(WIN *win) |
|
| vscroll->minpos=0; |
vscroll->minpos=0; |
| vscroll->maxpos=len-win->vy+2; |
vscroll->maxpos=len-win->vy+2; |
| vscroll->pagecnt=win->vy-1-2; |
vscroll->pagecnt=win->vy-1-2; |
| if(!list->vscroll->active) |
list->vscroll->active=true; |
| { |
|
| list->vscroll->active=true; |
|
| } |
|
| } |
} |
| else if(list->vscroll->active) |
else |
| { |
{ |
| |
vscroll->pos=0; |
| |
vscroll->minpos=0; |
| |
vscroll->maxpos=0; |
| |
vscroll->pagecnt=win->vy-1-2; |
| list->vscroll->active=false; |
list->vscroll->active=false; |
| } |
} |
| if(maxlen>win->vx-2) |
if(maxlen>win->vx-2) |
| Line 463 void checkwinlist(WIN *win) |
|
| Line 555 void checkwinlist(WIN *win) |
|
| hscroll->minpos=0; |
hscroll->minpos=0; |
| hscroll->maxpos=maxlen-win->vx+2; |
hscroll->maxpos=maxlen-win->vx+2; |
| hscroll->pagecnt=win->vx-1-2; |
hscroll->pagecnt=win->vx-1-2; |
| if(!list->hscroll->active) |
list->hscroll->active=true; |
| { |
|
| list->hscroll->active=true; |
|
| } |
|
| } |
} |
| else if(list->hscroll->active) |
else |
| { |
{ |
| |
hscroll->pos=0; |
| |
hscroll->minpos=0; |
| |
hscroll->maxpos=0; |
| |
hscroll->pagecnt=win->vx-1-2; |
| list->hscroll->active=false; |
list->hscroll->active=false; |
| } |
} |
| } |
} |
| Line 602 void drawwintext(WIN *win) |
|
| Line 695 void drawwintext(WIN *win) |
|
| void drawwinedit(WIN *win) |
void drawwinedit(WIN *win) |
| { |
{ |
| EDIT *edit=(EDIT*)win->extra; |
EDIT *edit=(EDIT*)win->extra; |
| long len,i; |
long len,i,a,b; |
| len=strlen(edit->text); |
len=strlen(edit->text); |
| if(edit->curpos>len)edit->curpos=len; |
if(edit->curpos>len)edit->curpos=len; |
| if(edit->curpos<0)edit->curpos=0; |
if(edit->curpos<0)edit->curpos=0; |
| Line 614 void drawwinedit(WIN *win) |
|
| Line 707 void drawwinedit(WIN *win) |
|
| if(edit->scroll>len)edit->scroll=len; |
if(edit->scroll>len)edit->scroll=len; |
| windowinitdraw(win,edit->ctext,win->cback,hascolors?true:2); |
windowinitdraw(win,edit->ctext,win->cback,hascolors?true:2); |
| if(!hascolors)for(i=0;i<win->vx;i++)addchar(win,0,i,'_'); |
if(!hascolors)for(i=0;i<win->vx;i++)addchar(win,0,i,'_'); |
| mprintw(win,0,-edit->scroll,"%s",edit->text); |
if(edit->style!=ED_PASSWORD) |
| |
{ |
| |
mprintw(win,0,-edit->scroll,"%s",edit->text); |
| |
} |
| |
else |
| |
{ |
| |
for(i=0;i<len-edit->scroll;i++)addchar(win,0,i,'*'); |
| |
} |
| |
if((edit->maskpos!=-1)&&isfocused(win)) |
| |
{ |
| |
a=edit->curpos; |
| |
b=edit->maskpos; |
| |
if(b<a){i=a;a=b;b=i;} |
| |
if(b>len-1)b=len-1; |
| |
windowinitdraw(win,edit->cfmask,edit->cbmask,false); |
| |
if(!hascolors)win->attr|=A_REVERSE; |
| |
for(i=a;i<=b;i++)addchar(win,0,i-edit->scroll,minch(win,0,i-edit->scroll)); |
| |
} |
| } |
} |
| |
|
| void drawwinbutton(WIN *win,long wx) |
void drawwinbutton(WIN *win,long wx) |
| { |
{ |
| char s[MAXLEN_NUMBER_STRING]; |
char s[MAXLEN_NUMBER_STRING]; |
| BUTTON *button=(BUTTON*)win->extra; |
BUTTON *button=(BUTTON*)win->extra; |
| long vx=win->vx,vy=win->vy,x,y; |
long vx=win->vx,vy=win->vy,x,y,i; |
| char cf,cfu,cb,stav; |
char cf,cfu,cb,stav; |
| attr_t attrplus=0; |
attr_t attrplus=0; |
| x=0; |
x=0; |
| Line 631 void drawwinbutton(WIN *win,long wx) |
|
| Line 741 void drawwinbutton(WIN *win,long wx) |
|
| if((stav==TS_PUSH)||(stav==TS_EXPUSH))set_timer(win,BUTTONCLICK,0,buttontimer); |
if((stav==TS_PUSH)||(stav==TS_EXPUSH))set_timer(win,BUTTONCLICK,0,buttontimer); |
| if(stav==TS_PUSH){button->status=TS_UP;stav=TS_DOWN;} |
if(stav==TS_PUSH){button->status=TS_UP;stav=TS_DOWN;} |
| if(stav==TS_EXPUSH){button->status=TS_HIGH;stav=TS_DOWN;} |
if(stav==TS_EXPUSH){button->status=TS_HIGH;stav=TS_DOWN;} |
| |
if((button->style==BT_NORMAL)&&button->checked)stav=TS_DOWN; |
| cf=button->ctext[stav]; |
cf=button->ctext[stav]; |
| cfu=button->cutext[stav]; |
cfu=button->cutext[stav]; |
| if(stav==0)cb=win->cback;else cb=button->cback[stav-1]; |
if(stav==0)cb=win->cback;else cb=button->cback[stav-1]; |
| char mode=(!hascolors&&((button->hasfocus&&(stav!=TS_DOWN))||(!button->hasfocus&&(stav==TS_DOWN))))?3:true; |
char mode=(!hascolors&& |
| |
((button->style==BT_NORMAL)||((button->style!=BT_NORMAL)&&(win==focuswin)))&& |
| |
((button->style!=BT_NORMAL)|| |
| |
((button->hasfocus&&(stav!=TS_DOWN))||(!button->hasfocus&&(stav==TS_DOWN)))))?3:true; |
| |
if(mode==3)attrplus|=A_REVERSE; |
| windowinitdraw(win,cf,cb,mode); |
windowinitdraw(win,cf,cb,mode); |
| if(win->vy>=3) |
if(button->style==BT_NORMAL) |
| { |
{ |
| mbox(win,0,0,win->vx,win->vy); |
if(win->vy>=3) |
| x++;vx-=2;wx-=2; |
{ |
| y++;vy-=2; |
mbox(win,0,0,win->vx,win->vy); |
| |
x++;vx-=2;wx-=2; |
| |
y++;vy-=2; |
| |
} |
| } |
} |
| y+=(vy-1)/2; |
y+=(vy-1)/2; |
| if(win==focuswin) |
if(win==focuswin) |
| { |
{ |
| windowinitdraw(win,button->cfocus[stav],cb,false); |
windowinitdraw(win,button->cfocus[stav],cb,false); |
| if(!hascolors&&((button->hasfocus&&(stav!=TS_DOWN))||(!button->hasfocus&&(stav==TS_DOWN)))) |
if(mode==3) |
| |
{ |
| attrplus|=A_REVERSE; |
attrplus|=A_REVERSE; |
| addchar(win,y,x,'<'); |
win->attr|=attrplus; |
| addchar(win,y,win->vx-1-x,'>'); |
} |
| x++;vx-=2;wx-=2; |
if(button->style==BT_NORMAL) |
| |
{ |
| |
addchar(win,y,x,'<'); |
| |
addchar(win,y,win->vx-1-x,'>'); |
| |
x++;vx-=2;wx-=2; |
| |
} |
| |
} |
| |
if(button->style==BT_CHECK1) |
| |
{ |
| |
addchar(win,y,x,'['); |
| |
addchar(win,y,x+2,']'); |
| |
} |
| |
else if(button->style==BT_CHECK2) |
| |
{ |
| |
addchar(win,y,x,'('); |
| |
addchar(win,y,x+2,')'); |
| |
} |
| |
if(win==focuswin) |
| |
{ |
| windowinitdraw(win,cf,cb,false); |
windowinitdraw(win,cf,cb,false); |
| if(!hascolors&&((button->hasfocus&&(stav!=TS_DOWN))||(!button->hasfocus&&(stav==TS_DOWN)))) |
if(mode==3) |
| |
{ |
| attrplus|=A_REVERSE; |
attrplus|=A_REVERSE; |
| |
win->attr|=attrplus; |
| |
} |
| |
} |
| |
if((button->style==BT_CHECK1)&&(button->checked))addchar(win,y,x+1,'x'); |
| |
if((button->style==BT_CHECK2)&&(button->checked))addchar(win,y,x+1,'*'); |
| |
if(button->style==BT_NORMAL)x+=(vx-strlenmenu(button->text))/2; |
| |
else |
| |
{ |
| |
x+=4; |
| |
wx-=4; |
| } |
} |
| x+=(vx-strlenmenu(button->text))/2; |
if(button->text!=NULL) |
| |
for(i=0;i<strlen(button->text);i++)if(button->text[i]=='&'){wx++;i++;}; |
| sprintf(s,"%%.%lds\0",wx); |
sprintf(s,"%%.%lds\0",wx); |
| if((!hascolors)&&((stav!=TS_UP)))attrplus|=A_UNDERLINE; |
if((!hascolors)&&((stav!=TS_UP)))attrplus|=A_UNDERLINE; |
| mprintwmenu(win,y,x,cb,cf,cfu,attrplus,s,button->text); |
mprintwmenu(win,y,x,cb,cf,cfu,attrplus,s,button->text); |
| Line 816 void drawwinlist(WIN *win,long wx) |
|
| Line 965 void drawwinlist(WIN *win,long wx) |
|
| char s[MAXLEN_NUMBER_STRING]; |
char s[MAXLEN_NUMBER_STRING]; |
| LIST *list; |
LIST *list; |
| GList *lines; |
GList *lines; |
| |
GSList *sl,*sc; |
| SCROLL *hscroll,*vscroll; |
SCROLL *hscroll,*vscroll; |
| list=&win->extra->list; |
list=&win->extra->list; |
| long poz,actline,scrpos,hpos,i,numlines; |
long poz,actline,scrpos,hpos,i,numlines,x,bx; |
| char cf,cb; |
char cf,cb; |
| bool isfocus; |
bool isfocus; |
| if(list->combotyp&&(capturewin==NULL)&&isactive(win))capturewin=win; |
if((list->combotyp==CT_COMBO)&&(capturewin==NULL)&&isactive(win))capturewin=win; |
| vscroll=&list->vscroll->extra->scroll; |
vscroll=&list->vscroll->extra->scroll; |
| hscroll=&list->hscroll->extra->scroll; |
hscroll=&list->hscroll->extra->scroll; |
| if(vscroll->pos<vscroll->minpos)vscroll->pos=vscroll->minpos; |
if(vscroll->pos<vscroll->minpos)vscroll->pos=vscroll->minpos; |
| Line 838 void drawwinlist(WIN *win,long wx) |
|
| Line 988 void drawwinlist(WIN *win,long wx) |
|
| mbox(win,0,0,win->vx,win->vy); |
mbox(win,0,0,win->vx,win->vy); |
| if((poz>=0)&&(poz<=win->vy-1-2)) |
if((poz>=0)&&(poz<=win->vy-1-2)) |
| { |
{ |
| if((!hascolors)&&(!list->combotyp))addsymbol(win,0,poz+1,mapsymbol[LTEE]); |
if((!hascolors)&&(list->combotyp!=CT_COMBO))addsymbol(win,0,poz+1,mapsymbol[LTEE]); |
| cf=isfocus?list->cactivetext:list->cseltext; |
cf=isfocus?list->cactivetext:list->cseltext; |
| cb=isfocus?list->cactive:list->cselected; |
cb=isfocus?list->cactive:list->cselected; |
| windowinitdraw(win,cf,cb,false); |
windowinitdraw(win,cf,cb,false); |
| Line 846 void drawwinlist(WIN *win,long wx) |
|
| Line 996 void drawwinlist(WIN *win,long wx) |
|
| for(i=0;i<win->vx-2;i++)addchar(win,poz+1,i+1,' '); |
for(i=0;i<win->vx-2;i++)addchar(win,poz+1,i+1,' '); |
| } |
} |
| if(wx<win->vx)wx++; |
if(wx<win->vx)wx++; |
| |
|
| |
|
| |
// this may be in list setup function |
| |
if(list->combotyp==CT_TABLE) |
| |
{ |
| |
lines=list->lines; |
| |
sc=list->lencells; |
| |
while(sc!=NULL) |
| |
{ |
| |
sc->data=(void*)0; |
| |
sc=g_slist_next(sc); |
| |
} |
| |
while(lines!=NULL) |
| |
{ |
| |
sl=(GSList*)lines->data; |
| |
sc=list->lencells; |
| |
while((sl!=NULL)&&(sc!=NULL)) |
| |
{ |
| |
i=strlen(sl->data); |
| |
if(i>(long)sc->data)sc->data=(void*)i; |
| |
sc=g_slist_next(sc); |
| |
sl=g_slist_next(sl); |
| |
} |
| |
lines=g_list_next(lines); |
| |
} |
| |
} |
| |
// ------------------------------------ |
| |
|
| |
|
| |
if(list->combotyp==CT_TABLE) |
| |
{ |
| |
windowinitdraw(win,list->ccells,win->cback,false); |
| |
sc=list->lencells; |
| |
poz=-hpos; |
| |
cf=isfocus?list->cactivetext:list->cseltext; |
| |
cb=isfocus?list->cactive:list->cselected; |
| |
while(sc!=NULL) |
| |
{ |
| |
if((poz>0)&&(poz<wx-1)) |
| |
{ |
| |
mvline(win,poz,1,win->vy-2); |
| |
i=actline-scrpos+1; |
| |
if((i>0)&&(i<win->vy-1)) |
| |
{ |
| |
windowinitdraw(win,cf,cb,false); |
| |
if(!hascolors)if(isfocus)win->attr|=A_REVERSE; |
| |
mvline(win,poz,i,1); |
| |
windowinitdraw(win,list->ccells,win->cback,false); |
| |
} |
| |
} |
| |
poz+=(long)sc->data+1; |
| |
if(poz>=wx-1)break; |
| |
sc=g_slist_next(sc); |
| |
} |
| |
} |
| lines=g_list_nth(list->lines,scrpos); |
lines=g_list_nth(list->lines,scrpos); |
| for(i=scrpos;i<numlines;i++) |
for(i=scrpos;i<numlines;i++) |
| { |
{ |
| Line 853 void drawwinlist(WIN *win,long wx) |
|
| Line 1058 void drawwinlist(WIN *win,long wx) |
|
| { |
{ |
| cf=(i!=actline)?list->ctext:(isfocus?list->cactivetext:list->cseltext); |
cf=(i!=actline)?list->ctext:(isfocus?list->cactivetext:list->cseltext); |
| cb=(i!=actline)?win->cback:(isfocus?list->cactive:list->cselected); |
cb=(i!=actline)?win->cback:(isfocus?list->cactive:list->cselected); |
| windowinitdraw(win,cf,cb,false); |
windowinitdraw(win,cf,cb,false); |
| if(strlen(lines->data)>hpos) |
if((!hascolors)&&(i==actline))if(isfocus)win->attr|=A_REVERSE; |
| |
if(list->combotyp!=CT_TABLE) |
| { |
{ |
| sprintf(s,"%%.%lds\0",wx-2+hpos); |
if(strlen(lines->data)>hpos) |
| if((!hascolors)&&(i==actline))if(isfocus)win->attr|=A_REVERSE; |
{ |
| mprintw(win,i-scrpos+1,1,s,(char*)lines->data+hpos); |
sprintf(s,"%%.%lds\0",wx-2); |
| |
mprintw(win,i-scrpos+1,1,s,(char*)lines->data+hpos); |
| |
} |
| |
} |
| |
else |
| |
{ |
| |
sl=(GSList*)lines->data; |
| |
sc=list->lencells; |
| |
poz=1; |
| |
while((sl!=NULL)&&(sc!=NULL)&&(poz-hpos<wx-1)) |
| |
{ |
| |
x=poz-hpos; |
| |
bx=0; |
| |
if(x<1) |
| |
{ |
| |
bx=1-x; |
| |
x=1; |
| |
} |
| |
if(strlen(sl->data)>bx) |
| |
{ |
| |
sprintf(s,"%%.%lds\0",wx-1-x); |
| |
mprintw(win,i-scrpos+1,x,s,(char*)sl->data+bx); |
| |
} |
| |
poz+=(long)sc->data+1; |
| |
sc=g_slist_next(sc); |
| |
sl=g_slist_next(sl); |
| |
} |
| } |
} |
| } |
} |
| lines=g_list_next(lines); |
lines=g_list_next(lines); |
| Line 885 void drawwincombo(WIN *win) |
|
| Line 1117 void drawwincombo(WIN *win) |
|
| 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_data(list->lines,combo->activeline); |
data=g_list_nth_data(list->lines,combo->activeline); |
| 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; |
| if(combo->scroll>pushed)combo->scroll=pushed; |
if(combo->scroll>pushed)combo->scroll=pushed; |
| pushed=combo->pushed; |
pushed=combo->pushed; |
| if(combo->pushed==SC_PUSH)combo->pushed=SC_UP; |
if(combo->pushed==SC_PUSH)combo->pushed=SC_UP; |
| if(pushed>1)pushed=1; |
if(pushed>1)pushed=1; |
| whatcol=!((win==focuswin)&&(!combo->list->active)); |
if(combo->edit==NULL) |
| cb=whatcol?win->cback:list->cactive; |
{ |
| cf=whatcol?list->ctext:list->cactivetext; |
whatcol=!((win==focuswin)&&(!combo->list->active)); |
| windowinitdraw(win,cf,cb,true); |
cb=whatcol?win->cback:list->cactive; |
| sprintf(s,"%%.%lds\0",win->vx-1+combo->scroll); |
cf=whatcol?list->ctext:list->cactivetext; |
| if(!hascolors) |
windowinitdraw(win,cf,cb,true); |
| { |
sprintf(s,"%%.%lds\0",win->vx-1+combo->scroll); |
| if(focuswin==win)win->attr|=A_REVERSE; |
if(!hascolors) |
| win->attr|=A_UNDERLINE; |
{ |
| for(i=0;i<win->vx-1;i++)addchar(win,0,i,'_'); |
if(focuswin==win)win->attr|=A_REVERSE; |
| |
win->attr|=A_UNDERLINE; |
| |
for(i=0;i<win->vx-1;i++)addchar(win,0,i,'_'); |
| |
} |
| |
else for(i=0;i<win->vx-1;i++)addchar(win,0,i,' '); |
| |
if(data!=NULL)mprintw(win,0,-combo->scroll,s,data); |
| } |
} |
| else for(i=0;i<win->vx-1;i++)addchar(win,0,i,' '); |
|
| mprintw(win,0,-combo->scroll,s,data); |
|
| cb=combo->cbutback[pushed]; |
cb=combo->cbutback[pushed]; |
| cf=combo->cbutfront[pushed]; |
cf=combo->cbutfront[pushed]; |
| windowinitdraw(win,cf,cb,false); |
windowinitdraw(win,cf,cb,false); |
| Line 966 void drawwinstatus(WIN *win) |
|
| Line 1201 void drawwinstatus(WIN *win) |
|
| } |
} |
| } |
} |
| |
|
| void drawwintable(WIN *win) |
|
| { |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| } |
|
| |
|
| void drawwinpaint(WIN *win) |
void drawwinpaint(WIN *win) |
| { |
{ |
| PAINT *paint=(PAINT*)win->extra; |
PAINT *paint=(PAINT*)win->extra; |
| Line 1001 void drawwinmenu(WIN *win,long wx) |
|
| Line 1227 void drawwinmenu(WIN *win,long wx) |
|
| MENU *menu; |
MENU *menu; |
| GList *lines; |
GList *lines; |
| menu=&win->extra->menu; |
menu=&win->extra->menu; |
| long poz,actline,i,numlines,len,scoffs; |
long poz,actline,i,j,numlines,len,scoffs; |
| char cfu,cf,cb; |
char cfu,cf,cb; |
| bool isfocus; |
bool isfocus; |
| isfocus=isfocused(win); |
isfocus=isfocused(win); |
| Line 1014 void drawwinmenu(WIN *win,long wx) |
|
| Line 1240 void drawwinmenu(WIN *win,long wx) |
|
| numlines=g_list_length(menu->lines); |
numlines=g_list_length(menu->lines); |
| if(menu->activeline>numlines-1)menu->activeline=numlines-1; |
if(menu->activeline>numlines-1)menu->activeline=numlines-1; |
| actline=menu->activeline; |
actline=menu->activeline; |
| windowinitdraw(win,menu->cborder,win->cback,true); |
windowinitdraw(win,menu->cborder,win->cback,hascolors?true:3); |
| if(menu->vert) |
if(menu->vert) |
| { |
{ |
| mbox(win,0,0,win->vx,win->vy); |
mbox(win,0,0,win->vx,win->vy); |
| Line 1045 void drawwinmenu(WIN *win,long wx) |
|
| Line 1271 void drawwinmenu(WIN *win,long wx) |
|
| cfu=(i!=actline)?menu->cutext:menu->cactiveutext; |
cfu=(i!=actline)?menu->cutext:menu->cactiveutext; |
| cb=(i!=actline)?win->cback:menu->cactive; |
cb=(i!=actline)?win->cback:menu->cactive; |
| windowinitdraw(win,cf,cb,false); |
windowinitdraw(win,cf,cb,false); |
| if(((CMENU*)lines->data)->checked)addchar(win,i+1,1,'*'); |
if(!hascolors) |
| if(strlenmenu(((CMENU*)lines->data)->text)>0) |
if(!((i==actline)&&(isfocus))) |
| { |
|
| sprintf(s,"%%.%lds\0",wx-2-1); |
|
| if((!hascolors)&&(i==actline))if(isfocus) |
|
| { |
{ |
| attrplus=A_REVERSE; |
attrplus=A_REVERSE; |
| win->attr|=attrplus; |
win->attr|=attrplus; |
| } |
} |
| |
else |
| |
{ |
| |
for(j=1;j<wx-1;j++)addchar(win,i+1,j,' '); |
| |
} |
| |
if(((CMENU*)lines->data)->checked)addchar(win,i+1,1,'*'); |
| |
if(strlenmenu(((CMENU*)lines->data)->text)>0) |
| |
{ |
| |
sprintf(s,"%%.%lds\0",wx-2-1); |
| mprintwmenu(win,i+1,1+1,cb,cf,cfu,attrplus,s,((CMENU*)lines->data)->text); |
mprintwmenu(win,i+1,1+1,cb,cf,cfu,attrplus,s,((CMENU*)lines->data)->text); |
| } |
} |
| else if(strcmp(((CMENU*)lines->data)->text,"-")==0) |
else if(strcmp(((CMENU*)lines->data)->text,"-")==0) |