您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ GWidgetGetControl函数代码示例

51自学网 2021-06-01 21:00:44
  C++
这篇教程C++ GWidgetGetControl函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中GWidgetGetControl函数的典型用法代码示例。如果您正苦于以下问题:C++ GWidgetGetControl函数的具体用法?C++ GWidgetGetControl怎么用?C++ GWidgetGetControl使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了GWidgetGetControl函数的30个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: CW_OK

static int CW_OK(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {	int err = false;	CreateWidthDlg *wd = GDrawGetUserData(GGadgetGetWindow(g));	if ( GGadgetIsChecked(GWidgetGetControl(wd->gw,CID_Set)) ) {	    wd->wd.type = st_set;	    wd->wd.setto = GetReal8(wd->gw,CID_SetVal,rb1[wd->wd.wtype],&err);	    if ( wd->wd.setto<0 && wd->wd.wtype==wt_width ) {		char *yesno[3];		yesno[0] = _("_Yes");		yesno[1] = _("_No");		yesno[2] = NULL;		if ( gwwv_ask(_("Negative Width"), (const char **) yesno, 0, 1, _("Negative glyph widths are not allowed in TrueType/nDo you really want a negative width?") )==1 )return( true );	    }	} else if ( GGadgetIsChecked(GWidgetGetControl(wd->gw,CID_Incr)) ) {	    wd->wd.type = st_incr;	    wd->wd.increment = GetReal8(wd->gw,CID_IncrVal,rb2[wd->wd.wtype],&err);	} else {	    wd->wd.type = st_scale;	    wd->wd.scale = GetReal8(wd->gw,CID_ScaleVal,rb2[wd->wd.wtype],&err);	}	if ( err )return(true);	(wd->wd.doit)((CreateWidthData *) wd);    }return( true );}
开发者ID:UIKit0,项目名称:fontforge-1,代码行数:29,


示例2: L2L_OK

static int L2L_OK(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {	L2LDlg *d = GDrawGetUserData(GGadgetGetWindow(g));	int from, to, clear;	int err=0;	double errbound;	from = GGadgetGetFirstListSelectedItem(GWidgetGetControl(d->gw,CID_FromLayer));	to   = GGadgetGetFirstListSelectedItem(GWidgetGetControl(d->gw,CID_ToLayer));	if ( d->l2l==l2l_copy ) {	    clear = GGadgetIsChecked(GWidgetGetControl(d->gw,CID_ClearOld));	    if ( d->cv )		_DoCVCopy(d->cv,from,to,clear);	    else		_DoFVCopy(d->fv,from,to,clear);	} else {	    errbound = GetReal8(d->gw,CID_ErrorBound,_("Error Bound"),&err);	    if ( err )return( true );	    if ( d->cv )		_DoCVCompare(d->cv,from,to,errbound);	    else		_DoFVCompare(d->fv,from,to,errbound);	}	d->done = true;    }return( true );}
开发者ID:UIKit0,项目名称:fontforge-1,代码行数:29,


示例3: BdfP_Resize

static void BdfP_Resize(struct bdf_dlg *bd) {    extern int _GScrollBar_Width;    int sbwidth = GDrawPointsToPixels(bd->gw,_GScrollBar_Width);    GRect size, pos;    static int cids[] = { CID_Delete, CID_DefAll, CID_DefCur, CID_Up,	    CID_Down, CID_OK, CID_Cancel, 0 };    int i;    GDrawGetSize(bd->gw,&size);    GDrawGetSize(bd->v,&pos);    if ( size.width!=bd->width || size.height!=bd->height ) {	int yoff = size.height-bd->height;	int xoff = size.width-bd->width;	bd->width = size.width; bd->height = size.height;	bd->vwidth += xoff; bd->vheight += yoff;	GDrawResize(bd->v,bd->vwidth,bd->vheight);		GGadgetMove(bd->vsb,size.width-sbwidth,pos.y-1);	GGadgetResize(bd->vsb,sbwidth,bd->vheight+2);	GGadgetGetSize(bd->tf,&pos);	GGadgetResize(bd->tf,pos.width+xoff,pos.height);	for ( i=0; cids[i]!=0; ++i ) {	    GGadgetGetSize(GWidgetGetControl(bd->gw,cids[i]),&pos);	    GGadgetMove(GWidgetGetControl(bd->gw,cids[i]),pos.x,pos.y+yoff);	}    }    BdfP_RefigureScrollbar(bd);    GDrawRequestExpose(bd->v,NULL,false);    GDrawRequestExpose(bd->gw,NULL,true);}
开发者ID:IceJacool,项目名称:fontforge,代码行数:32,


示例4: SVCheck

