Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

DXmCreateSvn(3X)  —  Subroutines

Digital

NAME

DXmCreateSvn − Creates an SVN widget

Format

Widget DXmCreateSvn(parent, name, arglist, argcount)
    Widget parent;
    char  ∗name;
    Arg   ∗arglist;
    int   argcount;

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 structure. Your application need only tell the SVN widget about the organization 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.  However, 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 components, set the text associated with a component, set a component to be hidden, set and determine a components’s width, and determine a component’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

•DXmSvnNgetEntryCallback

•DXmSvnNselectAndConfirmCallback

Arguments

parentThe identifier (widget ID) of the parent widget. 

nameA character string that defines the name of the widget. 

arglistThe application argument list. 

argcountAn 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. 

Callback Structures

You can set the following widget-specific resources in the arglist:

XtCallbackList DXmSvnNattachToSourceCallback
Boolean     DXmSvnNcolumnLines;
Dimension    DXmSvnNdefaultSpacing;
XtCallbackList DXmSvnNdetachFromSourceCallback
XtCallbackList DXmSvnNdisplayChangedCallback
short      DXmSvnNdisplayMode;
XtCallbackList DXmSvnNdraggingCallback
XtCallbackList DXmSvnNdraggingEndCallback
XtCallbackList DXmSvnNentrySelectedCallback
XtCallbackList DXmSvnNentryTransferCallback
XtCallbackList DXmSvnNentryUnselectedCallback
Boolean     DXmSvnNexpectHighlighting;
XtCallbackList DXmSvnNextendConfirmCallback
Boolean     DXmSvnNfixedWidthEntries;
XmFontList   DXmSvnNfontList;
XmFontList   DXmSvnNfontListLevel0;
XmFontList   DXmSvnNfontListLevel1;
XmFontList   DXmSvnNfontListLevel2;
XmFontList   DXmSvnNfontListLevel3;
XmFontList   DXmSvnNfontListLevel4;
Boolean     DXmSvnNforceSeqGetEntry;
XtCallbackList DXmSvnNgetEntryCallback
Dimension    DXmSvnNghostHeight;
Pixmap     DXmSvnNghostPixmap;
Dimension    DXmSvnNghostWidth;
Position    DXmSvnNghostX;
Position    DXmSvnNghostY;
XtCallbackList DXmSvnNhelpRequestedCallback;
Dimension    DXmSvnNindentMargin;
Boolean     DXmSvnNliveScrolling;
Boolean     DXmSvnNmultipleSelections;
XmString    DXmSvnNnavWindowTitle;
longword    DXmSvnNnumberOfEntries;
Widget     DXmSvnNoutlineHScrollWidget;
Widget     DXmSvnNpaneWidget;
XtCallbackList DXmSvnNpopupMenuCallback
longword    DXmSvnNprimaryPercentage
Widget     DXmSvnNprimaryWindowWidget
Position    DXmSvnNsecondaryBaseX;
Boolean     DXmSvnNsecondaryComponentsUnmapped;
Widget     DXmSvnNsecondaryWindowWidget;
XtCallbackList DXmSvnNselectAndConfirmCallback
short      DXmSvnNselectionMode;
XtCallbackList DXmSvnNselectionsDraggedCallback
Boolean     DXmSvnNshowPathToRoot;
short      DXmSvnNstartColumnComponent;
short      DXmSvnNstartLocationCursor;
XtCallbackList DXmSvnNtransitionsDoneCallback
Dimension    DXmSvnNtreeArcWidth;
Boolean     DXmSvnNtreeCenteredComponents;
Boolean     DXmSvnNtreeEntryOutlines;
Boolean     DXmSvnNtreeEntryShadows;
Boolean     DXmSvnNtreeIndexAll;
Dimension    DXmSvnNtreeLevelSpacing;
Boolean     DXmSvnNtreePerpendicularLines;
Dimension    DXmSvnNtreeSiblingSpacing;
short      DXmSvnNtreeStyle;
Boolean     DXmSvnNtruncateText;
Boolean     DXmSvnNuseScrollButtons;

Resources

DXmSvnNattachToSourceCallback
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. 

DXmSvnNcolumnLines
A Boolean resource that, when True, specifies that columns are to be separated with a line. The default is False. Access is CSG.

DXmSvnNdefaultSpacing
The number of pixels between components. The default is 12 pixels. Access is CSG.

DXmSvnNdetachFromSourceCallback
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. 

DXmSvnNdisplayChangedCallback
Callback made when the entries currently being displayed to the user have changed. This change may be in response to an expand or collapse operation, scrolling, or the application issuing calls to the DXmSvnPositionDisplay 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. 

