DTEDITORREPLACE(3)

πŸ“¦
version 2.5.3 Β· 2 versions
, in nixos 26.05

✨ NAME ✨

DtEditorReplace β€” replace a portion of the contents of a DtEditor widget

okay so this is the DtEditorReplace page from the library call manual, and it is literally here to swap out a chunk of a DtEditor widget’s contents. It’s giving β€œsurgical text replacement, but make it group-chat” πŸ’…


🌈 SYNOPSIS 🌈

#include &<Dt/Editor.h>
DtEditorErrorCode DtEditorReplace(
Widget widget,
XmTextPosition startPos,
XmTextPosition endPos,
DtEditorContentRec *data);

πŸ’– DESCRIPTION πŸ’–

The DtEditorReplace function replaces part of the contents of a DtEditor widget with a string, a wide character string or sized buffer. The data is transferred to the DtEditor widget using a DtEditorContentRec, which indicates the type of data being transferred along with the actual data. All data following the start position and up to, but not including, the end position is replaced. If the start position and the end position are equal, the data is inserted after the end position. The character positions begin at zero and are numbered sequentially from the beginning of the text. After the replacement, the insertion cursor is positioned after the last character inserted. ✨

  • widget β€” specifies the DtEditor widget ID.
  • startPos β€” specifies the starting character position of the portion to replace. The replacement begins at this character.
  • endPos β€” specifies the ending character position of the portion to replace. The replacement ends before this character.
  • data β€” is a pointer to the 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.h - DtEditor(5).


πŸ’€ RETURN VALUE πŸ’€

Upon successful completion, the DtEditorReplace function returns one of the following values:

  • DtEDITOR_NO_ERRORS β€” the data was replaced successfully. slay.
  • DtEDITOR_NULLS_REMOVED β€” NULL characters were found and removed from the data.

Otherwise, if the DtEditorReplace function cannot replace the data in the DtEditor widget, it returns one of the following values:

  • DtEDITOR_INVALID_TYPE β€” the Type field is not recognized.
  • DtEDITOR_INVALID_RANGE β€” the startPos argument is greater than the endPos argument.
  • DtEDITOR_ILLEGAL_SIZE β€” the size of the buffer passed in is negative.
  • DtEDITOR_NULL_ITEM β€” the data buffer is NULL.
  • DtEDITOR_INSUFFICIENT_MEMORY β€” not enough system memory is available to replace the data.
bestie, those error codes are not a vibe check you want to fail 😭

πŸŽ€ EXAMPLES πŸŽ€

The following code segment modifies the contents of a DtEditor widget to ``The quick fox.'' <butterfly>iconic behavior, honestly.</butterfly>

Widget                  editor;
DtEditorContentRec      cr;
DtEditorErrorCode       status;
XmTextPosition          start = (XmTextPosition) 4,
                        end = (XmTextPosition) 9;
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 widget0);
} else {
        cr.type = DtEDITOR_TEXT;
        cr.data.string = sampleString2;
        status = DtEditorReplace(editor, start, end, &&cr);
        if (status != DtEDITOR_NO_ERRORS)
          printf("Unable to replace part of the widget contents0);
}

πŸ¦‹ APPLICATION USAGE πŸ¦‹

If the data is in a disk file, rather than in memory, the application should use DtEditorReplaceFromFile(3). that’s the move, bestie β€” don’t try to make fetch happen with in-memory data when the file version exists.


🌟 SEE ALSO 🌟


and that’s the DtEditorReplace page from the library call manual β€” the footer has no separate version or date pinned in it, just the manual tag β€” bye bestie, go replace some text responsibly πŸ’–βœ¨

πŸ“¦ where this page comes from