static void SVCheck(SearchView *sv) {    int show = ( sv->sd.sc_srch.layers[ly_fore].splines!=NULL || sv->sd.sc_srch.layers[ly_fore].refs!=NULL );    int showrplall=show, showrpl;    if ( sv->sd.sc_srch.changed_since_autosave && sv->showsfindnext ) {	GGadgetSetTitle8(GWidgetGetControl(sv->gw,CID_Find),_("Find"));	sv->showsfindnext = false;    }    if ( showrplall ) {	if ( sv->sd.sc_srch.layers[ly_fore].splines!=NULL && sv->sd.sc_srch.layers[ly_fore].splines->next==NULL &&		sv->sd.sc_srch.layers[ly_fore].splines->first->prev==NULL &&		sv->sd.sc_rpl.layers[ly_fore].splines==NULL && sv->sd.sc_rpl.layers[ly_fore].refs==NULL )	    showrplall = false;    }    showrpl = showrplall;    if ( !sv->showsfindnext || sv->sd.curchar==NULL || sv->sd.curchar->parent!=sv->sd.fv->sf ||	    sv->sd.curchar->orig_pos<0 || sv->sd.curchar->orig_pos>=sv->sd.fv->sf->glyphcnt ||	    sv->sd.curchar!=sv->sd.fv->sf->glyphs[sv->sd.curchar->orig_pos] ||	    sv->sd.curchar->changed_since_search )	showrpl = false;    if ( sv->findenabled != show ) {	GGadgetSetEnabled(GWidgetGetControl(sv->gw,CID_Find),show);	GGadgetSetEnabled(GWidgetGetControl(sv->gw,CID_FindAll),show);	sv->findenabled = show;    }    if ( sv->rplallenabled != showrplall ) {	GGadgetSetEnabled(GWidgetGetControl(sv->gw,CID_ReplaceAll),showrplall);	sv->rplallenabled = showrplall;    }    if ( sv->rplenabled != showrpl ) {	GGadgetSetEnabled(GWidgetGetControl(sv->gw,CID_Replace),showrpl);	sv->rplenabled = showrpl;    }}
开发者ID:ystk,项目名称:debian-fontforge,代码行数:35,


示例5: kpd_e_h

static int kpd_e_h(GWindow gw, GEvent *event) {    if ( event->type==et_close ) {	KPData *kpd = GDrawGetUserData(gw);	kpd->done = true;    } else if ( event->type == et_mousemove ) {	kpdpopup(GDrawGetUserData(gw));    } else if ( event->type == et_expose ) {	KPData *kpd = GDrawGetUserData(gw);	GRect size, sbsize;	GDrawGetSize(kpd->v,&size);	GGadgetGetSize(GWidgetGetControl(kpd->gw,CID_ScrollBar),&sbsize);	GDrawSetLineWidth(gw,0);	GDrawDrawLine(gw,size.x,size.y-1,sbsize.x+sbsize.width-1,size.y-1,0x000000);	GDrawDrawLine(gw,size.x,size.y+size.height,sbsize.x+sbsize.width-1,size.y+size.height,0x000000);	GDrawDrawLine(gw,size.x-1,size.y-1,size.x-1,size.y+size.height,0x000000);    } else if ( event->type == et_char ) {	if ( event->u.chr.keysym == GK_F1 || event->u.chr.keysym == GK_Help ) {	    help("kernpairs.html");return( true );	}	if ( event->u.chr.chars[0]!='/0' && event->u.chr.chars[1]=='/0' ) {	    enum sortby sort = GGadgetGetFirstListSelectedItem(GWidgetGetControl(gw,CID_SortBy));	    KPData *kpd = GDrawGetUserData(gw);	    if ( sort!=sb_kern ) {		KPScrollTo(kpd,event->u.chr.chars[0],sort);return( true );	    } else		GDrawBeep(NULL);	}return( false );    } else if ( event->type == et_resize && event->u.resize.sized ) {	KP_Resize((KPData *) GDrawGetUserData(gw) );    }return( true );}
开发者ID:IceJacool,项目名称:fontforge,代码行数:35,


示例6: JSTF_Script_OK

static int JSTF_Script_OK(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {	Jstf_Dlg *jd = GDrawGetUserData(GGadgetGetWindow(g));	SplineFont *sf = jd->sf;	Justify *head=NULL, *last=NULL, *cur;	int rows, i;	int cols = GMatrixEditGetColCnt(GWidgetGetControl(jd->gw,CID_Scripts));	struct matrix_data *strings = GMatrixEditGet(GWidgetGetControl(jd->gw,CID_Scripts), &rows);	for ( i=0; i<rows; ++i ) {	    cur = chunkalloc(sizeof(Justify));	    cur->script = Str2Tag(strings[cols*i+0].u.md_str);	    cur->extenders = copy(strings[cols*i+1].u.md_str);	    cur->langs = strings[cols*i+3].u.md_addr;	    if ( head==NULL )		head = cur;	    else		last->next = cur;	    last = cur;	}	JustifyFree(sf->justify);	sf->justify = head;	jd->done = true;    }return( true );}
开发者ID:ystk,项目名称:debian-fontforge,代码行数:27,


