AsciiText.c File Reference

#include <stdio.h>
#include <X11/IntrinsicP.h>
#include <X11/StringDefs.h>
#include <X11/Xaw3d/XawInit.h>
#include <X11/Xaw3d/Cardinals.h>
#include <X11/Xaw3d/AsciiTextP.h>
#include <X11/Xaw3d/AsciiSrc.h>
#include <X11/Xaw3d/AsciiSink.h>
#include <X11/Xaw3d/MultiSrc.h>
#include <X11/Xaw3d/MultiSinkP.h>
#include <X11/Xaw3d/XawImP.h>

Include dependency graph for AsciiText.c:

Go to the source code of this file.

Defines

#define TAB_COUNT   32

Functions

static void Initialize ()
static void Destroy ()
static void Initialize (Widget request, Widget new, ArgList args, Cardinal *num_args)
static void Destroy (Widget w)

Variables

AsciiTextClassRec asciiTextClassRec
WidgetClass asciiTextWidgetClass = (WidgetClass)&asciiTextClassRec


Define Documentation

#define TAB_COUNT   32

Definition at line 83 of file AsciiText.c.

Referenced by Initialize().


Function Documentation

static void Destroy ( Widget  w  )  [static]

Definition at line 199 of file AsciiText.c.

References _XawImUnregister(), and w.

00201 {
00202     /* Disconnect input method */
00203 
00204     if ( ((AsciiWidget)w)->simple.international == True )
00205         _XawImUnregister( w );
00206 
00207     if (w == XtParent(((AsciiWidget)w)->text.source))
00208         XtDestroyWidget( ((AsciiWidget)w)->text.source );
00209 
00210     if (w == XtParent(((AsciiWidget)w)->text.sink))
00211         XtDestroyWidget( ((AsciiWidget)w)->text.sink );
00212 }

Here is the call graph for this function:

static void Destroy (  ) 

static void Initialize ( Widget  request,
Widget  new,
ArgList  args,
Cardinal *  num_args 
) [static]

Definition at line 135 of file AsciiText.c.

References _XawImRegister(), _XawImSetValues(), asciiSinkObjectClass, asciiSrcObjectClass, TextSinkPart::background, DEFAULT_TEXT_HEIGHT, MultiSinkPart::fontset, TextSinkPart::foreground, i, _MultiSinkRec::multi_sink, multiSinkObjectClass, multiSrcObjectClass, TAB_COUNT, _MultiSinkRec::text_sink, VMargins, w, XawTextDisableRedisplay(), XawTextEnableRedisplay(), XawTextSinkMaxHeight(), XawTextSinkSetTabs(), XtNfontSet, XtNforeground, and XtNinsertPosition.

00139 {
00140   AsciiWidget w = (AsciiWidget) new;
00141   int i;
00142   int tabs[TAB_COUNT], tab;
00143 
00144   MultiSinkObject sink;
00145 
00146   /* superclass Initialize can't set the following,
00147    * as it didn't know the source or sink when it was called */
00148 
00149   if (request->core.height == DEFAULT_TEXT_HEIGHT)
00150     new->core.height = DEFAULT_TEXT_HEIGHT;
00151 
00152 
00153   /* This is the main change for internationalization.  */
00154 
00155   if ( w->simple.international == True ) { /* The multi* are international. */
00156 
00157       w->text.source = XtCreateWidget( "textSource", multiSrcObjectClass,
00158                                   new, args, *num_args );
00159       w->text.sink = XtCreateWidget( "textSink", multiSinkObjectClass,
00160                                 new, args, *num_args );
00161   }
00162   else { 
00163 
00164       w->text.source = XtCreateWidget( "textSource", asciiSrcObjectClass,
00165                                   new, args, *num_args );
00166       w->text.sink = XtCreateWidget( "textSink", asciiSinkObjectClass,
00167                                 new, args, *num_args );
00168   }
00169 
00170   if (w->core.height == DEFAULT_TEXT_HEIGHT)
00171     w->core.height = VMargins(w) + XawTextSinkMaxHeight(w->text.sink, 1);
00172 
00173   for (i=0, tab=0 ; i < TAB_COUNT ; i++) 
00174     tabs[i] = (tab += 8);
00175   
00176   XawTextSinkSetTabs(w->text.sink, TAB_COUNT, tabs);
00177 
00178   XawTextDisableRedisplay(new);
00179   XawTextEnableRedisplay(new);
00180 
00181 
00182   /* If we are using a MultiSink we need to tell the input method stuff. */
00183 
00184   if ( w->simple.international == True ) {
00185     Arg list[4];
00186     Cardinal ac = 0;
00187 
00188     sink = (MultiSinkObject)w->text.sink;
00189     _XawImRegister( new );
00190     XtSetArg (list[ac], XtNfontSet, sink->multi_sink.fontset); ac++;
00191     XtSetArg (list[ac], XtNinsertPosition, w->text.insertPos); ac++;
00192     XtSetArg (list[ac], XtNforeground, sink->text_sink.foreground); ac++;
00193     XtSetArg (list[ac], XtNbackground, sink->text_sink.background); ac++;
00194     _XawImSetValues(new, list, ac);
00195   }
00196 }

Here is the call graph for this function:

static void Initialize ( void   )  [static]


Variable Documentation

AsciiTextClassRec asciiTextClassRec

Definition at line 87 of file AsciiText.c.

WidgetClass asciiTextWidgetClass = (WidgetClass)&asciiTextClassRec

Definition at line 131 of file AsciiText.c.


Generated on Sun Mar 4 16:00:59 2007 for Scilab [trunk] by  doxygen 1.5.1