2 |
7u83 |
1 |
/*
|
|
|
2 |
COPYRIGHT NOTICE
|
|
|
3 |
|
|
|
4 |
This program is the proprietary property of IXI Ltd, a subsidiary
|
|
|
5 |
of the Santa Cruz Operation (SCO). Use, reproduction, production
|
|
|
6 |
of amended versions and/or transfer of this program is permitted
|
|
|
7 |
PROVIDED THAT:
|
|
|
8 |
|
|
|
9 |
(a) This legend be preserved on any such reproduction and amended
|
|
|
10 |
version.
|
|
|
11 |
|
|
|
12 |
(b) Any recipient of such reproduction or amended version accept
|
|
|
13 |
the conditions set out in this legend.
|
|
|
14 |
|
|
|
15 |
IXI accepts no liability whatsoever in relation to any use to
|
|
|
16 |
which this program may be put and gives no warranty as to the
|
|
|
17 |
program's suitability for any purpose.
|
|
|
18 |
|
|
|
19 |
All rights reserved.
|
|
|
20 |
|
|
|
21 |
Copyright (c) 1995, 1996
|
|
|
22 |
|
|
|
23 |
*/
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
/* SCO CID (IXI) TextP.h,v 1.1 1996/08/08 14:13:43 wendland Exp */
|
|
|
28 |
|
|
|
29 |
%%
|
|
|
30 |
#ifndef __MOTIF_P_HEADERS
|
|
|
31 |
#error Unexpected access to Motif P headers
|
|
|
32 |
#endif
|
|
|
33 |
%%
|
|
|
34 |
|
|
|
35 |
+USE "motif/1_2", "Xm/PrimitiveP.h";
|
|
|
36 |
+USE "motif/1_2", "Xm/TextOutP.h";
|
|
|
37 |
+USE "motif/1_2", "Xm/TextInP.h";
|
|
|
38 |
|
|
|
39 |
|
|
|
40 |
+TYPE struct _InputRec;
|
|
|
41 |
+TYPE struct _OutputRec;
|
|
|
42 |
+TYPEDEF _InputRec *Input;
|
|
|
43 |
+TYPEDEF _OutputRec *Output;
|
|
|
44 |
|
|
|
45 |
+CONST String TEXTWIDGETCLASS;
|
|
|
46 |
|
|
|
47 |
+MACRO XmTextSource GetSrc(Widget);
|
|
|
48 |
|
|
|
49 |
+IFNDEF MIN
|
|
|
50 |
+DEFINE MIN(x,y) %% ((x) < (y) ? (x) : (y)) %% ;
|
|
|
51 |
+ENDIF
|
|
|
52 |
|
|
|
53 |
+FIELD (struct) XmTextClassPart := {
|
|
|
54 |
|
|
|
55 |
XtPointer extension;
|
|
|
56 |
};
|
|
|
57 |
|
|
|
58 |
|
|
|
59 |
+FIELD (struct) _XmTextClassRec := {
|
|
|
60 |
|
|
|
61 |
CoreClassPart core_class;
|
|
|
62 |
XmPrimitiveClassPart primitive_class;
|
|
|
63 |
XmTextClassPart text_class;
|
|
|
64 |
};
|
|
|
65 |
|
|
|
66 |
+TYPEDEF _XmTextClassRec XmTextClassRec;
|
|
|
67 |
|
|
|
68 |
+EXP lvalue XmTextClassRec xmTextClassRec;
|
|
|
69 |
|
|
|
70 |
+FIELD (struct) LineRec := {
|
|
|
71 |
|
|
|
72 |
XmTextPosition start;
|
|
|
73 |
Boolean changed;
|
|
|
74 |
XmTextPosition changed_position;
|
|
|
75 |
Boolean past_end;
|
|
|
76 |
LineTableExtra extra;
|
|
|
77 |
};
|
|
|
78 |
|
|
|
79 |
+TYPEDEF LineRec *Line;
|
|
|
80 |
|
|
|
81 |
+FIELD (struct) _XmTextLineTableRec := {
|
|
|
82 |
|
|
|
83 |
unsigned int start_pos;
|
|
|
84 |
unsigned int virt_line;
|
|
|
85 |
};
|
|
|
86 |
|
|
|
87 |
+TYPEDEF _XmTextLineTableRec XmTextLineTableRec;
|
|
|
88 |
+TYPEDEF _XmTextLineTableRec *XmTextLineTable;
|
|
|
89 |
|
|
|
90 |
+FIELD (struct) RangeRec := {
|
|
|
91 |
|
|
|
92 |
XmTextPosition from;
|
|
|
93 |
XmTextPosition to;
|
|
|
94 |
};
|
|
|
95 |
|
|
|
96 |
|
|
|
97 |
+FIELD (struct) Ranges := {
|
|
|
98 |
|
|
|
99 |
Cardinal number;
|
|
|
100 |
Cardinal maximum;
|
|
|
101 |
RangeRec *range;
|
|
|
102 |
};
|
|
|
103 |
|
|
|
104 |
|
|
|
105 |
+FIELD (struct) _XmTextPart := {
|
|
|
106 |
|
|
|
107 |
XmTextSource source;
|
|
|
108 |
XtCallbackList activate_callback;
|
|
|
109 |
XtCallbackList focus_callback;
|
|
|
110 |
XtCallbackList losing_focus_callback;
|
|
|
111 |
XtCallbackList value_changed_callback;
|
|
|
112 |
XtCallbackList modify_verify_callback;
|
|
|
113 |
XtCallbackList wcs_modify_verify_callback;
|
|
|
114 |
XtCallbackList motion_verify_callback;
|
|
|
115 |
XtCallbackList gain_primary_callback;
|
|
|
116 |
XtCallbackList lose_primary_callback;
|
|
|
117 |
|
|
|
118 |
char *value;
|
|
|
119 |
wchar_t *wc_value;
|
|
|
120 |
|
|
|
121 |
Dimension margin_height;
|
|
|
122 |
Dimension margin_width;
|
|
|
123 |
Position cursor_position_x;
|
|
|
124 |
OutputCreateProc output_create;
|
|
|
125 |
InputCreateProc input_create;
|
|
|
126 |
|
|
|
127 |
XmTextPosition top_character;
|
|
|
128 |
XmTextPosition bottom_position;
|
|
|
129 |
XmTextPosition cursor_position;
|
|
|
130 |
int max_length;
|
|
|
131 |
int edit_mode;
|
|
|
132 |
|
|
|
133 |
Boolean auto_show_cursor_position;
|
|
|
134 |
Boolean editable;
|
|
|
135 |
Boolean verify_bell;
|
|
|
136 |
|
|
|
137 |
Boolean add_mode;
|
|
|
138 |
Boolean traversed;
|
|
|
139 |
|
|
|
140 |
Boolean in_redisplay;
|
|
|
141 |
Boolean needs_redisplay;
|
|
|
142 |
Boolean in_refigure_lines;
|
|
|
143 |
Boolean needs_refigure_lines;
|
|
|
144 |
Boolean in_setvalues;
|
|
|
145 |
Boolean in_resize;
|
|
|
146 |
Boolean in_expose;
|
|
|
147 |
Boolean highlight_changed;
|
|
|
148 |
Boolean pendingoff;
|
|
|
149 |
char char_size;
|
|
|
150 |
|
|
|
151 |
OnOrOff on_or_off;
|
|
|
152 |
|
|
|
153 |
Output output;
|
|
|
154 |
Input input;
|
|
|
155 |
|
|
|
156 |
XmTextPosition first_position;
|
|
|
157 |
XmTextPosition last_position;
|
|
|
158 |
XmTextPosition forget_past;
|
|
|
159 |
XmTextPosition force_display;
|
|
|
160 |
XmTextPosition new_top;
|
|
|
161 |
XmTextPosition last_top_char;
|
|
|
162 |
XmTextPosition dest_position;
|
|
|
163 |
int disable_depth;
|
|
|
164 |
|
|
|
165 |
int pending_scroll;
|
|
|
166 |
int total_lines;
|
|
|
167 |
int top_line;
|
|
|
168 |
int vsbar_scrolling;
|
|
|
169 |
|
|
|
170 |
Cardinal number_lines;
|
|
|
171 |
Cardinal maximum_lines;
|
|
|
172 |
Line line;
|
|
|
173 |
|
|
|
174 |
Ranges repaint;
|
|
|
175 |
_XmHighlightData highlight;
|
|
|
176 |
_XmHighlightData old_highlight;
|
|
|
177 |
Widget inner_widget;
|
|
|
178 |
|
|
|
179 |
XmTextLineTable line_table;
|
|
|
180 |
unsigned int table_size;
|
|
|
181 |
unsigned int table_index;
|
|
|
182 |
};
|
|
|
183 |
|
|
|
184 |
+TYPEDEF _XmTextPart XmTextPart;
|
|
|
185 |
|
|
|
186 |
+FIELD (struct) _XmTextRec := {
|
|
|
187 |
|
|
|
188 |
CorePart core;
|
|
|
189 |
XmPrimitivePart primitive;
|
|
|
190 |
XmTextPart text;
|
|
|
191 |
};
|
|
|
192 |
|
|
|
193 |
+TYPEDEF _XmTextRec XmTextRec;
|
|
|
194 |
|
|
|
195 |
+FUNC XmTextPosition _XmTextFindScroll(XmTextWidget, XmTextPosition, int);
|
|
|
196 |
+FUNC int _XmTextGetTotalLines(Widget);
|
|
|
197 |
+FUNC XmTextLineTable _XmTextGetLineTable(Widget, int *);
|
|
|
198 |
+FUNC void _XmTextRealignLineTable(XmTextWidget, XmTextLineTable *, int *, unsigned int, XmTextPosition, XmTextPosition);
|
|
|
199 |
|
|
|
200 |
+FUNC unsigned int _XmTextGetTableIndex(XmTextWidget, XmTextPosition);
|
|
|
201 |
+FUNC void _XmTextUpdateLineTable(Widget, XmTextPosition, XmTextPosition, XmTextBlock, Boolean);
|
|
|
202 |
+FUNC void _XmTextMarkRedraw(XmTextWidget, XmTextPosition, XmTextPosition);
|
|
|
203 |
+FUNC LineNum _XmTextNumLines(XmTextWidget);
|
|
|
204 |
+FUNC void _XmTextLineInfo(XmTextWidget, LineNum, XmTextPosition *, LineTableExtra *);
|
|
|
205 |
+FUNC LineNum _XmTextPosToLine(XmTextWidget, XmTextPosition);
|
|
|
206 |
+FUNC void _XmTextInvalidate(XmTextWidget, XmTextPosition, XmTextPosition, long);
|
|
|
207 |
+FUNC void _XmTextSetTopCharacter(Widget, XmTextPosition);
|
|
|
208 |
+FUNC int _XmTextCountCharacters(char *, int);
|
|
|
209 |
+FUNC void _XmTextSetCursorPosition(Widget, XmTextPosition);
|
|
|
210 |
+FUNC void _XmTextDisableRedisplay(XmTextWidget, Boolean);
|
|
|
211 |
+FUNC void _XmTextEnableRedisplay(XmTextWidget);
|
|
|
212 |
|
|
|
213 |
|
|
|
214 |
|