示例7: PoV_DoVanish

static void PoV_DoVanish(struct nldlg *d) {    double x,y,dv,tilt,dir;    double t;    int err = false;    double vp;    char buf[80];    unichar_t ubuf[80];extern char *coord_sep;    x = GetQuietReal(d->gw,CID_XValue,&err);    y = GetQuietReal(d->gw,CID_YValue,&err);    /*z = GetQuietReal(d->gw,CID_ZValue,&err);*/    dv = GetQuietReal(d->gw,CID_DValue,&err);    tilt = GetQuietReal(d->gw,CID_Tilt,&err)*3.1415926535897932/180;    dir = GetQuietReal(d->gw,CID_GazeDirection,&err)*3.1415926535897932/180;    if ( err )return;    if ( GGadgetGetFirstListSelectedItem( GWidgetGetControl(d->gw,CID_XType))!=3 )	x = 0;    if ( GGadgetGetFirstListSelectedItem( GWidgetGetControl(d->gw,CID_YType))!=3 )	y = 0;    t = tan(tilt);    if ( t<.000001 && t>-.000001 )	sprintf(buf,"inf%sinf", coord_sep);    else {	vp = dv/t;	x -= sin(dir)*vp;	y += cos(dir)*vp;	sprintf(buf,"%g%s%g", x, coord_sep, y );    }    uc_strcpy(ubuf,buf);    GGadgetSetTitle( GWidgetGetControl(d->gw,CID_Vanish), ubuf );}
开发者ID:Decepticoner,项目名称:fontforge,代码行数:33,


示例8: SVResize

static void SVResize(SearchView *sv, GEvent *event) {    int width, height;    if ( !event->u.resize.sized )return;    GGadgetMove(GWidgetGetControl(sv->gw,CID_TopBox),4,4);    GGadgetResize(GWidgetGetControl(sv->gw,CID_TopBox),	    event->u.resize.size.width-8,	    event->u.resize.size.height-12);        width = (event->u.resize.size.width-40)/2;    height = (event->u.resize.size.height-sv->cv_y-sv->button_height-8);    if ( width<70 || height<80 ) {	if ( width<70 ) width = 70;	width = 2*width+40;	if ( height<80 ) height = 80;	height += sv->cv_y+sv->button_height+8;	GDrawResize(sv->gw,width,height);return;    }    if ( width!=sv->cv_width || height!=sv->cv_height ) {	GDrawResize(sv->cv_srch.gw,width,height);	GDrawResize(sv->cv_rpl.gw,width,height);	sv->cv_width = width; sv->cv_height = height;	sv->rpl_x = 30+width;	GDrawMove(sv->cv_rpl.gw,sv->rpl_x,sv->cv_y);    }    GDrawSync(NULL);    GDrawProcessPendingEvents(NULL);    GDrawRequestExpose(sv->gw,NULL,false);}
开发者ID:BorisLucas,项目名称:fontforge,代码行数:33,


示例9: GetSystem

static int GetSystem(GWindow gw) {    if ( GGadgetIsChecked(GWidgetGetControl(gw,CID_X)) )return( CID_X );    if ( GGadgetIsChecked(GWidgetGetControl(gw,CID_Win)) )return( CID_Win );return( CID_Mac );}
开发者ID:Arthaey,项目名称:fontforge,代码行数:8,


示例10: DoFindOne

