DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T X

⟦db50585d0⟧ TextFile

    Length: 5454 (0x154e)
    Types: TextFile
    Names: »XrEditor.3x«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦526ad3590⟧ »EUUGD11/gnu-31mar87/X.V10.R4.tar.Z« 
        └─⟦2109abc41⟧ 
            └─ ⟦this⟧ »./X.V10R4/Toolkit/Xr/usr/man/man3/XrEditor.3x« 

TextFile

.TH XREDITOR 3X "Xrlib Version 10"
.SH NAME
Editor - Facilities providing some field editor manipulations
.SH SYNOPSIS
#include <X/Xlib.h>
.br
#include <Xr/Xrlib.h>
.PP
.B XrEditor (windowId, message, data)
.br
Window windowId;
.br
INT32 message;
.br
INT8 * data;
.PP
.sp 1
.SH DESCRIPTION
XrEditor() provides a group of functions used to manipulate the
list of editors attached to a window.  The messages to the function
can be used by both the Xrlib editors and the application.  However,
there are restrictions on the use of some of the messages.  These
restrictions will be noted along with the message descriptions.
.PP
The messages use the xrEditor structure for passing the editor information.
The editor structure is defined as follows.
.nf

typedef struct _xrEditor
{
   struct _xrEditor * (*editorFunct)();
   Window editorWindowId;
   RECTANGLE editorRect;
   INT8 editorState;
   INT8 * editorData;
   struct _xrEditor * nextEditor;
} xrEditor;

.fi
.sp
.PP
The following set of messages should only be issued by field editors.
.IP MSG_ADD
.br
This message allows a field editor to attach a particular editor instance
to the active editor group within a specific window.
Once an editor instance has been attached to a window, it is then able
to receive input.
The
.I windowId
parameter specifies the window to which the instance is to be attached.  The
.I data
parameter points to the xrEditor structure associated with the editor 
instance.  The XrEditor() function maintains a linked list of editor 
instances attached to each window and the new editor instance will be 
linked to the end of this list.
.IP MSG_REMOVE
.br
This message allows a field editor to remove a particular editor instance
from the list of editors attached to a window.
Once an editor instance becomes unattached from a window, it is no longer
able to receive any user input.  Therefore, an editor instance should 
only be unattached when it is no longer needed.
The
.I windowId
parameter specifies the window to which the instance is currently 
attached.  The
.I data
parameter points to the xrEditor structure associated with the editor 
instance.
.sp
.PP
The following set of messages can be issued by an application.
.IP MSG_PROCESSEVENT
.br
This message will take a passed-in XrEvent structure, and see if
the event occurred within any of the field editor instances associated
with the specified window.
If the event did not occur within a rectangle of an editor group whose state
is visible and sensitive, the message will fail.  Also,
if the event did not occur within one of the window's field editors, then
the message will fail.  A value of
.B FALSE
will be returned for both cases.
If, however, the event did occur within one of the window's field editor
instances, and the editor group in which the editor resides is visible and
sensitive, then the handler routine for that editor instance will be called, 
and given the opportunity to process the event.
Upon completion of the processing, the return value generated by the
field editor will be returned.
.IP
At invocation time, the
.I windowId
parameter must specify the window in which the input event occurred
and the
.I data
parameter must point to the xrEvent structure containing the input 
information.
.IP MSG_REDRAW
.br
This message allows an application to request that all field editor 
instances which lie within a specified rectangular portion of a window
be completely redrawn.
This is especially useful when a portion of a window which was hidden
by another window is uncovered.
.IP
To use this facility, the
.I windowId
parameter must be set to specify the window to be partially redrawn.  The
.I data
parameter must point to a RECTANGLE
structure which defines the rectangular region to be redrawn.
.IP MSG_REDRAWALL
.br
This message provides an application with the means of easily redrawing
all of the editors attached to a window.  For this message,
.I windowId
should contain the window in which the editors are to be redrawn.
.I data
is unused and should be set to
.B NULL.
.IP MSG_SETSTATE
This function allows an application to quickly modify the state flags
associated with every field editor instance attached to a particular window.
The state flags for each instance will be set to the same value.
The state flags are defined in XrFieldEditors(3X) man page.
To use this function, the application must set the
.I windowId
parameter to specify the window whose field editors are to be modified,
and the
.I data
parameter must be set to the state value to be used for the set of editors.
.sp 1
.SH RETURN VALUE
.I windowId
is returned if the call to XrEditor() succeeds.
.B FALSE
is returned otherwise.
.SH ERROR CONDITIONS
If XrEditor() returns 
.B FALSE,
the 
.I xrErrno
global will be set to one of the following values.
.PP
.I xrErrno
will be set to
.B XrINVALIDID
for all of the messages if the window identified by the
.I windowId
parameter has not been registered with XrInput().
.PP
.I xrErrno
will be set to
.B XrINVALIDMSG
for any messages besides the messages listed above.
.PP
.I xrErrno
will be set to
.B XrINVALIDPARM
whenever the 
.I data
parameter contains invalid information.
.PP
.I xrErrno
will be set to
.B XrINVALIDEVENT
if
.B MSG_PROCESSEVENT
fails because the event does not fall within one of the editors attached
to the window or the event does not fall within a visible and sensitive
editor group.
.SH SEE ALSO
XrInput(3X), XrEditorGroup(3X), xrErrno(3X)