This is xmForm.m in view mode; [Download] [Up]
/* Motif WidgetSet category for Implemenation of Form class
*
* Copyright (C) 1993, 1994 The Board of Trustees of
* The Leland Stanford Junior University. All Rights Reserved.
*
* Authors: Scott Francis, Fred Harris, Paul Kunz,
* Imran Qureshi, and Libing Wang
*
* This file is part of an Objective-C class library for X/Motif
*
* xmForm.m,v 1.4 1995/04/15 00:42:32 pfkeb Exp
*/
#include "Form.h"
#include "xtResponder.h"
#include "Application.h"
#include "FormCell.h"
#include "Window.h"
#include "Motif.h"
#include <Xm/Text.h>
#include <Xm/LabelG.h>
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <X11/Xutil.h>
#include <objc/List.h>
typedef struct {
XFontStruct *font;
XmFontList fontlist;
XmString titleStr;
Dimension strWidth;
Dimension strHeight;
} title_data, *title_data_ptr;
static XtResource resources[] = {
{XtNfont, XtCFont, XtRFontStruct, sizeof (XFontStruct *),
XtOffset(title_data_ptr, font), XtRString, "Fixed" },
};
char *FormInstanceName(void)
{
return "Form";
}
@implementation Form(WidgetSet)
- _calcSize
{
int i, count;
char *str;
title_data data;
XtGetApplicationResources([window _shell], &data, resources,
XtNumber(resources), NULL, 0);
data.fontlist = XmFontListCreate(data.font, XmSTRING_DEFAULT_CHARSET);
count = [cellList count];
for (i = 0; i < count; i++) {
str = (char *)[[cellList objectAt:i] title];
data.titleStr = XmStringCreate(str, XmSTRING_DEFAULT_CHARSET);
XmStringExtent(data.fontlist, data.titleStr,
&data.strWidth, &data.strHeight);
if (data.strWidth > maxTitleWidth)
maxTitleWidth = (NXCoord)data.strWidth;
}
return self;
}
- _setEntryWidth:(NXCoord)width
{
[self _addArg:XmNwidth:width];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.