static int DoFindOne(SearchView *sv,int startafter) {    int i, gid;    SplineChar *startcur = sv->sd.curchar;    /* It is possible that some idiot deleted the current character since */    /*  the last search... do some mild checks */    if ( sv->sd.curchar!=NULL &&	    sv->sd.curchar->parent == sv->sd.fv->sf &&	    sv->sd.curchar->orig_pos>=0 && sv->sd.curchar->orig_pos<sv->sd.fv->sf->glyphcnt &&	    sv->sd.curchar==sv->sd.fv->sf->glyphs[sv->sd.curchar->orig_pos] )	/* Looks ok */;    else	sv->sd.curchar=startcur=NULL;    if ( !sv->sd.subpatternsearch ) startafter = false;    if ( sv->showsfindnext && sv->sd.curchar!=NULL )	i = sv->sd.fv->map->backmap[sv->sd.curchar->orig_pos]+1-startafter;    else {	startafter = false;	if ( !sv->sd.onlyselected )	    i = 0;	else {	    for ( i=0; i<sv->sd.fv->map->enccount; ++i )		if ( sv->sd.fv->selected[i] && (gid=sv->sd.fv->map->map[i])!=-1 &&			sv->sd.fv->sf->glyphs[gid]!=NULL )	    break;	}    }     for ( ; i<sv->sd.fv->map->enccount; ++i ) {	if (( !sv->sd.onlyselected || sv->sd.fv->selected[i]) && (gid=sv->sd.fv->map->map[i])!=-1 &&		sv->sd.fv->sf->glyphs[gid]!=NULL ) {	    SCSplinePointsUntick(sv->sd.fv->sf->glyphs[gid],sv->sd.fv->active_layer);	    if ( SearchChar(&sv->sd,gid,startafter) )    break;	}	startafter = false;    }    if ( i>=sv->sd.fv->map->enccount ) {	ff_post_notice(_("Not Found"),sv->showsfindnext?_("The search pattern was not found again in the font %.100s"):_("The search pattern was not found in the font %.100s"),sv->sd.fv->sf->fontname);	sv->sd.curchar = startcur;	GGadgetSetTitle8(GWidgetGetControl(sv->gw,CID_Find),_("Find"));	sv->showsfindnext = false;return( false );    }    SVSelectSC(sv);    if ( sv->lastcv!=NULL && sv->lastcv->b.sc==startcur && sv->lastcv->b.fv== sv->sd.fv ) {	CVChangeSC(sv->lastcv,sv->sd.curchar);	GDrawSetVisible(sv->lastcv->gw,true);	GDrawRaise(sv->lastcv->gw);    } else	sv->lastcv = CharViewCreate(sv->sd.curchar,(FontView *) sv->sd.fv,-1);    GGadgetSetTitle8(GWidgetGetControl(sv->gw,CID_Find),_("Find Next"));    sv->showsfindnext = true;return( true );}
开发者ID:ystk,项目名称:debian-fontforge,代码行数:57,


示例11: AnchorD_ClearCorrections

static void AnchorD_ClearCorrections(AnchorDlg *a) {    unichar_t ubuf[2];    ubuf[0] = '0'; ubuf[1] = '/0';    free(a->xadjust.corrections); memset(&a->xadjust,0,sizeof(DeviceTable));    free(a->yadjust.corrections); memset(&a->yadjust,0,sizeof(DeviceTable));    GGadgetSetTitle(GWidgetGetControl(a->gw,CID_XCor),ubuf);    GGadgetSetTitle(GWidgetGetControl(a->gw,CID_YCor),ubuf);}
开发者ID:catharanthus,项目名称:fontforge,代码行数:9,


示例12: CW_RadioChange

static int CW_RadioChange(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_radiochanged ) {	CreateWidthDlg *wd = GDrawGetUserData(GGadgetGetWindow(g));	int cid = (intpt) GGadgetGetUserData(g);	GWidgetIndicateFocusGadget(GWidgetGetControl(wd->gw,cid));	GTextFieldSelect(GWidgetGetControl(wd->gw,cid),0,-1);    }return( true );}
开发者ID:UIKit0,项目名称:fontforge-1,代码行数:9,


示例13: FtPpem_PtYChanged

static int FtPpem_PtYChanged(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_textchanged ) {	FtSizeData *fsd = GDrawGetUserData(GGadgetGetWindow(g));	if ( GGadgetIsChecked(GWidgetGetControl(fsd->gw,CID_SameAs))) {	    const unichar_t *y = _GGadgetGetTitle(g);	    GGadgetSetTitle(GWidgetGetControl(fsd->gw,CID_PointSizeX),y);	}    }return( true );}
开发者ID:Arthaey,项目名称:fontforge,代码行数:10,


示例14: Jstf_Cancel

static void Jstf_Cancel(Jstf_Dlg *jd) {    int rows, i;    int cols = GMatrixEditGetColCnt(GWidgetGetControl(jd->gw,CID_Scripts));    struct matrix_data *strings = GMatrixEditGet(GWidgetGetControl(jd->gw,CID_Scripts), &rows);    for ( i=0; i<rows; ++i ) {	JstfLangFree(strings[cols*i+3].u.md_addr);    }    jd->done = true;}
开发者ID:ystk,项目名称:debian-fontforge,代码行数:10,


示例15: JSTF_Language_OK

