which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@5762 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			317 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			317 lines
		
	
	
		
			6.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
| 
 | |
| 
 | |
| /*******************************************************************************
 | |
| *  Copyright 1991-1996 by ORCA Software, Inc.                                  *
 | |
| *                                                                              *
 | |
| *  All rights reserved.  May not be reproduced or distributed, in printed or   *
 | |
| *  electronic form, without permission of ORCA Software, Inc.  May not be      *
 | |
| *  distributed as object code, separately or linked with other object modules, *
 | |
| *  without permission.                                                         *
 | |
| *******************************************************************************/
 | |
| 
 | |
| #include "xi.h"
 | |
| 
 | |
| static struct s_error_entry
 | |
| {
 | |
|   int errcode;
 | |
|   char *text;
 | |
| } error_table[] =
 | |
| 
 | |
| {
 | |
|   {
 | |
|     1000, "Error: Problem 1000"
 | |
|   },
 | |
|   {
 | |
|     1001, "Warning: Problem 1001"
 | |
|   },
 | |
|   {
 | |
|     1002, "Error: XI_TEXT internal error"
 | |
|   },
 | |
|   {
 | |
|     20001, "XI: internal object deletion error"
 | |
|   },
 | |
|   {
 | |
|     20002, "Internal XI error"
 | |
|   },
 | |
|   {
 | |
|     20003, "Internal error"
 | |
|   },
 | |
|   {
 | |
|     20004, "Internal XI error"
 | |
|   },
 | |
|   {
 | |
|     20005, "Internal error"
 | |
|   },
 | |
|   {
 | |
|     20006, "Attempting to move to disabled or invisible object"
 | |
|   },
 | |
|   {
 | |
|     20007, "Attempting to move to disabled or invisible object"
 | |
|   },
 | |
|   {
 | |
|     20008, "XI: unknown STX callback"
 | |
|   },
 | |
|   {
 | |
|     20009, "XI: unknown LM callback"
 | |
|   },
 | |
|   {
 | |
|     20010, "Non-column object sent to xi_column_set_pixel_width"
 | |
|   },
 | |
|   {
 | |
|     20011, "Can't create empty container"
 | |
|   },
 | |
|   {
 | |
|     20012, "Containers can only contain buttons"
 | |
|   },
 | |
|   {
 | |
|     20013, "Can't mix button types in a container"
 | |
|   },
 | |
|   {
 | |
|     20014, "Not enough room in container for buttons"
 | |
|   },
 | |
|   {
 | |
|     20015, "Internal XI error"
 | |
|   },
 | |
|   {
 | |
|     20016, "xi_create: Invalid XI_OBJ_TYPE"
 | |
|   },
 | |
|   {
 | |
|     20017, "Invalid XI object passed to xi_delete"
 | |
|   },
 | |
|   {
 | |
|     20018, "Invalid object passed to xi_get_attrib"
 | |
|   },
 | |
|   {
 | |
|     20019, "xi_get_def_rect: Invalid XI_OBJ_TYPE in tree"
 | |
|   },
 | |
|   {
 | |
|     20020, "Non-list object passed to xi_get_list_info"
 | |
|   },
 | |
|   {
 | |
|     20021, "xi_get_rect: Invalid XI_OBJ_TYPE in tree"
 | |
|   },
 | |
|   {
 | |
|     20022, "Invalid object passed to xi_get_sel"
 | |
|   },
 | |
|   {
 | |
|     20023, "xi_get_text not implemented for XIT_ROW"
 | |
|   },
 | |
|   {
 | |
|     20024, "Invalidate object passed to xi_scroll_rec"
 | |
|   },
 | |
|   {
 | |
|     20025, "Invalidate object passed to xi_delete_row"
 | |
|   },
 | |
|   {
 | |
|     20026, "Invalidate object passed to xi_insert_row"
 | |
|   },
 | |
|   {
 | |
|     20027, "Invalid object passed to xi_set_attrib"
 | |
|   },
 | |
|   {
 | |
|     20028, "Invalid object passed to xi_set_sel"
 | |
|   },
 | |
|   {
 | |
|     20029, "xi_set_text not implemented for XIT_ROW"
 | |
|   },
 | |
|   {
 | |
|     20030, "Internal focus error"
 | |
|   },
 | |
|   {
 | |
|     20031, "Non-list object sent to xi_set_fixed_columns"
 | |
|   },
 | |
|   {
 | |
|     20032, "button height exceeds container height"
 | |
|   },
 | |
|   {
 | |
|     20033, "button width exceeds container width"
 | |
|   },
 | |
|   {
 | |
|     20034, "height must be at least 8 form units"
 | |
|   },
 | |
|   {
 | |
|     20035, "Buttons won't fit in container"
 | |
|   },
 | |
|   {
 | |
|     20036, "xi_container_reorient() passed wrong object type"
 | |
|   },
 | |
|   {
 | |
|     20037, "Invalidate object passed to xi_scroll_internal"
 | |
|   },
 | |
|   {
 | |
|     20038, "Non-list object sent to xi_get_fixed_columns"
 | |
|   },
 | |
|   {
 | |
|     20039, "Non-interface object sent to xi_itf_closing_is"
 | |
|   },
 | |
|   {
 | |
|     20050, "xi_create: Rectangles cannot have children"
 | |
|   },
 | |
|   {
 | |
|     20051, "xi_create: Lines cannot have children"
 | |
|   },
 | |
|   {
 | |
|     20052, "xi_create: Buttons cannot have children"
 | |
|   },
 | |
|   {
 | |
|     20053, "xi_create: Fields cannot have children"
 | |
|   },
 | |
|   {
 | |
|     20055, "xi_create: Static text controls cannot have children"
 | |
|   },
 | |
|   {
 | |
|     20056, "xi_create: Columns cannot have children"
 | |
|   },
 | |
|   {
 | |
|     20088, "xi_set_icon: Invalid object"
 | |
|   },
 | |
|   {
 | |
|     20089, "Too many radio buttons in a container"
 | |
|   },
 | |
|   {
 | |
|     20090, "create_window returned NULL"
 | |
|   },
 | |
|   {
 | |
|     20091, "Window information corrupt"
 | |
|   },
 | |
|   {
 | |
|     20092, "Window information corrupt"
 | |
|   },
 | |
|   {
 | |
|     20094, "Window information corrupt"
 | |
|   },
 | |
|   {
 | |
|     20095, "XinAppSystemSetupInit was not provided."
 | |
|   },
 | |
|   {
 | |
|     20101, "Invalid interface passed to xi_add_form_def"
 | |
|   },
 | |
|   {
 | |
|     20102, "Invalid interface passed to xi_add_list_def"
 | |
|   },
 | |
|   {
 | |
|     20103, "Invalid list passed to xi_add_column_def"
 | |
|   },
 | |
|   {
 | |
|     20104, "Invalid form passed to xi_add_field_def"
 | |
|   },
 | |
|   {
 | |
|     20105, "Invalid interface passed to xi_add_container_def"
 | |
|   },
 | |
|   {
 | |
|     20106, "Invalid parent passed to xi_add_button_def"
 | |
|   },
 | |
|   {
 | |
|     20107, "Invalid interface passed to xi_add_text_def"
 | |
|   },
 | |
|   {
 | |
|     20108, "Invalid interface passed to xi_add_line_def"
 | |
|   },
 | |
|   {
 | |
|     20109, "Groups must have at least one member"
 | |
|   },
 | |
|   {
 | |
|     20110, "Invalid interface passed to xi_add_group_def"
 | |
|   },
 | |
|   {
 | |
|     20111, "Invalid interface passed to xi_add_rect_def"
 | |
|   },
 | |
|   {
 | |
|     20112, "Invalid field buffer size"
 | |
|   },
 | |
|   {
 | |
|     20201, "Out of memory"
 | |
|   },
 | |
|   {
 | |
|     20907, "lm_get_attrib: Invalid LM part"
 | |
|   },
 | |
|   {
 | |
|     20908, "Attempting to get text from an invalid cell"
 | |
|   },
 | |
|   {
 | |
|     20915, "Invalid column number passed to lm_delete_column"
 | |
|   },
 | |
|   {
 | |
|     20917, "lm_set_buf_size: Invalid LM part"
 | |
|   },
 | |
|   {
 | |
|     20918, "lm_cell_request: Invalid LM part"
 | |
|   },
 | |
|   {
 | |
|     20919, "xi_insert_row called with get_all_records set to TRUE"
 | |
|   },
 | |
|   {
 | |
|     20920, "xi_delete_row called with get_all_records set to TRUE"
 | |
|   },
 | |
|   {
 | |
|     20921, "lm_focus_cell_set called when list does not have focus"
 | |
|   },
 | |
|   {
 | |
|     30101, "Internal focus error"
 | |
|   },
 | |
|   {
 | |
|     30201, "Internal TEXT error"
 | |
|   },
 | |
|   {
 | |
|     30202, "Internal TEXT error"
 | |
|   },
 | |
|   {
 | |
|     30203, "Internal error"
 | |
|   },
 | |
|   {
 | |
|     30205, "txt_caret called with disabled field"
 | |
|   },
 | |
|   {
 | |
|     30206, "Invalid TXT passed to txt_event"
 | |
|   },
 | |
|   {
 | |
|     30207, "xi_get_obj: Invalid cid"
 | |
|   },
 | |
|   {
 | |
|     30208, "width  or height required with grid"
 | |
|   },
 | |
|   {
 | |
|     30209, "lm_start_edit: Internal error, called with focus not poperly set"
 | |
|   },
 | |
|   {
 | |
|     0, "Unknown Error"
 | |
|   }
 | |
| };
 | |
