changeset 8784:0166e4ab659a

*** empty log message ***
author Paul Reilly <pmr@pajato.com>
date Fri, 16 Sep 1994 17:37:03 +0000
parents 226c214398a6
children 04ad11fb0a0f
files lwlib/lwlib-Xm.c lwlib/lwlib.h
diffstat 2 files changed, 59 insertions(+), 24 deletions(-) [+]
line wrap: on
line diff
--- a/lwlib/lwlib-Xm.c	Fri Sep 16 11:18:45 1994 +0000
+++ b/lwlib/lwlib-Xm.c	Fri Sep 16 17:37:03 1994 +0000
@@ -37,8 +37,10 @@
 #include <Xm/FileSB.h>
 #include <Xm/Label.h>
 #include <Xm/List.h>
+#include <Xm/MainW.h>
 #include <Xm/MenuShell.h>
 #include <Xm/MessageB.h>
+#include <Xm/PanedW.h>
 #include <Xm/PushB.h>
 #include <Xm/PushBG.h>
 #include <Xm/ArrowB.h>
@@ -84,8 +86,8 @@
 {
   destroyed_instance* instance =
     (destroyed_instance*)malloc (sizeof (destroyed_instance));
-  instance->name = strdup (name);
-  instance->type = strdup (type);
+  instance->name = safe_strdup (name);
+  instance->type = safe_strdup (type);
   instance->widget = widget;
   instance->parent = parent;
   instance->pop_up_p = pop_up_p;
@@ -635,7 +637,7 @@
 		{
 		  if (val->value)
 		    free (val->value);
-		  val->value = strdup (XtName (toggle));
+		  val->value = safe_strdup (XtName (toggle));
 		}
 	    }
 	  val->edited = True;
@@ -659,7 +661,7 @@
 		  if (pos_list [j] == i)
 		    {
 		      cur->selected = True;
-		      val->value = strdup (cur->name);
+		      val->value = safe_strdup (cur->name);
 		    }
 	      }
 	  val->edited = 1;
@@ -1152,6 +1154,20 @@
   parent->core.window = parent_window;
   return result;
 }
+static Widget
+make_main (widget_instance* instance)
+{
+  Widget parent = instance->parent;
+  Widget result;
+  Arg al[2];
+  int ac;
+
+  ac = 0;
+  XtSetArg (al[ac], XtNborderWidth, 0); ac++;
+  XtSetArg (al[ac], XmNspacing, 0); ac++;
+  result = XmCreateMainWindow (parent, instance->info->name, al, ac);
+  return result;
+}
 
 /* Table of functions to create widgets */
 
@@ -1260,6 +1276,7 @@
 {
   {"menubar", 			make_menubar},
   {"popup",			make_popup_menu},
+  {"main",			make_main},
 #ifdef ENERGIZE
   {"project_p_sheet",		make_project_p_sheet},
   {"debugger_p_sheet",		make_debugger_p_sheet},
--- a/lwlib/lwlib.h	Fri Sep 16 11:18:45 1994 +0000
+++ b/lwlib/lwlib.h	Fri Sep 16 17:37:03 1994 +0000
@@ -19,6 +19,7 @@
 ** radio:    ("name" NULL NULL T/F data (selectable thing...))
 ** strings:  ("name" NULL NULL T/F data (selectable thing...))
 ** text:     ("name" "string" <ign> T/F data)
+** main:     ("name")
 */
 
 typedef unsigned long LWLIB_ID;
@@ -66,31 +67,48 @@
 } widget_value;
 
 
-typedef void (*lw_callback) ();
+typedef void (*lw_callback) (/* Widget w, LWLIB_ID id, void* data */);
 
-void  lw_register_widget ();
-Widget lw_get_widget ();
-Widget lw_make_widget ();
-Widget lw_create_widget ();
-LWLIB_ID lw_get_widget_id ();
-void lw_modify_all_widgets ();
-void lw_destroy_widget ();
-void lw_destroy_all_widgets ();
-void lw_destroy_everything ();
-void lw_destroy_all_pop_ups ();
-Widget lw_raise_all_pop_up_widgets ();
-widget_value* lw_get_all_values ();
-Boolean lw_get_some_values ();
-void lw_pop_up_all_widgets ();
-void lw_pop_down_all_widgets ();
+void  lw_register_widget (/* char* type, char* name, LWLIB_ID id,
+			  widget_value* val, lw_callback pre_activate_cb,
+			  lw_callback selection_cb,
+			  lw_callback post_activate_cb */);
+Widget lw_get_widget (/* LWLIB_ID id, Widget parent, Boolean pop_up_p */);
+Widget lw_make_widget (/* LWLIB_ID id, Widget parent, Boolean pop_up_p */);
+Widget lw_create_widget (/* char* type, char* name, LWLIB_ID id,
+			 widget_value* val, Widget parent, Boolean pop_up_p,
+			 lw_callback pre_activate_cb,
+			 lw_callback selection_cb,
+			 lw_callback post_activate_cb */);
+LWLIB_ID lw_get_widget_id (/* Widget w */);
+void lw_modify_all_widgets (/* LWLIB_ID id, widget_value* val, Boolean deep_p */);
+void lw_destroy_widget (/* Widget w */);
+void lw_destroy_all_widgets (/* LWLIB_ID id */);
+void lw_destroy_everything (/* void */);
+void lw_destroy_all_pop_ups (/* void */);
+Widget lw_raise_all_pop_up_widgets (/* void */);
+widget_value* lw_get_all_values (/* LWLIB_ID id */);
+Boolean lw_get_some_values (/* LWLIB_ID id, widget_value* val */);
+void lw_pop_up_all_widgets (/* LWLIB_ID id */);
+void lw_pop_down_all_widgets (/* LWLIB_ID id */);
 widget_value *malloc_widget_value ();
-void free_widget_value ();
-void lw_popup_menu ();
+void free_widget_value (/* widget_value * */);
+void lw_popup_menu (/* Widget */);
 
 /* Toolkit independent way of focusing on a Widget at the Xt level. */
-void lw_set_keyboard_focus ();
+void lw_set_keyboard_focus (/* Widget parent, Widget w */);
 
 /* Silly Energize hack to invert the "sheet" button */
-void lw_show_busy ();
+void lw_show_busy (/* Widget w, Boolean busy */);
+
+/* Silly hack to assist with Lucid/Athena geometry management. */
+void lw_refigure_widget (/* Widget w, Boolan doit */);
+
+/* Toolkit independent way of determining if an event occurred on a
+   menubar. */
+Boolean lw_window_is_in_menubar (/* Window win, Widget menubar_widget */);
+
+/* Manage resizing: TRUE permits resizing widget w; FALSE disallows it. */
+void lw_allow_resizing (/* Widget w, Boolean flag */);
 
 #endif /* LWLIB_H */