aboutsummaryrefslogtreecommitdiff
path: root/vendor/x11iraf/obm/ObmW/RadioGrp.c
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/x11iraf/obm/ObmW/RadioGrp.c')
-rw-r--r--vendor/x11iraf/obm/ObmW/RadioGrp.c239
1 files changed, 239 insertions, 0 deletions
diff --git a/vendor/x11iraf/obm/ObmW/RadioGrp.c b/vendor/x11iraf/obm/ObmW/RadioGrp.c
new file mode 100644
index 00000000..14d39924
--- /dev/null
+++ b/vendor/x11iraf/obm/ObmW/RadioGrp.c
@@ -0,0 +1,239 @@
+/* Generated by wbuild from "RadioGrp.w"
+** (generator version $Revision: 2.0 $ of $Date: 93/07/06 16:08:04 $)
+*/
+#include <X11/IntrinsicP.h>
+#include <X11/StringDefs.h>
+#include "Toggle.h"
+#include "RadioGrpP.h"
+static void _resolve_inheritance(
+#if NeedFunctionPrototypes
+WidgetClass
+#endif
+);
+static void class_initialize(
+#if NeedFunctionPrototypes
+void
+#endif
+);
+static void initialize(
+#if NeedFunctionPrototypes
+Widget ,Widget,ArgList ,Cardinal *
+#endif
+);
+static Boolean set_values(
+#if NeedFunctionPrototypes
+Widget ,Widget ,Widget,ArgList ,Cardinal *
+#endif
+);
+static void create_toggles(
+#if NeedFunctionPrototypes
+Widget
+#endif
+);
+#define done(type, value) do {\
+ if (to->addr != NULL) {\
+ if (to->size < sizeof(type)) {\
+ to->size = sizeof(type);\
+ return False;\
+ }\
+ *(type*)(to->addr) = (value);\
+ } else {\
+ static type static_val;\
+ static_val = (value);\
+ to->addr = (XtPointer)&static_val;\
+ }\
+ to->size = sizeof(type);\
+ return True;\
+ }while (0 )
+
+
+static Boolean cvtStringToStringArray(
+#if NeedFunctionPrototypes
+Display *,XrmValuePtr ,Cardinal *,XrmValuePtr ,XrmValuePtr ,XtPointer *
+#endif
+);
+static StringArray newStringArray(
+#if NeedFunctionPrototypes
+StringArray
+#endif
+);
+static void freeStringArray(
+#if NeedFunctionPrototypes
+StringArray
+#endif
+);
+/*ARGSUSED*/static void create_toggles(self)Widget self;
+{
+ Cardinal i;
+ StringArray s;
+
+ for (i = 0; i < ((XfwfRadioGroupWidget)self)->composite.num_children; i++)
+ XtDestroyWidget(((XfwfRadioGroupWidget)self)->composite.children[i]);
+
+ if (((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels == NULL) return;
+
+ for (s = ((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels, i = 0; s[i] != NULL; i++) {
+ (void) XtVaCreateManagedWidget
+ (s[i], xfwfToggleWidgetClass, self, XtNlabel, s[i], XtNshrinkToFit,
+ True, XtNborderWidth, 0, XtNframeWidth, 0, NULL);
+ }
+}
+/*ARGSUSED*/static Boolean cvtStringToStringArray(display,args,num_args,from,to,converter_data)Display * display;XrmValuePtr args;Cardinal * num_args;XrmValuePtr from;XrmValuePtr to;XtPointer * converter_data;
+{
+ String t, s;
+ StringArray a = NULL;
+ Cardinal i;
+ char delim;
+
+ if (*num_args != 0)
+ XtAppErrorMsg(XtDisplayToApplicationContext(display),
+ "cvtStringToStringArray", "wrongParameters",
+ "XtToolkitError",
+ "String to StringArray conversion needs no arguments",
+ (String*) NULL, (Cardinal*) NULL);
+
+ delim = ((String) from->addr)[0];
+ s = XtNewString((String) from->addr + 1);
+ i = 0;
+ while (s && *s) {
+ t = strchr(s, delim);
+ if (t) *t = '\0';
+ a = (StringArray) XtRealloc((String) a, (i + 1) * sizeof(*a));
+ a[i] = s;
+ i++;
+ s = t ? t + 1 : NULL;
+ }
+ a = (StringArray) XtRealloc((String) a, (i + 1) * sizeof(*a));
+ a[i] = NULL;
+ done(StringArray, a);
+}
+/*ARGSUSED*/static StringArray newStringArray(a)StringArray a;
+{
+ Cardinal n, i;
+ StringArray s;
+
+ if (!a) return NULL;
+ for (s = a, n = 0; s[n]; n++) ;
+ s = (StringArray) XtMalloc((n + 1) * sizeof(*s));
+ for (i = 0; i < n; i++) s[i] = XtNewString(a[i]);
+ s[n] = NULL;
+ return s;
+}
+/*ARGSUSED*/static void freeStringArray(a)StringArray a;
+{
+ Cardinal i;
+
+ if (!a) return;
+ for (i = 0; a[i]; i++) XtFree(a[i]);
+ XtFree((String) a);
+}
+
+static XtResource resources[] = {
+{XtNlabels,XtCLabels,XtRStringArray,sizeof(((XfwfRadioGroupRec*)NULL)->xfwfRadioGroup.labels),XtOffsetOf(XfwfRadioGroupRec,xfwfRadioGroup.labels),XtRImmediate,(XtPointer)NULL },
+};
+
+XfwfRadioGroupClassRec xfwfRadioGroupClassRec = {
+{ /* core_class part */
+(WidgetClass) &xfwfGroupClassRec,
+"RadioGroup",
+sizeof(XfwfRadioGroupRec),
+class_initialize,
+_resolve_inheritance,
+FALSE,
+initialize,
+NULL,
+XtInheritRealize,
+NULL,
+0,
+resources,
+1,
+NULLQUARK,
+False ,
+FALSE ,
+False ,
+False ,
+NULL,
+XtInheritResize,
+XtInheritExpose,
+set_values,
+NULL,
+XtInheritSetValuesAlmost,
+NULL,
+XtInheritAcceptFocus,
+XtVersion,
+NULL,
+NULL,
+XtInheritQueryGeometry,
+XtInheritDisplayAccelerator,
+NULL
+},
+{ /* composite_class part */
+XtInheritGeometryManager,
+XtInheritChangeManaged,
+XtInheritInsertChild,
+XtInheritDeleteChild,
+NULL
+},
+{ /* XfwfCommon_class part */
+XtInherit_compute_inside,
+XtInherit_highlight_border,
+XtInherit_unhighlight_border,
+XtInherit_would_accept_focus,
+XtInherit_traverse,
+XtInherit_choose_color,
+XtInherit_lighter_color,
+XtInherit_darker_color,
+NULL ,
+},
+{ /* XfwfFrame_class part */
+0
+},
+{ /* XfwfBoard_class part */
+XtInherit_set_abs_location,
+},
+{ /* XfwfRowCol_class part */
+XtInherit_layout,
+},
+{ /* XfwfGroup_class part */
+0
+},
+{ /* XfwfRadioGroup_class part */
+0
+},
+};
+WidgetClass xfwfRadioGroupWidgetClass = (WidgetClass) &xfwfRadioGroupClassRec;
+static void _resolve_inheritance(class)
+WidgetClass class;
+{
+ XfwfRadioGroupWidgetClass c = (XfwfRadioGroupWidgetClass) class;
+ XfwfRadioGroupWidgetClass super;
+ static CompositeClassExtensionRec extension_rec = {
+ NULL, NULLQUARK, XtCompositeExtensionVersion,
+ sizeof(CompositeClassExtensionRec), True};
+ CompositeClassExtensionRec *ext;
+ ext = (XtPointer)XtMalloc(sizeof(*ext));
+ *ext = extension_rec;
+ ext->next_extension = c->composite_class.extension;
+ c->composite_class.extension = ext;
+ if (class == xfwfRadioGroupWidgetClass) return;
+ super = (XfwfRadioGroupWidgetClass)class->core_class.superclass;
+}
+/*ARGSUSED*/static void class_initialize()
+{
+ XtSetTypeConverter(XtRString, "StringArray", cvtStringToStringArray,
+ NULL, 0, XtCacheNone, NULL);
+}
+/*ARGSUSED*/static void initialize(request,self,args,num_args)Widget request;Widget self;ArgList args;Cardinal * num_args;
+{
+ ((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels = newStringArray(((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels);
+ create_toggles(self);
+}
+/*ARGSUSED*/static Boolean set_values(old,request,self,args,num_args)Widget old;Widget request;Widget self;ArgList args;Cardinal * num_args;
+{
+ if (((XfwfRadioGroupWidget)old)->xfwfRadioGroup.labels != ((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels) {
+ freeStringArray(((XfwfRadioGroupWidget)old)->xfwfRadioGroup.labels);
+ ((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels = newStringArray(((XfwfRadioGroupWidget)self)->xfwfRadioGroup.labels);
+ create_toggles(self);
+ }
+ return False;
+}