亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? undo.c

?? nedit 是一款linux下的開發源碼的功能強大的編輯器
?? C
?? 第 1 頁 / 共 2 頁
字號:
	strcpy(undo->oldText, deletedText);    }        /* increment the operation count for the autosave feature */    window->autoSaveOpCount++;    /* if the window is currently unmodified, remove the previous       restoresToSaved marker, and set it on this record */    if (!window->fileChanged) {    	undo->restoresToSaved = True;	for (u=window->undo; u!=NULL; u=u->next)    	    u->restoresToSaved = False;	for (u=window->redo; u!=NULL; u=u->next)    	    u->restoresToSaved = False;    }    	    /* Add the new record to the undo list  unless SaveUndoInfo is       saving information generated by an Undo operation itself, in       which case, add the new record to the redo list. */    if (isUndo)	addRedoItem(window, undo);    else	addUndoItem(window, undo);}/*** ClearUndoList, ClearRedoList**** Functions for clearing all of the information off of the undo or redo** lists and adjusting the edit menu accordingly*/void ClearUndoList(WindowInfo *window){    while (window->undo != NULL)    	removeUndoItem(window);}void ClearRedoList(WindowInfo *window){    while (window->redo != NULL)    	removeRedoItem(window);}/* ** DisableUnmodified** ** Remove the ability of a window to become "Unmodified" through a sequence** of undos.  This can happen if the file the window is editing gets deleted,** for example.*/void DisableUnmodified(WindowInfo *window){    UndoInfo *undo = window->undo;        while (undo != NULL){        undo->restoresToSaved = False;        undo = undo->next;    }}/*** Add an undo record (already allocated by the caller) to the window's undo** list if the item pushes the undo operation or character counts past the** limits, trim the undo list to an acceptable length.*/static void addUndoItem(WindowInfo *window, UndoInfo *undo){        /* Make the undo menu item sensitive now that there's something to undo */    if (window->undo == NULL) {    	XtSetSensitive(window->undoItem, True);	SetBGMenuUndoSensitivity(window, True);    }    /* Add the item to the beginning of the list */    undo->next = window->undo;    window->undo = undo;        /* Increment the operation and memory counts */    window->undoOpCount++;    window->undoMemUsed += undo->oldLen;        /* Trim the list if it exceeds any of the limits */    if (window->undoOpCount > UNDO_OP_LIMIT)    	trimUndoList(window, UNDO_OP_TRIMTO);    if (window->undoMemUsed > UNDO_WORRY_LIMIT)    	trimUndoList(window, UNDO_WORRY_TRIMTO);    if (window->undoMemUsed > UNDO_PURGE_LIMIT)    	trimUndoList(window, UNDO_PURGE_TRIMTO);}/*** Add an item (already allocated by the caller) to the window's redo list.*/static void addRedoItem(WindowInfo *window, UndoInfo *redo){    /* Make the redo menu item sensitive now that there's something to redo */    if (window->redo == NULL) {    	XtSetSensitive(window->redoItem, True);	SetBGMenuRedoSensitivity(window, True);    }        /* Add the item to the beginning of the list */    redo->next = window->redo;    window->redo = redo;}/*** Pop (remove and free) the current (front) undo record from the undo list*/static void removeUndoItem(WindowInfo *window){    UndoInfo *undo = window->undo;        if (undo == NULL)    	return;        /* Decrement the operation and memory counts */    window->undoOpCount--;    window->undoMemUsed -= undo->oldLen;        /* Remove and free the item */    window->undo = undo->next;    freeUndoRecord(undo);        /* if there are no more undo records left, dim the Undo menu item */    if (window->undo == NULL) {    	XtSetSensitive(window->undoItem, False);	SetBGMenuUndoSensitivity(window, False);    }}/*** Pop (remove and free) the current (front) redo record from the redo list*/static void removeRedoItem(WindowInfo *window){    UndoInfo *redo = window->redo;        /* Remove and free the item */    window->redo = redo->next;    freeUndoRecord(redo);        /* if there are no more redo records left, dim the Redo menu item */    if (window->redo == NULL) {    	XtSetSensitive(window->redoItem, False);	SetBGMenuRedoSensitivity(window, False);    }}/*** Add deleted text to the beginning or end** of the text saved for undoing the last operation.  This routine is intended** for continuing of a string of one character deletes or replaces, but will** work with more than one character.*/static void appendDeletedText(WindowInfo *window, const char *deletedText,	int deletedLen, int direction){    UndoInfo *undo = window->undo;    char *comboText;    /* re-allocate, adding space for the new character(s) */    comboText = XtMalloc(undo->oldLen + deletedLen);    /* copy the new character and the already deleted text to the new memory */    if (direction == FORWARD) {    	strcpy(comboText, undo->oldText);    	strcat(comboText, deletedText);    } else {	strcpy(comboText, deletedText);	strcat(comboText, undo->oldText);    }    /* keep track of the additional memory now used by the undo list */    window->undoMemUsed++;    /* free the old saved text and attach the new */    XtFree(undo->oldText);    undo->oldText = comboText;    undo->oldLen += deletedLen;}/*** Trim records off of the END of the undo list to reduce it to length** maxLength*/static void trimUndoList(WindowInfo *window, int maxLength){    int i;    UndoInfo *u, *lastRec;        if (window->undo == NULL)    	return;    /* Find last item on the list to leave intact */    for (i=1, u=window->undo; i<maxLength && u!=NULL; i++, u=u->next);    if (u == NULL)    	return;        /* Trim off all subsequent entries */    lastRec = u;    while (lastRec->next != NULL) {	u = lastRec->next;	lastRec->next = u->next;    	window->undoOpCount--;    	window->undoMemUsed -= u->oldLen;    	freeUndoRecord(u);    }}  static int determineUndoType(int nInserted, int nDeleted){    int textDeleted, textInserted;        textDeleted = (nDeleted > 0);    textInserted = (nInserted > 0);        if (textInserted && !textDeleted) {    	/* Insert */	if (nInserted == 1)	    return ONE_CHAR_INSERT;	else	    return BLOCK_INSERT;    } else if (textInserted && textDeleted) {    	/* Replace */	if (nInserted == 1)	    return ONE_CHAR_REPLACE;	else	    return BLOCK_REPLACE;    } else if (!textInserted && textDeleted) {    	/* Delete */	if (nDeleted == 1)	    return ONE_CHAR_DELETE;	else	    return BLOCK_DELETE;    } else {    	/* Nothing deleted or inserted */	return UNDO_NOOP;    }}static void freeUndoRecord(UndoInfo *undo){    if (undo == NULL)    	return;    	    XtFree(undo->oldText);    XtFree((char *)undo);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美肥妇bbw| 91高清视频免费看| 国产精品久久久久aaaa樱花| 成人小视频在线| 日韩国产高清影视| 亚洲欧洲性图库| 日本高清不卡aⅴ免费网站| 黄页网站大全一区二区| 五月婷婷激情综合网| 亚洲美女免费视频| 国产精品久久一级| 2023国产精品| 2020国产精品| 精品美女一区二区三区| 欧美一级二级在线观看| 国产精品1区2区| 婷婷激情综合网| 天堂成人免费av电影一区| 一区二区三区国产精品| 亚洲美女视频一区| 一区二区三区中文字幕精品精品| 日韩欧美一区二区视频| 91精品国产丝袜白色高跟鞋| 欧美日韩视频在线第一区| 色婷婷狠狠综合| 国v精品久久久网| 成人一区二区三区在线观看| 国产成人鲁色资源国产91色综| 国产一区二三区| 精品一区二区免费在线观看| 免费国产亚洲视频| 精品午夜一区二区三区在线观看| 日本视频中文字幕一区二区三区| 日本视频中文字幕一区二区三区| 天堂在线亚洲视频| 亚洲第一精品在线| 蜜臀va亚洲va欧美va天堂| 秋霞影院一区二区| 欧美亚洲免费在线一区| 成人av在线观| 欧美体内she精高潮| 欧美一个色资源| 欧美一个色资源| 久久久久久久久蜜桃| 中文字幕第一区| 亚洲午夜一区二区| 日本欧美一区二区三区乱码| 精品影视av免费| caoporen国产精品视频| 欧美日韩一级视频| 久久夜色精品一区| 亚洲福利一二三区| 麻豆国产精品视频| av电影在线观看一区| 7777精品伊人久久久大香线蕉完整版| 精品区一区二区| 亚洲精品中文在线影院| 美女被吸乳得到大胸91| 91香蕉视频mp4| 欧美一区二区福利视频| 久久亚洲精品国产精品紫薇| 亚洲伦在线观看| 蜜臀精品一区二区三区在线观看| 顶级嫩模精品视频在线看| 欧美日本不卡视频| 欧美一个色资源| 69p69国产精品| 欧美国产日韩在线观看| 国产精品视频一二三| 蜜桃av噜噜一区二区三区小说| 国产成人aaa| 亚洲精品一区二区在线观看| 日韩成人av影视| 欧美在线一二三| 亚洲黄色录像片| 色天天综合色天天久久| 国产视频一区在线观看| 国产成人精品免费在线| 国产欧美日韩精品在线| 国产精品综合视频| 国产欧美视频一区二区| 国产成人自拍高清视频在线免费播放| 日韩亚洲欧美一区二区三区| 老司机精品视频导航| www国产成人| 国产成人在线观看免费网站| 欧美国产日韩精品免费观看| 不卡一二三区首页| 亚洲男同性恋视频| 制服丝袜国产精品| 国产一区二区在线观看视频| 欧美国产一区在线| 91丝袜呻吟高潮美腿白嫩在线观看| 自拍偷在线精品自拍偷无码专区| 一本大道综合伊人精品热热| 亚洲a一区二区| 宅男在线国产精品| 国产精品69毛片高清亚洲| 日本一区二区动态图| 91久久免费观看| 天天操天天干天天综合网| 日韩精品一区二区三区视频播放 | 91精品国产欧美日韩| 强制捆绑调教一区二区| 久久久国产精品不卡| 91在线云播放| 欧美96一区二区免费视频| 久久精品一区二区三区av| 色女孩综合影院| 精品在线播放免费| 一区二区三区在线观看网站| 日韩欧美一区电影| 91女神在线视频| 久久国产福利国产秒拍| 亚洲欧美精品午睡沙发| 欧美疯狂性受xxxxx喷水图片| 国内精品国产成人国产三级粉色 | 丁香婷婷综合五月| 五月综合激情网| 国产精品久线在线观看| 91精品国产黑色紧身裤美女| av资源网一区| 激情综合网激情| 午夜在线成人av| **性色生活片久久毛片| 欧美电影免费观看高清完整版| 91丨九色丨国产丨porny| 狠狠色丁香婷婷综合久久片| 亚洲一区在线观看免费| 国产精品天天看| 26uuu国产电影一区二区| 欧美中文字幕一二三区视频| 国产一区二区三区视频在线播放| 亚洲一线二线三线视频| 自拍偷拍亚洲综合| 中文字幕巨乱亚洲| 久久久噜噜噜久久中文字幕色伊伊| 欧美精品在欧美一区二区少妇| 国产69精品久久久久毛片| 精品一区免费av| 美国十次综合导航| 天天av天天翘天天综合网色鬼国产| 国产精品乱码妇女bbbb| 国产视频视频一区| 国产性天天综合网| 精品国产91乱码一区二区三区 | 制服视频三区第一页精品| 91视频国产资源| 99久久777色| 成人激情免费电影网址| 成人免费va视频| bt7086福利一区国产| 99re亚洲国产精品| 99riav一区二区三区| 91视频在线看| 在线亚洲人成电影网站色www| av爱爱亚洲一区| 91在线精品一区二区| 日本丶国产丶欧美色综合| 色综合色综合色综合色综合色综合| 99这里只有精品| 欧美视频一区二区| 欧美日本高清视频在线观看| 51精品秘密在线观看| 日韩一区二区三区三四区视频在线观看| 亚洲一区视频在线| 中文字幕av一区 二区| 国产精品毛片a∨一区二区三区| 久久久久九九视频| 国产精品久久久久久久第一福利| 国产精品理论片| 亚洲一区二区在线免费看| 亚洲成a人片综合在线| 日韩国产欧美在线播放| 韩国女主播成人在线| 国产精品18久久久久久久网站| 国产精品18久久久久久久久久久久| 风间由美中文字幕在线看视频国产欧美| 国产麻豆视频一区二区| 9久草视频在线视频精品| 欧美午夜理伦三级在线观看| 91精品欧美福利在线观看| 久久亚洲春色中文字幕久久久| 国产午夜精品在线观看| 一区二区高清免费观看影视大全 | 成人免费视频视频| 91高清在线观看| 精品久久一区二区| 国产精品福利一区| 日本不卡一区二区| 成人av电影在线播放| 欧美乱妇一区二区三区不卡视频| 精品国产污网站| 亚洲一区二区中文在线| 国产伦精品一区二区三区免费迷 | 午夜精品视频一区| 成人性生交大合| 日韩欧美一二三四区| 亚洲卡通动漫在线| 国产精品一区二区三区乱码|