static int JSTF_Language_OK(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {	Jstf_Dlg *jd = GDrawGetUserData(GGadgetGetWindow(g));	int rows, i, j, k, cnt;	struct matrix_data *strings = GMatrixEditGet(GWidgetGetControl(jd->lgw,CID_Languages), &rows);	int cols = GMatrixEditGetColCnt(GWidgetGetControl(jd->lgw,CID_Languages));	struct jstf_lang *head=NULL, *last=NULL, *cur;	for ( i=0; i<rows; ++i ) if ( !(strings[i*cols+0].u.md_str[0]&0x80) ) {	    for ( j=i, cnt=0; j<rows; ++j )		if ( strcmp(strings[j*cols+0].u.md_str, strings[i*cols+0].u.md_str)==0 )		    ++cnt;	    cur = chunkalloc(sizeof(struct jstf_lang));	    if ( head==NULL )		head = cur;	    else		last->next = cur;	    last = cur;	    cur->lang = Str2Tag(strings[i*cols+0].u.md_str);	    cur->cnt  = cnt;	    cur->prios=gcalloc(cnt,sizeof(struct jstf_prio));	    for ( j=i, cnt=0; j<rows; ++j ) {		if ( strcmp(strings[j*cols+0].u.md_str, strings[i*cols+0].u.md_str)==0 ) {		    cur->prios[cnt].enableExtend = Str2OTLList(jd->sf,strings[j*cols+1].u.md_str );		    cur->prios[cnt].disableExtend = Str2OTLList(jd->sf,strings[j*cols+2].u.md_str );		    cur->prios[cnt].maxExtend = Str2OTLList(jd->sf,strings[j*cols+3].u.md_str );		    cur->prios[cnt].enableShrink = Str2OTLList(jd->sf,strings[j*cols+4].u.md_str );		    cur->prios[cnt].disableShrink = Str2OTLList(jd->sf,strings[j*cols+5].u.md_str );		    cur->prios[cnt].maxShrink = Str2OTLList(jd->sf,strings[j*cols+6].u.md_str );		    if ( cur->prios[cnt].enableExtend == (OTLookup **) -1 ||			    cur->prios[cnt].disableExtend == (OTLookup **) -1 ||			    cur->prios[cnt].maxExtend == (OTLookup **) -1 ||			    cur->prios[cnt].enableShrink == (OTLookup **) -1 ||			    cur->prios[cnt].disableShrink == (OTLookup **) -1 ||			    cur->prios[cnt].maxShrink == (OTLookup **) -1 ) {			JstfLangFree(head);			for ( k=0; k<rows; ++k )			    strings[k*cols+0].u.md_str[0] &= ~0x80;return( true );		    }		    ++cnt;		}	    }	    for ( j=rows-1; j>=i; --j )		if ( strcmp(strings[j*cols+0].u.md_str, strings[i*cols+0].u.md_str)==0 )		    strings[j*cols+0].u.md_str[0] |= 0x80;	}	JstfLangFree( *jd->here );	*jd->here = head;	jd->ldone = true;    }return( true );}
开发者ID:ystk,项目名称:debian-fontforge,代码行数:54,


示例16: AnchorD_SelectGlyph

static void AnchorD_SelectGlyph(AnchorDlg *a, AnchorPoint *ap) {    int i;    int32 len;    GTextInfo **ti = GGadgetGetList(GWidgetGetControl(a->gw,CID_Glyph),&len);    for ( i=0; i<len; ++i )	if ( ti[i]->userdata == ap )    break;    if ( i!=len )	GGadgetSelectOneListItem(GWidgetGetControl(a->gw,CID_Glyph),i);}
开发者ID:catharanthus,项目名称:fontforge,代码行数:11,


示例17: FtPpem_SameAsChanged

static int FtPpem_SameAsChanged(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_radiochanged ) {	FtSizeData *fsd = GDrawGetUserData(GGadgetGetWindow(g));	if ( GGadgetIsChecked(g)) {	    const uint32_t *y = _GGadgetGetTitle(GWidgetGetControl(fsd->gw,CID_PointSize));	    GGadgetSetTitle(GWidgetGetControl(fsd->gw,CID_PointSizeX),y);	    GGadgetSetEnabled(GWidgetGetControl(fsd->gw,CID_PointSizeX),false);	} else {	    GGadgetSetEnabled(GWidgetGetControl(fsd->gw,CID_PointSizeX),true);	}    }return( true );}
开发者ID:khaledhosny,项目名称:sortsmill,代码行数:13,


示例18: GCol_ShowTexts

static void GCol_ShowTexts(struct gcol_data *d) {    double *offs[7] = { &d->col.h, &d->col.s, &d->col.v, &d->col.r, &d->col.g, &d->col.b, &d->col.alpha };    int i;    char text[50];    gHSV2RGB((struct hslrgb *) &d->col);    sprintf( text, "%3.0f", *offs[0]);    GGadgetSetTitle8(GWidgetGetControl(d->gw,cids[0]),text);    for ( i=1; i<7; ++i ) {	sprintf( text, "%.2f", *offs[i]);	GGadgetSetTitle8(GWidgetGetControl(d->gw,cids[i]),text);    }}
开发者ID:BorisLucas,项目名称:fontforge,代码行数:13,


示例19: AnchorD_SetDevTabs

