diff gtk/dw.c @ 34:b03b24bb95f8

Added dw_window_default() to set the default focus widget in a dialog. Also some fixes for containers on OS/2.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 03 Sep 2001 23:30:43 +0000
parents 72675de7d229
children cddb02f847e1
line wrap: on
line diff
--- a/gtk/dw.c	Thu Aug 30 06:07:19 2001 +0000
+++ b/gtk/dw.c	Mon Sep 03 23:30:43 2001 +0000
@@ -723,6 +723,7 @@
 int dw_window_show(HWND handle)
 {
 	int _locked_by_me = FALSE;
+	GtkWidget *defaultitem;
 
 	if(!handle)
 		return 0;
@@ -733,6 +734,9 @@
 	gdk_flush();
 	gdk_window_show(GTK_WIDGET(handle)->window);
 	gdk_flush();
+	defaultitem = (GtkWidget *)gtk_object_get_data(GTK_OBJECT(handle), "defaultitem");
+	if(defaultitem)
+		gtk_widget_grab_focus(defaultitem);
 	DW_MUTEX_UNLOCK;
 	return 0;
 }
@@ -4413,6 +4417,24 @@
 }
 
 /*
+ * Sets the default focus item for a window/dialog.
+ * Parameters:
+ *         window: Toplevel window or dialog.
+ *         defaultitem: Handle to the dialog item to be default.
+ */
+void dw_window_default(HWND window, HWND defaultitem)
+{
+	int _locked_by_me = FALSE;
+
+	if(!window)
+		return;
+
+	DW_MUTEX_LOCK;
+	gtk_object_set_data(GTK_OBJECT(window),  "defaultitem", (gpointer)defaultitem);
+	DW_MUTEX_UNLOCK;
+}
+
+/*
  * Returns some information about the current operating environment.
  * Parameters:
  *       env: Pointer to a DWEnv struct.