DtEditorInsert(3)

NAME
DtEditorInsert - insert data into a DtEditor widget

SYNOPSIS
#include <Dt/Editor.h>

DtEditorErrorCode DtEditorInsert(Widget widget,
	DtEditorContentRec *data);

DESCRIPTION
The DtEditorInsert() function inserts either a string, wide character string or sized buffer at the insertion cursor position in a DtEditor widget. The data is transferred to the DtEditor widget using a DtEditorContentRec, which indicates the type of data being transferred along with the actual data. After the data is appended, the insertion cursor is positioned after the last character inserted.

The widget argument specifies the DtEditor widget ID.

The data argument is a pointer to a data structure containing the data to insert.

For a complete definition of the DtEditor widget and its associated resources, see DtEditor(3).

For a complete definition of DtEditorContentRec, see <Dt/Editor>.

RETURN VALUE
Upon successful completion, the DtEditorInsert() function returns one of the following values:

    The data was inserted sucessfully.
    NULL characters were found and removed from the data.

Otherwise, if the DtEditorInsert() function cannot insert the data into the DtEditor widget, it returns one of the following values:

    The Type field is not recognized.
    The size of the buffer passed in is negative.
    The buffer is NULL.
    Not enough system memory is available to insert the data.

EXAMPLES
The following code segment sets the contents of a DtEditor widget to ``The quick brown fox.''

    Widget                  editor;
    DtEditorContentRec      cr;
    DtEditorErrorCode       status;
    char                    *sampleString1="The brown fox",
                            *sampleString2=" quick";

    cr.type = DtEDITOR_TEXT;
    cr.value.string = sampleString1;
    status = DtEditorSetContents(editor, &cr);
    if (status != DtEDITOR_NO_ERRORS && status != DtEDITOR_NULLS_REMOVED) {
            printf("Unable to set contents of the widget\n");
    } else {
      /*
       * Move the insertion cursor so it is after the
       * letter 'e' in "The".
       */
            DtEditorSetInsertionCursorPosition(editor, 2);

            cr.type = DtEDITOR_TEXT;
            cr.data.string = sampleString2;
            status = DtEditorInsert(editor, &cr);
            if (status != DtEDITOR_NO_ERRORS)
              printf("Unable to insert into the contents of the widget\n");
    }

APPLICATION USAGE
If the data is in a disk file, rather than in memory, the application should use DtEditorInsertFromFile(3).

SEE ALSO
DtEditor(5), DtEditor(3), DtEditorAppend(3), DtEditorAppendFromFile(3), DtEditorGetContents(3), DtEditorInsertFromFile(3), DtEditorReplace(3), DtEditorReplaceFromFile(3), DtEditorSaveContentsToFile(3), DtEditorSetContents(3), DtEditorGetInsertionPosition(3), DtEditorSetInsertionPosition(3), DtEditorSetContentsFromFile(3).