static void AnchorD_SetDevTabs(AnchorDlg *a) {    char buffer[20];    unichar_t ubuf[20];    int min, max;    GGadgetClearList(GWidgetGetControl(a->gw,CID_DisplaySize));    min = 1; max = 0;    if ( a->xadjust.corrections!=NULL ) {	min = a->xadjust.first_pixel_size;	max = a->xadjust.last_pixel_size;    }    if ( a->yadjust.corrections!=NULL ) {	if ( a->yadjust.first_pixel_size<min ) min = a->yadjust.first_pixel_size;	if ( a->yadjust.last_pixel_size>max ) max = a->yadjust.last_pixel_size;    }    if ( max>min ) {	int i;	int len = max-min+1;	char buffer[20];	GTextInfo **ti = malloc((len+1)*sizeof(GTextInfo *));	for ( i=0; i<len; ++i ) {	    ti[i] = calloc(1,sizeof(GTextInfo));	    sprintf( buffer, "%d", i+min );	    ti[i]->text = uc_copy(buffer);	    ti[i]->fg = ti[i]->bg = COLOR_DEFAULT;	}	ti[i] = calloc(1,sizeof(GTextInfo));	GGadgetSetList(GWidgetGetControl(a->gw,CID_DisplaySize),ti,false);    }    ubuf[0] = '0'; ubuf[1] = '/0';    if ( a->xadjust.corrections!=NULL &&	    a->pixelsize>=a->xadjust.first_pixel_size &&	    a->pixelsize<=a->xadjust.last_pixel_size ) {	sprintf( buffer, "%d", a->xadjust.corrections[		a->pixelsize-a->xadjust.first_pixel_size]);	uc_strcpy(ubuf,buffer);    }    GGadgetSetTitle(GWidgetGetControl(a->gw,CID_XCor),ubuf);    ubuf[0] = '0'; ubuf[1] = '/0';    if ( a->yadjust.corrections!=NULL &&	    a->pixelsize>=a->yadjust.first_pixel_size &&	    a->pixelsize<=a->yadjust.last_pixel_size ) {	sprintf( buffer, "%d", a->yadjust.corrections[		a->pixelsize-a->yadjust.first_pixel_size]);	uc_strcpy(ubuf,buffer);    }    GGadgetSetTitle(GWidgetGetControl(a->gw,CID_YCor),ubuf);}
开发者ID:catharanthus,项目名称:fontforge,代码行数:48,


示例20: KPScrollTo

static void KPScrollTo(KPData *kpd, unichar_t uch, enum sortby sort) {    int i;    if ( sort==sb_first ) {	for ( i=0; i<kpd->kcnt && kpd->kerns[i].first->unicodeenc<uch; ++i );    } else {	for ( i=0; i<kpd->kcnt && kpd->kerns[i].second->unicodeenc<uch; ++i );    }    if ( kpd->wh<=2 )	/* As is */;    else if ( kpd->wh<5 )	--i;    else	i -= kpd->wh/5;    if ( i>kpd->kcnt-kpd->wh )	i = kpd->kcnt-kpd->wh;    if ( i<0 )	i = 0;    if ( i!=kpd->off_top ) {	int off = i-kpd->off_top;	kpd->off_top = i;	GScrollBarSetPos(GWidgetGetControl(kpd->gw,CID_ScrollBar),kpd->off_top);	GDrawScroll(kpd->v,NULL,0,off*kpd->uh);    }}
开发者ID:IceJacool,项目名称:fontforge,代码行数:26,


示例21: DE_Delete

static int DE_Delete(GGadget *g, GEvent *e) {    GWindow gw;    int *done;    GGadget *list;    int sel,i;    Encoding *item;    if ( e->type==et_controlevent &&            (e->u.control.subtype == et_buttonactivate ||             e->u.control.subtype == et_listdoubleclick )) {        gw = GGadgetGetWindow(g);        done = GDrawGetUserData(gw);        list = GWidgetGetControl(gw,CID_Encodings);        sel = GGadgetGetFirstListSelectedItem(list);        i=0;        for ( item=enclist; item!=NULL; item=item->next ) {            if ( item->builtin )                /* Do Nothing */;            else if ( i==sel )                break;            else                ++i;        }        if ( item!=NULL )            DeleteEncoding(item);        *done = true;    }    return( true );}
开发者ID:monkeyiq,项目名称:fontforge-fill-off-by-one,代码行数:29,


示例22: Goto_OK

