Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
345a94f9
Commit
345a94f9
authored
Jan 31, 1994
by
Richard M. Stallman
Browse files
*** empty log message ***
parent
ab9d3e3c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
113 additions
and
46 deletions
+113
-46
lwlib/lwlib-Xlw.c
lwlib/lwlib-Xlw.c
+30
-12
lwlib/lwlib-utils.c
lwlib/lwlib-utils.c
+17
-6
src/widget.c
src/widget.c
+66
-28
No files found.
lwlib/lwlib-Xlw.c
View file @
345a94f9
...
...
@@ -27,7 +27,10 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Menu callbacks */
static
void
pre_hook
(
Widget
w
,
XtPointer
client_data
,
XtPointer
call_data
)
pre_hook
(
w
,
client_data
,
call_data
)
Widget
w
;
XtPointer
client_data
;
XtPointer
call_data
;
{
widget_instance
*
instance
=
(
widget_instance
*
)
client_data
;
widget_value
*
val
;
...
...
@@ -42,7 +45,10 @@ pre_hook (Widget w, XtPointer client_data, XtPointer call_data)
}
static
void
pick_hook
(
Widget
w
,
XtPointer
client_data
,
XtPointer
call_data
)
pick_hook
(
w
,
client_data
,
call_data
)
Widget
w
;
XtPointer
client_data
;
XtPointer
call_data
;
{
widget_instance
*
instance
=
(
widget_instance
*
)
client_data
;
widget_value
*
contents_val
=
(
widget_value
*
)
call_data
;
...
...
@@ -66,7 +72,8 @@ pick_hook (Widget w, XtPointer client_data, XtPointer call_data)
/* creation functions */
static
Widget
xlw_create_menubar
(
widget_instance
*
instance
)
xlw_create_menubar
(
instance
)
widget_instance
*
instance
;
{
Widget
widget
=
XtVaCreateWidget
(
instance
->
info
->
name
,
xlwMenuWidgetClass
,
...
...
@@ -79,7 +86,8 @@ xlw_create_menubar (widget_instance* instance)
}
static
Widget
xlw_create_popup_menu
(
widget_instance
*
instance
)
xlw_create_popup_menu
(
instance
)
widget_instance
*
instance
;
{
Widget
popup_shell
=
XtCreatePopupShell
(
instance
->
info
->
name
,
overrideShellWidgetClass
,
...
...
@@ -106,7 +114,8 @@ xlw_creation_table [] =
};
Boolean
lw_lucid_widget_p
(
Widget
widget
)
lw_lucid_widget_p
(
widget
)
Widget
widget
;
{
WidgetClass
the_class
=
XtClass
(
widget
);
if
(
the_class
==
xlwMenuWidgetClass
)
...
...
@@ -119,8 +128,11 @@ lw_lucid_widget_p (Widget widget)
}
void
xlw_update_one_widget
(
widget_instance
*
instance
,
Widget
widget
,
widget_value
*
val
,
Boolean
deep_p
)
xlw_update_one_widget
(
instance
,
widget
,
val
,
deep_p
)
widget_instance
*
instance
;
Widget
widget
;
widget_value
*
val
;
Boolean
deep_p
;
{
XlwMenuWidget
mw
;
...
...
@@ -132,19 +144,24 @@ xlw_update_one_widget (widget_instance* instance, Widget widget,
}
void
xlw_update_one_value
(
widget_instance
*
instance
,
Widget
widget
,
widget_value
*
val
)
xlw_update_one_value
(
instance
,
widget
,
val
)
widget_instance
*
instance
;
Widget
widget
;
widget_value
*
val
;
{
return
;
}
void
xlw_pop_instance
(
widget_instance
*
instance
,
Boolean
up
)
xlw_pop_instance
(
instance
,
up
)
widget_instance
*
instance
;
Boolean
up
;
{
}
void
xlw_popup_menu
(
Widget
widget
)
xlw_popup_menu
(
widget
)
Widget
widget
;
{
XButtonPressedEvent
dummy
;
XlwMenuWidget
mw
;
...
...
@@ -170,7 +187,8 @@ xlw_popup_menu (Widget widget)
/* Destruction of instances */
void
xlw_destroy_instance
(
widget_instance
*
instance
)
xlw_destroy_instance
(
instance
)
widget_instance
*
instance
;
{
if
(
instance
->
widget
)
XtDestroyWidget
(
instance
->
widget
);
...
...
lwlib/lwlib-utils.c
View file @
345a94f9
...
...
@@ -29,7 +29,8 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
/* Redisplay the contents of the widget, without first clearing it. */
void
XtNoClearRefreshWidget
(
Widget
widget
)
XtNoClearRefreshWidget
(
widget
)
Widget
widget
;
{
XEvent
event
;
...
...
@@ -53,7 +54,10 @@ XtNoClearRefreshWidget (Widget widget)
* Apply a function to all the subwidgets of a given widget recursively.
*/
void
XtApplyToWidgets
(
Widget
w
,
XtApplyToWidgetsProc
proc
,
XtPointer
arg
)
XtApplyToWidgets
(
w
,
proc
,
arg
)
Widget
w
;
XtApplyToWidgetsProc
proc
;
XtPointer
arg
;
{
if
(
XtIsComposite
(
w
))
{
...
...
@@ -83,7 +87,10 @@ XtApplyToWidgets (Widget w, XtApplyToWidgetsProc proc, XtPointer arg)
* Stop as soon as the function returns non NULL and returns this as a value.
*/
void
*
XtApplyUntilToWidgets
(
Widget
w
,
XtApplyUntilToWidgetsProc
proc
,
XtPointer
arg
)
XtApplyUntilToWidgets
(
w
,
proc
,
arg
)
Widget
w
;
XtApplyUntilToWidgetsProc
proc
;
XtPointer
arg
;
{
void
*
result
;
if
(
XtIsComposite
(
w
))
...
...
@@ -109,7 +116,9 @@ XtApplyUntilToWidgets (Widget w, XtApplyUntilToWidgetsProc proc, XtPointer arg)
* Returns a copy of the list of all children of a composite widget
*/
Widget
*
XtCompositeChildren
(
Widget
widget
,
unsigned
int
*
number
)
XtCompositeChildren
(
widget
,
number
)
Widget
widget
;
unsigned
int
*
number
;
{
CompositeWidget
cw
=
(
CompositeWidget
)
widget
;
Widget
*
result
;
...
...
@@ -130,13 +139,15 @@ XtCompositeChildren (Widget widget, unsigned int* number)
}
Boolean
XtWidgetBeingDestroyedP
(
Widget
widget
)
XtWidgetBeingDestroyedP
(
widget
)
Widget
widget
;
{
return
widget
->
core
.
being_destroyed
;
}
void
XtSafelyDestroyWidget
(
Widget
widget
)
XtSafelyDestroyWidget
(
widget
)
Widget
widget
;
{
#if 0
...
...
src/widget.c
View file @
345a94f9
...
...
@@ -191,8 +191,12 @@ pixel_to_char_size (ew, pixel_width, pixel_height, char_width, char_height)
}
static
void
char_to_pixel_size
(
EmacsFrame
ew
,
int
char_width
,
int
char_height
,
Dimension
*
pixel_width
,
Dimension
*
pixel_height
)
char_to_pixel_size
(
ew
,
char_width
,
char_height
,
pixel_width
,
pixel_height
)
EmacsFrame
ew
;
int
char_width
;
int
char_height
;
Dimension
*
pixel_width
;
Dimension
*
pixel_height
;
{
struct
frame
*
f
=
ew
->
emacs_frame
.
frame
;
*
pixel_width
=
CHAR_TO_PIXEL_WIDTH
(
f
,
char_width
);
...
...
@@ -200,9 +204,12 @@ char_to_pixel_size (EmacsFrame ew, int char_width, int char_height,
}
static
void
round_size_to_char
(
EmacsFrame
ew
,
Dimension
in_width
,
Dimension
in_height
,
Dimension
*
out_width
,
Dimension
*
out_height
)
round_size_to_char
(
ew
,
in_width
,
in_height
,
out_width
,
out_height
)
EmacsFrame
ew
;
Dimension
in_width
;
Dimension
in_height
;
Dimension
*
out_width
;
Dimension
*
out_height
;
{
int
char_width
;
int
char_height
;
...
...
@@ -211,7 +218,8 @@ round_size_to_char (EmacsFrame ew,
}
static
Widget
get_wm_shell
(
Widget
w
)
get_wm_shell
(
w
)
Widget
w
;
{
Widget
wmshell
;
...
...
@@ -223,7 +231,8 @@ get_wm_shell (Widget w)
}
static
void
mark_shell_size_user_specified
(
Widget
wmshell
)
mark_shell_size_user_specified
(
wmshell
)
Widget
wmshell
;
{
if
(
!
XtIsWMShell
(
wmshell
))
abort
();
/* This is kind of sleazy, but I can't see how else to tell it to make it
...
...
@@ -241,7 +250,8 @@ mark_shell_size_user_specified (Widget wmshell)
static
Boolean
first_frame_p
=
True
;
static
void
set_frame_size
(
EmacsFrame
ew
)
set_frame_size
(
ew
)
EmacsFrame
ew
;
{
/* The widget hierarchy is
...
...
@@ -468,7 +478,8 @@ set_frame_size (EmacsFrame ew)
static
void
update_wm_hints
(
EmacsFrame
ew
)
update_wm_hints
(
ew
)
EmacsFrame
ew
;
{
Widget
wmshell
=
get_wm_shell
((
Widget
)
ew
);
int
cw
;
...
...
@@ -510,7 +521,8 @@ update_wm_hints (EmacsFrame ew)
}
static
void
create_frame_gcs
(
EmacsFrame
ew
)
create_frame_gcs
(
ew
)
EmacsFrame
ew
;
{
struct
frame
*
s
=
ew
->
emacs_frame
.
frame
;
...
...
@@ -523,7 +535,8 @@ create_frame_gcs (EmacsFrame ew)
}
static
void
setup_frame_gcs
(
EmacsFrame
ew
)
setup_frame_gcs
(
ew
)
EmacsFrame
ew
;
{
XGCValues
gc_values
;
struct
frame
*
s
=
ew
->
emacs_frame
.
frame
;
...
...
@@ -599,7 +612,8 @@ setup_frame_gcs (EmacsFrame ew)
}
static
void
update_various_frame_slots
(
EmacsFrame
ew
)
update_various_frame_slots
(
ew
)
EmacsFrame
ew
;
{
struct
x_display
*
x
=
ew
->
emacs_frame
.
frame
->
display
.
x
;
x
->
pixel_height
=
ew
->
core
.
height
;
...
...
@@ -609,7 +623,8 @@ update_various_frame_slots (EmacsFrame ew)
}
static
void
update_from_various_frame_slots
(
EmacsFrame
ew
)
update_from_various_frame_slots
(
ew
)
EmacsFrame
ew
;
{
struct
x_display
*
x
=
ew
->
emacs_frame
.
frame
->
display
.
x
;
ew
->
core
.
height
=
x
->
pixel_height
;
...
...
@@ -623,8 +638,11 @@ update_from_various_frame_slots (EmacsFrame ew)
}
static
void
EmacsFrameInitialize
(
Widget
request
,
Widget
new
,
ArgList
dum1
,
Cardinal
*
dum2
)
EmacsFrameInitialize
(
request
,
new
,
dum1
,
dum2
)
Widget
request
;
Widget
new
;
ArgList
dum1
;
Cardinal
*
dum2
;
{
EmacsFrame
ew
=
(
EmacsFrame
)
new
;
...
...
@@ -681,8 +699,10 @@ EmacsFrameInitialize (Widget request, Widget new,
static
void
EmacsFrameRealize
(
Widget
widget
,
XtValueMask
*
mask
,
XSetWindowAttributes
*
attrs
)
EmacsFrameRealize
(
widget
,
mask
,
attrs
)
Widget
widget
;
XtValueMask
*
mask
;
XSetWindowAttributes
*
attrs
;
{
EmacsFrame
ew
=
(
EmacsFrame
)
widget
;
...
...
@@ -699,10 +719,11 @@ EmacsFrameRealize (Widget widget, XtValueMask *mask,
update_wm_hints
(
ew
);
}
extern
void
free_frame_faces
(
struct
frame
*
);
extern
void
free_frame_faces
(
/*
struct frame *
*/
);
static
void
EmacsFrameDestroy
(
Widget
widget
)
EmacsFrameDestroy
(
widget
)
Widget
widget
;
{
EmacsFrame
ew
=
(
EmacsFrame
)
widget
;
struct
frame
*
s
=
ew
->
emacs_frame
.
frame
;
...
...
@@ -723,7 +744,8 @@ EmacsFrameDestroy (Widget widget)
}
void
EmacsFrameResize
(
Widget
widget
)
EmacsFrameResize
(
widget
)
Widget
widget
;
{
EmacsFrame
ew
=
(
EmacsFrame
)
widget
;
struct
frame
*
f
=
ew
->
emacs_frame
.
frame
;
...
...
@@ -762,8 +784,12 @@ EmacsFrameResize (Widget widget)
}
static
Boolean
EmacsFrameSetValues
(
Widget
cur_widget
,
Widget
req_widget
,
Widget
new_widget
,
ArgList
dum1
,
Cardinal
*
dum2
)
EmacsFrameSetValues
(
cur_widget
,
req_widget
,
new_widget
,
dum1
,
dum2
)
Widget
cur_widget
;
Widget
req_widget
;
Widget
new_widget
;
ArgList
dum1
;
Cardinal
*
dum2
;
{
EmacsFrame
cur
=
(
EmacsFrame
)
cur_widget
;
EmacsFrame
new
=
(
EmacsFrame
)
new_widget
;
...
...
@@ -834,8 +860,10 @@ EmacsFrameSetValues (Widget cur_widget, Widget req_widget, Widget new_widget,
}
static
XtGeometryResult
EmacsFrameQueryGeometry
(
Widget
widget
,
XtWidgetGeometry
*
request
,
XtWidgetGeometry
*
result
)
EmacsFrameQueryGeometry
(
widget
,
request
,
result
)
Widget
widget
;
XtWidgetGeometry
*
request
;
XtWidgetGeometry
*
result
;
{
EmacsFrame
ew
=
(
EmacsFrame
)
widget
;
...
...
@@ -868,13 +896,20 @@ EmacsFrameQueryGeometry (Widget widget, XtWidgetGeometry* request,
it to make the focus handlers work??
*/
static void
key_press (Widget w, XEvent* event, String *params, Cardinal *n_params)
key_press (w, event, params, n_params)
Widget w;
XEvent* event;
String *params;
Cardinal *n_params;
{
}
static void
emacs_frame_focus_handler (Widget w, XEvent *event, String *params,
Cardinal *n_params)
emacs_frame_focus_handler (w, event, params, n_params)
Widget w;
XEvent *event;
String *params;
Cardinal *n_params;
{
emacs_Xt_focus_event_handler (event, 0);
}
...
...
@@ -882,7 +917,10 @@ emacs_frame_focus_handler (Widget w, XEvent *event, String *params,
/* Special entrypoints */
void
EmacsFrameSetCharSize
(
Widget
widget
,
int
columns
,
int
rows
)
EmacsFrameSetCharSize
(
widget
,
columns
,
rows
)
Widget
widget
;
int
columns
;
int
rows
;
{
EmacsFrame
ew
=
(
EmacsFrame
)
widget
;
Dimension
pixel_width
,
pixel_height
,
granted_width
,
granted_height
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment