]> code.delx.au - gnu-emacs/commitdiff
*** empty log message ***
authorPaul Reilly <pmr@pajato.com>
Fri, 16 Sep 1994 17:37:03 +0000 (17:37 +0000)
committerPaul Reilly <pmr@pajato.com>
Fri, 16 Sep 1994 17:37:03 +0000 (17:37 +0000)
lwlib/lwlib-Xm.c
lwlib/lwlib.h

index 13d288626977842c08e32c598b91732f26582997..f56d22bf288b8e0ad9a7f6b96d2bce62e90f14e2 100644 (file)
@@ -37,8 +37,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.  */
 #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 @@ make_destroyed_instance (char* name, char* type, Widget widget, Widget parent,
 {
   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 @@ xm_update_one_value (widget_instance* instance, Widget widget,
                {
                  if (val->value)
                    free (val->value);
-                 val->value = strdup (XtName (toggle));
+                 val->value = safe_strdup (XtName (toggle));
                }
            }
          val->edited = True;
@@ -659,7 +661,7 @@ xm_update_one_value (widget_instance* instance, Widget widget,
                  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 @@ make_popup_menu (widget_instance* instance)
   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;
+}
 
 \f/* Table of functions to create widgets */
 
@@ -1260,6 +1276,7 @@ xm_creation_table [] =
 {
   {"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},
index f52e257bd7adef10b42f632e6cb5bf923a414465..607695ccb48d843bb406b2918daebd66693c6fa8 100644 (file)
@@ -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 @@ typedef struct _widget_value
 } 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 */