| 
 | |
| char *
 | |
| XinErrorCodeLookup( int errcode )
 | |
| {
 | |
|   struct s_error_entry *entry;
 | |
|   static char temp[30];
 | |
| 
 | |
|   for ( entry = error_table; entry->errcode != 0 && entry->errcode != errcode;
 | |
|         entry++ )
 | |
|     ;
 | |
|   if ( entry->errcode == 0 )
 | |
|   {
 | |
|     sprintf( temp, "XIN Error %d", errcode );
 | |
|     return temp;
 | |
|   }
 | |
|   return entry->text;
 | |
| }
 | |
| 
 | |
| BOOLEAN
 | |
| XinErrorDefaultHandler( int errcode, XinSeverity severity, long app_data )
 | |
| {
 | |
|   BOOLEAN terminate = FALSE;
 | |
| 
 | |
|   NOREF( app_data );
 | |
|   if ( severity == XinSeverityFatal )
 | |
|   {
 | |
|     terminate = TRUE;
 | |
|     XinDialogError( "%s", XinErrorCodeLookup( errcode ) );
 | |
|   }
 | |
|   else
 | |
|   {
 | |
|     if ( XinDialogAsk( "Continue", "Terminate", NULL, "%s",
 | |
|                       XinErrorCodeLookup( errcode ) ) == XinResponse2 )
 | |
|       terminate = TRUE;
 | |
|   }
 | |
|   return terminate;
 | |
| }
 |