+2010-07-08 Jan Djärv <jan.h.d@swipnet.se>
+
+ * xlwmenu.c (size_menu_item): Change from K&R to prototype.
+ Change label_width and height to int.
+ (draw_arrow, draw_shadow_rectangle, draw_shadow_rhombus)
+ (draw_separator, display_menu, fit_to_screen, motion_event_is_in_menu)
+ (map_event_to_widget_value): Reformat.
+ (display_menu_item): Change from K&R to prototype.
+
+ * lwlib.c (allocate_widget_info, lw_register_widget): Change from K&R
+ to prototype.
+ (lw_internal_update_other_instances, merge_widget_value): Reformat.
+
+ * lwlib-int.h (widget_creation_function): Fix prototype.
+
+ * lwlib-Xm.c (x_print_complete_resource_name)
+ (make_destroyed_instance, free_destroyed_instance, first_child)
+ (lw_motif_widget_p, resource_motif_string, destroy_all_children)
+ (xm_arm_callback, xm_update_label, xm_update_list)
+ (xm_update_pushbutton, xm_update_cascadebutton)
+ (xm_update_toggle, xm_update_radiobox, make_menu_in_widget)
+ (update_one_menu_entry, xm_update_menu, xm_update_text)
+ (xm_update_text_field, xm_update_one_widget)
+ (xm_update_one_value, activate_button, dialog_key_cb)
+ (make_dialog, mark_dead_instance_destroyed)
+ (find_matching_instance, recenter_widget, recycle_instance)
+ (xm_create_dialog, make_menubar, remove_grabs, make_popup_menu)
+ (make_main, xm_destroy_instance, xm_popup_menu)
+ (set_min_dialog_size, xm_pop_instance, do_call)
+ (xm_internal_update_other_instances, xm_generic_callback)
+ (xm_nosel_callback, xm_pull_down_callback, xm_pop_down_callback)
+ (xm_set_keyboard_focus, xm_set_main_areas, xm_manage_resizing): Change
+ from K&R to prototype.
+
+ * lwlib-Xlw.c (x_print_complete_resource_name): Change from K&R to
+ prototype.
+ (xlw_update_one_value): Reformat.
+
+ * lwlib-Xaw.c (xaw_generic_callback, command_reset)
+ (xaw_update_one_value): Reformat.
+ (xaw_update_one_widget): Reformat and remove dead code.
+ (xaw_scrollbar_scroll, xaw_scrollbar_jump, xaw_create_scrollbar)
+ (xaw_update_scrollbar): Remove (not used).
+ (make_dialog): Change from K&R to prototype. Remove dead code.
+ (xaw_creation_table): Remove scrollbar entry.
+
2010-07-08 Dan Nicolaescu <dann@ics.uci.edu>
* lwlib.c (allocate_widget_instance, get_widget_info)
#endif
-static void xaw_generic_callback (Widget widget, XtPointer closure, XtPointer call_data);
+static void xaw_generic_callback (Widget widget,
+ XtPointer closure,
+ XtPointer call_data);
Boolean
XtIsSubclass (widget, dialogWidgetClass));
}
-#if 0
-static void
-xaw_update_scrollbar (instance, widget, val)
- widget_instance *instance;
- Widget widget;
- widget_value *val;
-{
- if (val->scrollbar_data)
- {
- scrollbar_values *data = val->scrollbar_data;
- Dimension height, width;
- Dimension pos_x, pos_y;
- int widget_shown, widget_topOfThumb;
- float new_shown, new_topOfThumb;
-
- XtVaGetValues (widget,
- XtNheight, &height,
- XtNwidth, &width,
- XtNx, &pos_x,
- XtNy, &pos_y,
- XtNtopOfThumb, &widget_topOfThumb,
- XtNshown, &widget_shown,
- NULL);
-
- /*
- * First size and position the scrollbar widget.
- * We need to position it to second-guess the Paned widget's notion
- * of what should happen when the WMShell gets resized.
- */
- if (height != data->scrollbar_height || pos_y != data->scrollbar_pos)
- {
- XtConfigureWidget (widget, pos_x, data->scrollbar_pos,
- width, data->scrollbar_height, 0);
-
- XtVaSetValues (widget,
- XtNlength, data->scrollbar_height,
- XtNthickness, width,
- NULL);
- }
-
- /*
- * Now the size the scrollbar's slider.
- */
- new_shown = (float) data->slider_size /
- (float) (data->maximum - data->minimum);
-
- new_topOfThumb = (float) (data->slider_position - data->minimum) /
- (float) (data->maximum - data->minimum);
-
- if (new_shown > 1.0)
- new_shown = 1.0;
- if (new_shown < 0)
- new_shown = 0;
-
- if (new_topOfThumb > 1.0)
- new_topOfThumb = 1.0;
- if (new_topOfThumb < 0)
- new_topOfThumb = 0;
-
- if (new_shown != widget_shown || new_topOfThumb != widget_topOfThumb)
- XawScrollbarSetThumb (widget, new_topOfThumb, new_shown);
- }
-}
-#endif
#ifdef HAVE_XFT
static void
static void
command_reset (Widget widget,
- XEvent* event,
- String *params,
- Cardinal *num_params)
+ XEvent* event,
+ String *params,
+ Cardinal *num_params)
{
struct widget_xft_data *data = find_xft_data (widget);
if (data)
#endif
void
-xaw_update_one_widget (widget_instance *instance, Widget widget,
- widget_value *val, Boolean deep_p)
+xaw_update_one_widget (widget_instance *instance,
+ Widget widget,
+ widget_value *val,
+ Boolean deep_p)
{
-#if 0
- if (XtIsSubclass (widget, scrollbarWidgetClass))
- {
- xaw_update_scrollbar (instance, widget, val);
- }
-#endif
if (XtIsSubclass (widget, dialogWidgetClass))
{
}
void
-xaw_update_one_value (widget_instance *instance, Widget widget, widget_value *val)
+xaw_update_one_value (widget_instance *instance,
+ Widget widget,
+ widget_value *val)
{
/* This function is not used by the scrollbars and those are the only
Athena widget implemented at the moment so do nothing. */
#endif
static Widget
-make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
- radio_box, list, left_buttons, right_buttons, instance)
- char* name;
- Widget parent;
- Boolean pop_up_p;
- char* shell_title;
- char* icon_name;
- Boolean text_input_slot;
- Boolean radio_box;
- Boolean list;
- int left_buttons;
- int right_buttons;
- widget_instance *instance;
+make_dialog (char* name,
+ Widget parent,
+ Boolean pop_up_p,
+ char* shell_title,
+ char* icon_name,
+ Boolean text_input_slot,
+ Boolean radio_box,
+ Boolean list,
+ int left_buttons,
+ int right_buttons,
+ widget_instance *instance)
{
Arg av [20];
int ac = 0;
id = instance->info->id;
-#if 0
- user_data = NULL;
- XtVaGetValues (widget, XtNuserData, &user_data, NULL);
-#else
/* Damn! Athena doesn't give us a way to hang our own data on the
buttons, so we have to go find it... I guess this assumes that
all instances of a button have the same call data. */
if (! val) abort ();
user_data = val->call_data;
}
-#endif
if (instance->info->selection_cb)
instance->info->selection_cb (widget, id, user_data);
}
\f
-/* Scrollbars */
-
-#if 0
-static void
-xaw_scrollbar_scroll (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
-{
- widget_instance *instance = (widget_instance *) closure;
- LWLIB_ID id;
- scroll_event event_data;
-
- if (!instance || widget->core.being_destroyed)
- return;
-
- id = instance->info->id;
- event_data.slider_value = 0;
- event_data.time = 0;
-
- if ((int) call_data > 0)
- event_data.action = SCROLLBAR_PAGE_DOWN;
- else
- event_data.action = SCROLLBAR_PAGE_UP;
-
- if (instance->info->pre_activate_cb)
- instance->info->pre_activate_cb (widget, id, (XtPointer) &event_data);
-}
-#endif
-
-#if 0
-static void
-xaw_scrollbar_jump (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
-{
- widget_instance *instance = (widget_instance *) closure;
- LWLIB_ID id;
- scroll_event event_data;
- scrollbar_values *val =
- (scrollbar_values *) instance->info->val->scrollbar_data;
- float percent;
-
- if (!instance || widget->core.being_destroyed)
- return;
-
- id = instance->info->id;
-
- percent = * (float *) call_data;
- event_data.slider_value =
- (int) (percent * (float) (val->maximum - val->minimum)) + val->minimum;
-
- event_data.time = 0;
- event_data.action = SCROLLBAR_DRAG;
-
- if (instance->info->pre_activate_cb)
- instance->info->pre_activate_cb (widget, id, (XtPointer) &event_data);
-}
-#endif
-
-static Widget
-xaw_create_scrollbar (widget_instance *instance)
-{
-#if 0
- Arg av[20];
- int ac = 0;
- Dimension width;
- Widget scrollbar;
-
- XtVaGetValues (instance->parent, XtNwidth, &width, NULL);
-
- XtSetArg (av[ac], XtNshowGrip, 0); ac++;
- XtSetArg (av[ac], XtNresizeToPreferred, 1); ac++;
- XtSetArg (av[ac], XtNallowResize, True); ac++;
- XtSetArg (av[ac], XtNskipAdjust, True); ac++;
- XtSetArg (av[ac], XtNwidth, width); ac++;
- XtSetArg (av[ac], XtNmappedWhenManaged, True); ac++;
-
- scrollbar =
- XtCreateWidget (instance->info->name, scrollbarWidgetClass,
- instance->parent, av, ac);
-
- /* We have to force the border width to be 0 otherwise the
- geometry manager likes to start looping for awhile... */
- XtVaSetValues (scrollbar, XtNborderWidth, 0, NULL);
-
- XtRemoveAllCallbacks (scrollbar, "jumpProc");
- XtRemoveAllCallbacks (scrollbar, "scrollProc");
-
- XtAddCallback (scrollbar, "jumpProc", xaw_scrollbar_jump,
- (XtPointer) instance);
- XtAddCallback (scrollbar, "scrollProc", xaw_scrollbar_scroll,
- (XtPointer) instance);
-
- return scrollbar;
-#else
- return NULL;
-#endif
-}
static Widget
xaw_create_main (widget_instance *instance)
widget_creation_entry
xaw_creation_table [] =
{
- {"scrollbar", xaw_create_scrollbar},
{"main", xaw_create_main},
{NULL, NULL}
};
This is sometimes handy to have available. */
void
-x_print_complete_resource_name (widget)
- Widget widget;
+x_print_complete_resource_name (Widget widget)
{
int i;
String names[100];
}
void
-xlw_update_one_value (widget_instance *instance, Widget widget, widget_value *val)
+xlw_update_one_value (widget_instance *instance,
+ Widget widget,
+ widget_value *val)
{
return;
}
This is sometimes handy to have available. */
void
-x_print_complete_resource_name (widget)
- Widget widget;
+x_print_complete_resource_name (Widget widget)
{
int i;
String names[100];
static destroyed_instance *all_destroyed_instances = NULL;
static destroyed_instance*
-make_destroyed_instance (name, type, widget, parent, pop_up_p)
- char* name;
- char* type;
- Widget widget;
- Widget parent;
- Boolean pop_up_p;
+make_destroyed_instance (char* name,
+ char* type,
+ Widget widget,
+ Widget parent,
+ Boolean pop_up_p)
{
destroyed_instance* instance =
(destroyed_instance*)malloc (sizeof (destroyed_instance));
}
static void
-free_destroyed_instance (instance)
- destroyed_instance* instance;
+free_destroyed_instance (destroyed_instance* instance)
{
free (instance->name);
free (instance->type);
\f/* motif utility functions */
Widget
-first_child (widget)
- Widget widget;
+first_child (Widget widget)
{
return ((CompositeWidget)widget)->composite.children [0];
}
Boolean
-lw_motif_widget_p (widget)
- Widget widget;
+lw_motif_widget_p (Widget widget)
{
return
XtClass (widget) == xmDialogShellWidgetClass
}
static XmString
-resource_motif_string (widget, name)
- Widget widget;
- char* name;
+resource_motif_string (Widget widget,
+ char* name)
{
XtResource resource;
XmString result = 0;
starting with number FIRST_CHILD_TO_DESTROY. */
static void
-destroy_all_children (widget, first_child_to_destroy)
- Widget widget;
- int first_child_to_destroy;
+destroy_all_children (Widget widget,
+ int first_child_to_destroy)
{
Widget* children;
unsigned int number;
is called. */
static void
-xm_arm_callback (w, client_data, call_data)
- Widget w;
- XtPointer client_data, call_data;
+xm_arm_callback (Widget w, XtPointer client_data, XtPointer call_data)
{
XmPushButtonCallbackStruct *cbs = (XmPushButtonCallbackStruct *) call_data;
widget_value *wv = (widget_value *) client_data;
not null, and contains the label string to display. */
static void
-xm_update_label (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_label (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
XmString res_string = 0;
XmString built_string = 0;
\f/* update of list */
static void
-xm_update_list (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_list (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
widget_value* cur;
int i;
\f/* update of buttons */
static void
-xm_update_pushbutton (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_pushbutton (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
XtVaSetValues (widget, XmNalignment, XmALIGNMENT_CENTER, NULL);
XtRemoveAllCallbacks (widget, XmNactivateCallback);
}
static void
-xm_update_cascadebutton (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_cascadebutton (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
/* Should also rebuild the menu by calling ...update_menu... */
XtRemoveAllCallbacks (widget, XmNcascadingCallback);
\f/* update toggle and radiobox */
static void
-xm_update_toggle (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_toggle (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
XtRemoveAllCallbacks (widget, XmNvalueChangedCallback);
XtAddCallback (widget, XmNvalueChangedCallback,
}
static void
-xm_update_radiobox (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_radiobox (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
Widget toggle;
/* KEEP_FIRST_CHILDREN gives the number of initial children to keep. */
static void
-make_menu_in_widget (instance, widget, val, keep_first_children)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
- int keep_first_children;
+make_menu_in_widget (widget_instance* instance,
+ Widget widget,
+ widget_value* val,
+ int keep_first_children)
{
Widget* children = 0;
int num_children;
}
static void
-update_one_menu_entry (instance, widget, val, deep_p)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
- Boolean deep_p;
+update_one_menu_entry (widget_instance* instance,
+ Widget widget,
+ widget_value* val,
+ Boolean deep_p)
{
Arg al [256];
int ac;
}
static void
-xm_update_menu (instance, widget, val, deep_p)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
- Boolean deep_p;
+xm_update_menu (widget_instance* instance,
+ Widget widget,
+ widget_value* val,
+ Boolean deep_p)
{
Widget* children;
unsigned int num_children;
/* update text widgets */
static void
-xm_update_text (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_text (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
XmTextSetString (widget, val->value ? val->value : "");
XtRemoveAllCallbacks (widget, XmNactivateCallback);
}
static void
-xm_update_text_field (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_text_field (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
XmTextFieldSetString (widget, val->value ? val->value : "");
XtRemoveAllCallbacks (widget, XmNactivateCallback);
/* update a motif widget */
void
-xm_update_one_widget (instance, widget, val, deep_p)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
- Boolean deep_p;
+xm_update_one_widget (widget_instance* instance,
+ Widget widget,
+ widget_value* val,
+ Boolean deep_p)
{
WidgetClass class;
\f/* getting the value back */
void
-xm_update_one_value (instance, widget, val)
- widget_instance* instance;
- Widget widget;
- widget_value* val;
+xm_update_one_value (widget_instance* instance,
+ Widget widget,
+ widget_value* val)
{
WidgetClass class = XtClass (widget);
widget_value *old_wv;
I could not find a way to do that with accelerators.
*/
static void
-activate_button (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
+activate_button (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
Widget button = (Widget)closure;
XtCallCallbacks (button, XmNactivateCallback, NULL);
/* Called for key press in dialogs. Used to pop down dialog on ESC. */
static void
-dialog_key_cb (widget, closure, event, continue_to_dispatch)
- Widget widget;
- XtPointer closure;
- XEvent *event;
- Boolean *continue_to_dispatch;
+dialog_key_cb (Widget widget,
+ XtPointer closure,
+ XEvent *event,
+ Boolean *continue_to_dispatch)
{
KeySym sym = 0;
Modifiers modif_ret;
/* dialogs */
static Widget
-make_dialog (name, parent, pop_up_p, shell_title, icon_name, text_input_slot,
- radio_box, list, left_buttons, right_buttons)
- char* name;
- Widget parent;
- Boolean pop_up_p;
- char* shell_title;
- char* icon_name;
- Boolean text_input_slot;
- Boolean radio_box;
- Boolean list;
- int left_buttons;
- int right_buttons;
+make_dialog (char* name,
+ Widget parent,
+ Boolean pop_up_p,
+ char* shell_title,
+ char* icon_name,
+ Boolean text_input_slot,
+ Boolean radio_box,
+ Boolean list,
+ int left_buttons,
+ int right_buttons)
{
Widget result;
Widget form;
}
static destroyed_instance*
-find_matching_instance (instance)
- widget_instance* instance;
+find_matching_instance (widget_instance* instance)
{
destroyed_instance* cur;
destroyed_instance* prev;
}
static void
-mark_dead_instance_destroyed (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
+mark_dead_instance_destroyed (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
destroyed_instance* instance = (destroyed_instance*)closure;
instance->widget = NULL;
}
static void
-recenter_widget (widget)
- Widget widget;
+recenter_widget (Widget widget)
{
Widget parent = XtParent (widget);
Screen* screen = XtScreen (widget);
}
static Widget
-recycle_instance (instance)
- destroyed_instance* instance;
+recycle_instance (destroyed_instance* instance)
{
Widget widget = instance->widget;
}
Widget
-xm_create_dialog (instance)
- widget_instance* instance;
+xm_create_dialog (widget_instance* instance)
{
char* name = instance->info->type;
Widget parent = instance->parent;
because we have not yet managed to make it work right in Motif. */
static Widget
-make_menubar (instance)
- widget_instance* instance;
+make_menubar (widget_instance* instance)
{
Arg al[3];
int ac;
}
static void
-remove_grabs (shell, closure, call_data)
- Widget shell;
- XtPointer closure;
- XtPointer call_data;
+remove_grabs (Widget shell,
+ XtPointer closure,
+ XtPointer call_data)
{
Widget menu = (Widget) closure;
XmRemoveFromPostFromList (menu, XtParent (XtParent (menu)));
}
static Widget
-make_popup_menu (instance)
- widget_instance* instance;
+make_popup_menu (widget_instance* instance)
{
Widget parent = instance->parent;
Window parent_window = parent->core.window;
}
static Widget
-make_main (instance)
- widget_instance* instance;
+make_main (widget_instance* instance)
{
Widget parent = instance->parent;
Widget result;
\f/* Destruction of instances */
void
-xm_destroy_instance (instance)
- widget_instance* instance;
+xm_destroy_instance ( widget_instance* instance)
{
Widget widget = instance->widget;
/* recycle the dialog boxes */
\f/* popup utility */
void
-xm_popup_menu (widget, event)
- Widget widget;
- XEvent *event;
+xm_popup_menu (Widget widget, XEvent *event)
{
XButtonPressedEvent dummy;
}
static void
-set_min_dialog_size (w)
- Widget w;
+set_min_dialog_size (Widget w)
{
short width;
short height;
}
void
-xm_pop_instance (instance, up)
- widget_instance* instance;
- Boolean up;
+xm_pop_instance (widget_instance* instance, Boolean up)
{
Widget widget = instance->widget;
/* motif callback */
static void
-do_call (widget, closure, type)
- Widget widget;
- XtPointer closure;
- enum do_call_type type;
+do_call (Widget widget,
+ XtPointer closure,
+ enum do_call_type type)
{
Arg al [256];
int ac;
if the widget was ``destroyed'' by caching it in the all_destroyed_instances
list */
static void
-xm_internal_update_other_instances (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
+xm_internal_update_other_instances (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
Widget parent;
for (parent = widget; parent; parent = XtParent (parent))
}
static void
-xm_generic_callback (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
+xm_generic_callback (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
lw_internal_update_other_instances (widget, closure, call_data);
do_call (widget, closure, selection);
}
static void
-xm_nosel_callback (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
+xm_nosel_callback (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
/* This callback is only called when a dialog box is dismissed with
the wm's destroy button (WM_DELETE_WINDOW.) We want the dialog
}
static void
-xm_pull_down_callback (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
+xm_pull_down_callback (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
Widget parent = XtParent (widget);
menu, whether or not its submenu is visible. */
static void
-xm_pop_down_callback (widget, closure, call_data)
- Widget widget;
- XtPointer closure;
- XtPointer call_data;
+xm_pop_down_callback (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
widget_instance *instance = (widget_instance *) closure;
\f
/* set the keyboard focus */
void
-xm_set_keyboard_focus (parent, w)
- Widget parent;
- Widget w;
+xm_set_keyboard_focus (Widget parent, Widget w)
{
XmProcessTraversal (w, 0);
XtSetKeyboardFocus (parent, w);
/* Motif hack to set the main window areas. */
void
-xm_set_main_areas (parent, menubar, work_area)
- Widget parent;
- Widget menubar;
- Widget work_area;
+xm_set_main_areas (Widget parent,
+ Widget menubar,
+ Widget work_area)
{
XmMainWindowSetAreas (parent,
menubar, /* menubar (maybe 0) */
/* Motif hack to control resizing on the menubar. */
void
-xm_manage_resizing (w, flag)
- Widget w;
- Boolean flag;
+xm_manage_resizing (Widget w, Boolean flag)
{
XtVaSetValues (w, XtNallowShellResize, flag, NULL);
}
struct _widget_info* next;
} widget_info;
-typedef Widget
-(*widget_creation_function) ();
+typedef Widget (*widget_creation_function) (widget_instance *instance);
typedef struct _widget_creation_entry
{
}
static widget_info *
-allocate_widget_info (type, name, id, val, pre_activate_cb,
- selection_cb, post_activate_cb, highlight_cb)
- char* type;
- char* name;
- LWLIB_ID id;
- widget_value* val;
- lw_callback pre_activate_cb;
- lw_callback selection_cb;
- lw_callback post_activate_cb;
- lw_callback highlight_cb;
+allocate_widget_info (char* type,
+ char* name,
+ LWLIB_ID id,
+ widget_value* val,
+ lw_callback pre_activate_cb,
+ lw_callback selection_cb,
+ lw_callback post_activate_cb,
+ lw_callback highlight_cb)
{
widget_info* info = (widget_info*)malloc (sizeof (widget_info));
info->type = safe_strdup (type);
static widget_value *
-merge_widget_value (widget_value *val1, widget_value *val2, int level, int *change_p)
+merge_widget_value (widget_value *val1,
+ widget_value *val2,
+ int level,
+ int *change_p)
{
change_type change, this_one_change;
widget_value* merged_next;
}
void
-lw_register_widget (type, name, id, val, pre_activate_cb,
- selection_cb, post_activate_cb, highlight_cb)
- char* type;
- char* name;
- LWLIB_ID id;
- widget_value* val;
- lw_callback pre_activate_cb;
- lw_callback selection_cb;
- lw_callback post_activate_cb;
- lw_callback highlight_cb;
+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,
+ lw_callback highlight_cb)
{
if (!get_widget_info (id, False))
allocate_widget_info (type, name, id, val, pre_activate_cb, selection_cb,
modified to update other instances of the widgets. Closure should be the
widget_instance. */
void
-lw_internal_update_other_instances (Widget widget, XtPointer closure, XtPointer call_data)
+lw_internal_update_other_instances (Widget widget,
+ XtPointer closure,
+ XtPointer call_data)
{
widget_instance* instance = (widget_instance*)closure;
char* name = XtName (widget);
static Boolean XlwMenuSetValues(Widget current, Widget request, Widget new,
ArgList args, Cardinal *num_args);
-static void XlwMenuRealize(Widget w, Mask *valueMask, XSetWindowAttributes *attributes);
+static void XlwMenuRealize(Widget, Mask *, XSetWindowAttributes *);
static void XlwMenuResize(Widget w);
-static void XlwMenuInitialize(Widget request, Widget mw, ArgList args, Cardinal *num_args);
+static void XlwMenuInitialize(Widget, Widget, ArgList, Cardinal *);
static void XlwMenuRedisplay(Widget w, XEvent *ev, Region region);
static void XlwMenuDestroy(Widget w);
static void XlwMenuClassInitialize(void);
/* Returns the sizes of an item */
static void
-size_menu_item (mw, val, horizontal_p, label_width, rest_width, button_width,
- height)
- XlwMenuWidget mw;
- widget_value* val;
- int horizontal_p;
- int* label_width;
- int* rest_width;
- int* button_width;
- int* height;
+size_menu_item (XlwMenuWidget mw,
+ widget_value* val,
+ int horizontal_p,
+ int* label_width,
+ int* rest_width,
+ int* button_width,
+ int* height)
{
enum menu_separator separator;
static void
size_menu (XlwMenuWidget mw, int level)
{
- unsigned int label_width = 0;
+ int label_width = 0;
int rest_width = 0;
int button_width = 0;
int max_rest_width = 0;
int max_button_width = 0;
- unsigned int height = 0;
+ int height = 0;
int horizontal_p = mw->menu.horizontal && (level == 0);
widget_value* val;
window_state* ws;
\f/* Display code */
static void
-draw_arrow (XlwMenuWidget mw, Window window, GC gc, int x, int y, int width, int down_p)
+draw_arrow (XlwMenuWidget mw,
+ Window window,
+ GC gc,
+ int x,
+ int y,
+ int width,
+ int down_p)
{
Display *dpy = XtDisplay (mw);
GC top_gc = mw->menu.shadow_top_gc;
static void
-draw_shadow_rectangle (XlwMenuWidget mw, Window window, int x, int y, int width, int height, int erase_p, int down_p)
+draw_shadow_rectangle (XlwMenuWidget mw,
+ Window window,
+ int x,
+ int y,
+ int width,
+ int height,
+ int erase_p,
+ int down_p)
{
Display *dpy = XtDisplay (mw);
GC top_gc = !erase_p ? mw->menu.shadow_top_gc : mw->menu.background_gc;
static void
-draw_shadow_rhombus (XlwMenuWidget mw, Window window, int x, int y, int width, int height, int erase_p, int down_p)
+draw_shadow_rhombus (XlwMenuWidget mw,
+ Window window,
+ int x,
+ int y,
+ int width,
+ int height,
+ int erase_p,
+ int down_p)
{
Display *dpy = XtDisplay (mw);
GC top_gc = !erase_p ? mw->menu.shadow_top_gc : mw->menu.background_gc;
separator to draw. TYPE is the separator type. */
static void
-draw_separator (XlwMenuWidget mw, Window window, int x, int y, int width, enum menu_separator type)
+draw_separator (XlwMenuWidget mw,
+ Window window,
+ int x,
+ int y,
+ int width,
+ enum menu_separator type)
{
Display *dpy = XtDisplay (mw);
XGCValues xgcv;
the menu item was. */
static void
-display_menu_item (mw, val, ws, where, highlighted_p, horizontal_p,
- just_compute_p)
- XlwMenuWidget mw;
- widget_value* val;
- window_state* ws;
- XPoint* where;
- Boolean highlighted_p;
- Boolean horizontal_p;
- Boolean just_compute_p;
+display_menu_item (XlwMenuWidget mw,
+ widget_value* val,
+ window_state* ws,
+ XPoint* where,
+ Boolean highlighted_p,
+ Boolean horizontal_p,
+ Boolean just_compute_p)
{
GC deco_gc;
GC text_gc;
}
static void
-display_menu (XlwMenuWidget mw, int level, Boolean just_compute_p, XPoint *highlighted_pos, XPoint *hit, widget_value **hit_return)
+display_menu (XlwMenuWidget mw,
+ int level,
+ Boolean just_compute_p,
+ XPoint *highlighted_pos,
+ XPoint *hit,
+ widget_value **hit_return)
{
widget_value* val;
widget_value* following_item;
/* Make the window fit in the screen */
static void
-fit_to_screen (XlwMenuWidget mw, window_state *ws, window_state *previous_ws, Boolean horizontal_p)
+fit_to_screen (XlwMenuWidget mw,
+ window_state *ws,
+ window_state *previous_ws,
+ Boolean horizontal_p)
{
unsigned int screen_width = WidthOfScreen (XtScreen (mw));
unsigned int screen_height = HeightOfScreen (XtScreen (mw));
}
static Boolean
-motion_event_is_in_menu (XlwMenuWidget mw, XMotionEvent *ev, int level, XPoint *relative_pos)
+motion_event_is_in_menu (XlwMenuWidget mw,
+ XMotionEvent *ev,
+ int level,
+ XPoint *relative_pos)
{
window_state* ws = &mw->menu.windows [level];
int shadow = level == 0 ? 0 : mw->menu.shadow_thickness;
}
static Boolean
-map_event_to_widget_value (XlwMenuWidget mw, XMotionEvent *ev, widget_value **val, int *level)
+map_event_to_widget_value (XlwMenuWidget mw,
+ XMotionEvent *ev,
+ widget_value **val,
+ int *level)
{
int i;
XPoint relative_pos;