StrToJust.c File Reference

#include <string.h>
#include <X11/Intrinsic.h>
#include "Converters.h"
#include "CharSet.h"

Include dependency graph for StrToJust.c:

Go to the source code of this file.

Functions

static void InitializeQuarks (void)
void XmuCvtStringToJustify (XrmValuePtr args, Cardinal *num_args, XrmValuePtr fromVal, XrmValuePtr toVal)
Boolean XmuCvtJustifyToString (Display *dpy, XrmValue *args, Cardinal *num_args, XrmValue *fromVal, XrmValue *toVal, XtPointer *data)

Variables

static XrmQuark Qleft
static XrmQuark Qcenter
static XrmQuark Qright
static Boolean haveQuarks


Function Documentation

static void InitializeQuarks ( void   )  [static]

Definition at line 51 of file StrToJust.c.

References haveQuarks, Qcenter, Qleft, Qright, XtEcenter, XtEleft, and XtEright.

00052 {
00053   if (!haveQuarks)
00054     {
00055       Qleft = XrmPermStringToQuark(XtEleft);
00056       Qcenter = XrmPermStringToQuark(XtEcenter);
00057       Qright = XrmPermStringToQuark(XtEright);
00058       haveQuarks = True;
00059     }
00060 }

Boolean XmuCvtJustifyToString ( Display *  dpy,
XrmValue *  args,
Cardinal *  num_args,
XrmValue *  fromVal,
XrmValue *  toVal,
XtPointer *  data 
)

Definition at line 98 of file StrToJust.c.

References buffer, NULL, size, XtEcenter, XtEleft, XtEright, XtJustifyCenter, XtJustifyLeft, and XtJustifyRight.

00100 {
00101   static String buffer;
00102   Cardinal size;
00103 
00104   switch (*(XtJustify *)fromVal->addr)
00105     {
00106     case XtJustifyLeft:
00107       buffer = XtEleft;
00108       break;
00109     case XtJustifyCenter:
00110       buffer = XtEcenter;
00111       break;
00112     case XtJustifyRight:
00113       buffer = XtEright;
00114       break;
00115     default:
00116       XtWarning("Cannot convert Justify to String");
00117       toVal->addr = NULL;
00118       toVal->size = 0;
00119       return (False);
00120     }
00121 
00122   size = strlen(buffer) + 1;
00123   if (toVal->addr != NULL)
00124     {
00125       if (toVal->size < size)
00126         {
00127           toVal->size = size;
00128           return (False);
00129         }
00130       strcpy((char *)toVal->addr, buffer);
00131     }
00132   else
00133     toVal->addr = (XPointer)buffer;
00134   toVal->size = sizeof(String);
00135 
00136   return (True);
00137 }

void XmuCvtStringToJustify ( XrmValuePtr  args,
Cardinal *  num_args,
XrmValuePtr  fromVal,
XrmValuePtr  toVal 
)

Definition at line 64 of file StrToJust.c.

References InitializeQuarks(), name, NULL, Qcenter, Qleft, Qright, s, XmuNCopyISOLatin1Lowered(), XtJustifyCenter, XtJustifyLeft, XtJustifyRight, and XtRJustify.

00066 {
00067     static XtJustify    e;
00068     XrmQuark    q;
00069   char *s = (char *)fromVal->addr;
00070   char name[7];
00071 
00072   if (s == NULL)
00073     return;
00074 
00075   InitializeQuarks();
00076   XmuNCopyISOLatin1Lowered(name, s, sizeof(name));
00077 
00078   q = XrmStringToQuark(name);
00079 
00080     toVal->size = sizeof(XtJustify);
00081   toVal->addr = (XPointer)&e;
00082 
00083   if (q == Qleft)
00084     e = XtJustifyLeft;
00085   else if (q == Qcenter)
00086     e = XtJustifyCenter;
00087   else if (q == Qright)
00088     e = XtJustifyRight;
00089   else
00090     {
00091     toVal->addr = NULL;
00092     XtStringConversionWarning((char *)fromVal->addr, XtRJustify);
00093     }
00094 }

Here is the call graph for this function:


Variable Documentation

Boolean haveQuarks [static]

Definition at line 45 of file StrToJust.c.

XrmQuark Qcenter [static]

Definition at line 44 of file StrToJust.c.

Referenced by InitializeQuarks(), and XmuCvtStringToJustify().

XrmQuark Qleft [static]

Definition at line 44 of file StrToJust.c.

Referenced by InitializeQuarks(), and XmuCvtStringToJustify().

XrmQuark Qright [static]

Definition at line 44 of file StrToJust.c.

Referenced by InitializeQuarks(), and XmuCvtStringToJustify().


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