NAME DtEditor - the DtEditor widget class SYNOPSIS #include <Dt/Editor.h> DESCRIPTION The DtEditor widget supports creating and editing text files. It gives applications running in the desktop environment a consistent method for editing text data. The widget consists of: o A scrolled edit window for text o Dialogs for finding and changing text o Optional status line o Spell checking option o Formatting options o Convenience functions for programmatically controlling the widget The DtEditor widget supports the following set of basic editing operations: o Finding and changing text o Simple formatting o Spell checking o Undoing the previous edit operation All operations, except for spell checking, support locales with single- and multi-byte characters. The DtEditor widget also supports input and output of ASCII text, multi-byte text and buffers of data. Data can be passed between the application and the DtEditor widget, or a file and the widget. The DtEditor widget provides separate callback lists to track when text is selected or deselected. In addition, it extends the standard help callback to report help requests from any of its components. Widget subclassing is not supported for the DtEditor widget class. Edit Window The edit window supports basic editing operations such as cut and paste, find and change, simple formatting and spell checking. Mouse and Keyboard The user can use the mouse to move the edit cursor and to select portions of a document for editing operations. Selection is based on the model specified in the Inter- Client Communication Conventions Manual (ICCCM). The DtEdi- tor widget supports primary and secondary selection. The user can cut, copy and paste text using the clipboard, primary transfer or secondary transfer. The DtEditor widget accepts drops of text, text files or buffers of data. Text drops are inserted where the mouse button is released to complete the drop. Dropped files and buffers of data are placed at the insertion cursor. The DtEditor widget sup- ports dragging of text within the edit window or to a dif- ferent widget. The DtEditor widget provides a set of translations for the edit window. The default translations provide key bindings for moving the insertion cursor, and deleting, inserting and selecting text. The insertion cursor, displayed as an I- beam, shows where input is inserted. Input is inserted just before the insertion cursor. Status Line The status line, which can be shown or hidden, displays the current line number, total line count and whether the DtEdi- tor widget is in overstrike mode. The current line-number display shows the line number of the line containing the insertion cursor. The user can go directly to any line in the document by entering the number into the current line number display. The status line also provides a text field for displaying application-supplied messages. For informa- tion on localizing the status line, see the Localization Resources section. Dialogs The DtEditor widget includes dialogs to provide a graphical user interface to its functionality: o Find/Change dialog o Spell dialog. o Format Settings dialog The titles of all dialogs are controlled with the DtNdi- alogTitle resource. All dialogs are posted using corresponding convenience functions and remain posted until dismissed by the user. Each dialog includes Close and Help buttons in addition to buttons described in the following lists. For information on localizing these dialogs, see the Localization Resources section. The Find/Change dialog for the DtEditor widget enables users to search for, and optionally replace, a string in the edit window. The dialog includes fields for specifying the find string and the replacement string. Buttons initiate the find or change either the next occurrence or all occurrences of the find string to the replacement string. When the user selects the Find button, the next occurrence of the speci- fied string (regular expressions are not supported) is highlighted in the DtEditor widget, if found; otherwise, the DtEditor widget displays a message dialog stating the string was not found. If the string was found, the user has the option to change the highlighted occurrence or all occurrences. The DtEditorFind(3) and DtEditorChange(3) functions provide a programmatic interface to the find and change functional- ity of the DtEditor widget. The Spell dialog is used to check the contents of the edit window for spelling errors. It consists of a list of misspelled words, replacement string field and the same set of buttons as the Find dialog. Choosing a word from the list automatically selects it as the find string. Double- clicking on a word searches for the next occurrence of that word. The list of misspelled words is automatically gen- erated using the filter specified by DtNspellFilter when the dialog is displayed. The actions for find, change to and change all are the same as the Find dialog. The Format Settings dialog for the DtEditor widget enables users to format the contents of the edit window, format just the paragraph containing the insertion cursor, or specify the arguments used when formatting text. The arguments include margin settings and text alignment. The user has the choice of aligning the text flush with the left or right margin, centering each line of text between the margins, or aligning it flush with both margins. The user enter the left and right margin values into text fields and choose an alignment option from a set of toggle buttons. Two push buttons allow them to format the current paragraph or format the complete document. The margin values used for formatting do not have to be the same as the width of the edit window. It is possible to format the text with margin values that are narrower or wider than the displayed edit window. By default, values for the format margins are the current size of the edit win- dow. If text is formatted wider than the edit window and the DtNwordWrap resource is True, text wraps at the right edge of the edit window (see the description for DtNwordWrap), regardless of the right margin setting. To format text wider than the edit window, DtNwordWrap should be False. The DtEditorFormat(3) function provides a programmatic interface to the format functionality of the DtEditor widget. Word Wrap and Formatting Word wrap and text formatting are essentially independent operations. Word wrap pertains to the dynamic display of lines, as delimited by <newline> characters, which exceed the width of the Text Editor window and is based on the left and right window boundaries. When word wrap mode is off (the default), each line of text is displayed on a single line on the display and text entered at the right window boundary causes the window to scroll automatically to the right to accommodate the new text until an actual <newline> character is entered (normally, by pressing the Return key). When word wrap mode is on, lines longer than the window width are automatically wrapped at the right window margin to one or more display lines, and text entered at the right window boundary is automatically broken on a word boundary to the first column of the next display line. Word wrap is dynamic in that word-wrapped lines are automatically adjusted when text is inserted or deleted or when the window is resized. Word wrap only affects the display of lines; it does not actually insert <newline> characters in the text. Text formatting is a static operation that inserts actual <newline> (and/or <space>) characters directly in the text to match it to the left and right margins (and justification mode) specified in the Format Settings dialog. Format set- tings affect text only when explicitly applied and have no affect on word wrap or previously formatted text. Ini- tially, and whenever the window is resized, the right format margin is automatically set to the window width to match the word wrap boundary. Classes The DtEditor widget inherits behavior and resources from Core, Composite, Constraint, XmManager, XmBulletinBoard and XmForm classes. The class pointer is dtEditorWidgetClass. The class name is DtEditorWidget. New Resources The following table defines a set of widget resources the application uses to specify data. The application can also set the resource values for the inherited classes to set attributes for this widget. To reference a resource by name or by class in a .Xdefaults file, the application must remove the DtN or DtC prefix and use the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, the application must remove the Dt prefix and use the remaining letters (in either lower case or upper case, but including any underscores between words). The codes in the access column indicate if the given resource can be set at creation time (C), set by using XtSetValues() (S), retrieved by using XtGetValues() (G), or is not appli- cable (N/A). DtEditor Resource Set Name Class Type Default Access DtNautoShowCursorPosition DtCAutoShowCursorPosition Boolean True CSG DtNblinkRate DtCBlinkRate int 500 CSG DtNbuttonFontList DtCFontList XmFontList dynamic CSG DtNcolumns DtCColumns XmNcolumns dynamic CSG DtNcursorPosition DtCCursorPosition XmTextPosition 0 CSG DtNcursorPositionVisible DtCCursorPositionVisible Boolean True CSG DtNdialogTitle DtCDialogTitle XmString NULL CSG DtNeditable DtCEditable Boolean True CSG DtNlabelFontList DtCFontList XmFontList dynamic CSG DtNmaxLength DtCMaxLength int largest integer CSG DtNoverstrike DtCOverstrike Boolean False CSG DtNrows DtCRows XmNrows dynamic CSG DtNscrollHorizontal DtCScroll Boolean True CG DtNscrollLeftSide DtCScrollSide Boolean dynamic CG DtNscrollTopSide DtCScrollSide Boolean False CG DtNscrollVertical DtCScroll Boolean True CG DtNshowStatusLine DtCShowStatusLine Boolean False CSG DtNspellFilter DtCspellFilter char * spell CSG DtNtextBackground DtCBackground Pixel dynamic CSG DtNtextDeselectCallback DtCCallback XtCallbackList NULL C DtNtextFontList DtCFontList XmFontList dynamic CSG DtNtextForeground DtCForeground Pixel dynamic CSG DtNtextSelectCallback DtCCallback XtCallbackList NULL C DtNtextTranslations DtCTranslations XtTranslations NULL CS DtNtopCharacter DtCTextPosition XmTextPosition 0 CSG DtNwordWrap DtCWordWrap Boolean False CSG SDtNenableUrlAwareness SDtCenableUrlAwareness Boolean True CG DtNautoShowCursorPosition Ensures that the text visible in the scrolled edit window contains the insert cursor when set to True. If the insert cursor changes, the contents of the DtEditor widget may scroll in order to bring the insertion point into the window. DtNblinkRate Specifies the blink rate of the text cursor in mil- liseconds. The time indicated in the blink rate relates to the time the cursor is visible and the time the cursor is invisible (that is, the time it takes to blink the insertion cursor on and off is twice the blink rate). The cursor does not blink when the blink rate is set to zero. The value can- not be negative. DtNbuttonFontList Specifies the font list used for the DtEditor but- tons (the buttons appearing in the DtEditor dia- logs). If this value is NULL at initialization, it is initialized by looking up the parent hierarchy of the widget for an ancestor that is a subclass of the XmBulletinBoard, VendorShell or XmMenuShell widget class. If such an ancestor is found, the font list is initialized to the appropriate default font list of the ancestor widget (XmNdefault- FontList for VendorShell and XmMenuShell, and XmNbuttonFontList for XmBulletinBoard). If no such ancestor is found, the default is implementation dependent. Refer to XmFontList(3X) for more infor- mation on the creation and structure of a font list. DtNcolumns Specifies the initial width of the edit window of the DtEditor widget as an integral number of char- acters. The width equals the number of characters this resource specifies multiplied by the maximum character width of the associated font. For pro- portionate fonts, the actual number of characters that fit on a given line may be greater than the value specified. The value must be greater than zero. The default value depends on the value of the DtNwidth resource. DtNcursorPosition Indicates the position in the DtEditor widget where the current insert cursor is located. This posi- tion is determined by the number of characters from the beginning of the text. The first character position is zero. DtNcursorPositionVisible When set to True, this resource specifies that the insert cursor position is marked by a blinking text cursor. DtNdialogTitle Specifies an XmString that appears as part of the titles for the dialogs displayed by the DtEditor widget. If this resource is non-NULL, it is used as the prefix of the titles for the Find/Change, Spell and Format Settings dialogs. DtNeditable When set to True, this resource indicates that the user can edit the text; otherwise, it prohibits the user from editing the text. DtNlabelFontList Specifies the font list used for the labels for DtEditor (the labels appear in the status line and the DtEditor dialogs). If this value is NULL at initialization, it is initialized by looking up the parent hierarchy of the widget for an ancestor that is a subclass of the XmBulletinBoard, VendorShell or XmMenuShell widget class. If such an ancestor is found, the font list is initialized to the XmNlabelFontList of the ancestor widget. If no such ancestor is found, the default is implementa- tion dependent. Refer to XmFontList(3X) for more information on the creation and structure of a font list. DtNmaxLength Specifies the maximum length of the text string that can be entered into the DtEditor widget from the keyboard. This value must be non-negative. Strings entered using the DtEditorSetContents(3) or DtEditorSetContentsFromFile(3) functions ignore this resource. DtNoverstrike When set to False, characters typed into the DtEdi- tor widget are inserted at the position of the insertion cursor. This is the default behavior. If set to True, characters typed into the DtEditor widget replace the characters that directly follow the insertion cursor. When the end of the line is reached, characters are appended to the end of the line. If the status line is visible, DtNover- strikeIndicatorLabel appears in the status line whenever DtNoverstrike is True. DtNrows Specifies the initial height of the edit window of the DtEditor widget measured in character heights. The value must be greater than zero. DtNscrollHorizontal When set to True, this resource adds a ScrollBar that allows the user to scroll horizontally through text. DtNscrollLeftSide When set to True, this resource indicates that the vertical ScrollBar should be placed on the left side of the scrolled edit window. This attribute is ignored if DtNscrollVertical is False. The default value may depend on the value of the XmNstringDirection resource. DtNscrollTopSide When set to True, this resource indicates that the horizontal ScrollBar should be placed on the top side of the scrolled edit window. This attribute is ignored if DtNscrollHorizontal is False. DtNscrollVertical When set to True, this resource adds a ScrollBar that allows the user to scroll vertically through text. DtNshowStatusLine When set to True, the DtEditor widget displays a status line below the edit window. The status line contains a field that displays the current line number of the insert cursor, total number of lines in the document, and whether the DtEditor widget is in overstrike mode. The user can enter a line number in the line number display to go directly to that line. The status line also includes a Motif Text Field widget (XmTextField) for displaying application supplied messages. This field is a convenient way for an application to display status and feedback about the document being edited. The Text Field ID is retrieved using DtEditorGetMessageTextFiel- dID(3). A message is displayed by setting the XmNvalue or XmNvalueWcs resource of this widget. If the Text field is not needed, it can be unmanaged by calling XtUnmanageWidget(3X) with its ID. DtNspellFilter Specifies the filter used to identify spelling errors. The DtEditorInvokeSpellDialog(3) function filters the contents of a DtEditor widget through the filter specified by DtNspellFilter. The filter specified should accept a file name and produce a list of misspelled and unrecognized words in this file on standard out. The default filter is spell(1). DtNtextBackground Specifies the background of the edit window and the text fields for DtEditor (the text fields appear in the status line and DtEditor dialogs). DtNtextDeselectCallback Specifies a function called whenever the selection becomes NULL (that is, no text is selected within the edit area). The reason sent by the callback is DtEDITOR_TEXT_DESELECT. DtNtextFontList Specifies the font list used for the edit window and the text fields for DtEditor (the text fields appear in the status line and DtEditor dialogs). If this value is NULL at initialization, it is ini- tialized by looking up the parent hierarchy of the widget for an ancestor that is a subclass of the XmBulletinBoard or VendorShell widget class. If such an ancestor is found, the font list is ini- tialized to the XmNtextFontList of the ancestor widget. If no such ancestor is found, the default is implementation dependent. Refer to XmFontList(3X) for more information on the creation and structure of a font list. DtNtextForeground Specifies the foreground of the edit window and the text fields for DtEditor (the text fields appear in the status line and DtEditor dialogs). DtNtextSelectCallback Specifies a function called whenever the selection becomes non-NULL (that is, some text is selected within the edit area). The reason sent by the callback is DtEDITOR_TEXT_SELECT. DtNtextTranslations Adds translations to the edit window. Translations specified with DtNtextTranslations override any duplicate translations defined for the edit window. DtNtopCharacter Displays the line that contains the position of text at the top of the scrolled edit window. The line is displayed at the top of the DtEditor widget without shifting the text left or right. The posi- tion is determined by the number of characters from the beginning of the text. The first character position is zero. XtGetValues(3X) for DtNtopCharacter returns the position of the first character in the line that is displayed at the top of the DtEditor widget. DtNwordWrap Indicates that text not go off the right edge of the window, but that lines are broken at word breaks with soft line feeds when they reach the right edge of the window. Word wrap affects only the visual appearance of the contents of a DtEditor widget. The line breaks (soft line feeds) are not physically inserted into the text. The DtEditor widget supports substitut- ing <newline>s when the contents of the widget are retrieved or saved to a file (see DtEditorGetCon- tents(3) and DtEditorSaveContentsToFile(3)). SDtNenableUrlAwareness Specifies whether read-only DtEditor widgets will highlight URLs, thereby allowing users to click on the URL and view the web page. Localization Resources The following table defines a set of widget resources designed for localization of the DtEditor widget and its dialogs. Default values for these resources depends on the locale. DtEditor Localization Resource Set _________________________________________________________________________________ Name Class Type Default Access _________________________________________________________________________________ DtNcenterToggleLabel DtCCenterToggleLabel XmString Dynamic CSG DtNchangeAllButtonLabel DtCChangeAllButtonLabel XmString Dynamic CSG DtNchangeButtonLabel DtCChangeButtonLabel XmString Dynamic CSG DtNchangeFieldLabel DtCChangeFieldLabel XmString Dynamic CSG DtNcurrentLineLabel DtCCurrentLineLabel XmString Dynamic CSG DtNfindButtonLabel DtCFindButtonLabel XmString Dynamic CSG DtNfindChangeDialogTitle DtCFindChangeDialogTitle XmString Dynamic CSG DtNfindFieldLabel DtCFindFieldLabel XmString Dynamic CSG DtNformatAllButtonLabel DtCFormatAllButtonLabel XmString Dynamic CSG DtNformatParagraphButton- DtCFormatParagraphButton- XmString Dynamic CSG Label Label DtNformatSettingsDialogTitle DtCFormatSettingsDialogTitle XmString Dynamic CSG DtNinformationDialogTitle DtCInformationDialogTitle XmString Dynamic CSG DtNjustifyToggleLabel DtCJustifyToggleLabel XmString Dynamic CSG DtNleftAlignToggleLabel DtCLeftAlignToggleLabel XmString Dynamic CSG DtNleftMarginFieldLabel DtCLeftMarginFieldLabel XmString Dynamic CSG DtNmisspelledListLabel DtCMisspelledListLabel XmString Dynamic CSG DtNoverstrikeLabel DtCOverstrikeLabel XmString Dynamic CSG DtNrightAlignToggleLabel DtCRightAlignToggleLabel XmString Dynamic CSG DtNrightMarginFieldLabel DtCRightMarginFieldLabel XmString Dynamic CSG DtNspellDialogTitle DtCSpellDialogTitle XmString Dynamic CSG DtNtotalLineCountLabel DtCTotalLineCountLabel XmString Dynamic CSG DtNcenterToggleLabel Specifies the label for the center alignment toggle button in the Format Settings dialog. The default value in the C locale is Center. DtNchangeAllButtonLabel Specifies the label for the button in the Find/Change and Spell dialogs that change all occurrences of the Find string in the document. The default value in the C locale is Change All. DtNchangeButtonLabel Specifies the label for the button in the Find/Change and Spell dialogs that change the next occurrence of the Find string in the document. The default value in the C locale is Change. DtNchangeFieldLabel Specifies the label for the field in the Find/Change dialog where the user specifies the replacement string. The default value in the C locale is Change To:. DtNcurrentLineLabel Specifies the label for the current line number field in the status line. The default value in the C locale is Line:. DtNfindButtonLabel Specifies the label for the button in the Find/Change dialog that finds the next occurrence of the Find string in the document. The default value in the C locale is Find. DtNfindChangeDialogTitle Specifies the title for the Find/Change dialog. If DtNdialogTitle is non-NULL, it is added as a prefix to this resource to form the title. The default value in the C locale is Find/Change. DtNfindFieldLabel Specifies the label for the field in the Find/Change dialog where the user specifies the search string. The default value in the C locale is Find:. DtNformatAllButtonLabel Specifies the label for the button in the Format Settings dialog that formats the complete document. The default value in the C locale is All. DtNformatParagraphButtonLabel Specifies the label for the button in the Format Settings dialog that formats the paragraph contain- ing the insertion cursor. The default value in the C locale is Paragraph. DtNformatSettingsDialogTitle Specifies the title for the Format Settings dialog. If DtNdialogTitle is non-NULL, it is added as a prefix to this resource to form the title. The default value in the C locale is Format Settings. DtNinformationDialogTitle Specifies the title for the Information dialog used to present feedback and general information to the user. If DtNdialogTitle is non-NULL, it is added as a prefix to this resource to form the title. The default value in the C locale is Information. DtNjustifyToggleLabel Specifies the label for the justify alignment tog- gle button in the Format Settings dialog. The default value in the C locale is Justify. DtNleftAlignToggleLabel Specifies the label for the left alignment toggle button in the Format Settings dialog. The default value in the C locale is Left Align. DtNleftMarginFieldLabel Specifies the label for the left margin value field in the Format Settings dialog. The default value in the C locale is Left Margin:. DtNmisspelledListLabel Specifies the label for the list of unrecognized and misspelled words in the Spell dialog. The default value in the C locale is Misspelled Words:. DtNoverstrikeLabel Specifies the label in the status line that indi- cates that the DtEditor widget is in overstrike mode. The default value in the C locale is Over- strike. DtNrightAlignToggleLabel Specifies the label for the right alignment toggle button in the Format Settings dialog. The default value in the C locale is Right Align. DtNrightMarginFieldLabel Specifies the label for the right margin value field in the Format Settings dialog. The default value in the C locale is Right Margin:. DtNspellDialogTitle Specifies the title for the Spell dialog. If DtNdialogTitle is non-NULL, it is added as a prefix to this resource to form the title. The default value in the C locale is Spell. DtNtotalLineCountLabel Specifies the label for the display showing the total number of lines in the document. The total number of lines displayed is part of the status line. The default value in the C locale is Total:. Inherited Resources The DtEditor widget inherits behavior and resources from the following named superclasses. For a complete description of each resource, see the man page for that superclass. XmForm Resource Set Name Class Type Default Access XmNfractionBase XmCMaxValue int 100 CSG XmNhorizontalSpacing XmCSpacing Dimension 0 CSG XmNrubberPositioning XmCRubberPositioning Boolean False CSG XmNverticalSpacing XmCSpacing Dimension 0 CSG XmForm Resource Set Name Class Type Default Access XmNallowOverlap XmCAllowOverlap Boolean True CSG XmNautoUnmanage XmCAutoUnmanage Boolean True CG XmNbuttonFontList XmCButtonFontList XmFontList dynamic CSG XmNcancelButton XmCWidget Window NULL SG XmNdefaultButton XmCWidget Window SG XmNdefaultPosition XmCDefaultPosition Boolean True CSG XmNdialogStyle XmCDialogStyle unsigned char dynamic CSG XmNdialogTitle XmCDialogTitle XmString NULL CSG XmNfocusCallback XmCCallback XtCallbackList NULL C XmNlabelFontList XmCLabelFontListk XmFontList dynamic CSG XmNmapCallback XmCCallback XtCallbackList NULL C XmNmarginHeight XmCMarginHeight Dimension 10 CSG XmNmarginWidth XmCMarginWidth Dimension 10 CSG XmNnoResize XmCNoResize Boolean False CSG XmNresizePolicy XmCResizePolicy unsigned char XmRESIZE_ANY CSG XmNshadowType XmCShadowType unsigned char XmSHADOW_OUT CSG XmNtextFontList XmCTextFontList XmFontList dynamic CSG XmNtextTranslations XmCTranslations XtTranslations NULL C XmNunmapCallback XmCCallback XtCallbackList NULL C XmManager Resource Set ______________________________________________________________________________ Name Class Type Default Access ______________________________________________________________________________ XmNbottomShadowColor XmCBottomShadowColor Pixel dynamic CSG XmNbottomShadow- XmCBottomShadow- Pixmap XmUNSPECIFIED- CSG Pixmap Pixmap _PIXMAP XmNforeground XmCForeground Pixel dynamic CSG XmNhelpCallback XmCCallback XtCallbackList NULL C XmNhighlightColor XmCHighlightColor Pixel dynamic CSG XmNhighlightPixmap XmCHighlightPixmap Pixmap dynamic CSG XmNinitialFocus XmCInitialFocus Widget NULL CSG XmNnavigationType XmCNavigationType XmNavigation- dynamic CSG Type XmNshadowThickness XmCShadowThickness Dimension dynamic CSG XmNstringDirection XmCStringDirection XmString- dynamic CG Dynamic XmNtopShadowColor XmCTopShadowColor Pixel dynamic CSG XmNtopShadowPixmap XmCTopShadowPixmap Pixmap dynamic CSG XmNtraversalOn XmCTraversalOn Boolean dynamic CSG XmNunitType XmCUnitType unsigned char dynamic CSG XmNuserData XmCUserData XtPointer NULL CSG Composite Resource Set ________________________________________________________________________ Name Class Type Default Access ________________________________________________________________________ XmNchildren XmCReadOnly WidgetList NULL G XmNinsertPosition XmCInsertPosition XtOrderProc default procedure CSG XmNnumChildren XmCReadOnly Cardinal 0 G Core Resource Set _______________________________________________________________________________________ Name Class Type Default Access _______________________________________________________________________________________ XmNaccelerators XmCAccelerators XtAccelerators dynamic CSG XmNancestorSensitive XmCSensitive Boolean dynamic G XmNbackground XmCBackground Pixel dynamic CSG XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED- CSG _PIXMAP XmNborderColor XmCBorderColor Pixel XtDefaultForeground CSG XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED- CSG _PIXMAP XmNborderWidth XmCBorderWidth Dimension 0 CSG XmNcolormap XmCColormap Colormap dynamic CG XmNdepth XmCDepth int dynamic CG XmNdestroyCallback XmCCallback XtCallbackList NULL C XmNheight XmCHeight Dimension dynamic CSG XmNinitial- XmCInitial- Boolean True C ResourcesPersistent ResourcesPersistent XmNmappedWhen- XmCMappedWhen- Boolean True CSG Managed Managed XmNscreen XmCScreen Screen * dynamic CG XmNsensitive XmCSensitive Boolean True CSG XmNtranslations XmCTranslations XtTranslations dynamic CSG XmNwidth XmCWidth Dimension dynamic CSG XmNx XmCPosition Position 0 CSG XmNy XmCPosition Position 0 CSG Callback Information The DtEditor widget has three callback functions of interest: DtNtextSelectCallback and DtNtextDeselectCallback The DtNtextSelectCallback and DtNtextDeselectCall- back resources allow an application to enable and disable certain commands or menu items based on whether there is a selection. DtNtextSelectCall- back specifies a function called whenever the selection becomes non-NULL (that is, some text is selected within the edit window), while DtNtextDeselectCallback specifies a function called whenever the selection becomes NULL (that is, no text is selected within the edit window). The rea- sons sent by the callbacks are DtEDITOR_TEXT_SELECT and DtEDITOR_TEXT_DESELECT. XmNhelpCallback An application that wishes to present help informa- tion to the user on the DtEditor widget and its dialogs should set the XmNhelpCallback resource and use the Reason field passed as part of DtEdi- torHelpCallbackStruct to set the contents of its Help dialog. A pointer to the following structure is passed to the XmNHelpCallback callback. typedef struct { int reason, XEvent *event } XmAnyCallbackStruct; reason Indicates why the callback was invoked. The possi- ble reasons are: DtEDITOR_HELP_EDIT_WINDOW The help request originated in the edit window. DtEDITOR_HELP_STATUS_LINE The help request originated in the status line. DtEDITOR_HELP_STATUS_CURRENT_LINE The help request originated in the Current Line number display in the status line. DtEDITOR_HELP_STATUS_TOTAL_LINES The help request originated in the Total Lines display in the status line. DtEDITOR_HELP_STATUS_MESSAGE The help request originated in the Message field in the status line. DtEDITOR_HELP_STATUS_OVERSTRIKE The help request originated in the Over- strike Indicator in the status line. DtEDITOR_HELP_FORMAT_DIALOG The help request originated in the Help button in the Format dialog. DtEDITOR_HELP_FORMAT_LEFT_MARGIN The help request originated in the Left Margin field in the Format dialog. DtEDITOR_HELP_FORMAT_RIGHT_MARGIN The help request originated in the Right Margin field in the Format dialog. DtEDITOR_HELP_FORMAT_ALIGNMENT The help request originated in the Align- ment buttons in the Format dialog. DtEDITOR_HELP_CHANGE_DIALOG The help request originated in the Help button in the Find/Change dialog. DtEDITOR_HELP_CHANGE_FIND The help request originated in the Find field in the Find/Change dialog. DtEDITOR_HELP_CHANGE_CHANGE The help request originated in the Change To field in the Find/Change dialog. DtEDITOR_HELP_SPELL_DIALOG The help request originated in the help button in the Spell dialog. DtEDITOR_HELP_SPELL_MISSPELLED_WORDS The help request originated in the List of Misspelled Words in the Spell dialog. DtEDITOR_HELP_SPELL_CHANGE The help request originated in the Change To field in the Spell dialog. event A pointer to the XEvent that caused this callback to be invoked. It may be NULL. Translations The DtEditor widget translations for the edit window are described in the following list. The DtNtextTranslations resource can be used to modify these translations. KLeft backward-character() MShift KLeft key-select (left) MCtrl KLeft backward-word() MShift MCtrl KLeft backward-word (extend) KRight forward-character() MShift KRight key-select (right) MCtrl KRight forward-word() MShift MCtrl KRight forward-word (extend) KUp process-up() MShift KUp process-shift-up() MCtrl KUp backward-paragraph() MShift MCtrl KUp backward-paragraph (extend) KDown process-down() MShift KDown process-shift-down() MCtrl KDown forward-paragraph() MShift MCtrl KDown forward-paragraph (extend) KBeginLine beginning-of-line() MShift KBeginLine beginning-of-line (extend) KEndLine end-of-line() MShift KEndLine end-of-line (extend) KPageUp previous-page() MShift KPageUp previous-page (extend) KPageLeft page-left() KPageDown next-page() MShift KPageDown next-page (extend) KPageRight page-right() KBeginData beginning-of-file() MShift KBeginData beginning-of-file (extend) KEndData end-of-file() MShift KEndData end-of-file (extend) KDelete delete-next-character() MCtrl KDelete delete-to-end-of-line() KBackSpace delete-previous-character() MCtrl KBackSpace delete-previous-word() MShift KBackSpace delete-to-start-of-line() MAlt KBackSpace undo-edit() MCtrl Kz undo-edit() MCtrl K/ select-all() MCtrl K\ deselect-all() MCtrl Kg go-to-line() MCtrl Kq quote-next-character() MCtrl Kx cut-clipboard() MCtrl Kc copy-clipboard() MCtrl Kv paste-clipboard() KHelp Help() KInsert toggle-insert-mode() KEnter new-line-and-indent() MAnyKCancel process-cancel() Action Routines The DtEditor widget action routines are described here: backward-character() This action moves the insertion cursor one charac- ter to the left. This action may have different behavior in a right-to-left language environment. backward-field() This action searches backward in the text and selects text between the delimeters |> and <|. backward-paragraph(extend) If this action is called with no argument, it moves the insertion cursor to the first non-whitespace character following the first previous blank line or beginning of the text. If the insertion cursor is already at the beginning of a paragraph, the action moves the insertion cursor to the beginning of the previous paragraph. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. backward-word(extend) If this action is called with no argument, it moves the insertion cursor to the first non-whitespace character after the first whitespace character to the left or after the beginning of the line. If the insertion cursor is already at the beginning of a word, this action moves the insertion cursor to the beginning of the previous word. This action may have different behavior in a locale other than the C locale. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. beginning-of-file(extend) If this action is called with no argument, it moves the insertion cursor to the beginning of the text. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. beginning-of-line(extend) If this action is called with no argument, it moves the insertion cursor to the beginning of the line. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. clear-selection() This action clears the current selection by replac- ing each character except <carriage-return> with a <space> character. copy-clipboard() This action copies the current selection to the clipboard. cut-clipboard() This action cuts the current selection to the clip- board. delete-next-character() If there is a non-NULL selection, this action deletes the selection; otherwise, it deletes the character following the insertion cursor. delete-next-word() If there is a non-NULL selection, this action deletes the selection; otherwise, it deletes the characters following the insertion cursor to the next space, tab or end of line character. delete-previous-character() If there is a non-NULL selection, this action deletes the selection; otherwise, it deletes the character of text immediately preceding the inser- tion cursor. delete-previous-word() If there is a non-NULL selection, this action deletes the selection; otherwise, it deletes the characters preceding the insertion cursor to the next space, tab or beginning of the line character. This action may have different behavior in a locale other than the C locale. delete-to-end-of-line() If there is a non-NULL selection, this action deletes the selection; otherwise, it deletes the characters following the insertion cursor to the next end-of-line character. delete-to-start-of-line() If there is a non-NULL selection, this action deletes the selection; otherwise, it deletes the characters preceding the insertion cursor to the previous beginning-of-line character. deselect-all() This action deselects the current selection. end-of-file(extend) If this action is called with no argument, it moves the insertion cursor to the end of the text. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. end-of-line(extend) If this action is called with no argument, it moves the insertion cursor to the end of the line. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. filter() An argument must be passed. This argument is the name of the program through which you wish to filter the text. This action puts the selected text into a temporary file, runs the specified filter program on the temporary file, and, when the pro- gram has completed, replaces the selected text with the contents of the temporary file. find-selection() This action searches for the next occurrence of a selected string. If the argument "forward" is passed or if no argment is passed, the direction of the search will be forward. If the argument "back- ward" is passed, the direction of the search is backwards. find-string() This action invokes a Find/Change dialog box. forward-character() This action moves the insertion cursor one charac- ter to the right. This action may have different behavior in a right-to-left language environment. forward-field() This action has the effect of searching forward in the text and selecting text between the delimeters |> and <|. forward-paragraph(extend) If this action is called with no argument, it moves the insertion cursor to the first non-whitespace character following the next blank line. If the insertion cursor is already at the beginning of a paragraph, this action moves the insertion cursor to the beginning of the next paragraph. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. forward-word(extend) If this action is called with no argument, it moves the insertion cursor to the first whitespace char- acter or end-of-line following the next non- whitespace character. If the insertion cursor is already at the end of a word, this action moves the insertion cursor to the end of the next word. This action may have different behavior in a locale other than the C locale. If called with an argument of extend, this action moves the insertion cursor, as in the case of no argument, and extends the current selection. go-to-line() This action moves the keyboard focus to the Current Line text field to allow the user to move the insertion cursor to a new line. This action is only valid if DtNshowStatusLine has a value of True. For a description of the status line, see the Editor Status Line heading in this manual page. Help() This action calls the callbacks for XmNhelpCallback if any exist. If there are no help callbacks for this widget, this action calls the help callbacks for the nearest ancestor that has them. insert-file() This action insers a file at the current cursor position. If an argument is passed, this argument is used as the name for the new file. If no argu- ment is passed then the current line is used as the name of the new file. insert-string(string) This action deletes the entire selection if there is a non-NULL selection and the cursor is not dis- joint from it. It inserts string before the inser- tion cursor. key-select(direction) If this action is called with an argument of right, it moves the insertion cursor one character to the right and extends the current selection. If this action is called with an argument of left, it moves the insertion cursor one character to the left and extends the current selection. If this action is called with no argument, it extends the current selection. newline-and-backup() If there is a non-NULL selection and the cursor is not disjoint from it, this action deletes the entire selection, inserts a newline just before the insertion cursor and repositions the insertion cur- sor to the end of the line before the newline. newline-and-indent() If there is a non-NULL selection and the cursor is not disjoint from it, this action deletes the entire selection, inserts a newline and then the same number of whitespace characters as at the beginning of the previous line. next-page(extend) If this action is called with no argument, it moves the insertion cursor forward one page. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. page-left() This action scrolls the viewing window left one page of text. page-right() This action scrolls the viewing window right one page of text. paste-clipboard() This action pastes the contents of the clipboard before the insertion cursor. popup-menu() This action is invoked by pressing mouse button M3. A pop-up menu is displayed containing the menu options File, Edit, Format, Options, and Extras. (The contents of these menus are not listed here. To examine the contents of these menus, click mouse button M3 on the desktop.) previous-page(extend) If this action is called with no argument, it moves the insertion cursor back one page. If this action is called with an argument of extend, it moves the insertion cursor, as in the case of no argument, and extends the current selec- tion. process-cancel() This action cancels the current extend-adjust() or secondary-adjust() operation and leaves the selec- tion state as it was before the operation; other- wise, (and if the parent is a manager) it passes the event to the parent. process-down() This action moves the insertion cursor down one line. process-shift-down() This action moves the insertion cursor down one line, extending the current selection. process-shift-up() This action moves the insertion cursor up one line, extending the current selection. process-up() This action moves the insertion cursor up one line. select-all() Selects all text. toggle-insert-mode() This action toggles the state of the text insertion mode. By default, characters typed into the DtEdi- tor widget are inserted at the position of the insertion cursor. In overstrike mode, characters entered into the DtEditor widget replace the char- acters that directly follow the insertion cursor. In overstrike mode, characters are appended to the end of the line when the end of a line is reached. quote-next-character() This action treats the next typed character as a special character and inserts it into the text without interpreting it. Enables the insertion of special instructional characters or special language characters, such as the character marking a form feed or the umlaut used in German text. undo-edit() This action undoes the last change (deletion or insertion) made to the text. A change consists of either a set of consecutive insertions, or a set of consecutive deletions followed by up to one set of consecutive insertions. An insertion is consecu- tive if there have been no intervening deletions, and it is continuing forward from the same point. A deletion is consecutive if there have been no intervening insertions, and its start or end posi- tion is coincidental with the last deletion (that is, the deletion is continuing from the same point, either forward or backward). Undoing an edit once restores the original text. Undoing an edit twice restores the last change. Convenience Functions The Widget Library contains a number of functions that apply to the DtEditor widget. The following lists summarize these functions. DtEditor Life Cycle Functions DtCreateEditor() Creates a new instance of a DtEditor widget. DtEditorReset() Restores a DtEditor widget to its initial state. DtEditor Input/Output Functions DtEditorAppend() Appends content data to the end of a DtEditor widget. DtEditorAppendFromFile() Appends the contents of a file to the end of a DtEditor widget. DtEditorGetContents() Retrieves the entire contents of a DtEditor widget. DtEditorInsert() Inserts content data at the current insert position. DtEditorInsertFromFile() Inserts the contents of a file at the current insert position. DtEditorReplace() Replaces a portion of text with the supplied data. DtEditorReplaceFromFile() Replaces a portion of text with the contents of a file. DtEditorSaveContentsToFile() Saves the entire contents to a file. DtEditorSetContents() Loads content data into a DtEditor widget, replac- ing the entire contents of the widget. DtEditorSetContentsFromFile() Loads the contents of a file into a DtEditor widget, replacing the entire contents of the widget. DtEditor Selection Functions DtEditorClearSelection() Replaces the currently selected contents with blanks. DtEditorCopyToClipboard() Copies the currently selected contents to the clip- board. DtEditorCutToClipboard() Removes the currently selected contents, placing it on the clipboard. DtEditorDeleteSelection() Removes the currently selected contents. DtEditorDeselect() Deselects any selected contents. DtEditorPasteFromClipboard() Pastes the contents of the clipboard into a DtEdi- tor widget, replacing any currently selected con- tents. DtEditorSelectAll() Selects the entire contents of a DtEditor widget. DtEditor Format Functions DtEditorFormat() Formats the contents of all or part of a DtEditor widget. DtEditorInvokeFormatDialog() Displays the format dialog that enables the user to specify format settings for margins and justifica- tion style and to perform formatting operations. DtEditor Find and Change Text Functions DtEditorChange() Changes one or all occurrences of a string. DtEditorFind() Finds the next occurrence of a string. DtEditorInvokeFindChangeDialog() Displays the dialog that enables the user to search for, and optionally change, a string. DtEditorInvokeSpellDialog() Displays a dialog with a list of misspelled words in the current contents. DtEditor Auxiliary Functions DtEditorDisableRedisplay() Temporarily prevents visual update of a DtEditor widget. DtEditorEnableRedisplay() Forces the visual update of a DtEditor widget. DtEditorCheckForUnsavedChanges() Reports whether the contents of a DtEditor widget have been altered since they were last retrieved or saved. DtEditorGetInsertionPosition() Returns the insertion cursor position of a DtEditor widget. DtEditorGetLastPosition() Returns the position of the last character in the edit window. DtEditorGetMessageTextFieldID() Retrieves the widget ID of the Text Field widget used to display application messages. DtEditorGetSizeHints() Retrieves sizing information from a DtEditor widget. DtEditorGoToLine() Moves the insert cursor to the specified line. DtEditorSetInsertionPosition() Sets the position of the insertion cursor. DtEditorTraverseToEditor() Sets keyboard traversal to the edit window of a DtEditor widget. DtEditorUndoEdit() Undoes the last edit made by a user. FILES /usr/dt/lib/nls/msg/$LANG/DtWidget.cat() Message catalog for DtWidget library. SEE ALSO DtEditor(5), DtCreateEditor(3), DtEditorAppend(3), DtEdi- torAppendFromFile(3), DtEditorChange(3), DtEditorCheckForUn- savedChanges(3), DtEditorClearSelection(3), DtEditorCopyTo- Clipboard(3), DtEditorCutToClipboard(3), DtEditor- DeleteSelection(3), DtEditorDeselect(3), DtEditorDisa- bleRedisplay(3), DtEditorEnableRedisplay(3), DtEditor- Find(3), DtEditorFormat(3), DtEditorGetContents(3), DtEdi- torGetInsertionPosition(3), DtEditorGetLastPosition(3), DtEditorGetMessageTextFieldID(3), DtEditorGetSizeHints(3), DtEditorGoToLine(3), DtEditorInsert(3), DtEditorInsertFrom- File(3), DtEditorInvokeFindChangeDialog(3), DtEditorIn- vokeFormatDialog(3), DtEditorInvokeSpellDialog(3), DtEditor- PasteFromClipboard(3), DtEditorReplace(3), DtEditorRepla- ceFromFile(3), DtEditorReset(3), DtEditorSaveContentsTo- File(3), DtEditorSelectAll(3), DtEditorSetContents(3), DtEditorSetContentsFromFile(3), DtEditorSetInsertionPosi- tion(3), DtEditorTraverseToEditor(3), DtEditorUndoEdit(3); Composite(3X), Constraint(3X), Core(3X), XmBulletinBoard(3X), XmFontList(3X), XmForm(3X), XmManager(3X), XmTextField(3X).
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |