static int e_h(GWindow gw, GEvent *event) { if ( event->type==et_close ) { struct gfc_data *d = GDrawGetUserData(gw); d->done = true; } else if ( event->type == et_map ) { /* Above palettes */ GDrawRaise(gw); } else if ( event->type == et_char ) { return( false ); } else if ( event->type == et_mousemove || (event->type==et_mousedown && event->u.mouse.button==3 )) { struct gfc_data *d = GDrawGetUserData(gw); if ( !WithinList(d,event) ) GFileChooserPopupCheck(d->gfc,event); } else if (( event->type==et_mouseup || event->type==et_mousedown ) && (event->u.mouse.button>=4 && event->u.mouse.button<=7) ) { struct gfc_data *d = GDrawGetUserData(gw); return( GGadgetDispatchEvent((GGadget *) (d->gfc),event)); } else if ( event->type == et_resize ) { GRect r, size; struct gfc_data *d = GDrawGetUserData(gw); if ( d->gfc!=NULL ) { GDrawGetSize(gw,&size); GGadgetGetSize(d->gfc,&r); GGadgetResize(d->gfc,size.width-2*r.x,r.height); } } return( event->type!=et_char ); }
static int e_h (GWindow gw, GEvent *event) { if (event->type == et_close) { struct gfc_data *d = GDrawGetUserData (gw); d->done = true; } else if (event->type == et_map) /* Above palettes */ GDrawRaise (gw); else if (event->type == et_char) return (false); else if (event->type == et_mousemove || (event->type == et_mousedown && event->u.mouse.button == 3)) { struct gfc_data *d = GDrawGetUserData (gw); GFileChooserPopupCheck (d->gfc, event); } else if ((event->type == et_mouseup || event->type == et_mousedown) && (event->u.mouse.button >= 4 && event->u.mouse.button <= 7)) { struct gfc_data *d = GDrawGetUserData (gw); return (GGadgetDispatchEvent ((GGadget *) (d->gfc), event)); } return (true); }