1 /* $Id: OnConvP.h,v 10.5 1999/05/18 08:53:19 ishisone Exp $ */
2 /*
3  * Copyright (c) 1990  Software Research Associates, Inc.
4  * Copyright (c) 1999  Kazuki YASUMATSU
5  *
6  * Permission to use, copy, modify, and distribute this software and its
7  * documentation for any purpose and without fee is hereby granted, provided
8  * that the above copyright notice appear in all copies and that both that
9  * copyright notice and this permission notice appear in supporting
10  * documentation, and that the name of Software Research Associates not be
11  * used in advertising or publicity pertaining to distribution of the
12  * software without specific, written prior permission.  Software Research
13  * Associates makes no representations about the suitability of this software
14  * for any purpose.  It is provided "as is" without express or implied
15  * warranty.
16  *
17  * Author:  Makoto Ishisone, Software Research Associates, Inc., Japan
18  * Author:  Kazuki YASUMATSU (Kazuki.Yasumatsu@fujixerox.co.jp)
19  */
20 
21 
22 #ifndef _OnTheSpotConversionP_h
23 #define _OnTheSpotConversionP_h
24 
25 #include "ConvCtrlP.h"
26 #include "OnConv.h"
27 
28 #define XtRFeedbackAttributes	"FeedbackAttributes"
29 
30 typedef struct {
31     ICString seg;		/* $B%;%0%a%s%H(B */
32 } DisplaySegment;
33 
34 typedef struct {
35     unsigned long feedbacks[4];
36 #define FEEDBACK_NOCONV		0	/* for non-converted segment */
37 #define FEEDBACK_CONV		1	/* converted but not current */
38 #define FEEDBACK_CURRENT	2	/* converted and current */
39 #define FEEDBACK_CURRENTSUB	3	/* converted and current subsegment */
40 } FeedbackAttributes;
41 
42 /*
43  *	on-the-spot conversion control widget data structure
44  */
45 
46 typedef struct {
47     int empty;
48 } OnTheSpotConversionClassPart;
49 
50 typedef struct _OnTheSpotConversionClassRec {
51     CoreClassPart	core_class;
52     CompositeClassPart	composite_class;
53     ShellClassPart	shell_class;
54     WMShellClassPart	wm_shell_class;
55     VendorShellClassPart	vendor_shell_class;
56     TransientShellClassPart	transient_shell_class;
57     ConversionControlClassPart	conversionControl_class;
58     OnTheSpotConversionClassPart onTheSpotConversion_class;
59 } OnTheSpotConversionClassRec;
60 
61 extern OnTheSpotConversionClassRec onTheSpotConversionClassRec;
62 
63 typedef struct {
64     /* resources */
65     XtCallbackList	preeditstartcallback;
66     XtCallbackList	preeditdonecallback;
67     XtCallbackList	preeditdrawcallback;
68     XtCallbackList	preeditcaretcallback;
69     XtCallbackList	statusstartcallback;
70     XtCallbackList	statusdonecallback;
71     XtCallbackList	statusdrawcallback;
72     FeedbackAttributes	feedbackattrs;
73     /* private state */
74     Widget	selectionshell;
75     Widget	selectionwidget;
76     Widget	auxshell;
77     Widget	auxwidget;
78     DisplaySegment	*dispsegments;
79     Cardinal	numsegments;
80     Cardinal	dispsegmentsize;
81     ICString	*candlist;
82     Cardinal	numcands;
83     Boolean	selectionpoppedup;
84     Boolean	auxpoppedup;
85     Cardinal	lastcaret;
86     Boolean	fixnotify;
87 } OnTheSpotConversionPart;
88 
89 typedef struct _OnTheSpotConversionRec {
90     CorePart		core;
91     CompositePart	composite;
92     ShellPart		shell;
93     WMShellPart		wm;
94     VendorShellPart	vendor;
95     TransientShellPart	transient;
96     ConversionControlPart	ccontrol;
97     OnTheSpotConversionPart	onthespot;
98 } OnTheSpotConversionRec;
99 
100 #endif
101 
102