DXmCreateSvn(3X)DXmCreateSvn(3X)NAMEDXmCreateSvn - Creates an SVN widget
SYNOPSIS
Widget DXmCreateSvn(
Widget parent,
char *name,
Arg *arglist,
int argcount );
PARAMETERS
The identifier (widget ID) of the parent widget. A character string
that defines the name of the widget. The application argument list.
An integer that represents the number of arguments in the application
argument list. If there are no arguments in the argument list,
argcount must equal 0. However, when argcount equals 0, the argument
list does not have to be Null.
DESCRIPTION
The DXmCreateSvn routine allows you to create a hierarchical structure
of information that is presented to a user in an organized manner and
in a way that lets the user navigate in, and select from, that struc‐
ture. Your application need only tell the SVN widget about the organi‐
zation of the data and respond to SVN widget callbacks; the SVN widget
is responsible for actually displaying the data.
You can use SVN to display hierarchical information in three different
formats, or modes: Outline format. Tree format, which can be oriented
from the top, the left, in outline form, and in a user-defined style.
Column format, which differs from outline format in that a window pane
separates a set of components from the rest of the display. You can
scroll horizontally on each side, independently of the other side. How‐
ever, you have only one vertical scroll bar.
Each SVN line, or entry, in your hierarchy can display as many as
thirty pieces of information (called components) depending on the
amount of information users need. The components can be of three data
types: text, pixmaps, and widgets.
The SVN widget includes additional support routines (also described in
this document) that allow your application to insert and remove compo‐
nents, set the text associated with a component, set a component to be
hidden, set and determine a component's width, and determine a compo‐
nent's number.
When you create an SVN widget, note that applications must be able to
communicate with the widget through Toolkit routine calls that request
information about and manipulate selections. As such, when you use the
DXmCreateSvn routine to create the SVN widget, you must include the
following SVN callbacks: DXmSvnNattachToSourceCallback DXmSvnNgetEn‐
tryCallback DXmSvnNselectAndConfirmCallback
Callback Structures
You can set the following widget-specific resources in the arglist:
XtCallbackList DXmSvnNattachToSourceCallback Boolean DXmSvn‐
NcolumnLines; Dimension DXmSvnNdefaultSpacing; XtCallbackList
DXmSvnNdetachFromSourceCallback XtCallbackList DXmSvnNdisplayChanged‐
Callback short DXmSvnNdisplayMode; XtCallbackList DXmSvn‐
NdraggingCallback XtCallbackList DXmSvnNdraggingEndCallback XtCall‐
backList DXmSvnNentrySelectedCallback XtCallbackList DXmSvnNentry‐
TransferCallback XtCallbackList DXmSvnNentryUnselectedCallback Boolean
DXmSvnNexpectHighlighting; XtCallbackList DXmSvnNextendConfirmCallback
Boolean DXmSvnNfixedWidthEntries; XmFontList DXmSvnN‐
fontList; XmFontList DXmSvnNfontListLevel0; XmFontList
DXmSvnNfontListLevel1; XmFontList DXmSvnNfontListLevel2;
XmFontList DXmSvnNfontListLevel3; XmFontList DXmSvnN‐
fontListLevel4; Boolean DXmSvnNforceSeqGetEntry; XtCallbackList
DXmSvnNgetEntryCallback Dimension DXmSvnNghostHeight; Pixmap
DXmSvnNghostPixmap; Dimension DXmSvnNghostWidth; Position
DXmSvnNghostX; Position DXmSvnNghostY; XtCallbackList
DXmSvnNhelpRequestedCallback; Dimension DXmSvnNindentMargin;
Boolean DXmSvnNliveScrolling; Boolean DXmSvnNmultipleS‐
elections; XmString DXmSvnNnavWindowTitle; longword
DXmSvnNnumberOfEntries; Widget DXmSvnNoutlineHScrollWidget;
Widget DXmSvnNpaneWidget; XtCallbackList DXmSvnNpopupMenu‐
Callback longword DXmSvnNprimaryPercentage Widget
DXmSvnNprimaryWindowWidget Position DXmSvnNsecondaryBaseX; Bool‐
ean DXmSvnNsecondaryComponentsUnmapped; Widget
DXmSvnNsecondaryWindowWidget; XtCallbackList DXmSvnNselectAndConfirm‐
Callback short DXmSvnNselectionMode; XtCallbackList
DXmSvnNselectionsDraggedCallback Boolean DXmSvnNshowPathToRoot;
short DXmSvnNstartColumnComponent; short
DXmSvnNstartLocationCursor; XtCallbackList DXmSvnNtransitionsDoneCall‐
back Dimension DXmSvnNtreeArcWidth; Boolean DXmSvnNtree‐
CenteredComponents; Boolean DXmSvnNtreeEntryOutlines; Boolean
DXmSvnNtreeEntryShadows; Boolean DXmSvnNtreeIndexAll; Dimension
DXmSvnNtreeLevelSpacing; Boolean DXmSvnNtreePerpendicularLines;
Dimension DXmSvnNtreeSiblingSpacing; short DXmSvn‐
NtreeStyle; Boolean DXmSvnNtruncateText; Boolean
DXmSvnNuseScrollButtons;
Resources
Callback (or callbacks) made when a widget attaches to the source data
module, which then calls the DXmSvnAddEntries routine to specify the
initial entries (and number of entries) in the data hierarchy. The
callback reason is DXmSvnCRAttachToSource. The default is Null. Access
is CG. A Boolean resource that, when True, specifies that columns are
to be separated with a line. The default is False. Access is CSG.
The number of pixels between components. The default is 12 pixels.
Access is CSG. Callback made when the widget is detached from the
source data module (the widget is being destroyed). The application
records that this widget will never call back. The callback reason is
DXmSvnCRDetachFromSource. The default is Null. Access is CSG. Call‐
back made when the entries currently being displayed to the user have
changed. This change may be in response to an expand or collapse oper‐
ation, scrolling, or the application issuing calls to the DXmSvnPosi‐
tionDisplay routine.
The callback reason is DXmSvnCRDisplayChanged. An additional
callback field is loc_cursor_entry_number, which is the number
of the entry where the location cursor is currently displayed.
The default is Null. Access is CSG. Specifies which display
should appear on the screen, indicated by one of the following
values:
─────────────────────────────────────────────────────────
Value Description
─────────────────────────────────────────────────────────
DXmSvnKdisplayOutline Display in outline mode.
DXmSvnKdisplayColumns Display in column mode.
DXmSvnKdisplayTree Display in tree mode.
DXmSvnKdisplayAllModes Used only by the DXmSvnSetCom‐
ponentHidden routine to hide a
component in all modes.
DXmSvnKdisplayNone Used only by the DXmSvnSetCom‐
ponentHidden routine to display
(not hide) a component in any
mode.
─────────────────────────────────────────────────────────
The default is DXmSvnKdisplayOutline. Access is CSG. Callback
made when a user presses MB2 to drag a set of entries. This
callback is required for application-controlled dragging (which
you set by using the DXmSvnSetApplDragging routine).
The callback reason is DXmSvnCRDragging. Other callback fields
are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
time The time that the button press
event occurred
x The x position of the pointer
y The y position of the pointer
dragged_entry_number The number of the entry currently
being dragged while MB2 is pressed
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the XEvent that gen‐
erated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. Callback made when the
user releases MB2 after dragging a set of entries. This callback
is required for application-controlled dragging (which you set
by using the DXmSvnSetApplDragging routine).
The callback reason is DXmSvnCRDraggingEnd. Other callback
fields are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
time The time that the button release
event occurred
x The x position of the cursor when
the mouse button was released
y The y position of the cursor when
the mouse button was released
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the XEvent that gen‐
erated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. Callback made when the
user selects an entry. The fields provided in the callback
structure enable the application to obtain more information
about the selected entry from the source module.
The callback reason is DXmSvnCREntrySelected. Other callback
fields are as follows:
─────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────
entry_number The entry selected
component_number The component within the entry the
mouse was positioned over when the
entry was selected
time Time when the entry was selected
entry_tag The value (previously set in the
application with the DXmSvnSetEntry
or DXmSvnSetEntryTag routine) associ‐
ated with the entry_number field
─────────────────────────────────────────────────────────
────────────────────────────────────────────────────────
Value Description
────────────────────────────────────────────────────────
DXmSvnKnotFirst This is not the first selection
that has been made.
DXmSvnKfirstOfOne There is only one selection being
made.
DXmSvnKfirstOfMany This is the first of many selec‐
tions being made.
────────────────────────────────────────────────────────
This value (when treated as a Boolean function) is usually True.
It is False only when the user has made a range selection and
this is not the first DXmSvnNentrySelectedCallback.)
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
entry_level The entry's level number
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the XEvent that gen‐
erated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. Callback made when the
user clicks on MB2 without moving the mouse.
The callback reason is DXmSvnCREntryTransfer. Other callback
fields are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played.
─────────────────────────────────────────────────────────────
─────────────────────────────────────────────────────────
Value Description
─────────────────────────────────────────────────────────
DXmSvnKtransferUnknown No modifier was specified with
the MB2 click.
DXmSvnKtransferMove The ALT modifier was specified
with the MB2 click.
DXmSvnKtransferCopy The Ctrl modifier was specified
with the MB2 click.
event A pointer to the X event struc‐
ture describing the event that
generated this callback.
─────────────────────────────────────────────────────────
The default is Null. Access is CSG. Callback made when the
user cancels (“unselects”) the selection of an entry.
The fields provided in the callback structure enable an applica‐
tion to obtain more information about the entry from its source
module.
The callback reason is DXmSvnCREntryUnselected. Other callback
fields are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
entry_number The canceled entry
component_number The component within the entry the
mouse was positioned over when the
entry was canceled
time Time when the selection was can‐
celed
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the X event structure
describing the event that gener‐
ated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. A Boolean resource that,
when True, creates a rectangle large enough to highlight the
entries. The default is False. Access is CSG. Callback made
when the user double clicks MB1 with multiple entries selected.
To determine which entries are selected, the application must
call the DXmSvnGetNumSelections and the DXmSvnGetSelections rou‐
tines.
The callback reason is DXmSvnCRExtendConfirm. Other callback
fields are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
entry_number The entry selected
time Time when the double click
occurred
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the X event structure
describing the event that gener‐
ated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. A Boolean resource that,
when True, specifies that all entries, including the selectable
white space to the right of each entry, will be the same width.
Fixed width entries are the width of the display window. The
default is True. Access is CSG. The default font when no level
font is specified. The default is DXmDefaultFont. Access is
CSG. The default font list used by level 0 entries. The
default is Null. Access is CSG. The default font list used by
level 1 entries. The default is Null. Access is CSG. The
default font list used by level 2 entries. The default is Null.
Access is CSG. The default font list used by level 3 entries.
The default is Null. Access is CSG. The default font list used
by level 4 entries. The default is Null. Access is CSG. A
Boolean resource that, when True, specifies that the SVN widget
generate the DXmSvnNgetEntryCallback callbacks in sequential
order only. The default is False. Access is CSG. Callback made
when the SVN widget requires information about an entry. The
application should respond by calling the DXmSvnSetEntry rou‐
tine. Control should not be returned from the callback until
this call and subsequent calls are made to the DXmSvnSetCompo‐
nentPixmap, DXmSvnSetComponentText, or DXmSvnSetComponentWidget
routines.
The callback reason is DXmSvnCRGetEntry. Other callback fields
are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
entry_number The entry number required
entry_tag The value (previously set in the
application with the DXmSvnSetEn‐
try or DXmSvnAddEntries routine)
associated with the entry_number
field
entry_level The entry's level number
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. The height of the pixmap
for a specific type of highlighted image, or “ghost”, that fol‐
lows the entries as they are dragged. The default is 0. Access
is CSG. The pixmap for a specific type of highlighted image,
or “ghost”, that follows the entries as they are dragged. The
default is Null. Access is CSG. The width of the pixmap for a
specific type of highlighted image, or “ghost”, that follows the
entries as they are dragged. The default is 0. Access is CSG.
Relative x position on the screen where the dragging “ghost” (a
specific type of highlighted image that follows the entries as
they are dragged) is attached to the cursor. The default is 0.
Access is CSG. Relative y position on the screen where the
dragging “ghost” (a specific type of highlighted image that fol‐
lows the entries as they are dragged) is attached to the cursor.
The default is 0. Access is CSG. Callback made when the user
requests help. The callback reason is DXmSvnCRHelpRequested.
Other callback fields are as follows:
────────────────────────────────────────────────────────────────────
Field Description
────────────────────────────────────────────────────────────────────
component_number The component number within the entry on
which help was requested
time The time when the user requested help
entry_number The entry number for which help was
requested
entry_tag The value (previously set in the applica‐
tion with the DXmSvnSetEntry routine)
associated with the entry_number field
entry_level The level number of the entry
loc_cursor_entry_number The number of the entry where the loca‐
tion cursor is currently displayed
event A pointer to the X event structure
describing the event that generated this
callback
────────────────────────────────────────────────────────────────────
Note that the values for the entry_number and loc_cur‐
sor_entry_number fields vary depending on how the user requests
help, as follows: The user presses the Help key on the keyboard.
In this instance, the SVN widget returns a valid entry number in
the loc_cursor_entry_number field and then invokes SVN help for
the corresponding entry. The user invokes context-sensitive
help and then clicks on MB1.
In this instance, the application uses context-sensitive help
(which you include in the application by specifying the
DXmHelpOnContext routine) to invoke help for an SVN subwidget.
A negative value in the entry_number field indicates which of
the following subwidgets the user has clicked on to request
help:
─────────────────────────────
Subwidget Value
─────────────────────────────
DXmSvnKHelpScroll -1
DXmSvnKHelpNavButton -2
DXmSvnKNavWindow -3
─────────────────────────────
The default is Null. Access is CSG. The number of pixels each
entry level should be indented. The default is 16 pixels.
Access is CSG. A Boolean resource that, when True, allows
scrolling in outline and column display mode, but not in tree
mode. If an application uses the existing index window instead,
this resource must be set to False. The default is True. Access
is CSG. The percentage of the display window that is in the
primary side of the column view. The default is 50 percent.
Access is CSG. The identifier (widget ID) of the primary window
widget in the SVN display. The default is Null. Access is G
(read-only). A Boolean resource that, when True, allows the
user to specify multiple selections. The default is True.
Access is CSG. The title for a pop-up navigation window. The
default is Null. Access is CSG. The number of entries. The
value increases or decreases as entries are changed by the
DXmSvnAddEntries and DXmSvnDeleteEntries routines. Access is G
(read-only). The identifier (widget ID) of the primary horizon‐
tal scroll bar. The default is Null. Access is G (read-only).
The identifier (widget ID) of the pane widget. The default is
Null. Access is G (read-only). Callback made after an MB3 click
that notifies the application to generate a pop-up menu for this
entry.
The callback reason is DXmSvnCRPopupMenu. Other callback fields
are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the X event structure
describing the event that gener‐
ated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. The base x position of the
secondary window in the column view. The default is 0. Access
is CSG. A Boolean resource that, when True, specifies that sec‐
ondary components still exist even though they are not visible
in the column view. The default is False. Access is CSG. The
identifier (widget ID) of the secondary widget in the SVN dis‐
play. The default is Null. Access is G (read-only). Callback
made when the user double clicks MB1 on a single entry, indicat‐
ing that the user wants to expand or collapse (contract) the
entry. The application can determine which entry has been
selected by either examining the entry_number and component_num‐
ber fields of the callback data structure or by calling the
DXmSvnGetSelections routine.
This callback is also called when all three of the following
conditions exist: The DXmSvnNMultipleSelections resource is set
to True. There is no DXmSvnNExtendConfirm callback supplied.
The user has double clicked to terminate the selection of a
range of entries.
In such an instance, the individual calls are from the highest
entry number selected through the lowest entry number selected.
The callback reason is DXmSvnCRSelectAndConfirm. Other callback
fields are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
component_number The component number on which the
mouse was positioned
time When the second click of the dou‐
ble click occurred
entry_number The entry number of the selected
entry
entry_tag The value (previously set in the
application with the DXmSvnSetEn‐
try or DXmSvnAddEntries routine)
associated with the entry_number
field
entry_level The level number of the entry
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the X event structure
describing the event that gener‐
ated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. Specifies what is to be
selected. The selection mode, which is used by the column view,
is indicated by one of the following values:
──────────────────────────────────────────────────────────
Value Description
──────────────────────────────────────────────────────────
DXmSvnKselectEntry Selects the entire entry.
DXmSvnKselectComp Selects only the component.
DXmSvnKselectCompAndPrimary Selects the current compo‐
nent and the entire primary
side of the column view.
DXmSvnKselectEntryOrComp Selects either the entire
entry (if the selection is
made on the primary side)
or only the component (if
the selection is made on
the secondary side of the
display window).
──────────────────────────────────────────────────────────
The default is DXmSvnKselectEntry. Access is CSG. The user has
used MB2 to drag selected entries to another location. Note that
the use of this resource is valid only when application-con‐
trolled dragging has not been set (with the DXmSvnNdraggingCall‐
back and DXmSvnNdraggingEndCallback callbacks).
The callback reason is DXmSvnCRSelectionsDragged. Other call‐
back fields are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
component_number The component number on which the
mouse button was released
x The x position at which the mouse
button was released
y The y position at which the mouse
button was released
entry_number The entry number on which the
mouse button was released
entry_tag The value (previously set in the
application with the DXmSvnSetEn‐
try routine) associated with the
entry_number field
entry_level The entry's level number
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the X event structure
describing the event that gener‐
ated this callback
─────────────────────────────────────────────────────────────
The default is Null (dragging will not occur). Access is CSG.
A Boolean resource that, when True, shows the path to the root,
which is the first entry level in the display (level 0). This
path is represented by a horizontal line over which the hierar‐
chy of entry levels (each indented) is displayed. The default is
True. Access is CSG. The number of the component that begins
the secondary column. The default is 0, which indicates that no
components should be displayed in the secondary column. Access
is CSG. Allows the application to specify the entry where the
location cursor will be displayed when the SVN widget is first
activated. You can set this resource only at widget creation
time; it cannot be changed thereafter. The default position of
the location cursor is entry number 1. Access is C. Callback
made when the user has released MB1 following an application-
controlled drag operation.
The callback reason is DXmSvnCRTransitionsDone. Other callback
fields are as follows:
─────────────────────────────────────────────────────────────
Field Description
─────────────────────────────────────────────────────────────
loc_cursor_entry_number The number of the entry where the
location cursor is currently dis‐
played
event A pointer to the X event structure
describing the event that gener‐
ated this callback
─────────────────────────────────────────────────────────────
The default is Null. Access is CSG. The width for the arc of
the outline that delineates the boundary between each tree dis‐
play mode entry. The default is 15 pixels. Access is CSG. A
Boolean resource that, when True, centers components vertically
within an entry. The SVN widget automatically alters the size
of the entries to fit the centered components. The default is
False. Access is CSG. A Boolean resource that, when True, dis‐
plays an outline around tree mode entries. The default is True.
Access is CSG. A Boolean resource that, when True, adds shadow‐
ing to the outline surrounding tree mode entries. The default
is True. Access is CSG. A Boolean resource that, when True,
specifies that all tree mode entries appear in the index window
when the user is scrolling. The default is True. Access is CSG.
Specifies how much space, in pixels, to insert between tree lev‐
els. The default is 5 pixels. Access is CSG. A Boolean
resource that, when True, specifies that lines connecting the
entries in tree mode are perpendicular instead of diagonal. The
default is True. Specifies how much space, in pixels, to insert
between sibling tree mode entries. The default is 5 pixels.
Access is CSG. Specifies the style (format) of a tree display,
as indicated by one of the following values:
─────────────────────────────────────────────────────────
Value Description
─────────────────────────────────────────────────────────
DXmSvnKtopTree A vertical tree format (ori‐
ented from the top).
DXmSvnKhorizontalTree A horizontal tree format (ori‐
ented from the left).
DXmSvnKoutlineTree Oriented in outline form.
DXmSvnKuserDefinedTree Oriented in an application-
defined format. The SVN widget
uses the x and y coordinate
values you specify for an entry
to determine the entry's posi‐
tion in the tree.
─────────────────────────────────────────────────────────
The default is DXmSvnKoutlineTree. Access is CSG. A Boolean
resource that, when True, truncates text that is too long for
the display. The default is False. Access is CSG. A Boolean
resource that, when True, creates outer arrows on a scroll bar,
which the user can click on to move the display. The default is
True. Access is CSG.
Resources
typedef struct
{
int reason;
int entry_number;
int component_number;
int first_selection;
int x;
int y;
XtPointer entry_tag;
Time time;
int entry_level;
int loc_cursor_entry_number;
int transfer_mode;
int dragged_entry_number;
XEvent *event;
} DXmSvnCallbackStruct;
Callback Field Descriptions
Note that all callbacks do not use all the fields listed except reason,
which is common to all. An integer set to the callback reason. The
identifier of the entry. The identifier of the component. One of the
following values:
────────────────────────────────────────────────────────
Value Description
────────────────────────────────────────────────────────
DXmSvnKnotFirst This is not the first selection
that has been made.
DXmSvnKfirstOfOne There is only one selection being
made.
DXmSvnKfirstOfMany This is the first of many selec‐
tions being made.
────────────────────────────────────────────────────────
This value (when treated as a Boolean function) is usually True.
It is False only when the user has made a range selection and
this is not the first DXmSvnNentrySelectedCallback. The x posi‐
tion at which the event occurred. The y position at which the
event occurred. The value associated with the entry_number
field. You can set this value in your application using a rou‐
tine that is appropriate for the particular callback, as fol‐
lows:
───────────────────────────────────────────────────────────────
Callback Routine
───────────────────────────────────────────────────────────────
DXmSvnNentrySelectedCallback DXmSvnSetEntry DXmSvnSetEn‐
tryTag
DXmSvnNgetEntryCallback DXmSvnSetEntry DXmSvnAddEn‐
tries
DXmSvnNhelpRequestedCallback DXmSvnSetEntry
DXmSvnNselectAndConfirmCallback DXmSvnSetEntry DXmSvnAddEn‐
tries
DXmSvnNselectionsDraggedCallback DXmSvnSetEntry
───────────────────────────────────────────────────────────────
The time when the event occurred. The current entry number.
The number of the entry that currently has the location cursor.
A constant specifying the transfer operation that should occur
after an MB2 click with no mouse movement. Contains the number
of the entry currently being dragged with MB2 pressed. A
pointer to the X event structure describing the event that gen‐
erated this callback.
Callback Reasons
The following table lists the reasons and the valid callback fields for
each:
─────────────────────────────────────────────────────────────
Reason Valid Fields
─────────────────────────────────────────────────────────────
DXmSvnCRAttachToSource reason
DXmSvnCRDetachFromSource reason
DXmSvnCRDisplayChanged reason
DXmSvnCRDragging reason, x, y, time, loc_cur‐
sor_entry_number,
dragged_entry_number, event
DXmSvnCRDraggingEnd reason, x, y, time, loc_cur‐
sor_entry_number, event
DXmSvnCREntrySelected reason, entry_number, compo‐
nent_number, first_selection,
entry_tag, time, loc_cur‐
sor_entry_number, event
DXmSvnCREntryTransfer reason, loc_cursor_entry_number,
transfer_mode, event
DXmSvnCREntryUnselected reason, entry_number, compo‐
nent_number, time, loc_cur‐
sor_entry_number
DXmSvnCRExtendConfirm reason, entry_number, time,
loc_cursor_entry_number, event
DXmSvnCRGetEntry reason, entry_number, entry_tag,
entry_level, loc_cur‐
sor_entry_number
DXmSvnCRHelpRequested reason, entry_number, compo‐
nent_number, entry_tag, time,
entry_level, loc_cur‐
sor_entry_number, event
DXmSvnCRPopupMenu reason, loc_cursor_entry_number,
event
DXmSvnCRSelectAndConfirm reason, entry_number, compo‐
nent_number, entry_tag, time,
entry_level, loc_cur‐
sor_entry_number, event
DXmSvnCRSelectionsDragged reason, entry_number, compo‐
nent_number, x, y, entry_tag,
entry_level, loc_cur‐
sor_entry_number, event
DXmSvnCRTransitionsDone reason, event
─────────────────────────────────────────────────────────────
Keyboard Bindings
The following table describes how specific keys function within the SVN
environment. The table also lists the Motif virtual key symbols and
its associated SVN function.
──────────────────────────────────────────────────────────────────────
Motif Key Symbol SVN Function
──────────────────────────────────────────────────────────────────────
KActivate Selects and confirms the current entry. Equiva‐
lent to a double MB1 click on the mouse.
KBeginData Scrolls to the first entry in the SVN display;
selects and moves the location cursor to that
entry.
KBeginLine Scrolls to the extreme left of the display.
KDown Selects and moves the location cursor to the next
entry in display, scrolling the display down if
necessary.
KEndData Scrolls to the last entry in the SVN display;
selects and moves the location cursor to that
entry.
KEndLine Scrolls to the extreme right of the display.
KExtendDown Adds the next entry to the extended selection.
Selects and moves the location cursor to the next
entry.
KExtendUp Adds the previous entry to the extended selection.
Selects and moves the location cursor to the pre‐
vious entry.
KHelp Reports the help callback to the application if
specified.
KLeft Scrolls the display one character to the left.
KMenu Reports the DXmNpopupMenuCallback to the applica‐
tion if specified for the entry with the location
cursor.
KNextColumn Selects the next column component to the right.
KNextPara Scrolls to the bottom of the display.
KPageDown Scrolls the display to the next screen of entries.
Selects and moves the location cursor to the entry
located at the same relative position on the next
screen.
KPageLeft Scrolls the display one screen to the left.
KPageRight Scrolls the display one screen to the right.
KPageUp Scrolls the display to the previous screen of
entries. Selects and moves the location cursor to
the entry located at the same relative position on
the previous screen.
KPrevColumn Selects the previous column component to the left.
KPrevPara Scrolls to the top of the display.
KRight Scrolls the display one character to the right.
KSelect Selects the current entry and cancels all other
selected entries.
KSelectAll Selects all entries known to SVN.
KUp Selects and moves the location cursor to the pre‐
vious entry in the display, scrolling the display
if necessary.
──────────────────────────────────────────────────────────────────────
Translation Table
───────────────────────────────────────────────────
Event Action Routine
───────────────────────────────────────────────────
BSelectPress: svn_button1_down
BSelectRelease: svn_button1_up
BSelectDrag: svn_button1_motion
BExtendPress: svn_shiftbutton1_down
BExtendRelease: svn_button1_up
BExtendDrag: svn_button1_motion
BTogglePress: svn_ctrlbutton1_down
BToggleRelease: svn_button1_up
BToggleDrag: svn_button1_motion
BDragPress: svn_button2_down
BDragRelease: svn_button2_up
BDragDrag: svn_button2_motion
BDragToggle: (MB2-ctrl-click)svn_button2_down
BDrag: (MB2-Alt-click)svn_button2_down
BMenu: svn_button3_down
BFocusIn: svn_focus_in
BFocusOut: svn_focus_out
BHelp: svnhelp
───────────────────────────────────────────────────
Keyboard Syntax
────────────────────────────────────────────
Event Action Routine
────────────────────────────────────────────
KMenu: svn_f4_menu
KDown: svn_arrow_down
KUp: svn_arrow_up
KPageDown: svn_page_down
KPageUp: svn_page_up
KEndData: svn_scroll_to_top
KBeginData: svn_scroll_to_bottom
KExtendUp: svn_extend_up
KExtendDown: svn_extend_down
MShiftKPageUp: svn_extend_pageup
MShiftKPageDown: svn_extend_pagedown
MShiftKBeginData: svn_extend_to_top
MShiftKEndData: svn_extend_to_bottom
KLeft: svn_arrow_left
KRight: svn_arrow_right
KBeginLine: svn_scroll_to_left
KEndLine: svn_scroll_to_right
KPageLeft: svn_page_left
KPageUp: svn_page_right
KActivate: svn_activate_entry
MCtrlKActivate: svn_activate_entry
KSpace: svn_activate_entry
MCtrlKSpace: svn_activate_entry
KSelect: svn_activate_entry
KHelp: svnhelp
KSelectAll: svn_select_all
KDeSelectAll: svn_deselect_all
KNextColumn: svn_next_column
KPrevColumn: svn_prev_column
MShiftKTab: LclTraversePrevTabGroup
KTab: LclTraverseNextTabGroup
MCtrlKTab: LclTraversePrevTabGroup
KCancel: svn_cancel
KNextPara: svn_next_level
KPrevPara: svn_prev_level
────────────────────────────────────────────
Action Routines
───────────────────────────────────────────────────────────────────
Routine Description
───────────────────────────────────────────────────────────────────
svn_button1_down Selects and moves the location cursor to
the current entry. Deselects all other
entries.
svn_button1_up Completes selection started by the but‐
ton1 press. Reports the DXmSvnNentrySe‐
lectedCallback to the application if
specified. If this BtnUp was a comple‐
tion of a double MB1 click, the
DXmSvnNselectAndConfirmCallback will be
reported to the application if speci‐
fied.
svn_button1_motion Extends selection to include entries
that are passed over with the mouse
motion. If the Ctrl modifier was
pressed with this MB1 motion, all
entries passed over with the mouse
selection state are toggled.
svn_shiftbutton1_down Extends selection to include all entries
between the last selected entry and this
current entry. Moves the location cur‐
sor to this current entry.
svn_ctrlbutton1_down Toggles the selection state of the cur‐
rent entry and moves the location cursor
to this entry.
svn_button2_down Initiates a drag operation. If MB2 was
pressed on a selected entry then all
selected entries are dragged. If MB2
was pressed on a unselected entry then
only that entry will be dragged. If the
application has set application drag‐
ging, via the DXmSvnSetApplDragging rou‐
tine, the DXmSvnNdraggingCallback will
be reported if specified.
svn_button2_up Completes the drag operation. The
DXmSvnNselectionsDragged callback will
be reported to the application if speci‐
fied, and the entries were selected. If
the application has set application
dragging, via the DXmSvnSetApplDragging
routine, the DXmSvnNdraggingEndCallback
will be reported if specified. If the
MB2 click has been made without mouse
motion, the DXmSvnNentryTransferCallback
will be reported to the application if
specified.
svn_button2_motion A ghost object will be created and will
follow the mouse with MB2 motion.
svn_button3_down Reports DXmSvnNpopupMenu callback to the
application if specified for this entry.
svn_focus_in Sets focus to the SVN widget. Moves
location cursor to last selected entry
in display.
svn_focus_out Removes focus from the SVN widget. Also
removes location cursor from last
selected entry.
svnhelp Reports the help callback DXmSvnNhelp‐
Callback to the application if speci‐
fied.
svn_f4_menu Reports the DXmNpopupMenuCallback to the
application if specified for the entry
with the location cursor.
svn_arrow_down Selects and moves the location cursor to
the next entry in the display, scrolling
the display down if necessary.
svn_arrow_up Selects and moves the location cursor to
the previous entry in the display,
scrolling the display up if necessary.
svn_page_down Scrolls the display to the next screen
of entries. Selects and moves the loca‐
tion cursor to the entry located at the
same relative position on the next
screen.
svn_page_up Scrolls the display to the previous
screen of entries. Selects and moves
the location cursor to the entry located
at the same relative position on the
previous screen.
svn_scroll_to_top Scrolls to the last entry in the SVN
display; selects and moves the location
cursor to that entry.
svn_scroll_to_bottom Scrolls to the first entry in the SVN
display; selects and moves the location
cursor to that entry.
svn_extend_up Adds the previous entry to the extended
selection. Selects and moves the loca‐
tion cursor to the previous entry,
scrolling the display if necessary.
svn_extend_down Adds the next entry to the extended
selection. Selects and moves the loca‐
tion cursor to that next entry,
scrolling the display if necessary.
svn_extend_pageup Extends the selection to include all
entries in the next screen. Moves the
location cursor to the entry located at
the same relative position on the previ‐
ous screen.
svn_extend_pagedown Extends the selection to include all
entries in the previous screen. Moves
the location cursor to the entry located
at the same relative position on the
previous screen.
svn_extend_to_top Extends selection from the currently
selected entry to the top entry known to
SVN. Moves the location cursor to that
top entry.
svn_extend_to_bottom Extends selection from the currently
selected entry to the bottom entry known
to SVN. Moves the location cursor to
that bottom entry.
svn_arrow_left Scrolls the display one character to the
left.
svn_arrow_right Scrolls the display one character to the
right.
svn_scroll_to_left Scrolls to the extreme left of the dis‐
play.
svn_scroll_to_right Scrolls to the extreme right of the dis‐
play.
svn_page_left Scrolls the display horizontally one
screen width to the left.
svn_page_right Scrolls the display horizontally one
screen width to the right.
svn_activate_entry Selects and confirms the current entry.
Equivalent to a double MB1 click on the
mouse.
svn_select_all Selects all entries known to SVN.
svn_deselect_all Deselects all entries known to SVN.
svn_next_column Selects the next column component to the
right.
svn_prev_column Selects the previous column component to
the left.
LclTraversePrevTabGroup Moves the location cursor (focus) to the
next Tab group. In SVN, there is a pri‐
mary and secondary window which are both
scrollable, and which are in separate
TAB groups. This function will allow
the focus to move to other window in
SVN.
LclTraverseNextTabGroup Moves the location cursor to the previ‐
ous Tab group. In SVN, there is a pri‐
mary and secondary window which are both
scrollable, which are in separate TAB
groups. This function will allow the
focus to move to other window in SVN.
svn_cancel Cancels any dragging operation or
extended selection in progress. Moves
the location cursor to the previous
entry that it was on before the opera‐
tion was started.
svn_next_level Scrolls to the entry at the next level
in the SVN hierarchy.
svn_prev_level Scrolls to the entry at the previous
level in the SVN hierarchy.
───────────────────────────────────────────────────────────────────
Inherited Resources
DXmCreateSvn inherits behaviour and resources from the following super‐
classes:
Core Resource Set Composite Resource Set Constraint Resource Set XmMan‐
ager Resource Set DXmSvn Resource Set
RETURN VALUES
The identifier (widget ID) of the created SVN widget.
SEE ALSODXmSvnAddEntries(3X), DXmSvnAutoScrollCheck(3X), DXmSvnAutoScrollDis‐
play(3X), DXmSvnClearHighlight(3X), DXmSvnClearHighlighting(3X),
DXmSvnClearSelection(3X), DXmSvnClearSelections(3X), DXmSvnDeleteEn‐
tries(3X), DXmSvnDisableDisplay(3X), DXmSvnEnableDisplay(3X), DXmSvn‐
FlushEntry(3X), DXmSvnGetComponentNumber(3X), DXmSvnGetComponent‐
Tag(3X), DXmSvnGetComponentText(3X), DXmSvnGetComponentWidth(3X),
DXmSvnGetDisplayed(3X), DXmSvnGetEntryLevel(3X), DXmSvnGetEntryNum‐
ber(3X), DXmSvnGetEntryPosition(3X), DXmSvnGetEntrySensitivity(3X),
DXmSvnGetEntryTag(3X), DXmSvnGetHighlighted(3X), DXmSvnGetNumDis‐
played(3X), DXmSvnGetNumHighlighted(3X), DXmSvnGetNumSelections(3X),
DXmSvnGetPrimaryWorkWidget(3X), DXmSvnGetSecondaryWorkWidget(3X),
DXmSvnGetSelections(3X), DXmSvnGetTreePosition(3X), DXmSvnHideHigh‐
lighting(3X), DXmSvnHideSelections(3X), DXmSvnHighlightAll(3X), DXmSvn‐
HighlightEntry(3X), DXmSvnInsertComponent(3X), DXmSvnInvalidateEn‐
try(3X), DXmSvnMapPosition(3X), DXmSvnPositionDisplay(3X), DXmSvnRe‐
moveComponent(3X), DXmSvnSelectAll(3X), DXmSvnSelectComponent(3X),
DXmSvnSelectEntry(3X), DXmSvnSetApplDragging(3X), DXmSvnSetComponen‐
tHidden(3X), DXmSvnSetComponentPixmap(3X), DXmSvnSetComponentTag(3X),
DXmSvnSetComponentText(3X), DXmSvnSetComponentWidget(3X), DXmSvnSetCom‐
ponentWidth(3X), DXmSvnSetEntry(3X), DXmSvnSetEntryIndexWindow(3X),
DXmSvnSetEntryNumComponents(3X), DXmSvnSetEntryPosition(3X), DXmSvnSe‐
tEntrySensitivity(3X), DXmSvnSetEntryTag(3X), DXmSvnSetTreePosi‐
tion(3X), DXmSvnShowHighlighting(3X), DXmSvnShowSelections(3X), DXmSvn‐
ValidateAll(3X)DXmCreateSvn(3X)