DXmSvnNdisplayMode
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 DXmSvnSetComponentHidden routine to hide a component in all modes. 
DXmSvnKdisplayNone Used only by the DXmSvnSetComponentHidden routine to display (not hide) a component in any mode. 

The default is DXmSvnKdisplayOutline. Access is CSG.

DXmSvnNdraggingCallback
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 displayed
event A pointer to the XEvent that generated this callback

The default is Null. Access is CSG.

DXmSvnNdraggingEndCallback
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 displayed
event A pointer to the XEvent that generated this callback

The default is Null. Access is CSG.

DXmSvnNentrySelectedCallback
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) associated with the entry_number field
<TABLE_ROW>
lfR lfR .
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 selections being made. 

<P> 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.)  entry_level@T{ The entry’s level number T} loc_cursor_entry_number@T{ The number of the entry where the location cursor is currently displayed T} event@T{ A pointer to the XEvent that generated this callback T} The default is Null. Access is CSG.

DXmSvnNentryTransferCallback
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 displayed. 
<TABLE_ROW>
lfR lfR .
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 structure describing the event that generated this callback. 

The default is Null. Access is CSG.

DXmSvnNentryUnselectedCallback
Callback made when the user cancels ("unselects") the selection of an entry. The fields provided in the callback structure enable an application 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 cancelled entry
component_number The component within the entry the mouse was positioned over when the entry was cancelled
time Time when the selection was cancelled
loc_cursor_entry_number The number of the entry where the location cursor is currently displayed
event A pointer to the X event structure describing the event that generated this callback

The default is Null. Access is CSG.

DXmSvnNexpectHighlighting
A Boolean resource that, when True, creates a rectangle large enough to highlight the entries. The default is False. Access is CSG.

DXmSvnNextendConfirmCallback
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 routines.  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 displayed
event A pointer to the X event structure describing the event that generated this callback

The default is Null. Access is CSG.

DXmSvnNfixedWidthEntries
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.

DXmSvnNfontList
The default font when no level font is specified. The default is DXmDefaultFont. Access is CSG.

DXmSvnNfontListLevel0
The default font list used by level 0 entries. The default is Null. Access is CSG.

DXmSvnNfontListLevel1
The default font list used by level 1 entries. The default is Null. Access is CSG.

DXmSvnNfontListLevel2
The default font list used by level 2 entries. The default is Null. Access is CSG.

DXmSvnNfontListLevel3
The default font list used by level 3 entries. The default is Null. Access is CSG.

DXmSvnNfontListLevel4
The default font list used by level 4 entries. The default is Null. Access is CSG.

DXmSvnNforceSeqGetEntry
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.

DXmSvnNgetEntryCallback
Callback made when the SVN widget requires information about an entry. The application should respond by calling the DXmSvnSetEntry routine.  Control should not be returned from the callback until this call and subsequent calls are made to the DXmSvnSetComponentPixmap , 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 DXmSvnSetEntry 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 displayed

The default is Null. Access is CSG.

DXmSvnNghostHeight
The height 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.

DXmSvnNghostPixmap
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.

DXmSvnNghostWidth
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.

DXmSvnNghostX
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. 

DXmSvnNghostY
Relative y 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. 

DXmSvnNhelpRequestedCallback
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 application 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 location 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_cursor_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.

DXmSvnNindentMargin
The number of pixels each entry level should be indented. The default is 16 pixels. Access is CSG.

DXmSvnNliveScrolling
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.

DXmSvnNprimaryPercentage
The percentage of the display window that is in the primary side of the column view. The default is 50 percent. Access is CSG.

DXmSvnNprimaryWindowWidget
The identifier (widget ID) of the primary window widget in the SVN display. The default is Null. Access is G (read-only).

DXmSvnNmultipleSelections
A Boolean resource that, when True, allows the user to specify multiple selections. The default is True. Access is CSG.

DXmSvnNnavWindowTitle
The title for a pop-up navigation window. The default is Null. Access is CSG.

DXmSvnNnumberOfEntries
The number of entries. value increases or decreases as entries are changed by the DXmSvnAddEntries and DXmSvnDeleteEntries routines. Access is G (read-only). 

DXmSvnNoutlineHScrollWidget
The identifier (widget ID) of the primary horizontal scroll bar. The default is Null. Access is G (read-only).

DXmSvnNpaneWidget
The identifier (widget ID) of the pane widget. The default is Null. Access is G (read-only).

DXmSvnNpopupMenuCallback
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 displayed
event A pointer to the X event structure describing the event that generated this callback

The default is Null. Access is CSG.

DXmSvnNsecondaryBaseX
The base x position of the secondary window in the column view.  The default is 0. Access is CSG. 

