Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Saturday, October 17, 2026

Diff for tucniak/cuchar/cc_extra.c between version 1.4 and 1.5

version 1.4, 2005/11/27 20:14:50 version 1.5, 2005/11/29 18:46:31
Line 1 
Line 1 
 /*  /*
   Name: lc_extra.c    Name: cc_extra.c
   Author: Michal Sudolsky    Author: Michal Sudolsky <michals@sulysoft.com>
   Date: 22.09.2005 14:26    Date: 22.09.2005 14:26
 */  */
 // modified by Juraj Kolesar <koli@koli.sk>  // modified by Juraj Kolesar <koli@koli.sk>
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;
     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;
   scroll1->carrowup=scroll2->carrowup=pcombo->lstscrcarrowup!=C_DEFAULT?pcombo->lstscrcarrowup:C_LBLACK;    scroll1->carrowup=scroll2->carrowup=pcombo->lstscrcarrowup!=C_DEFAULT?pcombo->lstscrcarrowup:C_LBLACK;
Line 144  void setlistparams(WIN *win,PUNION *para
Line 145  void setlistparams(WIN *win,PUNION *para
   SCROLL *scroll2=&list->hscroll->extra->scroll;    SCROLL *scroll2=&list->hscroll->extra->scroll;
   PLIST *plist=&params->list;    PLIST *plist=&params->list;
   win->cback=plist->cback!=C_DEFAULT?plist->cback:C_BLACK;    win->cback=plist->cback!=C_DEFAULT?plist->cback:C_BLACK;
     long actline=list->activeline;
   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->ccells=plist->ccells!=C_DEFAULT?plist->ccells:C_WHITE;
Line 161  void setlistparams(WIN *win,PUNION *para
Line 163  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))    setuplistparams(win);
   {    setlistactiveitem(list,actline,list->activeline);
     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 483  void checkwinlist(WIN *win)
Line 480  void checkwinlist(WIN *win)
   SCROLL *hscroll,*vscroll;    SCROLL *hscroll,*vscroll;
   list=&win->extra->list;    list=&win->extra->list;
   long poz,maxlen,i,len;    long poz,maxlen,i,len;
   maxlen=0;    maxlen=list->maxitemlen;
   lines=list->lines;    lines=list->lines;
   
   
   // this may be in list setup function  
   if(list->combotyp!=CT_TABLE)  
   {  
     while(lines!=NULL)  
     {  
       if(lines->data==NULL)continue;  
       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 530  void checkwinlist(WIN *win)
Line 498  void checkwinlist(WIN *win)
   }    }
   vscroll=&list->vscroll->extra->scroll;    vscroll=&list->vscroll->extra->scroll;
   hscroll=&list->hscroll->extra->scroll;    hscroll=&list->hscroll->extra->scroll;
   len=g_list_length(list->lines);    len=list->numlines;
   if(len>win->vy-2)    if(len>win->vy-2)
   {    {
     list->vscroll->x=win->vx-list->vscroll->vx;      list->vscroll->x=win->vx-list->vscroll->vx;
Line 977  void drawwinlist(WIN *win,long wx)
Line 945  void drawwinlist(WIN *win,long wx)
   if(vscroll->pos<vscroll->minpos)vscroll->pos=vscroll->minpos;    if(vscroll->pos<vscroll->minpos)vscroll->pos=vscroll->minpos;
   if(vscroll->pos>vscroll->maxpos)vscroll->pos=vscroll->maxpos;    if(vscroll->pos>vscroll->maxpos)vscroll->pos=vscroll->maxpos;
   isfocus=win==focuswin;    isfocus=win==focuswin;
     actline=list->activeline;
   if(list->activeline<0)list->activeline=0;    if(list->activeline<0)list->activeline=0;
   numlines=g_list_length(list->lines);    numlines=list->numlines;
   if(list->activeline>numlines-1)list->activeline=numlines-1;    if(list->activeline>numlines-1)list->activeline=numlines-1;
     setlistactiveitem(list,actline,list->activeline);
   actline=list->activeline;    actline=list->activeline;
   scrpos=vscroll->pos;    scrpos=vscroll->pos;
   hpos=hscroll->pos;    hpos=hscroll->pos;
Line 996  void drawwinlist(WIN *win,long wx)
Line 966  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)    if(list->combotyp==CT_TABLE)
   {    {
     windowinitdraw(win,list->ccells,win->cback,false);      windowinitdraw(win,list->ccells,win->cback,false);
Line 1095  void drawwinlist(WIN *win,long wx)
Line 1036  void drawwinlist(WIN *win,long wx)
     }      }
     lines=g_list_next(lines);      lines=g_list_next(lines);
   }    }
     actline=list->activeline;
   if(list->exvscroll==EX_UP)if(vscroll->pos>vscroll->minpos){vscroll->pos--;list->activeline--;}    if(list->exvscroll==EX_UP)if(vscroll->pos>vscroll->minpos){vscroll->pos--;list->activeline--;}
   if(list->exvscroll==EX_DOWN)if(vscroll->pos<vscroll->maxpos){vscroll->pos++;list->activeline++;}    if(list->exvscroll==EX_DOWN)if(vscroll->pos<vscroll->maxpos){vscroll->pos++;list->activeline++;}
     setlistactiveitem(list,actline,list->activeline);
   if(list->exhscroll==EX_UP)if(hscroll->pos>hscroll->minpos){hscroll->pos--;}    if(list->exhscroll==EX_UP)if(hscroll->pos>hscroll->minpos){hscroll->pos--;}
   if(list->exhscroll==EX_DOWN)if(hscroll->pos<hscroll->maxpos){hscroll->pos++;}    if(list->exhscroll==EX_DOWN)if(hscroll->pos<hscroll->maxpos){hscroll->pos++;}
 }  }
Line 1113  void drawwincombo(WIN *win)
Line 1056  void drawwincombo(WIN *win)
   list=&combo->list->extra->list;    list=&combo->list->extra->list;
   bool whatcol;    bool whatcol;
   long pushed;    long pushed;
   numlines=g_list_length(list->lines);    numlines=list->numlines;
   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(list->lines,combo->activeline)->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;

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top