Subversion Repositories tendra.SVN

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
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