DXmSvnNsecondaryComponentsUnmapped
A Boolean resource that, when True, specifies that secondary components still exist even though they are not visible in the column view. The default is False. Access is CSG.

DXmSvnNsecondaryWindowWidget
The identifier (widget ID) of the secondary widget in the SVN display. The default is Null. Access is G (read-only).

DXmSvnNselectAndConfirmCallback
Callback made when the user double clicks MB1 on a single entry, indicating 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_number 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:

1The DXmSvnNMultipleSelections resource is set to True. 

2There is no DXmSvnNExtendConfirm callback supplied. 

3The 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 double click occurred
entry_number The entry number of the selected entry
entry_tag The value (previously set in the application with the DXmSvnSetEntry 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 displayed
event A pointer to the X event structure describing the event that generated this callback

The default is Null. Access is CSG.

DXmSvnNselectionMode
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 component 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.

DXmSvnNselectionsDraggedCallback
The user has used MB2 to drag selected entries to another location. Note that the use of this resource is valid only when application-controlled dragging has not been set (with the DXmSvnNdraggingCallback and DXmSvnNdraggingEndCallback callbacks). The callback reason is DXmSvnCRSelectionsDragged. Other callback 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 DXmSvnSetEntry 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 displayed
event A pointer to the X event structure describing the event that generated this callback

The default is Null (dragging will not occur).  Access is CSG. 

DXmSvnNshowPathToRoot
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 hierarchy of entry levels (each indented) is displayed. The default is True. Access is CSG.

DXmSvnNstartColumnComponent
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.

DXmSvnNstartLocationCursor
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.

DXmSvnNtransitionsDoneCallback
Callback made when the user has released MB1 following an
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 displayed
event A pointer to the X event structure describing the event that generated this callback

The default is Null. Access is CSG.

DXmSvnNtreeArcWidth
The width for the arc of the outline that delineates the boundary between each tree display mode entry. The default is 15 pixels. Access is CSG.

DXmSvnNtreeCenteredComponents
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.

DXmSvnNtreeEntryOutlines
A Boolean resource that, when True, displays an outline around tree mode entries. The default is True. Access is CSG.

DXmSvnNtreeEntryShadows
A Boolean resource that, when True, adds shadowing to the outline surrounding tree mode entries. The default is True. Access is CSG.

DXmSvnNtreeIndexAll
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.

DXmSvnNtreeLevelSpacing
Specifies how much space, in pixels, to insert between tree levels. The default is 5 pixels. Access is CSG.

DXmSvnNtreePerpendicularLines
A Boolean resource that, when True, specifies that lines connecting the entries in tree mode are perpendicular instead of diagonal. The default is True.

DXmSvnNtreeSiblingSpacing
Specifies how much space, in pixels, to insert between sibling tree mode entries. The default is 5 pixels. Access is CSG.

DXmSvnNtreeStyle
Specifies the style (format) of a tree display, as indicated by one of the following values:

Value Description
DXmSvnKtopTree A vertical tree format (oriented from the top). 
DXmSvnKhorizontalTree A horizontal tree format (oriented 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 position in the tree. 

The default is DXmSvnKoutlineTree. Access is CSG.

DXmSvnNtruncateText
A Boolean resource that, when True, truncates text that is too long for the display. The default is False. Access is CSG.

DXmSvnNuseScrollButtons
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;
 unsigned int  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. 

reasonAn integer set to the callback reason. 

entry_number
The identifier of the entry.

component_number
The identifier of the component.

first_selection
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 selections 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. 

xThe x position at which the event occurred. 

yThe y position at which the event occurred. 

entry_tagThe value associated with the entry_number field.  You can set this value in your application using a routine that is appropriate for the particular callback, as follows:

Callback Routine
DXmSvnNentrySelectedCallback DXmSvnSetEntry
DXmSvnSetEntryTag
DXmSvnNgetEntryCallback DXmSvnSetEntry
DXmSvnAddEntries
DXmSvnNhelpRequestedCallback DXmSvnSetEntry
DXmSvnNselectAndConfirmCallback DXmSvnSetEntry
DXmSvnAddEntries
DXmSvnNselectionsDraggedCallback DXmSvnSetEntry

timeThe time when the event occurred. 

entry_levelThe current entry number. 

loc_cursor_entry_number
The number of the entry that currently has the location cursor.

transfer_mode
A constant specifying the transfer operation that should occur after an MB2 click with no mouse movement.

dragged_entry_number
Contains the number of the entry currently being dragged with MB2 pressed.

eventA pointer to the X event structure describing the event that generated 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_cursor_entry_number, dragged_entry_number, event
DXmSvnCRDraggingEnd reason, x, y, time, loc_cursor_entry_number, event
DXmSvnCREntrySelected reason, entry_number, component_number, first_selection, entry_tag, time, loc_cursor_entry_number, event
DXmSvnCREntryTransfer reason, loc_cursor_entry_number, transfer_mode, event
DXmSvnCREntryUnselected reason, entry_number, component_number, time, loc_cursor_entry_number
DXmSvnCRExtendConfirm reason, entry_number, time, loc_cursor_entry_number, event
DXmSvnCRGetEntry reason, entry_number, entry_tag, entry_level, loc_cursor_entry_number
DXmSvnCRHelpRequested reason, entry_number, component_number, entry_tag, time, entry_level, loc_cursor_entry_number, event
DXmSvnCRPopupMenu reason, loc_cursor_entry_number, event
DXmSvnCRSelectAndConfirm reason, entry_number, component_number, entry_tag, time, entry_level, loc_cursor_entry_number, event
DXmSvnCRSelectionsDragged reason, entry_number, component_number, x, y, entry_tag, entry_level, loc_cursor_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. Equivalent 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 previous 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 application 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 previous 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 button1 press.  Reports the DXmSvnNentrySelectedCallback to the application if specified. If this BtnUp was a completion of a double MB1 click, then the DXmSvnNselectAndConfirmCallback will be reported to the application if specified. 
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, then 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 cursor to this current entry. 
svn_ctrlbutton1_down Toggles the selection state of the current 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 dragging, via the DXmSvnSetApplDragging routine, then the DXmSvnNdraggingCallback will be reported if specified. 
svn_button2_up Completes the drag operation.  The DXmSvnNselectionsDragged callback will be reported to the application if specified, and the entries were selected.  If the application has set application dragging, via the DXmSvnSetApplDragging routine, then the DXmSvnNdraggingEndCallback will be reported if specified.  If the MB2 click has been made without mouse motion, then 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 DXmSvnNhelpCallback to the application if specified. 
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 location 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 location 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 location 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
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 display. 
svn_scroll_to_right Scrolls to the extreme right of the display. 
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 primary 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 previous Tab group.  In SVN, there is a primary 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 operation 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. 

RETURN VALUES

The identifier (widget ID) of the created SVN widget. 

Inherited Resources

DXmCreateSvn inherits behaviour and resources from the following superclasses: Core Resource Set
Composite Resource Set
Constraint Resource Set
XmManager Resource Set
DXmSvn Resource Set

RELATED INFORMATION

DXmSvnAddEntries, DXmSvnAutoScrollCheck, DXmSvnAutoScrollDisplay, DXmSvnClearHighlight, DXmSvnClearHighlighting, DXmSvnClearSelection, DXmSvnClearSelections, DXmSvnDeleteEntries, DXmSvnDisableDisplay, DXmSvnEnableDisplay, DXmSvnFlushEntry, DXmSvnGetComponentNumber, DXmSvnGetComponentTag, DXmSvnGetComponentText, DXmSvnGetComponentWidth, DXmSvnGetDisplayed, DXmSvnGetEntryLevel, DXmSvnGetEntryNumber, DXmSvnGetEntryPosition, DXmSvnGetEntrySensitivity, DXmSvnGetEntryTag, DXmSvnGetHighlighted, DXmSvnGetNumDisplayed, DXmSvnGetNumHighlighted, DXmSvnGetNumSelections, DXmSvnGetPrimaryWorkWidget, DXmSvnGetSecondaryWorkWidget, DXmSvnGetSelections, DXmSvnGetTreePosition, DXmSvnHideHighlighting, DXmSvnHideSelections, DXmSvnHighlightAll, DXmSvnHighlightEntry, DXmSvnInsertComponent, DXmSvnInvalidateEntry, DXmSvnMapPosition, DXmSvnPositionDisplay, DXmSvnRemoveComponent, DXmSvnSelectAll, DXmSvnSelectComponent, DXmSvnSelectEntry, DXmSvnSetApplDragging, DXmSvnSetComponentHidden, DXmSvnSetComponentPixmap, DXmSvnSetComponentTag, DXmSvnSetComponentText, DXmSvnSetComponentWidget, DXmSvnSetComponentWidth, DXmSvnSetEntry, DXmSvnSetEntryIndexWindow, DXmSvnSetEntryNumComponents, DXmSvnSetEntryPosition, DXmSvnSetEntrySensitivity, DXmSvnSetEntryTag, DXmSvnSetTreePosition, DXmSvnShowHighlighting, DXmSvnShowSelections, and DXmSvnValidateAll. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026