⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 windowtitle.c

📁 nedit 是一款linux下的开发源码的功能强大的编辑器
💻 C
📖 第 1 页 / 共 4 页
字号:
    if (XmToggleButtonGetState(etDialog.hostW))	appendToFormat(" [%h]");    else	removeFromFormat("%h");}#ifndef VMSstatic void toggleClearCaseCB(Widget w, XtPointer clientData, XtPointer callData){    if (XmToggleButtonGetState(etDialog.ccW))	appendToFormat(" {%c}");    else	removeFromFormat("%c");}#endif /* VMS */static void toggleStatusCB(Widget w, XtPointer clientData, XtPointer callData){    if (XmToggleButtonGetState(etDialog.statusW))    {	if (XmToggleButtonGetState(etDialog.shortStatusW))	    appendToFormat(" (%*S)");	else	    appendToFormat(" (%S)");    }    else    {	removeFromFormat("%S");	removeFromFormat("%*S");    }}static void toggleShortStatusCB(Widget w, XtPointer clientData, XtPointer callData){    char *format, *pos;        if (etDialog.suppressFormatUpdate)    {	return;    }        format = XmTextGetString(etDialog.formatW);        if (XmToggleButtonGetState(etDialog.shortStatusW))    {	/* Find all %S occurrences and replace them by %*S */	do	{	    pos = strstr(format, "%S");	    if (pos)	    {     	        char* tmp = (char*)XtMalloc((strlen(format)+2)*sizeof(char));		strncpy(tmp, format, (size_t)(pos-format+1));		tmp[pos-format+1] = 0;		strcat(tmp, "*");		strcat(tmp, pos+1);		XtFree(format);		format = tmp;	    }	}	while (pos);    }        else    {	/* Replace all %*S occurences by %S */	do	{            pos = strstr(format, "%*S");	    if (pos)	    {		strcpy(pos+1, pos+2);	    }	}	while(pos);    }        XmTextSetString(etDialog.formatW, format);    XtFree(format);}static void toggleUserCB(Widget w, XtPointer clientData, XtPointer callData){    if (XmToggleButtonGetState(etDialog.nameW))	appendToFormat(" %u");    else	removeFromFormat("%u");}static void toggleDirectoryCB(Widget w, XtPointer clientData, XtPointer callData){    if (XmToggleButtonGetState(etDialog.dirW))    {        char buf[20];	int maxComp;        char *value = XmTextGetString(etDialog.ndirW);	if (*value)	{	   if (sscanf(value, "%d", &maxComp) > 0)	   {	      sprintf(&buf[0], " %%%dd ", maxComp);           }   	   else	   {   	      sprintf(&buf[0], " %%d "); /* Should not be necessary */ 	   }        }	else	{	   sprintf(&buf[0], " %%d ");	}	XtFree(value);        appendToFormat(buf);    }    else    {	int i;	removeFromFormat("%d");	for (i=0; i<=9; ++i)	{	    char buf[20];	    sprintf(&buf[0], "%%%dd", i);	    removeFromFormat(buf);	}    }}static void enterMaxDirCB(Widget w, XtPointer clientData, XtPointer callData){    int maxComp = -1;    char *format;    char *value;        if (etDialog.suppressFormatUpdate)    {	return;    }	    format = XmTextGetString(etDialog.formatW);    value = XmTextGetString(etDialog.ndirW);        if (*value)    {	if (sscanf(value, "%d", &maxComp) <= 0)	{	   /* Don't allow non-digits to be entered */	   XBell(XtDisplay(w), 0);	   XmTextSetString(etDialog.ndirW, "");	}    }        if (maxComp >= 0)    {	char *pos;	int found = False;	char insert[2];        insert[0] = (char)('0' + maxComp);        insert[1] = (char)0; /* '0' digit and 0 char ! */		/* Find all %d and %nd occurrences and replace them by the new value */	do	{	    int i;	    found = False;	    pos = strstr(format, "%d");	    if (pos)	    {     	        char* tmp = (char*)XtMalloc((strlen(format)+2)*sizeof(char));		strncpy(tmp, format, (size_t)(pos-format+1));		tmp[pos-format+1] = 0;		strcat(tmp, &insert[0]);		strcat(tmp, pos+1);		XtFree(format);		format = tmp;		found = True;	    }	      	    for (i=0; i<=9; ++i)	    {        	char buf[20];		sprintf(&buf[0], "%%%dd", i);		if (i != maxComp)		{		    pos = strstr(format, &buf[0]);		    if (pos)		    {			*(pos+1) = insert[0];			found = True;		    }		}	    }	}	while (found);    }        else    {	int found = True;		/* Replace all %nd occurences by %d */	do	{   	    int i;	    found = False;	    for (i=0; i<=9; ++i)	    {        	char buf[20];		char *pos;		sprintf(&buf[0], "%%%dd", i);		pos = strstr(format, &buf[0]);		if (pos)		{		    strcpy(pos+1, pos+2);		    found = True;		}	    }	}	while(found);    }        XmTextSetString(etDialog.formatW, format);    XtFree(format);    XtFree(value);}static void createEditTitleDialog(Widget parent){#define LEFT_MARGIN_POS 2#define RIGHT_MARGIN_POS 98#define V_MARGIN 5#define RADIO_INDENT 3    Widget buttonForm, formatLbl, previewFrame;    Widget previewForm, previewBox, selectFrame, selectBox, selectForm;    Widget testLbl, selectLbl;    Widget applyBtn, dismissBtn, restoreBtn, helpBtn;    XmString s1;    XmFontList fontList;    Arg args[20];    int defaultBtnOffset;    Dimension	shadowThickness;    Dimension	radioHeight, textHeight;    Pixel background;        int ac = 0;    XtSetArg(args[ac], XmNautoUnmanage, False); ac++;    XtSetArg(args[ac], XmNtitle, "Customize Window Title"); ac++;    etDialog.form = CreateFormDialog(parent, "customizeTitle", args, ac);    /*     * Destroy the dialog every time it is unmapped (otherwise it 'sticks'     * to the window for which it was created originally).     */    XtAddCallback(etDialog.form, XmNunmapCallback, wtUnmapCB, NULL);    XtAddCallback(etDialog.form, XmNdestroyCallback, wtDestroyCB, NULL);        etDialog.shell = XtParent(etDialog.form);        /* Definition form */    selectFrame = XtVaCreateManagedWidget("selectionFrame", xmFrameWidgetClass,	    etDialog.form,	    XmNleftAttachment, XmATTACH_POSITION,	    XmNleftPosition, LEFT_MARGIN_POS,	    XmNtopAttachment, XmATTACH_FORM,	    XmNtopOffset, V_MARGIN,	    XmNrightAttachment, XmATTACH_POSITION,	    XmNrightPosition, RIGHT_MARGIN_POS, NULL);    XtVaCreateManagedWidget("titleLabel", xmLabelGadgetClass,    	    selectFrame,    	    XmNlabelString,	    s1=XmStringCreateSimple("Title definition"),	    XmNchildType, XmFRAME_TITLE_CHILD,	    XmNchildHorizontalAlignment, XmALIGNMENT_BEGINNING, NULL);    XmStringFree(s1);        selectForm = XtVaCreateManagedWidget("selectForm", xmFormWidgetClass,	    selectFrame ,	    XmNleftAttachment, XmATTACH_POSITION,	    XmNleftPosition, LEFT_MARGIN_POS,	    XmNtopAttachment, XmATTACH_FORM,	    XmNtopOffset, V_MARGIN,	    XmNrightAttachment, XmATTACH_POSITION,	    XmNrightPosition, RIGHT_MARGIN_POS, NULL);        selectLbl = XtVaCreateManagedWidget("selectLabel", xmLabelGadgetClass,    	    selectForm,    	    XmNlabelString, s1=XmStringCreateSimple("Select title components to include:  "),	    XmNleftAttachment, XmATTACH_POSITION,	    XmNleftPosition, LEFT_MARGIN_POS,	    XmNtopOffset, 5,	    XmNbottomOffset, 5,	    XmNtopAttachment, XmATTACH_FORM, NULL);    XmStringFree(s1);    selectBox = XtVaCreateManagedWidget("selectBox", xmFormWidgetClass,    	    selectForm,    	    XmNorientation, XmHORIZONTAL,    	    XmNpacking, XmPACK_TIGHT,    	    XmNradioBehavior, False,	    XmNleftAttachment, XmATTACH_FORM,	    XmNrightAttachment, XmATTACH_FORM,	    XmNtopOffset, 5,	    XmNtopAttachment, XmATTACH_WIDGET,	    XmNtopWidget, selectLbl,	    NULL);        etDialog.fileW = XtVaCreateManagedWidget("file",     	    xmToggleButtonWidgetClass, selectBox,	    XmNleftAttachment, XmATTACH_POSITION,	    XmNleftPosition, RADIO_INDENT,	    XmNtopAttachment, XmATTACH_FORM,    	    XmNlabelString, s1=XmStringCreateSimple("File name (%f)"),    	    XmNmnemonic, 'F', NULL);    XtAddCallback(etDialog.fileW, XmNvalueChangedCallback, toggleFileCB, NULL);    XmStringFree(s1);    etDialog.statusW = XtVaCreateManagedWidget("status",     	    xmToggleButtonWidgetClass, selectBox,	    XmNleftAttachment, XmATTACH_POSITION,	    XmNleftPosition, RADIO_INDENT,	    XmNtopAttachment, XmATTACH_WIDGET,	    XmNtopWidget, etDialog.fileW,    	    XmNlabelString, s1=XmStringCreateSimple("File status (%S) "),    	    XmNmnemonic, 't', NULL);    XtAddCallback(etDialog.statusW, XmNvalueChangedCallback, toggleStatusCB, NULL);    XmStringFree(s1);    etDialog.shortStatusW = XtVaCreateManagedWidget("shortStatus",     	    xmToggleButtonWidgetClass, selectBox,	    XmNleftAttachment, XmATTACH_WIDGET,	    XmNleftWidget, etDialog.statusW,	    XmNtopAttachment, XmATTACH_WIDGET,	    XmNtopWidget, etDialog.fileW,    	    XmNlabelString, s1=XmStringCreateSimple("brief"),    	    XmNmnemonic, 'b', NULL);    XtAddCallback(etDialog.shortStatusW, XmNvalueChangedCallback, toggleShortStatusCB, NULL);    XmStringFree(s1);    etDialog.ccW = XtVaCreateManagedWidget("ccView",     	    xmToggleButtonWidgetClass, selectBox,	    XmNleftAttachment, XmATTACH_POSITION,	    XmNleftPosition, RADIO_INDENT,	    XmNtopAttachment, XmATTACH_WIDGET,	    XmNtopWidget, etDialog.statusW,    	    XmNlabelString, s1=XmStringCreateSimple("ClearCase view tag (%c) "),    	    XmNmnemonic, 'C', NULL);#ifdef VMS    XtSetSensitive(etDialog.ccW, False);#else    XtAddCallback(etDialog.ccW, XmNvalueChangedCallback, toggleClearCaseCB, NULL);#endif /* VMS */    XmStringFree(s1);    etDialog.dirW = XtVaCreateManagedWidget("directory",     	    xmToggleButtonWidgetClass, selectBox,	    XmNleftAttachment, XmATTACH_POSITION,	    XmNleftPosition, RADIO_INDENT,	    XmNtopAttachment, XmATTACH_WIDGET,	    XmNtopWidget, etDialog.ccW,    	    XmNlabelString, s1=XmStringCreateSimple("Directory (%d),"),    	    XmNmnemonic, 'D', NULL);    XtAddCallback(etDialog.dirW, XmNvalueChangedCallback, toggleDirectoryCB, NULL);    XmStringFree(s1);        XtVaGetValues(etDialog.fileW, XmNheight, &radioHeight, NULL);    etDialog.mdirW = XtVaCreateManagedWidget("componentLab",     	    xmLabelGadgetClass, selectBox,	    XmNheight, radioHeight,	    XmNleftAttachment, XmATTACH_WIDGET,	    XmNleftWidget, etDialog.dirW,	    XmNtopAttachment, XmATTACH_WIDGET,	    XmNtopWidget, etDialog.ccW,    	    XmNlabelString, s1=XmStringCreateSimple("max. components: "),    	    XmNmnemonic, 'x', NULL);    XmStringFree(s1);        etDialog.ndirW = XtVaCreateManagedWidget("dircomp", 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -