aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lwlib/lwlib-Xol.c320
-rw-r--r--lwlib/lwlib-Xol.h29
-rw-r--r--lwlib/lwlib-Xolmb.c374
-rw-r--r--lwlib/lwlib-Xolmb.h26
-rw-r--r--lwlib/lwlib-XolmbP.h50
5 files changed, 0 insertions, 799 deletions
diff --git a/lwlib/lwlib-Xol.c b/lwlib/lwlib-Xol.c
deleted file mode 100644
index b89bf24365..0000000000
--- a/lwlib/lwlib-Xol.c
+++ /dev/null
@@ -1,320 +0,0 @@
-
-#include "../src/lisp.h"
-
-#include "lwlib-Xol.h"
-#include <X11/StringDefs.h>
-#include <X11/IntrinsicP.h>
-#include <X11/CompositeP.h>
-#include <X11/Shell.h>
-#include <Xol/Menu.h>
-#include <Xol/OpenLook.h>
-#include <Xol/MenuButton.h>
-#include <Xol/OblongButt.h>
-#include <Xol/ControlAre.h>
-#include <Xol/Stub.h>
-#include <Xol/StaticText.h>
-
- /* forward declarations */
-static void
-update_menu_widget (widget_instance* instance, Widget widget,
- widget_value* val);
-
- /* Menu callbacks */
-static void
-pre_hook (Widget w, caddr_t client_data, caddr_t call_data)
-{
- OlVirtualEvent ve = (OlVirtualEvent)call_data;
- widget_instance* instance = (widget_instance*)client_data;
-
- if (w->core.being_destroyed)
- return;
-
- if (XtParent (w) == instance->widget)
- {
- if (ve->xevent->type == ButtonPress && instance->info->pre_activate_cb)
- instance->info->pre_activate_cb (instance->widget, instance->info->id,
- NULL);
- }
-}
-
-static void
-post_hook (Widget w, caddr_t client_data, caddr_t call_data)
-{
- widget_instance* instance = (widget_instance*)client_data;
-
- if (w->core.being_destroyed)
- return;
-
- if (instance->info->post_activate_cb)
- instance->info->post_activate_cb (w, instance->info->id, NULL);
-}
-
-static void
-pick_hook (Widget w, caddr_t client_data, caddr_t call_data)
-{
- widget_instance* instance = 0;
- widget_value* val = (widget_value*)client_data;
-
- if (w->core.being_destroyed)
- return;
-
- XtVaGetValues (w, XtNuserData, &instance, 0);
-
- if (!instance)
- return;
-
- if (instance->info->selection_cb && val && val->enabled
- && !val->contents)
- instance->info->selection_cb (w, instance->info->id, val->call_data);
-}
-
- /* creation functions */
-static Widget
-xol_create_menubar (widget_instance* instance)
-{
- Widget widget =
- XtVaCreateWidget (instance->info->name, controlAreaWidgetClass,
- instance->parent, 0);
- return widget;
-}
-
-static Widget
-xol_create_popup_menu (widget_instance* instance)
-{
- Widget popup_shell =
- XtCreatePopupShell (instance->info->name, menuShellWidgetClass,
- instance->parent, NULL, 0);
- return popup_shell;
-}
-
-widget_creation_entry
-xol_creation_table [] =
-{
- {"menubar", xol_create_menubar},
- {"popup", xol_create_popup_menu},
- {NULL, NULL}
-};
-
-Widget
-xol_create_dialog (widget_instance* instance)
-{
- return NULL;
-}
-
-Boolean
-lw_olit_widget_p (Widget widget)
-{
- return True;
-}
-
- /* update functions */
-static void
-destroy_all_children (Widget widget)
-{
- Widget* children;
- unsigned int number;
- int i;
-
- children = (Widget *) XtCompositeChildren (widget, &number);
- if (children)
- {
- /* Unmanage all children and destroy them. They will only be
- * really destroyed when we get out of DispatchEvent. */
- for (i = 0; i < number; i++)
- {
- Widget child = children [i];
- if (!child->core.being_destroyed)
- {
- XtUnmanageChild (child);
- XtDestroyWidget (child);
- }
- }
- XtFree (children);
- }
-}
-
-static Boolean
-all_dashes_p (char* s)
-{
- char* t;
- for (t = s; *t; t++)
- if (*t != '-')
- return False;
- return True;
-}
-
-static void
-make_menu_in_widget (widget_instance* instance, Widget widget,
- widget_value* val)
-{
- widget_value* cur;
- Widget button;
- Arg al [256];
- int ac;
- String label;
-
- for (cur = val; cur; cur = cur->next)
- {
- ac = 0;
- XtSetArg (al [ac], XtNsensitive, cur->enabled); ac++;
- XtSetArg (al [ac], XtNuserData, instance); ac++;
- XtSetArg (al [ac], XtNacceleratorText, cur->key); ac++;
-
-/* label = (char *) resource_string (widget, cur->name);*/
- label = cur->name;
- if (label)
- {
- XtSetArg (al [ac], XtNlabel, label); ac++;
- }
-
- if (all_dashes_p (cur->name))
- {
- /* no separator in OpenLook just make some space. */
- XtSetArg (al [ac], XtNheight, 5); ac++;
- XtSetArg (al [ac], XtNwidth, 5); ac++;
- button = XtCreateWidget (cur->name, stubWidgetClass, widget, al, ac);
- }
- else if (!cur->contents)
- {
- if (!cur->call_data)
- button =
- XtCreateManagedWidget (cur->name, staticTextWidgetClass, widget,
- al, ac);
- else
- {
- button =
- XtCreateManagedWidget (cur->name, oblongButtonWidgetClass,
- widget, al, ac);
- XtAddCallback (button, XtNselect, pick_hook, cur);
- }
- }
- else
- {
- Widget menu = NULL;
- button =
- XtCreateManagedWidget (cur->name, menuButtonWidgetClass, widget,
- al, ac);
- XtVaGetValues (button, XtNmenuPane, &menu, 0);
- if (!menu)
- abort ();
- make_menu_in_widget (instance, menu, cur->contents);
- OlAddCallback (button, XtNconsumeEvent, pre_hook, instance);
- }
- }
-}
-
-static void
-update_one_menu_entry (widget_instance* instance, Widget widget,
- widget_value* val)
-{
- Arg al [256];
- int ac;
- Widget menu;
- widget_value* contents;
-
- if (val->change == NO_CHANGE)
- return;
-
- /* update the sensitivity */
- XtVaSetValues (widget, XtNsensitive, val->enabled, 0);
-
- /* update the pulldown/pullaside as needed */
- ac = 0;
- menu = NULL;
- XtVaGetValues (widget, XtNmenuPane, &menu, 0);
- contents = val->contents;
-
- if (!menu)
- {
- if (contents)
- {
- /* in OLIT this would have to be a structural change on the
- button. */
- abort ();
- }
- }
- else if (!contents)
- {
- /* in OLIT this would have to be a structural change on the button. */
- abort ();
- }
- else if (contents->change != NO_CHANGE)
- update_menu_widget (instance, menu, val);
-}
-
-static void
-update_menu_widget (widget_instance* instance, Widget widget,
- widget_value* val)
-
-{
- if (val->change == STRUCTURAL_CHANGE
- || val->contents->change == STRUCTURAL_CHANGE)
- {
- destroy_all_children (widget);
- make_menu_in_widget (instance, widget, val->contents);
- }
- else
- {
- /* Update all the buttons of the composite widget in order. */
- Widget* children;
- unsigned int num_children;
- int i;
- widget_value* cur;
-
- children = (Widget *) XtCompositeChildren (widget, &num_children);
- if (children)
- {
- for (i = 0, cur = val->contents; i < num_children; i++)
- {
- if (!cur)
- abort ();
- if (children [i]->core.being_destroyed
- || strcmp (XtName (children [i]), cur->name))
- continue;
- update_one_menu_entry (instance, children [i], cur);
- cur = cur->next;
- }
- XtFree (children);
- }
- if (cur)
- abort ();
- }
-}
-
-void
-xol_update_one_widget (widget_instance* instance, Widget widget,
- widget_value* val, Boolean deep_p)
-{
- Widget menu = widget;
-
- if (XtIsShell (widget))
- XtVaGetValues (widget, XtNmenuPane, &menu, 0);
-
- update_menu_widget (instance, menu, val);
-}
-
-void
-xol_update_one_value (widget_instance* instance, Widget widget,
- widget_value* val)
-{
- return;
-}
-
-void
-xol_pop_instance (widget_instance* instance, Boolean up)
-{
-}
-
-void
-xol_popup_menu (Widget widget)
-{
- OlMenuPost (widget);
-}
-
- /* Destruction of instances */
-void
-xol_destroy_instance (widget_instance* instance)
-{
- XtDestroyWidget (instance->widget);
-}
-
diff --git a/lwlib/lwlib-Xol.h b/lwlib/lwlib-Xol.h
deleted file mode 100644
index 3bf8d11e9e..0000000000
--- a/lwlib/lwlib-Xol.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef LWLIB_XOL_H
-#define LWLIB_XOL_H
-
-#include "lwlib-int.h"
-
-extern widget_creation_entry xol_creation_table [];
-extern Widget xol_create_dialog (widget_instance *);
-
-Boolean
-lw_olit_widget_p (Widget widget);
-
-void
-xol_update_one_widget (widget_instance* instance, Widget widget,
- widget_value* val, Boolean deep_p);
-
-void
-xol_update_one_value (widget_instance* instance, Widget widget,
- widget_value* val);
-
-void
-xol_destroy_instance (widget_instance* instance);
-
-void
-xol_pop_instance (widget_instance* instance, Boolean up);
-
-void
-xol_popup_menu (Widget widget);
-
-#endif /* LWLIB_XOL_H */
diff --git a/lwlib/lwlib-Xolmb.c b/lwlib/lwlib-Xolmb.c
deleted file mode 100644
index cc63ebcd39..0000000000
--- a/lwlib/lwlib-Xolmb.c
+++ /dev/null
@@ -1,374 +0,0 @@
-/* An OLIT menubar widget, by Chuck Thompson <[email protected]>
- Copyright (C) 1993 Lucid, Inc.
-
-This file is part of the Lucid Widget Library.
-
-The Lucid Widget Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
-
-The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-
-#include "../src/lisp.h"
-
-#include <X11/IntrinsicP.h>
-#include <X11/Intrinsic.h>
-#include <X11/CompositeP.h>
-#include <X11/Composite.h>
-#include "lwlib-Xol-mbP.h"
-#include "lwlib-Xol-mb.h"
-
-#define HORIZ_SPACING 4
-#define VERT_SPACING 4
-
-static void Initialize();
-static void Resize();
-static void ChangeManaged();
-static Boolean SetValues();
-static XtGeometryResult GeometryManager();
-static XtGeometryResult PreferredSize();
-static void do_layout();
-static XtGeometryResult try_layout();
-
-lwMenuBarClassRec lwMenubarClassRec =
-{
- {
- /* core_class members */
-
- (WidgetClass) &compositeClassRec, /* superclass */
- "Menubar", /* class_name */
- sizeof(lwMenuBarRec), /* widget_size */
- NULL, /* class_initialize */
- NULL, /* class_part_initialize */
- FALSE, /* class_inited */
- Initialize, /* initialize */
- NULL, /* initialize_hook */
- XtInheritRealize, /* realize */
- NULL, /* actions */
- 0, /* num_actions */
- NULL, /* resources */
- 0, /* num_resources */
- NULLQUARK, /* xrm_class */
- TRUE, /* compress_motion */
- XtExposeCompressMaximal, /* compress_exposure */
- TRUE, /* compress_enterleave */
- FALSE, /* visible_interest */
- NULL, /* destroy */
- Resize, /* resize */
- NULL, /* expose */
- NULL, /* set_values */
- NULL, /* set_values_hook */
- XtInheritSetValuesAlmost, /* set_values_almost */
- NULL, /* get_values_hook */
- NULL, /* accept_focus */
- XtVersion, /* version */
- NULL, /* callback_private */
- NULL, /* tm_table */
- PreferredSize, /* query_geometry */
- NULL, /* display_accelerator */
- NULL, /* extension */
- },
- {
- /* composite_class members */
-
- GeometryManager, /* geometry_manager */
- ChangeManaged, /* change_managed */
- XtInheritInsertChild, /* insert_child */
- XtInheritDeleteChild, /* delete_child */
- NULL, /* extension */
- },
- {
- /* Menubar class members */
-
- 0, /* empty */
- }
-};
-WidgetClass lwMenubarWidgetClass = (WidgetClass) &lwMenubarClassRec;
-
-
-static void Initialize (request, new)
- lwMenuBarWidget request, new;
-{
- if (request->core.width <= 0)
- new->core.width = 1;
- if (request->core.height <= 0)
- new->core.height = 23;
-}
-
-static void
-Resize (w)
- lwMenuBarWidget w;
-{
- do_layout(w);
-}
-
-static void
-do_layout (parent)
- lwMenuBarWidget parent;
-{
- Widget child;
- int cnt;
- int managed_children = 0;
- int managed_width = 0;
- int new_pos = 0;
-
- /*
- * Determine number of children which will fit on one line.
- * For now we ignore the rest, making sure they are unmanaged.
- */
-
- cnt = 0;
- while ((cnt < (int) parent->composite.num_children) &&
- (managed_width < (int) parent->core.width))
- {
- child = parent->composite.children[cnt++];
- managed_children++;
- managed_width += child->core.width + child->core.border_width * 2 +
- HORIZ_SPACING;
- }
-
- if (managed_width > (int) parent->core.width)
- managed_children--;
-
- /*
- * Correct positioning of children.
- */
-
- cnt = 0;
- while (managed_children)
- {
- child = parent->composite.children[cnt++];
-
- if (!child->core.managed)
- XtManageChild (child);
-
- if ((child->core.x != new_pos) || (child->core.y != 0))
- XtMoveWidget (child, new_pos, 0);
- new_pos += child->core.width + child->core.border_width * 2 +
- HORIZ_SPACING;
-
- managed_children--;
- }
-
- /*
- * Make sure all remaining children are unmanaged.
- */
-
- while (cnt < parent->composite.num_children)
- {
- child = parent->composite.children[cnt];
-
- if (child->core.managed)
- XtUnmanageChild (child);
-
- if ((child->core.x != parent->core.width) ||
- (child->core.y != parent->core.height))
- XtMoveWidget (child, parent->core.width, parent->core.height);
-
- cnt++;
- }
-}
-
-
-static XtGeometryResult
-PreferredSize (w, request, preferred)
- lwMenuBarWidget w;
- XtWidgetGeometry *request, *preferred;
-{
- Widget child;
- int cnt;
-
- /*
- * If no changes are being made to the width or height, just agree.
- */
-
- if (!(request->request_mode & CWWidth) &&
- !(request->request_mode & CWHeight))
- return (XtGeometryYes);
-
- /*
- * Right now assume everything goes in one row. Calculate the
- * minimum required width and height.
- */
-
- preferred->width = 0;
- preferred->height = 0;
-
- for (cnt = 0; cnt < w->composite.num_children; cnt++)
- {
- child = w->composite.children[cnt];
- if (child->core.managed)
- {
- preferred->width += child->core.width + child->core.border_width*2 +
- HORIZ_SPACING;
- if (preferred->height < (Dimension) (child->core.height +
- child->core.border_width * 2))
- preferred->height = child->core.height +
- child->core.border_width * 2;
- }
- }
-
- preferred->request_mode = CWWidth | CWHeight;
-
- /*
- * Case: both height and width requested
- */
-
- if ((request->request_mode & CWWidth) &&
- (request->request_mode & CWHeight))
- {
- /*
- * Ok if same or bigger.
- */
-
- if (preferred->width <= request->width &&
- preferred->height <= request->height)
- {
- preferred->width = request->width;
- return (XtGeometryYes);
- }
-
- /*
- * If both dimensions are too small, say no.
- */
-
- else
- if (preferred->width > request->width &&
- preferred->height > request->height)
- return (XtGeometryNo);
-
- /*
- * Otherwise one must be right, so say almost.
- */
-
- else
- return (XtGeometryAlmost);
- }
-
- /*
- * If only one dimension is requested, either its OK or it isn't.
- */
-
- else
- {
- if (request->request_mode & CWWidth)
- {
- if (preferred->width <= request->width)
- {
- preferred->width = request->width;
- return (XtGeometryYes);
- }
- else
- return (XtGeometryNo);
- }
- else if (request->request_mode & CWHeight)
- {
- if (preferred->height <= request->height)
- {
- return (XtGeometryYes);
- }
- else
- return (XtGeometryNo);
- }
-
- return (XtGeometryYes);
- }
-}
-
-
-static XtGeometryResult
-GeometryManager (w, request, reply)
- Widget w;
- XtWidgetGeometry *request;
- XtWidgetGeometry *reply;
-{
-
- lwMenuBarWidget parent = (lwMenuBarWidget) w->core.parent;
-
- /*
- * If the widget wants to move, just say no.
- */
-
- if ((request->request_mode & CWX && request->x != w->core.x) ||
- (request->request_mode & CWY && request->y != w->core.y))
- return (XtGeometryNo);
-
- /*
- * Since everything "fits" for now, grant all requests.
- */
-
- if (request->request_mode & CWWidth)
- w->core.width = request->width;
- if (request->request_mode & CWHeight)
- w->core.height = request->height;
- if (request->request_mode & CWBorderWidth)
- w->core.border_width = request->border_width;
-
- do_layout (parent);
- return (XtGeometryYes);
-}
-
-
-static XtGeometryResult
-try_layout (parent)
- lwMenuBarWidget parent;
-{
- Widget child;
- int cnt;
- int managed_children = 0;
- int managed_width = 0;
- int new_pos = 0;
-
- /*
- * Determine number of children which will fit on one line.
- * For now we ignore the rest, making sure they are unmanaged.
- */
-
- cnt = 0;
- while ((cnt < (int) parent->composite.num_children) &&
- (managed_width < (int) parent->core.width))
- {
- child = parent->composite.children[cnt++];
- if (child->core.managed)
- {
- managed_children++;
- managed_width += child->core.width + child->core.border_width * 2 +
- HORIZ_SPACING;
- }
- }
-
- if (managed_width > (int) parent->core.width)
- return (XtGeometryNo);
- else
- return (XtGeometryYes);
-}
-
-
-
-static void
-ChangeManaged (w)
- lwMenuBarWidget w;
-{
- XtGeometryResult result;
-
- result = try_layout (w);
-
- if (result != XtGeometryYes)
- {
- XtUnmanageChild (w->composite.children[w->composite.num_children - 1]);
- XtMoveWidget (w->composite.children[w->composite.num_children-1],
- w->core.width, w->core.height);
- }
-
- do_layout (w);
-}
diff --git a/lwlib/lwlib-Xolmb.h b/lwlib/lwlib-Xolmb.h
deleted file mode 100644
index d2ce13b3ec..0000000000
--- a/lwlib/lwlib-Xolmb.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* An OLIT menubar widget, by Chuck Thompson <[email protected]>
- Copyright (C) 1993 Lucid, Inc.
-
-This file is part of the Lucid Widget Library.
-
-The Lucid Widget Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
-
-The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#ifndef LW_MENUBAR_H
-#define LW_MENUBAR_H
-extern WidgetClass lwMenubarWidgetClass;
-typedef struct _lwMenuBarClassRec *lwMenuBarWidgetClass;
-typedef struct _lwMenuBarRec *lwMenuBarWidget;
-#endif /* LW_MENUBAR_H */
diff --git a/lwlib/lwlib-XolmbP.h b/lwlib/lwlib-XolmbP.h
deleted file mode 100644
index 84267dbc6b..0000000000
--- a/lwlib/lwlib-XolmbP.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/* An OLIT menubar widget, by Chuck Thompson <[email protected]>
- Copyright (C) 1993 Lucid, Inc.
-
-This file is part of the Lucid Widget Library.
-
-The Lucid Widget Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 1, or (at your option)
-any later version.
-
-The Lucid Widget Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs; see the file COPYING. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-Boston, MA 02111-1307, USA. */
-
-#ifndef LW_MENUBARP_H
-#define LW_MENUBARP_H
-
-typedef struct _lwMenuBarClassPart
-{
- int ignore;
-} lwMenuBarClassPart;
-
-typedef struct _lwMenuBarClassRec
-{
- CoreClassPart core_class;
- CompositeClassPart composite_class;
- lwMenuBarClassPart menubar_class;
-} lwMenuBarClassRec;
-
-extern lwMenuBarClassRec lwMenubarClassRec;
-
-typedef struct
-{
- int empty;
-} lwMenuBarPart;
-
-typedef struct _lwMenuBarRec
-{
- CorePart core;
- CompositePart composite;
- lwMenuBarPart menubar;
-} lwMenuBarRec;
-
-#endif /* LW_MENUBARP_H */