| version 1.3, 2005/11/29 18:46:31 |
version 1.4, 2005/12/01 18:52:29 |
| Line 20 bool eventq=false; |
|
| Line 20 bool eventq=false; |
|
| pthread_t gpmthreadp; |
pthread_t gpmthreadp; |
| WIN *lastfocused=NULL; |
WIN *lastfocused=NULL; |
| |
|
| |
void setcomboactiveitem(COMBO *combo,long old,long new) |
| |
{ |
| |
if(new==old)return; |
| |
if(new==-1)combo->activeitem=NULL; |
| |
else |
| |
{ |
| |
if(old==-1)combo->activeitem=g_list_nth(combo->list->extra->list.lines,new); |
| |
else |
| |
{ |
| |
if(new>old) |
| |
while(new>old) |
| |
{ |
| |
combo->activeitem=g_list_next(combo->activeitem); |
| |
old++; |
| |
} |
| |
else |
| |
while(old>new) |
| |
{ |
| |
combo->activeitem=g_list_previous(combo->activeitem); |
| |
new++; |
| |
} |
| |
} |
| |
} |
| |
} |
| |
|
| void setlistactiveitem(LIST *list,long old,long new) |
void setlistactiveitem(LIST *list,long old,long new) |
| { |
{ |
| if(new==old)return; |
if(new==old)return; |
| Line 45 void setlistactiveitem(LIST *list,long o |
|
| Line 70 void setlistactiveitem(LIST *list,long o |
|
| } |
} |
| } |
} |
| |
|
| |
void setlistscrollupitem(LIST *list,long old,long new) |
| |
{ |
| |
if(new==old)return; |
| |
if(new==-1)list->scrollupitem=NULL; |
| |
else |
| |
{ |
| |
if(old==-1)list->scrollupitem=g_list_nth(list->lines,new); |
| |
else |
| |
{ |
| |
if(new>old) |
| |
while(new>old) |
| |
{ |
| |
list->scrollupitem=g_list_next(list->scrollupitem); |
| |
old++; |
| |
} |
| |
else |
| |
while(old>new) |
| |
{ |
| |
list->scrollupitem=g_list_previous(list->scrollupitem); |
| |
new++; |
| |
} |
| |
} |
| |
} |
| |
} |
| |
|
| void buttondoubletimer(TIMER *sender) |
void buttondoubletimer(TIMER *sender) |
| { |
{ |
| redraw(); |
redrawclientwin(sender->win); |
| redraw(); |
redrawclientwin(sender->win); |
| del_timer(sender); |
del_timer(sender); |
| } |
} |
| |
|
| Line 189 void domouseevent(MEVENT *event) |
|
| Line 239 void domouseevent(MEVENT *event) |
|
| doubleclickstate2=false; |
doubleclickstate2=false; |
| doubletimer2=NULL; |
doubletimer2=NULL; |
| } |
} |
| gpmev.x=mousex=event->x; |
mousex=event->x; |
| gpmev.y=mousey=event->y; |
mousey=event->y; |
| |
if(mouseactive!=MOUSE_GPM) |
| |
{ |
| |
gpmev.x=mousex; |
| |
gpmev.y=mousey; |
| |
} |
| sendmousemessage(mousex,mousey,MM_MOUSEMOVE|mod); |
sendmousemessage(mousex,mousey,MM_MOUSEMOVE|mod); |
| } |
} |
| |
|
| Line 416 bool dosendmousemessage(WIN *p,long vx,l |
|
| Line 471 bool dosendmousemessage(WIN *p,long vx,l |
|
| if(inrect(0,0,p->vx,1,x,y)&&((stat==0)||(stat==1))&&(p->vy>1)){stat=1;scroll->sup=SC_DOWN;} |
if(inrect(0,0,p->vx,1,x,y)&&((stat==0)||(stat==1))&&(p->vy>1)){stat=1;scroll->sup=SC_DOWN;} |
| else if(inrect(0,1,p->vx,len,x,y)&&((stat==0)||(stat==2))){stat=2;scroll->spageup=SC_DOWN;} |
else if(inrect(0,1,p->vx,len,x,y)&&((stat==0)||(stat==2))){stat=2;scroll->spageup=SC_DOWN;} |
| else if(inrect(0,1+len,p->vx,1,x,y)&&((stat==0)||(stat==3))&&(p->vy>3)){stat=3;stlen=1+len-y;} |
else if(inrect(0,1+len,p->vx,1,x,y)&&((stat==0)||(stat==3))&&(p->vy>3)){stat=3;stlen=1+len-y;} |
| else if(inrect(0,1+len+1,p->vx,p->vy-2-1-len,x,y)&&((stat==0)||(stat==4))){stat=4;scroll->spagedown=SC_DOWN;} |
else if(inrect(0,1+len+1,p->vx,p->vy-2-1-len,x,y)&&((stat==0)||(stat==4))) |
| |
{stat=4;scroll->spagedown=SC_DOWN;} |
| else if(inrect(0,p->vy-1,p->vx,1,x,y)&&((stat==0)||(stat==5))){stat=5;scroll->sdown=SC_DOWN;} |
else if(inrect(0,p->vy-1,p->vx,1,x,y)&&((stat==0)||(stat==5))){stat=5;scroll->sdown=SC_DOWN;} |
| } |
} |
| else |
else |
| Line 424 bool dosendmousemessage(WIN *p,long vx,l |
|
| Line 480 bool dosendmousemessage(WIN *p,long vx,l |
|
| len=(p->vx-2-1)*(scroll->pos-scroll->minpos)/(scroll->maxpos-scroll->minpos); |
len=(p->vx-2-1)*(scroll->pos-scroll->minpos)/(scroll->maxpos-scroll->minpos); |
| if((y>=0)&&(y<p->vy)) |
if((y>=0)&&(y<p->vy)) |
| { |
{ |
| if(inrect(0,0,1,p->vy,x,y)&&((stat==0)||(stat==1))&&(p->vy>1)){stat=1;scroll->sup=SC_DOWN;} |
if(inrect(0,0,1,p->vy,x,y)&&((stat==0)||(stat==1))&&(p->vx>1)){stat=1;scroll->sup=SC_DOWN;} |
| else if(inrect(1,0,len,p->vy,x,y)&&((stat==0)||(stat==2))){stat=2;scroll->spageup=SC_DOWN;} |
else if(inrect(1,0,len,p->vy,x,y)&&((stat==0)||(stat==2))){stat=2;scroll->spageup=SC_DOWN;} |
| else if(inrect(1+len,0,1,p->vy,x,y)&&((stat==0)||(stat==3))&&(p->vx>3)){stat=3;stlen=1+len-x;} |
else if(inrect(1+len,0,1,p->vy,x,y)&&((stat==0)||(stat==3))&&(p->vx>3)){stat=3;stlen=1+len-x;} |
| else if(inrect(1+len+1,0,p->vx-2-1-len,p->vy,x,y)&&((stat==0)||(stat==4))){stat=4;scroll->spagedown=SC_DOWN;} |
else if(inrect(1+len+1,0,p->vx-2-1-len,p->vy,x,y)&&((stat==0)||(stat==4))) |
| |
{stat=4;scroll->spagedown=SC_DOWN;} |
| else if(inrect(p->vx-1,0,1,p->vy,x,y)&&((stat==0)||(stat==5))){stat=5;scroll->sdown=SC_DOWN;} |
else if(inrect(p->vx-1,0,1,p->vy,x,y)&&((stat==0)||(stat==5))){stat=5;scroll->sdown=SC_DOWN;} |
| } |
} |
| } |
} |
| Line 479 bool dosendmousemessage(WIN *p,long vx,l |
|
| Line 536 bool dosendmousemessage(WIN *p,long vx,l |
|
| if(capturewin==p) |
if(capturewin==p) |
| { |
{ |
| actline=list->activeline; |
actline=list->activeline; |
| if((list->combotyp!=CT_COMBO)||((list->combotyp==CT_COMBO)&&(stat==1)))list->activeline=y-1+vscroll->pos; |
if((list->combotyp!=CT_COMBO)||((list->combotyp==CT_COMBO)&&(stat==1))) |
| |
list->activeline=y-1+vscroll->pos; |
| list->exvscroll=EX_NONE; |
list->exvscroll=EX_NONE; |
| list->exhscroll=EX_NONE; |
list->exhscroll=EX_NONE; |
| if((list->combotyp!=CT_COMBO)||((list->combotyp==CT_COMBO)&&(stat==1))) |
if((list->combotyp!=CT_COMBO)||((list->combotyp==CT_COMBO)&&(stat==1))) |
| Line 924 bool dosendmousemessage(WIN *p,long vx,l |
|
| Line 982 bool dosendmousemessage(WIN *p,long vx,l |
|
| case 5:move_win(p,NOCHANGE,NOCHANGE,NOCHANGE,ny-2*p->y+vy+my,NOCHANGE);break; |
case 5:move_win(p,NOCHANGE,NOCHANGE,NOCHANGE,ny-2*p->y+vy+my,NOCHANGE);break; |
| case 6:if(vx>nx-10-mx)vx=nx-10-mx;move_win(p,vx+mx,NOCHANGE,nx-vx-mx,ny-2*p->y+vy+my,NOCHANGE);break; |
case 6:if(vx>nx-10-mx)vx=nx-10-mx;move_win(p,vx+mx,NOCHANGE,nx-vx-mx,ny-2*p->y+vy+my,NOCHANGE);break; |
| case 7:if(vx>nx-10-mx)vx=nx-10-mx;move_win(p,vx+mx,NOCHANGE,nx-vx-mx,NOCHANGE,NOCHANGE);break; |
case 7:if(vx>nx-10-mx)vx=nx-10-mx;move_win(p,vx+mx,NOCHANGE,nx-vx-mx,NOCHANGE,NOCHANGE);break; |
| case 8:if(vx>nx-10-mx)vx=nx-10-mx;if(vy>ny-1-my)vy=ny-1-my;move_win(p,vx+mx,vy+my,nx-vx-mx,ny-vy-my,NOCHANGE); |
case 8:if(vx>nx-10-mx)vx=nx-10-mx;if(vy>ny-1-my)vy=ny-1-my; |
| |
move_win(p,vx+mx,vy+my,nx-vx-mx,ny-vy-my,NOCHANGE); |
| } |
} |
| break; |
break; |
| case MM_LBUTTONDBLCLK: |
case MM_LBUTTONDBLCLK: |
| Line 978 bool dosendmousemessage(WIN *p,long vx,l |
|
| Line 1037 bool dosendmousemessage(WIN *p,long vx,l |
|
| } |
} |
| } |
} |
| if(((state==MM_LBUTTONDOWN)||(state==MM_RBUTTONDOWN))&&setfocus)set_focus(findchild(p)); |
if(((state==MM_LBUTTONDOWN)||(state==MM_RBUTTONDOWN))&&setfocus)set_focus(findchild(p)); |
| if(chang)redraw(); |
if(chang)redrawclientwin(p); |
| if(sendnext)sendmousemessage(vx,vy,state); |
if(sendnext)sendmousemessage(vx,vy,state); |
| return result; |
return result; |
| } |
} |