 eb41026147
			
		
	
	eb41026147
	
	
	
		
			
			Wed Aug 20 21:26:49 2003 Owen Taylor <otaylor@redhat.com> * gtk/gtkplug.c (gtk_plug_focus): Send the focus on to the parent when there was no focus widget before and no focus widget after - that is, when there are no focusable widgets. (#108678, help tracking it down from Padraig O'Briain, Federico Mena Quintero, ) * gtk/gtkxembed.[ch]: Move various shared utilities for the XEMBED protocol eused by GtkPlug and GtkSocket here. * gtk/gtkxembed.[ch] gtkplug.c gtksocket.c: Implement a flag bit that is sent with focus mesages to indicate that the focus has wrapped around on the toplevel; use this bit to catch infinite loops when there is no focusable widget at ll in the entire toplevel. * tests/testsocket.c (child_read_watch): Remove an extraneous unref. * gtk/gtkplug.c gtk/gtksocket.c gtk/gtkxembed.h: Up XEMBED protocol version to 1, add logic for sending the right version in XEMBED_EMBEDDED_NOTIFY. * gtk/gtksocket.c (gtk_socket_add_window): Send the embedder window in the XEMBED_EMBEDDED_NOTIFY as the spec requires.
		
			
				
	
	
		
			32 lines
		
	
	
		
			976 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			976 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* XEMBED messages */
 | |
| typedef enum {
 | |
|   XEMBED_EMBEDDED_NOTIFY        = 0,
 | |
|   XEMBED_WINDOW_ACTIVATE        = 1,
 | |
|   XEMBED_WINDOW_DEACTIVATE      = 2,
 | |
|   XEMBED_REQUEST_FOCUS          = 3,
 | |
|   XEMBED_FOCUS_IN               = 4,
 | |
|   XEMBED_FOCUS_OUT              = 5,
 | |
|   XEMBED_FOCUS_NEXT             = 6,
 | |
|   XEMBED_FOCUS_PREV             = 7,
 | |
|   XEMBED_GRAB_KEY               = 8,
 | |
|   XEMBED_UNGRAB_KEY             = 9,
 | |
|   XEMBED_MODALITY_ON            = 10,
 | |
|   XEMBED_MODALITY_OFF           = 11,
 | |
| 
 | |
| /* Non standard messages*/
 | |
|   XEMBED_GTK_GRAB_KEY           = 108, 
 | |
|   XEMBED_GTK_UNGRAB_KEY         = 109
 | |
| } XEmbedMessageType;
 | |
| 
 | |
| /* Details for  XEMBED_FOCUS_IN: */
 | |
| #define XEMBED_FOCUS_CURRENT             0
 | |
| #define XEMBED_FOCUS_FIRST               1
 | |
| #define XEMBED_FOCUS_LAST                2
 | |
| 
 | |
| /* Flags for XEMBED_FOCUS_IN, XEMBED_FOCUS_NEXT, XEMBED_FOCUS_PREV */
 | |
| #define XEMBED_FOCUS_WRAPAROUND         (1 << 0)
 | |
| 
 | |
| /* Flags for _XEMBED_INFO */
 | |
| #define XEMBED_MAPPED                   (1 << 0)
 | |
| 
 |