Text.h revision 994689c1
11.1333Smaya/*********************************************************** 21.1Scgd 31.1ScgdCopyright 1987, 1988, 1994, 1998 The Open Group 41.4Scgd 51.1ScgdPermission to use, copy, modify, distribute, and sell this software and its 61.1Scgddocumentation for any purpose is hereby granted without fee, provided that 71.1Scgdthe above copyright notice appear in all copies and that both that 81.1Scgdcopyright notice and this permission notice appear in supporting 91.1Scgddocumentation. 101.1Scgd 111.1ScgdThe above copyright notice and this permission notice shall be included in 121.1Scgdall copies or substantial portions of the Software. 131.1Scgd 141.1ScgdTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 151.1ScgdIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 161.1ScgdFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 171.1ScgdOPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN 181.1ScgdAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 191.1ScgdCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 201.1Scgd 211.1ScgdExcept as contained in this notice, the name of The Open Group shall not be 221.1Scgdused in advertising or otherwise to promote the sale, use or other dealings 231.1Scgdin this Software without prior written authorization from The Open Group. 241.1Scgd 251.1Scgd 261.1ScgdCopyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts. 271.1Scgd 281.1Scgd All Rights Reserved 291.1Scgd 301.1ScgdPermission to use, copy, modify, and distribute this software and its 311.1Scgddocumentation for any purpose and without fee is hereby granted, 321.1Scgdprovided that the above copyright notice appear in all copies and that 331.1Scgdboth that copyright notice and this permission notice appear in 341.1Scgdsupporting documentation, and that the name of Digital not be 351.21Sthorpejused in advertising or publicity pertaining to distribution of the 361.133Sfairsoftware without specific, written prior permission. 371.1299Schristos 381.31ScgdDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING 391.31ScgdALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL 401.609SblymnDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR 411.609SblymnANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, 421.609SblymnWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, 431.609SblymnARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS 441.609SblymnSOFTWARE. 451.609Sblymn 461.609Sblymn******************************************************************/ 471.21Sthorpej 481.21Sthorpej#ifndef _XawText_h 491.21Sthorpej#define _XawText_h 501.974Sjnemeth 511.974Sjnemeth#include <X11/Xaw/Simple.h> 521.974Sjnemeth 531.974Sjnemeth/* 541.1Scgd 551.1Scgd Class: textWidgetClass 561.1Scgd Class Name: Text 571.448Srjs Superclass: Simple 581.665Sjunyoung 591.251Swiz Resources added by the Text widget: 601.470Spooka 611.24Stls Name Class RepType Default Value 621.24Stls ---- ----- ------- ------------- 631.665Sjunyoung autoFill AutoFill Boolean False 641.4Scgd bottomMargin Margin Position 2 651.4Scgd displayPosition TextPosition XawTextPosition 0 661.4Scgd insertPosition TextPosition XawTextPosition 0 671.4Scgd justify JustifyMode JustifyMode left 681.4Scgd leftColumn Column Column 0 691.4Scgd rightColumn Column Column 0 701.4Scgd leftMargin Margin Position 2 711.4Scgd rightMargin Margin Position 4 721.4Scgd positionCallback Callback Callback NULL 731.4Scgd scrollHorizontal Scroll Boolean False 741.4Scgd scrollVertical Scroll Boolean False 751.24Stls selectTypes SelectTypes Pointer see documentation 761.4Scgd textSink TextSink Widget NULL 771.4Scgd textSource TextSource Widget NULL 781.4Scgd topMargin Margin Position 2 791.4Scgd unrealizeCallback Callback Callback NULL 801.665Sjunyoung wrap Wrap XawTextWrapMode XawTextWrapNever 811.4Scgd 821.4Scgd*/ 831.4Scgd 841.4Scgdtypedef long XawTextPosition; 851.24Stls 861.4Scgd#ifndef notdef 871.4Scgdtypedef enum { 881.4Scgd XawtextScrollNever, 891.4Scgd XawtextScrollWhenNeeded, 901.4Scgd XawtextScrollAlways 911.4Scgd} XawTextScrollMode; 921.999Scegger 931.4Scgdtypedef enum { 941.4Scgd XawtextResizeNever, 951.4Scgd XawtextResizeWidth, 961.4Scgd XawtextResizeHeight, 971.25Sveego XawtextResizeBoth 981.9Sthorpej} XawTextResizeMode; 991.4Scgd#endif 1001.4Scgd 1011.4Scgdtypedef enum { 1021.4Scgd XawtextWrapNever, 1031.4Scgd XawtextWrapLine, 1041.4Scgd XawtextWrapWord 1051.4Scgd} XawTextWrapMode; 1061.25Sveego 1071.4Scgdtypedef enum { 1081.4Scgd XawsdLeft, 1091.4Scgd XawsdRight 1101.4Scgd} XawTextScanDirection; 1111.4Scgd 1121.4Scgdtypedef enum { 1131.4Scgd XawtextRead, 1141.4Scgd XawtextAppend, 1151.665Sjunyoung XawtextEdit 1161.24Stls} XawTextEditType; 1171.4Scgd 1181.4Scgdtypedef enum { 1191.4Scgd XawselectNull, 1201.4Scgd XawselectPosition, 1211.4Scgd XawselectChar, 1221.4Scgd XawselectWord, 1231.4Scgd XawselectLine, 1241.4Scgd XawselectParagraph, 1251.665Sjunyoung XawselectAll, 1261.4Scgd XawselectAlphaNumeric 1271.4Scgd} XawTextSelectType; 1281.4Scgd 1291.577Snisimuratypedef enum { 1301.4Scgd XawjustifyLeft, 1311.24Stls XawjustifyRight, 1321.24Stls XawjustifyCenter, 1331.4Scgd XawjustifyFull 1341.4Scgd} XawTextJustifyMode; 1351.4Scgd 1361.4Scgdtypedef struct { 1371.4Scgd int firstPos; 1381.4Scgd int length; 1391.4Scgd char *ptr; 1401.4Scgd unsigned long format; 1411.4Scgd} XawTextBlock, *XawTextBlockPtr; 1421.4Scgd 1431.4Scgd#ifndef OLDXAW 1441.4Scgdtypedef struct { 1451.4Scgd int line_number; 1461.4Scgd int column_number; 1471.4Scgd XawTextPosition insert_position; 1481.4Scgd XawTextPosition last_position; 1491.4Scgd Boolean overwrite_mode; 1501.4Scgd} XawTextPositionInfo; 1511.4Scgd 1521.24Stlstypedef struct { 1531.4Scgd XawTextPosition left, right; 1541.4Scgd XawTextBlock *block; 1551.4Scgd} XawTextPropertyInfo; 1561.4Scgd 1571.25Sveegotypedef struct _XawTextAnchor XawTextAnchor; 1581.4Scgdtypedef struct _XawTextEntity XawTextEntity; 1591.4Scgdtypedef struct _XawTextProperty XawTextProperty; 1601.4Scgdtypedef struct _XawTextPropertyList XawTextPropertyList; 1611.24Stls#endif 1621.4Scgd 1631.4Scgd#include <X11/Xaw/TextSink.h> 1641.4Scgd#include <X11/Xaw/TextSrc.h> 1651.4Scgd 1661.4Scgd#define XtEtextScrollNever "never" 1671.4Scgd#define XtEtextScrollWhenNeeded "whenneeded" 1681.665Sjunyoung#define XtEtextScrollAlways "always" 1691.4Scgd#define XtEtextResizeNever "never" 1701.4Scgd#define XtEtextResizeWidth "width" 1711.4Scgd#define XtEtextResizeHeight "height" 1721.4Scgd#define XtEtextResizeBoth "both" 1731.794Sgrant 1741.665Sjunyoung#define XtEtextWrapNever "never" 1751.4Scgd#define XtEtextWrapLine "line" 1761.4Scgd#define XtEtextWrapWord "word" 1771.4Scgd 1781.1014Ssborrill#define XtNautoFill "autoFill" 1791.4Scgd#define XtNbottomMargin "bottomMargin" 1801.4Scgd#define XtNdialogHOffset "dialogHOffset" 1811.665Sjunyoung#define XtNdialogVOffset "dialogVOffset" 1821.4Scgd#define XtNdisplayCaret "displayCaret" 1831.4Scgd#define XtNdisplayPosition "displayPosition" 1841.665Sjunyoung#define XtNleftMargin "leftMargin" 1851.4Scgd#define XtNrightMargin "rightMargin" 1861.4Scgd#define XtNpositionCallback "positionCallback" 1871.4Scgd#define XtNscrollVertical "scrollVertical" 1881.4Scgd#define XtNscrollHorizontal "scrollHorizontal" 1891.4Scgd#define XtNselectTypes "selectTypes" 1901.4Scgd#define XtNtopMargin "topMargin" 1911.665Sjunyoung#define XtNwrap "wrap" 1921.665Sjunyoung 1931.25Sveego#define XtCColumn "Column" 1941.4Scgd#define XtNleftColumn "leftColumn" 1951.665Sjunyoung#define XtNrightColumn "rightColumn" 1961.4Scgd 1971.4Scgd#define XtCJustifyMode XtCJustify 1981.4Scgd#define XtNjustifyMode XtNjustify 1991.4Scgd#define XtEtextJustifyLeft "left" 2001.4Scgd#define XtEtextJustifyRight "right" 2011.4Scgd#define XtEtextJustifyCenter "center" 2021.4Scgd#define XtEtextJustifyFull "full" 2031.4Scgd 2041.4Scgd#define XtCAutoFill "AutoFill" 2051.4Scgd#define XtCSelectTypes "SelectTypes" 2061.4Scgd#define XtCWrap "Wrap" 2071.4Scgd#ifndef notdef 2081.4Scgd#define XtCScroll "Scroll" 2091.4Scgd#endif 2101.4Scgd 2111.4Scgd#ifndef _XtStringDefs_h_ 2121.4Scgd#define XtNinsertPosition "insertPosition" 2131.4Scgd#ifndef notdef 2141.4Scgd#define XtNresize "resize" 2151.4Scgd#define XtCResize "Resize" 2161.4Scgd#endif 2171.4Scgd#define XtNselection "selection" 2181.4Scgd#endif 2191.4Scgd 2201.4Scgd/* return Error code for XawTextSearch */ 2211.4Scgd#define XawTextSearchError (-12345L) 2221.4Scgd 2231.4Scgd/* return codes from XawTextReplace */ 2241.4Scgd#define XawReplaceError -1 2251.4Scgd#define XawEditDone 0 2261.25Sveego#define XawEditError 1 2271.4Scgd#define XawPositionError 2 2281.4Scgd 2291.4Scgd/* XrmQuark is not unsigned long */ 2301.251Swiz#define XawTextFormat(tw,fmt) ((unsigned long)_XawTextFormat(tw) == (fmt)) 2311.4Scgd 2321.4Scgdextern unsigned long FMT8BIT; 2331.4Scgdextern unsigned long XawFmt8Bit; 2341.4Scgdextern unsigned long XawFmtWide; 2351.4Scgd 2361.312Ssorenextern WidgetClass textWidgetClass; 2371.4Scgd 2381.4Scgdtypedef struct _TextClassRec *TextWidgetClass; 2391.4Scgdtypedef struct _TextRec *TextWidget; 2401.4Scgd 2411.4Scgd_XFUNCPROTOBEGIN 2421.4Scgd 2431.4ScgdXrmQuark _XawTextFormat 2441.4Scgd( 2451.4Scgd TextWidget tw 2461.4Scgd ); 2471.4Scgd 2481.4Scgdvoid XawTextDisplay 2491.4Scgd( 2501.4Scgd Widget w 2511.4Scgd ); 2521.4Scgd 2531.4Scgdvoid XawTextEnableRedisplay 2541.4Scgd( 2551.4Scgd Widget w 2561.4Scgd ); 2571.4Scgd 2581.77Sdantevoid XawTextDisableRedisplay 2591.4Scgd( 2601.1079Smrg Widget w 2611.1079Smrg ); 2621.4Scgd 2631.4Scgdvoid XawTextSetSelectionArray 2641.4Scgd( 2651.4Scgd Widget w, 2661.4Scgd XawTextSelectType *sarray 2671.4Scgd ); 2681.4Scgd 2691.4Scgdvoid XawTextGetSelectionPos 2701.4Scgd( 2711.4Scgd Widget w, 2721.4Scgd XawTextPosition *begin_return, 2731.24Stls XawTextPosition *end_return 2741.4Scgd ); 2751.753Stron 2761.4Scgdvoid XawTextSetSource 2771.4Scgd( 2781.24Stls Widget w, 2791.665Sjunyoung Widget source, 2801.81Sdrochner XawTextPosition top 2811.4Scgd ); 2821.4Scgd 2831.4Scgdint XawTextReplace 2841.4Scgd( 2851.4Scgd Widget w, 2861.4Scgd XawTextPosition start, 2871.396Sjunyoung XawTextPosition end, 2881.4Scgd XawTextBlock *text 2891.4Scgd ); 2901.665Sjunyoung 2911.4ScgdXawTextPosition XawTextTopPosition 2921.4Scgd( 2931.4Scgd Widget w 2941.4Scgd ); 2951.4Scgd 2961.4ScgdXawTextPosition XawTextLastPosition 2971.4Scgd( 2981.665Sjunyoung Widget w 2991.4Scgd ); 3001.4Scgd 3011.4Scgdvoid XawTextSetInsertionPoint 3021.4Scgd( 3031.4Scgd Widget w, 3041.4Scgd XawTextPosition position 3051.4Scgd ); 3061.4Scgd 3071.4ScgdXawTextPosition XawTextGetInsertionPoint 3081.4Scgd( 3091.4Scgd Widget w 3101.4Scgd ); 3111.4Scgd 3121.4Scgdvoid XawTextUnsetSelection 3131.4Scgd( 3141.4Scgd Widget w 3151.12Scgd ); 3161.4Scgd 3171.4Scgdvoid XawTextSetSelection 3181.4Scgd( 3191.25Sveego Widget w, 3201.4Scgd XawTextPosition left, 3211.4Scgd XawTextPosition right 3221.4Scgd ); 3231.4Scgd 3241.4Scgdvoid XawTextInvalidate 3251.4Scgd( 3261.4Scgd Widget w, 3271.25Sveego XawTextPosition from, 3281.4Scgd XawTextPosition to 3291.4Scgd); 3301.24Stls 3311.4ScgdWidget XawTextGetSource 3321.4Scgd( 3331.4Scgd Widget w 3341.4Scgd ); 3351.4Scgd 3361.4ScgdWidget XawTextGetSink 3371.4Scgd( 3381.4Scgd Widget w 3391.4Scgd ); 3401.4Scgd 3411.4ScgdXawTextPosition XawTextSearch 3421.4Scgd( 3431.4Scgd Widget w, 3441.4Scgd#if NeedWidePrototypes 3451.24Stls int dir, 3461.24Stls#else 3471.4Scgd XawTextScanDirection dir, 3481.4Scgd#endif 3491.4Scgd XawTextBlock *text 3501.4Scgd ); 3511.4Scgd 3521.4Scgdvoid XawTextDisplayCaret 3531.4Scgd( 3541.4Scgd Widget w, 3551.4Scgd#if NeedWidePrototypes 3561.4Scgd int visible 3571.4Scgd#else 3581.4Scgd Boolean visible 3591.4Scgd#endif 3601.4Scgd ); 3611.4Scgd 3621.4Scgd_XFUNCPROTOEND 3631.4Scgd 3641.4Scgd/* 3651.4Scgd * For R3 compatability only 3661.4Scgd */ 3671.4Scgd#include <X11/Xaw/AsciiSrc.h> 3681.4Scgd#include <X11/Xaw/AsciiSink.h> 3691.4Scgd 3701.4Scgd#endif /* _XawText_h */ 3711.4Scgd