static int Goto_OK(GGadget *g, GEvent *e) {    GWindow gw;    GotoData *d;    char *ret;    int i;    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {	gw = GGadgetGetWindow(g);	d = GDrawGetUserData(gw);	ret = GGadgetGetTitle8(GWidgetGetControl(gw,CID_Name));	if ( d->ranges!=NULL ) {	    for ( i=0; d->ranges[i].text!=NULL; ++i ) {		if ( strcmp(ret,(char *) d->ranges[i].text)==0 ) {		    d->ret = (intpt) d->ranges[i].userdata;	    break;		}	    }	}	if ( d->ret==-1 ) {	    d->ret = NameToEncoding(d->sf,d->map,ret);	    if ( d->ret<0 || (d->ret>=d->map->enccount && d->sf->cidmaster==NULL ))		d->ret = -1;	    if ( d->ret==-1 ) {		ff_post_notice(_("Goto"),_("Could not find the glyph: %.70s"),ret);	    } else		d->done = true;	} else	    d->done = true;    }return( true );}
开发者ID:UIKit0,项目名称:fontforge-1,代码行数:31,


示例23: JSTF_Lookup_OK

static int JSTF_Lookup_OK(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {	struct glyph_list_dlg *gld = GDrawGetUserData(GGadgetGetWindow(g));	int rows, i, len;	struct matrix_data *strings = GMatrixEditGet(GWidgetGetControl(gld->gw,CID_Lookups), &rows);	char *ret;	if ( rows==0 )	    gld->ret = NULL;	else {	    len = 0;	    for ( i=0; i<rows; ++i ) {		OTLookup *otl = (OTLookup *) strings[1*i+0].u.md_ival;		len += strlen(otl->lookup_name) +2;	    }	    gld->ret = ret = galloc(len+1);	    for ( i=0; i<rows; ++i ) {		OTLookup *otl = (OTLookup *) strings[1*i+0].u.md_ival;		strcpy(ret,otl->lookup_name);		strcat(ret,", ");		ret += strlen(ret);	    }	    if ( ret>gld->ret && ret[-1] == ' ' )		*--ret = '/0';	    if ( ret>gld->ret && ret[-1] == ',' )		*--ret = '/0';	}	gld->done = true;    }return( true );}
开发者ID:ystk,项目名称:debian-fontforge,代码行数:32,


示例24: JSTF_Glyph_OK

static int JSTF_Glyph_OK(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {	struct glyph_list_dlg *gld = GDrawGetUserData(GGadgetGetWindow(g));	int rows, i, len;	struct matrix_data *strings = GMatrixEditGet(GWidgetGetControl(gld->gw,CID_Glyphs), &rows);	char *ret;	if ( rows==0 )	    gld->ret = NULL;	else {	    len = 0;	    for ( i=0; i<rows; ++i )		len += strlen(strings[1*i+0].u.md_str) +1;	    ret = galloc(len+1);	    for ( i=0; i<rows; ++i ) {		strcpy(ret,strings[1*i+0].u.md_str);		strcat(ret," ");		ret += strlen(ret);	    }	    if ( ret>gld->ret && ret[-1] == ' ' )		ret[-1] = '/0';	    gld->ret = GlyphNameListDeUnicode(ret);	    free(ret);	}	gld->done = true;    }return( true );}
开发者ID:ystk,项目名称:debian-fontforge,代码行数:29,


示例25: BaseLang_OK

static int BaseLang_OK(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_buttonactivate ) {        BaseLangDlg *b = GDrawGetUserData(GGadgetGetWindow(g));        GGadget *g = GWidgetGetControl(b->gw,CID_Languages);        int r, rows, cols = GMatrixEditGetColCnt(g);        struct matrix_data *md = GMatrixEditGet(g,&rows);        struct baselangextent *cur, *last;        if ( md==NULL )            return( true );        b->old = last = NULL;        for ( r=0; r<rows; ++r ) {            cur = XZALLOC(struct baselangextent);            cur->lang = TagFromString(md[r*cols+0].u.md_str);            cur->descent = md[r*cols+1].u.md_ival;            cur->ascent = md[r*cols+2].u.md_ival;            cur->features = (struct baselangextent *) md[r*cols+3].u.md_str;            md[r*cols+3].u.md_str = NULL;            if ( last==NULL )                b->old = cur;            else                last->next = cur;            last = cur;        }        b->done = true;    }
开发者ID:jric,项目名称:fontforge,代码行数:28,


示例26: Do_OKRegen

static void Do_OKRegen(ReviewHintData *hd) {    SplineChar *sc = hd->cv->b.sc;    StemInfo *curh = sc->hstem, *curv = sc->vstem;    int do_regen = GGadgetIsChecked(GWidgetGetControl(hd->gw,CID_RegenHM));    /* We go backwards here, but not for long. The point is to go back to */    /*  the original hint state so we can preserve it, now that we know we*/    /*  are going to modify it */    sc->hstem = hd->oldh; sc->vstem = hd->oldv;    SCPreserveHints(sc,CVLayer((CharViewBase *) hd->cv));    sc->hstem = curh; sc->vstem = curv;    StemInfosFree(hd->oldh);    StemInfosFree(hd->oldv);    if ( hd->lastactive!=NULL )	hd->lastactive->active = false;    if ( hd->changed ) {	SCClearHintMasks(hd->cv->b.sc,CVLayer((CharViewBase *) (hd->cv)),true);	if ( do_regen )	    SCFigureHintMasks(hd->cv->b.sc,CVLayer((CharViewBase *) (hd->cv)));    }    /* Everything else got done as we went along... */    SCOutOfDateBackground(hd->cv->b.sc);    SCUpdateAll(hd->cv->b.sc);    SCHintsChanged(hd->cv->b.sc);    hd->done = true;}
开发者ID:Hasimir,项目名称:fontforge,代码行数:27,


示例27: CW_FocusChange

static int CW_FocusChange(GGadget *g, GEvent *e) {    if ( e->type==et_controlevent && e->u.control.subtype == et_textfocuschanged ) {	CreateWidthDlg *wd = GDrawGetUserData(GGadgetGetWindow(g));	int cid = (intpt) GGadgetGetUserData(g);	GGadgetSetChecked(GWidgetGetControl(wd->gw,cid),true);    }return( true );}
开发者ID:UIKit0,项目名称:fontforge-1,代码行数:8,


示例28: RH_TextChanged

static int RH_TextChanged(GGadget *g, GEvent *e) {    int wasconflict;    if ( e->type==et_controlevent && e->u.control.subtype == et_textchanged ) {	ReviewHintData *hd = GDrawGetUserData(GGadgetGetWindow(g));	if ( hd->active!=NULL ) {	    int cid = GGadgetGetCid(g);	    int err=0;	    real start = GetCalmReal8(hd->gw,CID_Base,_("Base:"),&err);	    real width = GetCalmReal8(hd->gw,CID_Width,_("Size:"),&err);	    if ( err )return( true );	    if ( GGadgetIsChecked(GWidgetGetControl(GGadgetGetWindow(g),CID_MovePoints)) ) {		if ( width<0 )		    RH_MovePoints(hd,hd->active,start+width,-width);		else		    RH_MovePoints(hd,hd->active,start,width);	    }	    if ( cid==CID_Base )		hd->active->start = start;	    else		hd->active->width = width;	    if ( width<0 ) {		hd->active->ghost = true;		hd->active->width = -width;		hd->active->start = start+width;	    } else		hd->active->ghost = false;	    wasconflict = hd->active->hasconflicts;	    if ( hd->ishstem )		hd->cv->b.sc->hconflicts = StemListAnyConflicts(hd->cv->b.sc->hstem);	    else		hd->cv->b.sc->vconflicts = StemListAnyConflicts(hd->cv->b.sc->vstem);	    hd->cv->b.sc->manualhints = true;	    hd->changed = true;	    if ( wasconflict!=hd->active->hasconflicts ) {		GGadgetSetVisible(GWidgetGetControl(hd->gw,CID_Overlap),hd->active->hasconflicts);		if ( hd->active->hasconflicts )		    GHVBoxFitWindow(GWidgetGetControl(hd->gw,CID_TopBox));	    }	    SCOutOfDateBackground(hd->cv->b.sc);	    SCUpdateAll(hd->cv->b.sc);	}    }return( true );}
开发者ID:Hasimir,项目名称:fontforge,代码行数:45,


示例29: AnchorD_DrawPos

static void AnchorD_DrawPos(AnchorDlg *a) {    GRect r;    char buffer[20];    unichar_t ubuf[20];    sprintf( buffer, "%g", (double) a->apos.x );    uc_strcpy(ubuf,buffer);    GGadgetSetTitle(GWidgetGetControl(a->gw,CID_X),ubuf);    sprintf( buffer, "%g", (double) a->apos.y );    uc_strcpy(ubuf,buffer);    GGadgetSetTitle(GWidgetGetControl(a->gw,CID_Y),ubuf);    r.x = a->ctl_len;    r.y = 0;    r.width = a->char_size*a->magfactor;    r.height = a->full_height;    GDrawRequestExpose(a->gw,&r,false);}
开发者ID:catharanthus,项目名称:fontforge,代码行数:18,


示例30: BaseLang_DoCancel

static void BaseLang_DoCancel(BaseLangDlg *b) {    GGadget *g = GWidgetGetControl(b->gw,CID_Languages);    int r, rows, cols = GMatrixEditGetColCnt(g);    struct matrix_data *md = _GMatrixEditGet(g,&rows);    for ( r=0; r<rows; ++r )        md[r*cols+cols-1].u.md_str = NULL;    b->done = true;}
开发者ID:jric,项目名称:fontforge,代码行数:9,



注:本文中的GWidgetGetControl函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ GXV_LIMIT_CHECK函数代码示例
C++ GWEN_NEW_OBJECT函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。