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

📄 test15.c

📁 安装DDD之前
💻 C
📖 第 1 页 / 共 5 页
字号:
	CHECK_PTR_CHANGED ( inner_widget )	CHECK_PTR_CHANGED ( line_table )	CHECK_INT_VALUE ( table_size )	CHECK_INT_VALUE ( table_index )	CHECK_INT_VALUE ( repaint.number )	CHECK_INT_VALUE ( repaint.maximum )	if ( widgetInitialized && textPart.repaint.number != copyOfTextInternals.repaint.number )		ShowRangeData ( toBeCompared, True, True );			CHECK_INT_VALUE ( highlight.number )	if ( widgetInitialized && textPart.highlight.number != copyOfTextInternals.highlight.number )		ShowHighlightData ( toBeCompared );	if ( ! widgetInitialized )		{		CopyTextInternals ( toBeCompared );		return;		}#undef COPY#define COPY copyOfRangeAtIndex0#undef COMPARE#define COMPARE textPart.repaint.range[0]#undef PART#define PART "range[0] "		if ( widgetInitialized && textPart.repaint.number > 0 )			{			CHECK_INT_VALUE ( from )			CHECK_INT_VALUE ( to )			}#undef COPY#define COPY copyOfTextSourceInternals#undef COMPARE#define COMPARE (*textPart.source->data)#undef PART#define PART "source "	CHECK_INT_VALUE ( left )	CHECK_INT_VALUE ( right )	if ( argStringValues )		{		CHECK_STRING_VALUE ( ptr )		CHECK_STRING_VALUE ( value )		CHECK_STRING_VALUE ( gap_start )		CHECK_STRING_VALUE ( gap_end )		}	CHECK_INT_VALUE ( length )	CHECK_INT_VALUE ( maxlength )	CHECK_INT_VALUE ( old_length )	CHECK_INT_VALUE ( maxallowed )	CHECK_TIME ( prim_time )/*	CHECK_CHAR_VALUE ( PSWC_NWLN[0] )*/	if ( copyOfTextSourceInternals.PSWC_NWLN && 		copyOfTextSourceInternals.PSWC_NWLN[0] != textPart.source->data->PSWC_NWLN[0] )		{		PRINT_BANNER		PrintDiffDesc ( PART, "PSWC_NWLN[0]" );                printf (  "( old = %i  new = %i )\n", 			copyOfTextSourceInternals.PSWC_NWLN[0],			textPart.source->data->PSWC_NWLN[0] );		}	else if ( ! copyOfTextSourceInternals.PSWC_NWLN && textPart.source->data->PSWC_NWLN[0])		{		PRINT_BANNER		PrintDiffDesc ( PART, "PSWC_NWLN[0]" );                printf (  "( old = <>  new = %i )\n", 			textPart.source->data->PSWC_NWLN[0] );		}	CHECK_CHAR_VALUE ( hasselection )	if ( widgetInitialized && GetSrc ( toBeCompared ) -> data -> hasselection &&			! copyOfTextSourceInternals . hasselection  )		ShowSelectionData ( toBeCompared );	CHECK_CHAR_VALUE ( editable )#undef COPY#define COPY copyOfTextInputInternals#undef COMPARE#define COMPARE (*textPart.input->data)#undef PART#define PART "input  "	CHECK_INT_VALUE ( new_sel_length )	CHECK_INT_VALUE ( threshold )	CHECK_CHAR_VALUE ( selectionHint.x )	CHECK_CHAR_VALUE ( selectionHint.y )	CHECK_CHAR_VALUE ( Sel2Hint.x )	CHECK_CHAR_VALUE ( Sel2Hint.y )	CHECK_INT_VALUE  (select_id )	CHECK_CHAR_VALUE ( stype )	CHECK_CHAR_VALUE ( extendDir )	CHECK_CHAR_VALUE ( Sel2ExtendDir )	CHECK_INT_VALUE ( origLeft )	CHECK_INT_VALUE ( origRight )	CHECK_INT_VALUE ( Sel2OrigLeft )	CHECK_INT_VALUE ( Sel2OrigRight )	CHECK_INT_VALUE ( stuffpos )	CHECK_INT_VALUE ( sel2Left )	CHECK_INT_VALUE ( sel2Right )	CHECK_INT_VALUE ( anchor )	CHECK_INT_VALUE ( select_pos_x )	CHECK_INT_VALUE ( select_pos_y )	CHECK_CHAR_VALUE ( pendingdelete )	CHECK_CHAR_VALUE ( syncing )	CHECK_CHAR_VALUE ( extending )	CHECK_CHAR_VALUE ( Sel2Extending )	CHECK_CHAR_VALUE ( hasSel2 )	if ( widgetInitialized && Text_InputData( toBeCompared ) -> hasSel2 &&			! copyOfTextInputInternals.hasSel2  )		ShowSecondarySelectionData ( toBeCompared );	CHECK_CHAR_VALUE ( has_destination )	CHECK_CHAR_VALUE ( selectionMove )	CHECK_CHAR_VALUE ( cancel )	CHECK_CHAR_VALUE ( overstrike )	CHECK_CHAR_VALUE ( sel_start )	CHECK_TIME ( dest_time )	CHECK_TIME ( sec_time )	CHECK_TIME ( lasttime )#undef COPY#define COPY copyOfTextOutputInternals#undef COMPARE#define COMPARE (*textPart.output->data)#undef PART#define PART "output "	CHECK_PTR_CHANGED ( fontlist )	CHECK_INT_VALUE ( blinkrate )	CHECK_CHAR_VALUE ( wordwrap )	CHECK_CHAR_VALUE ( cursor_position_visible )	CHECK_CHAR_VALUE ( autoshowinsertpoint )	CHECK_CHAR_VALUE ( hasfocus )	CHECK_CHAR_VALUE ( has_rect )	CHECK_CHAR_VALUE ( handlingexposures )	CHECK_CHAR_VALUE ( exposevscroll )	CHECK_CHAR_VALUE ( exposehscroll )	CHECK_CHAR_VALUE ( resizewidth )	CHECK_CHAR_VALUE ( resizeheight )	CHECK_CHAR_VALUE ( scrollvertical )	CHECK_CHAR_VALUE ( scrollhorizontal )	CHECK_CHAR_VALUE ( scrollleftside )	CHECK_CHAR_VALUE ( scrolltopside )	CHECK_CHAR_VALUE ( ignorevbar )	CHECK_CHAR_VALUE ( ignorehbar )	if ( argShowDrawCursor )		{		CHECK_SHORT_VALUE ( cursor_on )		CHECK_CHAR_VALUE ( refresh_ibeam_off )		CHECK_CHAR_VALUE ( blinkstate )		}	CHECK_CHAR_VALUE ( suspend_hoffset )	CHECK_CHAR_VALUE ( use_fontset )	CHECK_CHAR_VALUE ( have_inverted_image_gc )	CHECK_INT_VALUE ( insertx )	CHECK_INT_VALUE ( inserty )	CHECK_INT_VALUE ( number_lines )	CHECK_INT_VALUE ( leftmargin )	CHECK_INT_VALUE ( rightmargin )	CHECK_INT_VALUE ( topmargin )	CHECK_INT_VALUE ( bottommargin )	CHECK_INT_VALUE ( scrollwidth )	CHECK_INT_VALUE ( vsliderSize )	CHECK_INT_VALUE ( hoffset )	CHECK_INT_VALUE ( averagecharwidth )	CHECK_INT_VALUE ( tabwidth )	CHECK_CHAR_VALUE ( columns )	CHECK_CHAR_VALUE ( rows )	CHECK_INT_VALUE ( lineheight )	CHECK_INT_VALUE ( minwidth )	CHECK_INT_VALUE ( minheight )	CHECK_INT_VALUE ( prevW )	CHECK_INT_VALUE ( prevH )	CHECK_INT_VALUE ( cursorwidth )	CHECK_INT_VALUE ( cursorheight )	CHECK_INT_VALUE ( font_ascent )	CHECK_INT_VALUE ( font_descent )	CHECK_PTR_CHANGED ( timerid )	if ( argShowDrawCursor )		{		CHECK_INT_VALUE ( cursor )		CHECK_INT_VALUE ( add_mode_cursor )		CHECK_INT_VALUE ( ibeam_off )		CHECK_INT_VALUE ( stipple_tile )		CHECK_PTR_VALUE ( gc )		CHECK_PTR_VALUE ( imagegc )		CHECK_PTR_CHANGED ( save_gc )		}	CHECK_PTR_CHANGED ( vbar )	CHECK_PTR_CHANGED ( hbar )	CHECK_PTR_CHANGED ( font )	CHECK_CHAR_VALUE ( columns_set )	CHECK_CHAR_VALUE ( rows_set )/* what the hell is this !!! 	CHECK_CHAR_VALUE ( fontlist_created )*/	CopyTextInternals ( toBeCompared );	if ( ! printedBanner )		printf ( "\tNo difference between text with previous saved version:\n" );}void PrintLead(){	int i ;	for ( i = 0; i < indent ; i++ )		printf ( "->" );}void ShowLine (  XmTextWidget text, LineNum lineNum, int calledFromDiff ){	Line lineData ;	if ( (int)lineNum < 0 )		return;	lineData = &Text_Line(text) [ lineNum ];	indent ++;	if ( calledFromDiff )		printf ( "\t\t\t" );	else		PrintLead();	printf ( "Line : no %i : ", lineNum );	if ( lineData -> start != PASTENDPOS )		{		printf ( "start %i  changed %s  changed_position %i  past_end %s ",			(int)lineData -> start, ( lineData->changed ? "yes" : "no " ),			(int)lineData->changed_position, ( lineData->past_end ? "yes" : "no " ) );		if ( lineData -> extra  )			{			/* printf ( "extra ( NOT-SHOWING-WIDTH " ); */			printf ( "extra ( width = %i ", (int)lineData -> extra->width );			if ( lineData -> extra -> wrappedbychar )				printf ( "wrappedByChar = %c", (int)lineData -> extra->wrappedbychar );			printf ( ")" );			}		}	else		{		printf ( "empty" );		}	printf ( "\n" );	indent --;}void ShowLineTable (  XmTextWidget text, LineNum lineNum, int calledFromDiff ){	XmTextLineTableRec lineData = Text_LineTable(text) [ lineNum ];	indent ++;	if ( calledFromDiff )		printf ( "\t\t\t" );	else		PrintLead();	printf ( "LineTable : no %i : ", lineNum );	if ( lineData.start_pos != PASTENDPOS )		{		printf ( "start %i  \n", (int)lineData . start_pos );		}	else		{		printf ( "empty\n" );		}	indent --;}void ShowSecondarySelectionData ( XmTextWidget text ){	if ( Text_InputData( text ) -> hasSel2 )		{		PrintLead();		printf ( " Secondary Selection : hint ( x = %i, y = %i )\n", 			Text_InputData( text ) -> Sel2Hint.x, 			Text_InputData( text ) -> Sel2Hint.y );		PrintLead();		printf ( " Secondary Selection : original ( left = %i, right = %i )\n", 			(int) Text_InputData( text ) -> Sel2OrigLeft, 			(int) Text_InputData( text ) -> Sel2OrigRight );		PrintLead();		printf ( " Secondary Selection : current ( left = %i, right = %i )\n", 			(int) Text_InputData( text ) -> sel2Left,			(int) Text_InputData( text ) -> sel2Right );		PrintLead();		printf ( " Secondary Selection : extending = %i, time of ownership = %li\n", 			Text_InputData( text ) -> Sel2Extending,			Text_InputData( text ) -> sec_time );		}}void ShowHighlightData ( XmTextWidget  text ){	int i = 0;	PrintLead();	printf ( " Selection : highlight ( number = %i, max = %i ), changed = %s\n", 		Text_Highlight( text ) . number, Text_Highlight( text ) . maximum,		Text ( text ).highlight_changed ?  "yes" : "no " );	while ( i < Text_Highlight( text ) . number )			{			PrintLead();			printf ( " Selection : highlight no %i ( pos %i, mode %i ) )\n", 				i+1, 				(int)Text_Highlight( text ) . list[i].position, 				Text_Highlight( text ) . list[i].mode );			i++;			} 	PrintLead();	printf ( " Selection : old highlight ( number = %i, max = %i )\n", 		Text_OldHighlight( text ) . number, Text_OldHighlight( text ) . maximum );	i = 0;	while ( i < Text_OldHighlight( text ) . number && Text_OldHighlight( text ) . maximum )			{			PrintLead();			printf ( " Selection : old highlight no %i ( pos %i, mode %i ) )\n", 				i+1, 				(int) Text_OldHighlight( text ) . list[i].position, 				Text_OldHighlight( text ) . list[i].mode );			i++;			} }void ShowSelectionData ( XmTextWidget  text ){	if ( GetSrc ( text ) -> data -> hasselection )		{		PrintLead();		printf ( " Selection : length = %i, button hint ( x = %i, y = %i ), extend %s\n", 			Text_InputData( text ) -> new_sel_length, 			Text_InputData( text ) -> selectionHint.x,			Text_InputData( text ) -> selectionHint.y,			Text_InputData( text ) -> extending ? 				( Text_InputData( text ) -> extendDir == XmsdLeft ? "left " : "right" )				: "no" 				);		PrintLead();		printf ( " Selection : anchor = %i, original ( left = %i, right = %i )\n", 			(int) Text_InputData( text ) -> anchor,			(int) Text_InputData( text ) -> origLeft,			(int) Text_InputData( text ) -> origRight );		ShowHighlightData ( text );		}}void ShowAllSelectionData ( XmTextWidget text ){	ShowSelectionData ( text );	ShowSecondarySelectionData ( text );}void PrintTextVerifyPtr ( Widget text, String callback, XmTextVerifyPtr data ){	PrintDiffs ( (XmTextWidget)text );	PrintLead();	printf ( "callback %s", callback );	switch ( data -> reason )		{		case XmCR_LOSING_FOCUS:			printf ( " : reason XmCR_LOSING_FOCUS\n");			break;		case XmCR_MODIFYING_TEXT_VALUE:			printf ( " : reason XmCR_MODIFYING_TEXT_VALUE\n");			break;		case XmCR_MOVING_INSERT_CURSOR:			printf ( " : reason XmCR_MOVING_INSERT_CURSOR\n");			break;		default :			printf ( "PrintTextVerifyPtr: INVALID REASON \n\n" );		}	printf ( "\tcurrInsert = %i\tnewInsert = %i\n", 		(int) data ->currInsert, (int) data ->newInsert );	if ( data -> reason != XmCR_MOVING_INSERT_CURSOR )		printf ( "\tstartPos   = %i\tendPos = %i\n", 			(int) data ->startPos, (int) data ->endPos );	if ( data -> reason == XmCR_MODIFYING_TEXT_VALUE )		printf ( "\ttext\n\t\tlength = %i\t\tformat = %li\n\t\tptr = %s\n",			 data->text->length, data->text->format, data->text->ptr );	ShowAllSelectionData ( (XmTextWidget)text );	fflush (NULL);}void	ShowRangeData ( 			XmTextWidget text,			int fromComparision,			Boolean maxOrNum ){	int i;	int upto = maxOrNum ? text->text.repaint.maximum : text->text.repaint.number;	for ( i = 0; i < upto; i++ )		{		if ( fromComparision )			printf ( "\t\t" );		else			PrintLead();		printf ( " Range : no. %d from position %i to position %i\n",					(int)i,					(int)text->text.repaint.range[i].from,					(int)text->text.repaint.range[i].to );		}}void	TextActionHook (						Widget		w,						XtPointer	clientData_unused,						String		actionName,						XEvent*		event,						String*		params,						Cardinal*	noOfParams ){	if ( ! XmIsText( w ) )		return;	if ( ( strncmp ( actionName, "focus", strlen("focus")) == 0 )

⌨️ 快捷键说明

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